From 6db929fe42444a1bebbb1e4bd6fbf519f23594a5 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Wed, 30 Sep 2026 08:37:50 +0000 Subject: [PATCH 1/4] =?UTF-8?q?Tab=20layout:=20on=20phones=20the=20round?= =?UTF-8?q?=20=E2=98=B0=20rides=20above=20a=20map's=20legend=20sheet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A map's phone legend (LegendMobile) announces its sheet with the composed 'dxmaps:legend-sheet' event, dispatched from the sheet element. The layout measures that element itself and lifts the circle to 8px above the sheet's top edge: collapsed or open, wherever the map ends (Simple Research's map stops 102px above the viewport, with its grid below), so the two never overlap. It re-measures on each event, on the sheet's own resize (a ResizeObserver, so the box is read after layout), on the pane's scroll and on window resize, coalesced to a frame with a 100ms backup for a page that gets no frames. Only a sheet on screen counts: another tab's pane (hidden or inert), a scrolled-away map, or state 'gone' leave the circle where it is today. With no event at all the placement is unchanged. --map-fab-clearance rises with the circle, and --map-fab-sheet-inset:0 is published only while a sheet lifts it, so that sheet can take the full width. The circle moves by transform (no layout property). Both CSS copies change identically. Measured with a stand-in sheet planted in a plugin's shadow root (it announces after its box is laid out, as the real sheet does), at 390 in en and ar, twice each: collapsed, open, after a scroll, another tab's sheet ignored, gone back to today. All pass. --- library/layouts/VerticalTabsLayout.vue | 96 ++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 6 deletions(-) diff --git a/library/layouts/VerticalTabsLayout.vue b/library/layouts/VerticalTabsLayout.vue index 398a428ca..5da3ed6b7 100644 --- a/library/layouts/VerticalTabsLayout.vue +++ b/library/layouts/VerticalTabsLayout.vue @@ -103,8 +103,8 @@ sit NEXT TO the circle rather than on top of it (12px inset + 44px button + 8px gap). A consumer that hardcoded 64px would silently overlap the day the circle resizes; reading it means the circle's geometry is stated once, here, by the component that owns it. --> -
+
@@ -332,7 +332,7 @@ const VTL_SHADOW_CSS = ` content but BELOW the drawer (.vtl-nav is z-index:20) so the drawer covers it when it slides in. 44px is the minimum comfortable touch target; the safe-area insets keep it clear of an iOS home indicator and a notch in landscape. */ -.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } +.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px))); transition:transform .2s ease; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } .vtl-fab:hover { background:#d1d4cd; } .vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; } .vtl-menu:hover { background:#d1d4cd; } @@ -621,7 +621,9 @@ export default defineComponent({ // railCollapsed = desktop slim rail) at the breakpoint and drive rail visibility correctly. narrow: false, _mql: null, _onMedia: null, activatedKeys: {}, hostState: {}, hostError: {}, _hostSlots: {}, _hostMounted: {}, - hostEls: {} + hostEls: {}, + // sheetLift: px the circle rises to clear the VISIBLE tab's phone legend sheet (0 = none, today's place). + sheetLift: 0 } }, computed: { @@ -634,6 +636,16 @@ export default defineComponent({ * test for it. */ fabShown() { return this.narrow && !this.header && !this.navOpen }, + // THE CIRCLE RIDES ABOVE A PHONE LEGEND SHEET. A map's LegendMobile announces its sheet with the composed + // 'dxmaps:legend-sheet' event, dispatched FROM the sheet element; the layout measures that element itself, + // so the circle sits 8px above the sheet's TOP wherever the map ends (Simple Research's map stops 102px above + // the viewport, with the grid below) and in both states, collapsed or open: the two never overlap. The + // measurement is redone on the pane's scroll and on resize. No visible sheet (another tab's, a scrolled-away + // map, a map without one, an older build): 0, exactly today's placement. + // While the circle rides above a sheet, that sheet may take the full width: --map-fab-sheet-inset:0 tells it so + // (LegendMobile's start inset is var(--map-fab-sheet-inset, var(--map-fab-beside))). Unset otherwise, so a + // sheet the circle is NOT lifted over keeps its room beside it. + fabLift() { return this.sheetLift }, /** * The element the back-to-top arrow scrolls. .vtl-host is the shell's scroller * (overflow-y:auto) and there is one PER TAB, so this follows `active` rather than binding a @@ -672,7 +684,7 @@ export default defineComponent({ // then keep alive). Non-element tabs are ignored here (the host renders those in #default). active: { immediate: true, - handler(key) { this.activateElement(key) } + handler(key) { this.activateElement(key); this.$nextTick(() => this.recomputeLift()) } } }, mounted() { @@ -694,6 +706,15 @@ export default defineComponent({ // The immediate `active` watcher may have run before the pane div existed; re-run for the current // active key now that the DOM is up, so an element-tab active at first render mounts. this.$nextTick(() => this.activateElement(this.active)) + this._onSheet = (e) => this.onLegendSheet(e) + // On the root ELEMENT by ref: $el is the first node of the template, which is not the root div when the + // template starts with a comment (dev builds keep comments). + this.$refs.vtlRoot?.addEventListener('dxmaps:legend-sheet', this._onSheet) + // The pane scrolls the map (and its sheet) under the circle: a capture-phase listener sees the scroll of + // any scroller in this tree. Resize moves the map's bottom too. + this._onLiftMove = () => { if (this._sheets && this._sheets.size) this.scheduleLift() } + this.$refs.vtlRoot?.addEventListener('scroll', this._onLiftMove, { capture: true, passive: true }) + window.addEventListener('resize', this._onLiftMove, { passive: true }) }, beforeUnmount() { try { @@ -703,9 +724,72 @@ export default defineComponent({ } } catch { /* ignore */ } this._mql = null; this._onMedia = null + if (this._onSheet) this.$refs.vtlRoot?.removeEventListener('dxmaps:legend-sheet', this._onSheet) + if (this._onLiftMove) { this.$refs.vtlRoot?.removeEventListener('scroll', this._onLiftMove, { capture: true }); window.removeEventListener('resize', this._onLiftMove) } + if (this._liftRaf) cancelAnimationFrame(this._liftRaf) + if (this._liftTimer) clearTimeout(this._liftTimer) + this._sheetRO?.disconnect(); this._sheetRO = null + this._onSheet = null; this._onLiftMove = null; this._sheets = null }, methods: { registerTab(key, el) { if (el) this._tabEls[key] = el }, + // One entry per announcing sheet (its own element, from the composed path), so several mounted tabs can + // each announce; only the one on screen moves the circle. state 'gone' (unmount, desktop width) drops it. + onLegendSheet(e) { + const origin = (e.composedPath && e.composedPath()[0]) || e.target + const d = (e && e.detail) || {} + if (!this._sheets) this._sheets = new Set() + // The layout also watches each announced sheet's own size: a ResizeObserver fires after layout, so an + // open/close or a drag re-measures from the box as drawn, whatever the timing of the event itself. + if (!this._sheetRO && typeof ResizeObserver === 'function') this._sheetRO = new ResizeObserver(() => this.scheduleLift()) + if (d.state === 'gone') { this._sheets.delete(origin); this._sheetRO?.unobserve(origin) } + else if (!this._sheets.has(origin)) { this._sheets.add(origin); this._sheetRO?.observe(origin) } + // Measure now AND after the next frame: a sheet may announce a state change before its own DOM update and + // layout have happened, so a synchronous read alone can see the previous box. + this.recomputeLift() + this.scheduleLift() + }, + // Coalesced to one measurement per frame (scroll and resize fire far more often than that). A 100ms timer + // backs the frame up: a page that is not the visible tab gets no animation frames at all. + scheduleLift() { + if (this._liftRaf || this._liftTimer) return + const run = () => { + if (this._liftRaf) cancelAnimationFrame(this._liftRaf) + if (this._liftTimer) clearTimeout(this._liftTimer) + this._liftRaf = 0; this._liftTimer = 0 + this.recomputeLift() + } + this._liftRaf = requestAnimationFrame(run) + this._liftTimer = setTimeout(run, 100) + }, + recomputeLift() { + const root = this.$refs.vtlRoot + let lift = 0 + if (root && this._sheets && this._sheets.size) { + const box = root.getBoundingClientRect() + // The circle's RESTING bottom offset (12px + the safe area, as its CSS resolves it): the lift is measured + // from where the circle already sits, so the gap to the sheet is exactly 8px. + const fab = root.querySelector('.vtl-fab') + const rest = fab ? (parseFloat(getComputedStyle(fab).bottom) || 0) : 12 + for (const el of this._sheets) { + if (!el || !el.isConnected) { this._sheets.delete(el); this._sheetRO?.unobserve(el); continue } + if (!this.isShown(el)) continue + const q = el.getBoundingClientRect() + // on screen inside the layout's box: its top edge is what the circle must clear + if (q.height > 0 && q.top < box.bottom && q.bottom > box.top) lift = Math.max(lift, Math.round(box.bottom - rest - q.top + 8)) + } + } + this.sheetLift = lift + }, + // On screen = rendered and not inside a hidden, inert or display:none pane (the gallery hides inactive + // panes with v-show + hidden; another host may use inert), walking out through shadow roots. + isShown(el) { + if (typeof el.checkVisibility === 'function' && !el.checkVisibility()) return false + for (let n = el; n; n = n.parentNode || n.host) { + if (n.nodeType === 1 && (n.hasAttribute('hidden') || n.hasAttribute('inert'))) return false + } + return true + }, // The rail toggle. On a narrow screen the rail is an off-canvas drawer, so the toggle closes the // drawer (navOpen). On desktop it collapses/expands the slim icon rail (railCollapsed, persisted // in component data). Reading matchMedia at click time keeps one toggle correct in both modes. @@ -904,7 +988,7 @@ export default defineComponent({ content but BELOW the drawer (.vtl-nav is z-index:20) so the drawer covers it when it slides in. 44px is the minimum comfortable touch target; the safe-area insets keep it clear of an iOS home indicator and a notch in landscape. */ -.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } +.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px))); transition:transform .2s ease; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } .vtl-fab:hover { background:#d1d4cd; } .vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; } .vtl-menu:hover { background:#d1d4cd; } From 0c0cfffcf13d17244195f85acafd02ef117b99ef Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Wed, 30 Sep 2026 08:41:20 +0000 Subject: [PATCH 2/4] =?UTF-8?q?Rebuild=20the=20tab=20layout's=20consumers?= =?UTF-8?q?=20(doxa-maps-spa,=20plugin-studio)=20for=20the=20=E2=98=B0=20l?= =?UTF-8?q?ift?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Then the tree and SRI; pages and manifests change only their integrity. --- public/dx-maps/doxa-maps-spa/doxa-maps-spa.js | 20 +++++++------- .../doxa-maps-spa/app/index.html | 2 +- .../doxa-maps-spa/doxa-maps-spa/index.html | 2 +- public/dx-maps/doxa-maps-spa/manifest.json | 8 +++--- public/dx-maps/index.html | 2 +- public/dx-maps/manifest.json | 8 +++--- public/dx-maps/plugin-studio/plugin-studio.js | 26 +++++++++---------- .../plugin-studio/plugin-studio/index.html | 2 +- .../plugin-studio/studio/index.html | 2 +- 9 files changed, 36 insertions(+), 36 deletions(-) diff --git a/public/dx-maps/doxa-maps-spa/doxa-maps-spa.js b/public/dx-maps/doxa-maps-spa/doxa-maps-spa.js index 737f6fb3a..d4f848e00 100644 --- a/public/dx-maps/doxa-maps-spa/doxa-maps-spa.js +++ b/public/dx-maps/doxa-maps-spa/doxa-maps-spa.js @@ -6,18 +6,18 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ce;class Wl{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&&Ce&&(Ce.active?(this.parent=Ce,this.index=(Ce.scopes||(Ce.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(Ce===this)Ce=this.prevScope;else{let t=Ce;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(Lo){let t=Lo;for(Lo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;To;){let t=To;for(To=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 ks(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xs(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),ia(n),Ul(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function ra(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ts(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ts(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===So)||(e.globalVersion=So,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ra(e))))return;e.flags|=2;const t=e.dep,o=be,n=it;be=e,it=!0;try{ks(e);const a=e.fn(e._value);(t.version===0||gt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=o,it=n,xs(e),e.flags&=-3}}function ia(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 s=o.computed.deps;s;s=s.nextDep)ia(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ul(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let it=!0;const Ls=[];function mt(){Ls.push(it),it=!1}function bt(){const e=Ls.pop();it=e===void 0?!0:e}function Ss(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=be;be=void 0;try{t()}finally{be=o}}}let So=0;class Hl{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 la{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||!it||be===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==be)o=this.activeLink=new Hl(be,this),be.deps?(o.prevDep=be.depsTail,be.depsTail.nextDep=o,be.depsTail=o):be.deps=be.depsTail=o,Os(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=be.depsTail,o.nextDep=void 0,be.depsTail.nextDep=o,be.depsTail=o,be.deps===o&&(be.deps=n)}return o}trigger(t){this.version++,So++,this.notify(t)}notify(t){aa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{sa()}}}function Os(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)Os(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const ca=new WeakMap,Xt=Symbol(""),pa=Symbol(""),Oo=Symbol("");function De(e,t,o){if(it&&be){let n=ca.get(e);n||ca.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new la),a.map=n,a.key=o),a.track()}}function Lt(e,t,o,n,a,s){const r=ca.get(e);if(!r){So++;return}const i=l=>{l&&l.trigger()};if(aa(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&Qn(o);if(l&&o==="length"){const d=Number(n);r.forEach((g,_)=>{(_==="length"||_===Oo||!rt(_)&&_>=d)&&i(g)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(Oo)),t){case"add":l?c&&i(r.get("length")):(i(r.get(Xt)),zt(e)&&i(r.get(pa)));break;case"delete":l||(i(r.get(Xt)),zt(e)&&i(r.get(pa)));break;case"set":zt(e)&&i(r.get(Xt));break}}sa()}function so(e){const t=ie(e);return t===e?t:(De(t,"iterate",Oo),tt(e)?t:t.map(lt))}function dn(e){return De(e=ie(e),"iterate",Oo),e}function $t(e,t){return Ot(e)?ro(Yt(e)?lt(t):t):lt(t)}const jl={__proto__:null,[Symbol.iterator](){return ua(this,Symbol.iterator,e=>$t(this,e))},concat(...e){return so(this).concat(...e.map(t=>Z(t)?so(t):t))},entries(){return ua(this,"entries",e=>(e[1]=$t(this,e[1]),e))},every(e,t){return St(this,"every",e,t,void 0,arguments)},filter(e,t){return St(this,"filter",e,t,o=>o.map(n=>$t(this,n)),arguments)},find(e,t){return St(this,"find",e,t,o=>$t(this,o),arguments)},findIndex(e,t){return St(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return St(this,"findLast",e,t,o=>$t(this,o),arguments)},findLastIndex(e,t){return St(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return St(this,"forEach",e,t,void 0,arguments)},includes(...e){return da(this,"includes",e)},indexOf(...e){return da(this,"indexOf",e)},join(e){return so(this).join(e)},lastIndexOf(...e){return da(this,"lastIndexOf",e)},map(e,t){return St(this,"map",e,t,void 0,arguments)},pop(){return Po(this,"pop")},push(...e){return Po(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Po(this,"shift")},some(e,t){return St(this,"some",e,t,void 0,arguments)},splice(...e){return Po(this,"splice",e)},toReversed(){return so(this).toReversed()},toSorted(e){return so(this).toSorted(e)},toSpliced(...e){return so(this).toSpliced(...e)},unshift(...e){return Po(this,"unshift",e)},values(){return ua(this,"values",e=>$t(this,e))}};function ua(e,t,o){const n=dn(e),a=n[t]();return n!==e&&!tt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const Vl=Array.prototype;function St(e,t,o,n,a,s){const r=dn(e),i=r!==e&&!tt(e),l=r[t];if(l!==Vl[t]){const g=l.apply(e,s);return i?lt(g):g}let c=o;r!==e&&(i?c=function(g,_){return o.call(this,$t(e,g),_,e)}:o.length>2&&(c=function(g,_){return o.call(this,g,_,e)}));const d=l.call(r,c,n);return i&&a?a(d):d}function Ps(e,t,o,n){const a=dn(e),s=a!==e&&!tt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,d,g){return i&&(i=!1,c=$t(e,c)),o.call(this,c,$t(e,d),g,e)}):o.length>3&&(r=function(c,d,g){return o.call(this,c,d,g,e)}));const l=a[t](r,...n);return i?$t(e,l):l}function da(e,t,o){const n=ie(e);De(n,"iterate",Oo);const a=n[t](...o);return(a===-1||a===!1)&&ga(o[0])?(o[0]=ie(o[0]),n[t](...o)):a}function Po(e,t,o=[]){mt(),aa();const n=ie(e)[t].apply(e,o);return sa(),bt(),n}const Bl=Jn("__proto__,__v_isRef,__isVue"),Es=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rt));function Kl(e){rt(e)||(e=String(e));const t=ie(this);return De(t,"has",e),t.hasOwnProperty(e)}class Ms{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,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Ds:Fs:s?Ns:Is).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=jl[o]))return l;if(o==="hasOwnProperty")return Kl}const i=Reflect.get(t,o,Ie(t)?t:n);if((rt(o)?Es.has(o):Bl(o))||(a||De(t,"get",o),s))return i;if(Ie(i)){const l=r&&Qn(o)?i:i.value;return a&&de(l)?ha(l):l}return de(i)?a?ha(i):Eo(i):i}}class As extends Ms{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Z(t)&&Qn(o);if(!this._isShallow){const c=Ot(s);if(!tt(n)&&!Ot(n)&&(s=ie(s),n=ie(n)),!r&&Ie(s)&&!Ie(n))return c||(s.value=n),!0}const i=r?Number(o)e,fn=e=>Reflect.getPrototypeOf(e);function Jl(e,t,o){return function(...n){const a=this.__v_raw,s=ie(a),r=zt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),d=o?fa:t?ro:lt;return!t&&De(s,"iterate",l?pa:Xt),xe(Object.create(c),{next(){const{value:g,done:_}=c.next();return _?{value:g,done:_}:{value:i?[d(g[0]),d(g[1])]:d(g),done:_}}})}}function hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Zl(e,t){const o={get(a){const s=this.__v_raw,r=ie(s),i=ie(a);e||(gt(a,i)&&De(r,"get",a),De(r,"get",i));const{has:l}=fn(r),c=t?fa:e?ro:lt;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ie(a),"iterate",Xt),a.size},has(a){const s=this.__v_raw,r=ie(s),i=ie(a);return e||(gt(a,i)&&De(r,"has",a),De(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=ie(i),c=t?fa:e?ro:lt;return!e&&De(l,"iterate",Xt),i.forEach((d,g)=>a.call(s,c(d),c(g),r))}};return xe(o,e?{add:hn("add"),set:hn("set"),delete:hn("delete"),clear:hn("clear")}:{add(a){const s=ie(this),r=fn(s),i=ie(a),l=!t&&!tt(a)&&!Ot(a)?i:a;return r.has.call(s,l)||gt(a,l)&&r.has.call(s,a)||gt(i,l)&&r.has.call(s,i)||(s.add(l),Lt(s,"add",l,l)),this},set(a,s){!t&&!tt(s)&&!Ot(s)&&(s=ie(s));const r=ie(this),{has:i,get:l}=fn(r);let c=i.call(r,a);c||(a=ie(a),c=i.call(r,a));const d=l.call(r,a);return r.set(a,s),c?gt(s,d)&&Lt(r,"set",a,s):Lt(r,"add",a,s),this},delete(a){const s=ie(this),{has:r,get:i}=fn(s);let l=r.call(s,a);l||(a=ie(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Lt(s,"delete",a,void 0),c},clear(){const a=ie(this),s=a.size!==0,r=a.clear();return s&&Lt(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Jl(a,e,t)}),o}function gn(e,t){const o=Zl(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ce(o,a)&&a in n?o:n,a,s)}const Ql={get:gn(!1,!1)},ec={get:gn(!1,!0)},tc={get:gn(!0,!1)},oc={get:gn(!0,!0)},Is=new WeakMap,Ns=new WeakMap,Fs=new WeakMap,Ds=new WeakMap;function nc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Eo(e){return Ot(e)?e:mn(e,!1,ql,Ql,Is)}function ac(e){return mn(e,!1,Xl,ec,Ns)}function ha(e){return mn(e,!0,Gl,tc,Fs)}function Jm(e){return mn(e,!0,Yl,oc,Ds)}function mn(e,t,o,n,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 r=nc(Pl(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Yt(e){return Ot(e)?Yt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ot(e){return!!(e&&e.__v_isReadonly)}function tt(e){return!!(e&&e.__v_isShallow)}function ga(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function sc(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&fs(e,"__v_skip",!0),e}const lt=e=>de(e)?Eo(e):e,ro=e=>de(e)?ha(e):e;function Ie(e){return e?e.__v_isRef===!0:!1}function Se(e){return Ws(e,!1)}function Rs(e){return Ws(e,!0)}function Ws(e,t){return Ie(e)?e:new rc(e,t)}class rc{constructor(t,o){this.dep=new la,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ie(t),this._value=o?t:lt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||tt(t)||Ot(t);t=n?t:ie(t),gt(t,o)&&(this._rawValue=t,this._value=n?t:lt(t),this.dep.trigger())}}function Te(e){return Ie(e)?e.value:e}const ic={get:(e,t,o)=>t==="__v_raw"?e:Te(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ie(a)&&!Ie(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function zs(e){return Yt(e)?e:new Proxy(e,ic)}class lc{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new la(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=So-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return ws(this,!0),!0}get value(){const t=this.dep.track();return Ts(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function cc(e,t,o=!1){let n,a;return te(e)?n=e:(n=e.get,a=e.set),new lc(n,a,o)}const bn={},$n=new WeakMap;let Jt;function pc(e,t=!1,o=Jt){if(o){let n=$n.get(o);n||$n.set(o,n=[]),n.push(e)}}function uc(e,t,o=ge){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=$=>a?$:tt($)||a===!1||a===0?Pt($,1):Pt($);let d,g,_,L,D=!1,E=!1;if(Ie(e)?(g=()=>e.value,D=tt(e)):Yt(e)?(g=()=>c(e),D=!0):Z(e)?(E=!0,D=e.some($=>Yt($)||tt($)),g=()=>e.map($=>{if(Ie($))return $.value;if(Yt($))return c($);if(te($))return l?l($,2):$()})):te(e)?t?g=l?()=>l(e,2):e:g=()=>{if(_){mt();try{_()}finally{bt()}}const $=Jt;Jt=d;try{return l?l(e,3,[L]):e(L)}finally{Jt=$}}:g=ht,t&&a){const $=g,M=a===!0?1/0:a;g=()=>Pt($(),M)}const j=zl(),U=()=>{d.stop(),j&&j.active&&Zn(j.effects,d)};if(s&&t){const $=t;t=(...M)=>{const O=$(...M);return U(),O}}let K=E?new Array(e.length).fill(bn):bn;const w=$=>{if(!(!(d.flags&1)||!d.dirty&&!$))if(t){const M=d.run();if($||a||D||(E?M.some((O,N)=>gt(O,K[N])):gt(M,K))){_&&_();const O=Jt;Jt=d;try{const N=[M,K===bn?void 0:E&&K[0]===bn?[]:K,L];K=M,l?l(t,3,N):t(...N)}finally{Jt=O}}}else d.run()};return i&&i(w),d=new vs(g),d.scheduler=r?()=>r(w,!1):w,L=$=>pc($,!1,d),_=d.onStop=()=>{const $=$n.get(d);if($){if(l)l($,4);else for(const M of $)M();$n.delete(d)}},t?n?w(!0):K=d.run():r?r(w.bind(null,!0),!0):d.run(),U.pause=d.pause.bind(d),U.resume=d.resume.bind(d),U.stop=U,U}function Pt(e,t=1/0,o){if(t<=0||!de(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ie(e))Pt(e.value,t,o);else if(Z(e))for(let n=0;n{Pt(n,t,o)});else if(rn(e)){for(const n in e)Pt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Pt(e[n],t,o)}return e}/** +**/let Ce;class Wl{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&&Ce&&(Ce.active?(this.parent=Ce,this.index=(Ce.scopes||(Ce.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(Ce===this)Ce=this.prevScope;else{let t=Ce;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(To){let t=To;for(To=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Lo;){let t=Lo;for(Lo=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 ks(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xs(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),ia(n),Ul(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function ra(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ls(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ls(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===So)||(e.globalVersion=So,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ra(e))))return;e.flags|=2;const t=e.dep,o=be,n=it;be=e,it=!0;try{ks(e);const a=e.fn(e._value);(t.version===0||gt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=o,it=n,xs(e),e.flags&=-3}}function ia(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 s=o.computed.deps;s;s=s.nextDep)ia(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ul(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let it=!0;const Ts=[];function mt(){Ts.push(it),it=!1}function bt(){const e=Ts.pop();it=e===void 0?!0:e}function Ss(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=be;be=void 0;try{t()}finally{be=o}}}let So=0;class Hl{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 la{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||!it||be===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==be)o=this.activeLink=new Hl(be,this),be.deps?(o.prevDep=be.depsTail,be.depsTail.nextDep=o,be.depsTail=o):be.deps=be.depsTail=o,Os(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=be.depsTail,o.nextDep=void 0,be.depsTail.nextDep=o,be.depsTail=o,be.deps===o&&(be.deps=n)}return o}trigger(t){this.version++,So++,this.notify(t)}notify(t){aa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{sa()}}}function Os(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)Os(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const ca=new WeakMap,Xt=Symbol(""),pa=Symbol(""),Oo=Symbol("");function De(e,t,o){if(it&&be){let n=ca.get(e);n||ca.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new la),a.map=n,a.key=o),a.track()}}function Tt(e,t,o,n,a,s){const r=ca.get(e);if(!r){So++;return}const i=l=>{l&&l.trigger()};if(aa(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&Qn(o);if(l&&o==="length"){const d=Number(n);r.forEach((g,_)=>{(_==="length"||_===Oo||!rt(_)&&_>=d)&&i(g)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(Oo)),t){case"add":l?c&&i(r.get("length")):(i(r.get(Xt)),zt(e)&&i(r.get(pa)));break;case"delete":l||(i(r.get(Xt)),zt(e)&&i(r.get(pa)));break;case"set":zt(e)&&i(r.get(Xt));break}}sa()}function so(e){const t=ie(e);return t===e?t:(De(t,"iterate",Oo),tt(e)?t:t.map(lt))}function dn(e){return De(e=ie(e),"iterate",Oo),e}function $t(e,t){return Ot(e)?ro(Yt(e)?lt(t):t):lt(t)}const jl={__proto__:null,[Symbol.iterator](){return ua(this,Symbol.iterator,e=>$t(this,e))},concat(...e){return so(this).concat(...e.map(t=>Z(t)?so(t):t))},entries(){return ua(this,"entries",e=>(e[1]=$t(this,e[1]),e))},every(e,t){return St(this,"every",e,t,void 0,arguments)},filter(e,t){return St(this,"filter",e,t,o=>o.map(n=>$t(this,n)),arguments)},find(e,t){return St(this,"find",e,t,o=>$t(this,o),arguments)},findIndex(e,t){return St(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return St(this,"findLast",e,t,o=>$t(this,o),arguments)},findLastIndex(e,t){return St(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return St(this,"forEach",e,t,void 0,arguments)},includes(...e){return da(this,"includes",e)},indexOf(...e){return da(this,"indexOf",e)},join(e){return so(this).join(e)},lastIndexOf(...e){return da(this,"lastIndexOf",e)},map(e,t){return St(this,"map",e,t,void 0,arguments)},pop(){return Po(this,"pop")},push(...e){return Po(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Po(this,"shift")},some(e,t){return St(this,"some",e,t,void 0,arguments)},splice(...e){return Po(this,"splice",e)},toReversed(){return so(this).toReversed()},toSorted(e){return so(this).toSorted(e)},toSpliced(...e){return so(this).toSpliced(...e)},unshift(...e){return Po(this,"unshift",e)},values(){return ua(this,"values",e=>$t(this,e))}};function ua(e,t,o){const n=dn(e),a=n[t]();return n!==e&&!tt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const Vl=Array.prototype;function St(e,t,o,n,a,s){const r=dn(e),i=r!==e&&!tt(e),l=r[t];if(l!==Vl[t]){const g=l.apply(e,s);return i?lt(g):g}let c=o;r!==e&&(i?c=function(g,_){return o.call(this,$t(e,g),_,e)}:o.length>2&&(c=function(g,_){return o.call(this,g,_,e)}));const d=l.call(r,c,n);return i&&a?a(d):d}function Ps(e,t,o,n){const a=dn(e),s=a!==e&&!tt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,d,g){return i&&(i=!1,c=$t(e,c)),o.call(this,c,$t(e,d),g,e)}):o.length>3&&(r=function(c,d,g){return o.call(this,c,d,g,e)}));const l=a[t](r,...n);return i?$t(e,l):l}function da(e,t,o){const n=ie(e);De(n,"iterate",Oo);const a=n[t](...o);return(a===-1||a===!1)&&ga(o[0])?(o[0]=ie(o[0]),n[t](...o)):a}function Po(e,t,o=[]){mt(),aa();const n=ie(e)[t].apply(e,o);return sa(),bt(),n}const Bl=Jn("__proto__,__v_isRef,__isVue"),Es=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rt));function Kl(e){rt(e)||(e=String(e));const t=ie(this);return De(t,"has",e),t.hasOwnProperty(e)}class Ms{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,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Ds:Fs:s?Ns:Is).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=jl[o]))return l;if(o==="hasOwnProperty")return Kl}const i=Reflect.get(t,o,Ie(t)?t:n);if((rt(o)?Es.has(o):Bl(o))||(a||De(t,"get",o),s))return i;if(Ie(i)){const l=r&&Qn(o)?i:i.value;return a&&de(l)?ha(l):l}return de(i)?a?ha(i):Eo(i):i}}class As extends Ms{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Z(t)&&Qn(o);if(!this._isShallow){const c=Ot(s);if(!tt(n)&&!Ot(n)&&(s=ie(s),n=ie(n)),!r&&Ie(s)&&!Ie(n))return c||(s.value=n),!0}const i=r?Number(o)e,fn=e=>Reflect.getPrototypeOf(e);function Jl(e,t,o){return function(...n){const a=this.__v_raw,s=ie(a),r=zt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),d=o?fa:t?ro:lt;return!t&&De(s,"iterate",l?pa:Xt),xe(Object.create(c),{next(){const{value:g,done:_}=c.next();return _?{value:g,done:_}:{value:i?[d(g[0]),d(g[1])]:d(g),done:_}}})}}function hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Zl(e,t){const o={get(a){const s=this.__v_raw,r=ie(s),i=ie(a);e||(gt(a,i)&&De(r,"get",a),De(r,"get",i));const{has:l}=fn(r),c=t?fa:e?ro:lt;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ie(a),"iterate",Xt),a.size},has(a){const s=this.__v_raw,r=ie(s),i=ie(a);return e||(gt(a,i)&&De(r,"has",a),De(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=ie(i),c=t?fa:e?ro:lt;return!e&&De(l,"iterate",Xt),i.forEach((d,g)=>a.call(s,c(d),c(g),r))}};return xe(o,e?{add:hn("add"),set:hn("set"),delete:hn("delete"),clear:hn("clear")}:{add(a){const s=ie(this),r=fn(s),i=ie(a),l=!t&&!tt(a)&&!Ot(a)?i:a;return r.has.call(s,l)||gt(a,l)&&r.has.call(s,a)||gt(i,l)&&r.has.call(s,i)||(s.add(l),Tt(s,"add",l,l)),this},set(a,s){!t&&!tt(s)&&!Ot(s)&&(s=ie(s));const r=ie(this),{has:i,get:l}=fn(r);let c=i.call(r,a);c||(a=ie(a),c=i.call(r,a));const d=l.call(r,a);return r.set(a,s),c?gt(s,d)&&Tt(r,"set",a,s):Tt(r,"add",a,s),this},delete(a){const s=ie(this),{has:r,get:i}=fn(s);let l=r.call(s,a);l||(a=ie(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Tt(s,"delete",a,void 0),c},clear(){const a=ie(this),s=a.size!==0,r=a.clear();return s&&Tt(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Jl(a,e,t)}),o}function gn(e,t){const o=Zl(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ce(o,a)&&a in n?o:n,a,s)}const Ql={get:gn(!1,!1)},ec={get:gn(!1,!0)},tc={get:gn(!0,!1)},oc={get:gn(!0,!0)},Is=new WeakMap,Ns=new WeakMap,Fs=new WeakMap,Ds=new WeakMap;function nc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Eo(e){return Ot(e)?e:mn(e,!1,ql,Ql,Is)}function ac(e){return mn(e,!1,Xl,ec,Ns)}function ha(e){return mn(e,!0,Gl,tc,Fs)}function Jm(e){return mn(e,!0,Yl,oc,Ds)}function mn(e,t,o,n,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 r=nc(Pl(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Yt(e){return Ot(e)?Yt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ot(e){return!!(e&&e.__v_isReadonly)}function tt(e){return!!(e&&e.__v_isShallow)}function ga(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function sc(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&fs(e,"__v_skip",!0),e}const lt=e=>de(e)?Eo(e):e,ro=e=>de(e)?ha(e):e;function Ie(e){return e?e.__v_isRef===!0:!1}function Se(e){return Ws(e,!1)}function Rs(e){return Ws(e,!0)}function Ws(e,t){return Ie(e)?e:new rc(e,t)}class rc{constructor(t,o){this.dep=new la,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ie(t),this._value=o?t:lt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||tt(t)||Ot(t);t=n?t:ie(t),gt(t,o)&&(this._rawValue=t,this._value=n?t:lt(t),this.dep.trigger())}}function Le(e){return Ie(e)?e.value:e}const ic={get:(e,t,o)=>t==="__v_raw"?e:Le(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ie(a)&&!Ie(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function zs(e){return Yt(e)?e:new Proxy(e,ic)}class lc{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new la(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=So-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return ws(this,!0),!0}get value(){const t=this.dep.track();return Ls(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function cc(e,t,o=!1){let n,a;return te(e)?n=e:(n=e.get,a=e.set),new lc(n,a,o)}const bn={},$n=new WeakMap;let Jt;function pc(e,t=!1,o=Jt){if(o){let n=$n.get(o);n||$n.set(o,n=[]),n.push(e)}}function uc(e,t,o=ge){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=$=>a?$:tt($)||a===!1||a===0?Pt($,1):Pt($);let d,g,_,T,D=!1,E=!1;if(Ie(e)?(g=()=>e.value,D=tt(e)):Yt(e)?(g=()=>c(e),D=!0):Z(e)?(E=!0,D=e.some($=>Yt($)||tt($)),g=()=>e.map($=>{if(Ie($))return $.value;if(Yt($))return c($);if(te($))return l?l($,2):$()})):te(e)?t?g=l?()=>l(e,2):e:g=()=>{if(_){mt();try{_()}finally{bt()}}const $=Jt;Jt=d;try{return l?l(e,3,[T]):e(T)}finally{Jt=$}}:g=ht,t&&a){const $=g,M=a===!0?1/0:a;g=()=>Pt($(),M)}const j=zl(),U=()=>{d.stop(),j&&j.active&&Zn(j.effects,d)};if(s&&t){const $=t;t=(...M)=>{const O=$(...M);return U(),O}}let K=E?new Array(e.length).fill(bn):bn;const w=$=>{if(!(!(d.flags&1)||!d.dirty&&!$))if(t){const M=d.run();if($||a||D||(E?M.some((O,N)=>gt(O,K[N])):gt(M,K))){_&&_();const O=Jt;Jt=d;try{const N=[M,K===bn?void 0:E&&K[0]===bn?[]:K,T];K=M,l?l(t,3,N):t(...N)}finally{Jt=O}}}else d.run()};return i&&i(w),d=new vs(g),d.scheduler=r?()=>r(w,!1):w,T=$=>pc($,!1,d),_=d.onStop=()=>{const $=$n.get(d);if($){if(l)l($,4);else for(const M of $)M();$n.delete(d)}},t?n?w(!0):K=d.run():r?r(w.bind(null,!0),!0):d.run(),U.pause=d.pause.bind(d),U.resume=d.resume.bind(d),U.stop=U,U}function Pt(e,t=1/0,o){if(t<=0||!de(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ie(e))Pt(e.value,t,o);else if(Z(e))for(let n=0;n{Pt(n,t,o)});else if(rn(e)){for(const n in e)Pt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Pt(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Mo=[];let ma=!1;function Zm(e,...t){if(ma)return;ma=!0,mt();const o=Mo.length?Mo[Mo.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=dc();if(n)io(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Dr(o,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...fc(a)),console.warn(...s)}bt(),ma=!1}function dc(){let e=Mo[Mo.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 fc(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...hc(o))}),t}function hc({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Dr(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...gc(e.props),s]:[a+s]}function gc(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Us(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Us(e,t,o){return ve(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ie(t)?(t=Us(e,ie(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ie(t),o?t:[`${e}=`,t])}function io(e,t,o,n){try{return n?e(...n):e()}catch(a){_n(a,t,o)}}function ct(e,t,o,n){if(te(e)){const a=io(e,t,o,n);return a&&us(a)&&a.catch(s=>{_n(s,t,o)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Ue[n],s=Ao(a);s=Ao(o)?Ue.push(e):Ue.splice(bc(t),0,e),e.flags|=1,js()}}function js(){vn||(vn=Hs.then(Ks))}function $c(e){if(!Z(e))Ut&&e.id===-1?Ut.splice(co+1,0,e):e.flags&1||(lo.push(e),e.flags|=1);else for(let t=0;tAo(o)-Ao(n));if(lo.length=0,Ut){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ks(e){try{for(_t=0;_t{n._d&&En(-1);const s=wn(t),r=Mt.length;let i;try{i=e(...a)}finally{for(let l=Mt.length;l>r;l--)Ma();wn(s),n._d&&En(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Io(e,t){if(Ne===null)return e;const o=In(Ne),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&te(t)?t.call(n&&n.proxy):t}}const vc=Symbol.for("v-scx"),yc=()=>po(vc);function Ht(e,t,o){return Gs(e,t,o)}function Gs(e,t,o=ge){const{immediate:n,deep:a,flush:s,once:r}=o,i=xe({},o),l=t&&n||!t&&s!=="post";let c;if(Ko){if(s==="sync"){const L=yc();c=L.__watcherHandles||(L.__watcherHandles=[])}else if(!l){const L=()=>{};return L.stop=ht,L.resume=ht,L.pause=ht,L}}const d=Re;i.call=(L,D,E)=>ct(L,d,D,E);let g=!1;s==="post"?i.scheduler=L=>{Ke(L,d&&d.suspense)}:s!=="sync"&&(g=!0,i.scheduler=(L,D)=>{D?L():ba(L)}),i.augmentJob=L=>{t&&(L.flags|=4),g&&(L.flags|=2,d&&(L.id=d.uid,L.i=d))};const _=uc(e,t,i);return Ko&&(c?c.push(_):l&&_()),_}function wc(e,t,o){const n=this.proxy,a=ve(e)?e.includes(".")?Xs(n,e):()=>n[e]:e.bind(n,n);let s;te(t)?s=t:(s=t.handler,o=t);const r=Bo(this),i=Gs(a,s.bind(n),o);return r(),i}function Xs(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,$a=Symbol("_leaveCb");function xc(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==vt){t=o;break}}return t}function Ys(e){if(!va(e))return kn(e.type)&&e.children?xc(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&&te(o.default))return o.default()}}function _a(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;_a(kn(o.type)&&Ys(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 uo(e,t){return te(e)?xe({name:e.name},t,{setup:e}):e}function Js(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Zs(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const xn=new WeakMap;function No(e,t,o,n,a=!1){if(Z(e)){e.forEach((E,j)=>No(E,t&&(Z(t)?t[j]:t),o,n,a));return}if(fo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&No(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?In(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,d=i.refs===ge?i.refs={}:i.refs,g=i.setupState,_=ie(g),L=g===ge?cs:E=>Zs(d,E)?!1:ce(_,E),D=(E,j)=>!(j&&Zs(d,j));if(c!=null&&c!==l){if(Qs(t),ve(c))d[c]=null,L(c)&&(g[c]=null);else if(Ie(c)){const E=t;D(c,E.k)&&(c.value=null),E.k&&(d[E.k]=null)}}if(te(l))io(l,i,12,[r,d]);else{const E=ve(l),j=Ie(l);if(E||j){const U=()=>{if(e.f){const K=E?L(l)?g[l]:d[l]:D()||!e.k?l.value:d[e.k];if(a)Z(K)&&Zn(K,s);else if(Z(K))K.includes(s)||K.push(s);else if(E)d[l]=[s],L(l)&&(g[l]=d[l]);else{const w=[s];D(l,e.k)&&(l.value=w),e.k&&(d[e.k]=w)}}else E?(d[l]=r,L(l)&&(g[l]=r)):j&&(D(l,e.k)&&(l.value=r),e.k&&(d[e.k]=r))};if(r){const K=()=>{U(),xn.delete(e)};K.id=-1,xn.set(e,K),Ke(K,o)}else Qs(e),U()}}}function Qs(e){const t=xn.get(e);t&&(t.flags|=8,xn.delete(e))}pn().requestIdleCallback,pn().cancelIdleCallback;const fo=e=>!!e.type.__asyncLoader,va=e=>e.type.__isKeepAlive;function Tc(e,t){er(e,"a",t)}function Lc(e,t){er(e,"da",t)}function er(e,t,o=Re){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Tn(t,n,o),o){let a=o.parent;for(;a&&a.parent;)va(a.parent.vnode)&&Sc(n,t,o,a),a=a.parent}}function Sc(e,t,o,n){const a=Tn(t,e,n,!0);ya(()=>{Zn(n[t],a)},o)}function Tn(e,t,o=Re,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{mt();const i=Bo(o),l=ct(t,o,e,r);return i(),bt(),l});return n?a.unshift(s):a.push(s),s}}const Et=e=>(t,o=Re)=>{(!Ko||e==="sp")&&Tn(e,(...n)=>t(...n),o)},tr=Et("bm"),ho=Et("m"),Oc=Et("bu"),Pc=Et("u"),Ln=Et("bum"),ya=Et("um"),Ec=Et("sp"),Mc=Et("rtg"),Ac=Et("rtc");function Cc(e,t=Re){Tn("ec",e,t)}const Ic="components";function Sn(e,t){return Fc(Ic,e,!0,t)||e}const Nc=Symbol.for("v-ndc");function Fc(e,t,o=!0,n=!1){const a=Ne||Re;if(a){const s=a.type;{const i=Fr(s,!1);if(i&&(i===t||i===Pe(t)||i===cn(Pe(t))))return s}const r=or(a[e]||s[e],t)||or(a.appContext[e],t);return!r&&n?s:r}}function or(e,t){return e&&(e[t]||e[Pe(t)]||e[cn(Pe(t))])}function Ye(e,t,o,n){let a;const s=o,r=Z(e);if(r||ve(e)){const i=r&&Yt(e);let l=!1,c=!1;i&&(l=!tt(e),c=Ot(e),e=dn(e)),a=new Array(e.length);for(let d=0,g=e.length;dt(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l{const s=n.fn(...a);return s&&(s.key=n.key),s}:n.fn)}return e}function Fo(e,t,o,n,a,s){if(o==null&&(o={}),Ne.ce||Ne.parent&&fo(Ne.parent)&&Ne.parent.ce){const c=s!=null&&o.key==null?xe({},o,{key:s}):o,d=Object.keys(c).length>0;return t!=="default"&&(c.name=t),F(),mo(oe,null,[Fe("slot",c,n)],d?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Mt.length;F();let l;try{const c=r&&nr(r(o)),d=o.key||s||c&&c.key;l=mo(oe,{key:(d&&!rt(d)?d:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let d=Mt.length;d>i;d--)Ma();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function nr(e){return e.some(t=>Uo(t)?!(t.type===vt||t.type===oe&&!nr(t.children)):!0)?e:null}const wa=e=>e?Cr(e)?In(e):wa(e.parent):null,Do=xe(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=>wa(e.parent),$root:e=>wa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ir(e),$forceUpdate:e=>e.f||(e.f=()=>{ba(e.update)}),$nextTick:e=>e.n||(e.n=yn.bind(e.proxy)),$watch:e=>wc.bind(e)}),ka=(e,t)=>e!==ge&&!e.__isScriptSetup&&ce(e,t),Rc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const _=r[t];if(_!==void 0)switch(_){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(ka(n,t))return r[t]=1,n[t];if(a!==ge&&ce(a,t))return r[t]=2,a[t];if(ce(s,t))return r[t]=3,s[t];if(o!==ge&&ce(o,t))return r[t]=4,o[t];xa&&(r[t]=0)}}const c=Do[t];let d,g;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(o!==ge&&ce(o,t))return r[t]=4,o[t];if(g=l.config.globalProperties,ce(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return ka(a,t)?(a[t]=o,!0):n!==ge&&ce(n,t)?(n[t]=o,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==ge&&i[0]!=="$"&&ce(e,i)||ka(t,i)||ce(s,i)||ce(n,i)||ce(Do,i)||ce(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ce(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function ar(e){return Z(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let xa=!0;function Wc(e){const t=ir(e),o=e.proxy,n=e.ctx;xa=!1,t.beforeCreate&&sr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:d,beforeMount:g,mounted:_,beforeUpdate:L,updated:D,activated:E,deactivated:j,beforeDestroy:U,beforeUnmount:K,destroyed:w,unmounted:$,render:M,renderTracked:O,renderTriggered:N,errorCaptured:q,serverPrefetch:B,expose:ue,inheritAttrs:me,components:J,directives:_e,filters:Le}=t;if(c&&zc(c,n,null),r)for(const re in r){const se=r[re];te(se)&&(n[re]=se.bind(o))}if(a){const re=a.call(o,o);de(re)&&(e.data=Eo(re))}if(xa=!0,s)for(const re in s){const se=s[re],Ve=te(se)?se.bind(o,o):te(se.get)?se.get.bind(o,o):ht,at=!te(se)&&te(se.set)?se.set.bind(o):ht,ke=ot({get:Ve,set:at});Object.defineProperty(n,re,{enumerable:!0,configurable:!0,get:()=>ke.value,set:we=>ke.value=we})}if(i)for(const re in i)rr(i[re],n,o,re);if(l){const re=te(l)?l.call(o):l;Reflect.ownKeys(re).forEach(se=>{_c(se,re[se])})}d&&sr(d,e,"c");function ne(re,se){Z(se)?se.forEach(Ve=>re(Ve.bind(o))):se&&re(se.bind(o))}if(ne(tr,g),ne(ho,_),ne(Oc,L),ne(Pc,D),ne(Tc,E),ne(Lc,j),ne(Cc,q),ne(Ac,O),ne(Mc,N),ne(Ln,K),ne(ya,$),ne(Ec,B),Z(ue))if(ue.length){const re=e.exposed||(e.exposed={});ue.forEach(se=>{Object.defineProperty(re,se,{get:()=>o[se],set:Ve=>o[se]=Ve,enumerable:!0})})}else e.exposed||(e.exposed={});M&&e.render===ht&&(e.render=M),me!=null&&(e.inheritAttrs=me),J&&(e.components=J),_e&&(e.directives=_e),B&&Js(e)}function zc(e,t,o=ht){Z(e)&&(e=Ta(e));for(const n in e){const a=e[n];let s;de(a)?"default"in a?s=po(a.from||n,a.default,!0):s=po(a.from||n):s=po(a),Ie(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function sr(e,t,o){ct(Z(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function rr(e,t,o,n){let a=n.includes(".")?Xs(o,n):()=>o[n];if(ve(e)){const s=t[e];te(s)&&Ht(a,s)}else if(te(e))Ht(a,e.bind(o));else if(de(e))if(Z(e))e.forEach(s=>rr(s,t,o,n));else{const s=te(e.handler)?e.handler.bind(o):t[e.handler];te(s)&&Ht(a,s,e)}}function ir(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>On(l,c,r,!0)),On(l,t,r)),de(t)&&s.set(t,l),l}function On(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&On(e,s,o,!0),a&&a.forEach(r=>On(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=Uc[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Uc={data:lr,props:cr,emits:cr,methods:Ro,computed:Ro,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Ro,directives:Ro,watch:jc,provide:lr,inject:Hc};function lr(e,t){return t?e?function(){return xe(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Hc(e,t){return Ro(Ta(e),Ta(t))}function Ta(e){if(Z(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Xe(t)}Modifiers`];function qc(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||ge;let a=o;const s=t.startsWith("update:"),r=s&&Kc(n,t.slice(7));r&&(r.trim&&(a=o.map(d=>ve(d)?d.trim():d)),r.number&&(a=a.map(Al)));let i,l=n[i=ea(t)]||n[i=ea(Pe(t))];!l&&s&&(l=n[i=ea(Xe(t))]),l&&ct(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,ct(c,e,6,a)}}const Gc=new WeakMap;function ur(e,t,o=!1){const n=o?Gc:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!te(e)){const l=c=>{const d=ur(c,t,!0);d&&(i=!0,xe(r,d))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(de(e)&&n.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):xe(r,s),de(e)&&n.set(e,r),r)}function Pn(e,t){return!e||!nn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Xe(t))||ce(e,t))}function Qm(){}function dr(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:d,props:g,data:_,setupState:L,ctx:D,inheritAttrs:E}=e,j=wn(e);let U,K;try{if(o.shapeFlag&4){const $=a||n,M=$;U=yt(c.call(M,$,d,g,L,_,D)),K=i}else{const $=t;U=yt($.length>1?$(g,{attrs:i,slots:r,emit:l}):$(g,null)),K=t.props?i:Xc(i)}}catch($){Mt.length=0,_n($,e,1),U=Fe(vt)}let w=U;if(K&&E!==!1){const $=Object.keys(K),{shapeFlag:M}=w;$.length&&M&7&&(s&&$.some(an)&&(K=Yc(K,s)),w=bo(w,K,!1,!0))}if(o.dirs&&(w=bo(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(o.dirs):o.dirs),o.transition){const $=kn(w.type)&&Ys(w)||w;_a($,o.transition)}return U=w,wn(j),U}const Xc=e=>{let t;for(const o in e)(o==="class"||o==="style"||nn(o))&&((t||(t={}))[o]=e[o]);return t},Yc=(e,t)=>{const o={};for(const n in e)(!an(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Jc(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?fr(n,r,c):!!r;if(l&8){const d=t.dynamicProps;for(let g=0;gObject.create(gr),br=e=>Object.getPrototypeOf(e)===gr;function Qc(e,t,o,n=!1){const a={},s=mr();e.propsDefaults=Object.create(null),$r(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:ac(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ep(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=ie(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[_,L]=_r(g,t,!0);xe(r,_),L&&i.push(...L)};!o&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!s&&!l)return de(e)&&n.set(e,no),no;if(Z(s))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Oa=e=>Z(e)?e.map(yt):[yt(e)],op=(e,t,o)=>{if(t._n)return t;const n=Co((...a)=>Oa(t(...a)),o);return n._c=!1,n},yr=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Sa(a))continue;const s=e[a];if(te(s))t[a]=op(a,s,n);else if(s!=null){const r=Oa(s);t[a]=()=>r}}},wr=(e,t)=>{const o=Oa(t);e.slots.default=()=>o},kr=(e,t,o)=>{for(const n in t)(o||!Sa(n))&&(e[n]=t[n])},np=(e,t,o)=>{const n=e.slots=mr();if(e.vnode.shapeFlag&32){const a=t._;a?(kr(n,t,o),o&&fs(n,"_",a,!0)):yr(t,n)}else t&&wr(e,t)},ap=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=ge;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:kr(a,t,o):(s=!t.$stable,yr(t,a)),r=t}else t&&(wr(e,t),r={default:1});if(s)for(const i in a)!Sa(i)&&r[i]==null&&delete a[i]},Ke=cp;function sp(e){return rp(e)}function rp(e,t){const o=pn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:d,parentNode:g,nextSibling:_,setScopeId:L=ht,insertStaticContent:D}=e,E=(f,m,h,x=null,P=null,S=null,W=void 0,R=null,u=!!m.dynamicChildren)=>{if(f===m)return;f&&!Ho(f,m)&&(x=st(f),we(f,P,S,!0),f=null),m.patchFlag===-2&&(u=!1,m.dynamicChildren=null);const{type:p,ref:y,shapeFlag:k}=m;switch(p){case Wo:j(f,m,h,x);break;case vt:U(f,m,h,x);break;case Ea:f==null&&K(m,h,x,W);break;case oe:J(f,m,h,x,P,S,W,R,u);break;default:k&1?M(f,m,h,x,P,S,W,R,u):k&6?_e(f,m,h,x,P,S,W,R,u):(k&64||k&128)&&p.process(f,m,h,x,P,S,W,R,u,Ge)}y!=null&&P?No(y,f&&f.ref,S,m||f,!m):y==null&&f&&f.ref!=null&&No(f.ref,null,S,f,!0)},j=(f,m,h,x)=>{if(f==null)n(m.el=i(m.children),h,x);else{const P=m.el=f.el;m.children!==f.children&&c(P,m.children)}},U=(f,m,h,x)=>{f==null?n(m.el=l(m.children||""),h,x):m.el=f.el},K=(f,m,h,x)=>{[f.el,f.anchor]=D(f.children,m,h,x,f.el,f.anchor)},w=({el:f,anchor:m},h,x)=>{let P;for(;f&&f!==m;)P=_(f),n(f,h,x),f=P;n(m,h,x)},$=({el:f,anchor:m})=>{let h;for(;f&&f!==m;)h=_(f),a(f),f=h;a(m)},M=(f,m,h,x,P,S,W,R,u)=>{if(m.type==="svg"?W="svg":m.type==="math"&&(W="mathml"),f==null)O(m,h,x,P,S,W,R,u);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),B(f,m,P,S,W,R,u)}finally{p&&p._endPatch()}}},O=(f,m,h,x,P,S,W,R)=>{let u,p;const{props:y,shapeFlag:k,transition:H,dirs:A}=f;if(u=f.el=r(f.type,S,y&&y.is,y),k&8?d(u,f.children):k&16&&q(f.children,u,null,x,P,Pa(f,S),W,R),A&&Zt(f,null,x,"created"),N(u,f,f.scopeId,W,x),y){for(const T in y)T!=="value"&&!xo(T)&&s(u,T,null,y[T],S,x);"value"in y&&s(u,"value",null,y.value,S),(p=y.onVnodeBeforeMount)&&wt(p,x,f)}A&&Zt(f,null,x,"beforeMount");const v=ip(P,H);v&&H.beforeEnter(u),n(u,m,h),((p=y&&y.onVnodeMounted)||v||A)&&Ke(()=>{try{p&&wt(p,x,f),v&&H.enter(u),A&&Zt(f,null,x,"mounted")}finally{}},P)},N=(f,m,h,x,P)=>{if(h&&L(f,h),x)for(let S=0;S{for(let p=u;p{const R=m.el=f.el;let{patchFlag:u,dynamicChildren:p,dirs:y}=m;u|=f.patchFlag&16;const k=f.props||ge,H=m.props||ge;let A;if(h&&Qt(h,!1),(A=H.onVnodeBeforeUpdate)&&wt(A,h,m,f),y&&Zt(m,f,h,"beforeUpdate"),h&&Qt(h,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(u=0,W=!1,p=null),(k.innerHTML&&H.innerHTML==null||k.textContent&&H.textContent==null)&&d(R,""),p?ue(f.dynamicChildren,p,R,h,x,Pa(m,P),S):W||se(f,m,R,null,h,x,Pa(m,P),S,!1),u>0){if(u&16)me(R,k,H,h,P);else if(u&2&&k.class!==H.class&&s(R,"class",null,H.class,P),u&4&&s(R,"style",k.style,H.style,P),u&8){const v=m.dynamicProps;for(let T=0;T{A&&wt(A,h,m,f),y&&Zt(m,f,h,"updated")},x)},ue=(f,m,h,x,P,S,W)=>{for(let R=0;R{if(m!==h){if(m!==ge)for(const S in m)!xo(S)&&!(S in h)&&s(f,S,m[S],null,P,x);for(const S in h){if(xo(S))continue;const W=h[S],R=m[S];W!==R&&S!=="value"&&s(f,S,R,W,P,x)}"value"in h&&s(f,"value",m.value,h.value,P)}},J=(f,m,h,x,P,S,W,R,u)=>{const p=m.el=f?f.el:i(""),y=m.anchor=f?f.anchor:i("");let{patchFlag:k,dynamicChildren:H,slotScopeIds:A}=m;A&&(R=R?R.concat(A):A),f==null?(n(p,h,x),n(y,h,x),q(m.children||[],h,y,P,S,W,R,u)):k>0&&k&64&&H&&f.dynamicChildren&&f.dynamicChildren.length===H.length?(ue(f.dynamicChildren,H,h,P,S,W,R),(m.key!=null||P&&m===P.subTree)&&xr(f,m,!0)):se(f,m,h,y,P,S,W,R,u)},_e=(f,m,h,x,P,S,W,R,u)=>{m.slotScopeIds=R,f==null?m.shapeFlag&512?P.ctx.activate(m,h,x,W,u):Le(m,h,x,P,S,W,u):Me(f,m,u)},Le=(f,m,h,x,P,S,W)=>{const R=f.component=hp(f,x,P);if(va(f)&&(R.ctx.renderer=Ge),gp(R,!1,W),R.asyncDep){if(P&&P.registerDep(R,ne,W),!f.el){const u=R.subTree=Fe(vt);U(null,u,m,h),f.placeholder=u.el}}else ne(R,f,m,h,P,S,W)},Me=(f,m,h)=>{const x=m.component=f.component;if(Jc(f,m,h))if(x.asyncDep&&!x.asyncResolved){re(x,m,h);return}else x.next=m,x.update();else m.el=f.el,x.vnode=m},ne=(f,m,h,x,P,S,W)=>{const R=()=>{if(f.isMounted){let{next:k,bu:H,u:A,parent:v,vnode:T}=f;{const ee=Tr(f);if(ee){k&&(k.el=T.el,re(f,k,W)),ee.asyncDep.then(()=>{Ke(()=>{f.isUnmounted||p()},P)});return}}let b=k,I;Qt(f,!1),k?(k.el=T.el,re(f,k,W)):k=T,H&&ta(H),(I=k.props&&k.props.onVnodeBeforeUpdate)&&wt(I,v,k,T),Qt(f,!0);const V=dr(f),Q=f.subTree;f.subTree=V,E(Q,V,g(Q.el),st(Q),f,P,S),k.el=V.el,b===null&&Zc(f,V.el),A&&Ke(A,P),(I=k.props&&k.props.onVnodeUpdated)&&Ke(()=>wt(I,v,k,T),P)}else{let k;const{el:H,props:A}=m,{bm:v,m:T,parent:b,root:I,type:V}=f,Q=fo(m);Qt(f,!1),v&&ta(v),!Q&&(k=A&&A.onVnodeBeforeMount)&&wt(k,b,m),Qt(f,!0);{I.ce&&I.ce._hasShadowRoot()&&I.ce._injectChildStyle(V,f.parent?f.parent.type:void 0);const ee=f.subTree=dr(f);E(null,ee,h,x,f,P,S),m.el=ee.el}if(T&&Ke(T,P),!Q&&(k=A&&A.onVnodeMounted)){const ee=m;Ke(()=>wt(k,b,ee),P)}(m.shapeFlag&256||b&&fo(b.vnode)&&b.vnode.shapeFlag&256)&&f.a&&Ke(f.a,P),f.isMounted=!0,m=h=x=null}};f.scope.on();const u=f.effect=new vs(R);f.scope.off();const p=f.update=u.run.bind(u),y=f.job=u.runIfDirty.bind(u);y.i=f,y.id=f.uid,u.scheduler=()=>ba(y),Qt(f,!0),p()},re=(f,m,h)=>{m.component=f;const x=f.vnode.props;f.vnode=m,f.next=null,ep(f,m.props,x,h),ap(f,m.children,h),mt(),Vs(f),bt()},se=(f,m,h,x,P,S,W,R,u=!1)=>{const p=f&&f.children,y=f?f.shapeFlag:0,k=m.children,{patchFlag:H,shapeFlag:A}=m;if(H>0){if(H&128){at(p,k,h,x,P,S,W,R,u);return}else if(H&256){Ve(p,k,h,x,P,S,W,R,u);return}}A&8?(y&16&&Ae(p,P,S),k!==p&&d(h,k)):y&16?A&16?at(p,k,h,x,P,S,W,R,u):Ae(p,P,S,!0):(y&8&&d(h,""),A&16&&q(k,h,x,P,S,W,R,u))},Ve=(f,m,h,x,P,S,W,R,u)=>{f=f||no,m=m||no;const p=f.length,y=m.length,k=Math.min(p,y);let H;for(H=0;Hy?Ae(f,P,S,!0,!1,k):q(m,h,x,P,S,W,R,u,k)},at=(f,m,h,x,P,S,W,R,u)=>{let p=0;const y=m.length;let k=f.length-1,H=y-1;for(;p<=k&&p<=H;){const A=f[p],v=m[p]=u?At(m[p]):yt(m[p]);if(Ho(A,v))E(A,v,h,null,P,S,W,R,u);else break;p++}for(;p<=k&&p<=H;){const A=f[k],v=m[H]=u?At(m[H]):yt(m[H]);if(Ho(A,v))E(A,v,h,null,P,S,W,R,u);else break;k--,H--}if(p>k){if(p<=H){const A=H+1,v=AH)for(;p<=k;)we(f[p],P,S,!0),p++;else{const A=p,v=p,T=new Map;for(p=v;p<=H;p++){const Be=m[p]=u?At(m[p]):yt(m[p]);Be.key!=null&&T.set(Be.key,p)}let b,I=0;const V=H-v+1;let Q=!1,ee=0;const fe=new Array(V);for(p=0;p=V){we(Be,P,S,!0);continue}let Tt;if(Be.key!=null)Tt=T.get(Be.key);else for(b=v;b<=H;b++)if(fe[b-v]===0&&Ho(Be,m[b])){Tt=b;break}Tt===void 0?we(Be,P,S,!0):(fe[Tt-v]=p+1,Tt>=ee?ee=Tt:Q=!0,E(Be,m[Tt],h,null,P,S,W,R,u),I++)}const Qe=Q?lp(fe):no;for(b=Qe.length-1,p=V-1;p>=0;p--){const Be=v+p,Tt=m[Be],Ll=m[Be+1],Sl=Be+1{const{el:S,type:W,transition:R,children:u,shapeFlag:p}=f;if(p&6){ke(f.component.subTree,m,h,x);return}if(p&128){f.suspense.move(m,h,x);return}if(p&64){W.move(f,m,h,Ge);return}if(W===oe){n(S,m,h);for(let k=0;kR.enter(S),P));else{const{leave:k,delayLeave:H,afterLeave:A}=R,v=()=>{f.ctx.isUnmounted?a(S):n(S,m,h)},T=()=>{const b=S._isLeaving||!!S[$a];S._isLeaving&&S[$a](!0),R.persisted&&!b?v():k(S,()=>{v(),A&&A()})};H?H(S,v,T):T()}else n(S,m,h)},we=(f,m,h,x=!1,P=!1)=>{const{type:S,props:W,ref:R,children:u,dynamicChildren:p,shapeFlag:y,patchFlag:k,dirs:H,cacheIndex:A,memo:v}=f;if(k===-2&&(P=!1),R!=null&&(mt(),No(R,null,h,f,!0),bt()),A!=null&&(m.renderCache[A]=void 0),y&256){m.ctx.deactivate(f);return}const T=y&1&&H,b=!fo(f);let I;if(b&&(I=W&&W.onVnodeBeforeUnmount)&&wt(I,m,f),y&6)Rt(f.component,h,x);else{if(y&128){f.suspense.unmount(h,x);return}T&&Zt(f,null,m,"beforeUnmount"),y&64?f.type.remove(f,m,h,Ge,x):p&&!p.hasOnce&&(S!==oe||k>0&&k&64)?Ae(p,m,h,!1,!0):(S===oe&&k&384||!P&&y&16)&&Ae(u,m,h),x&&Ze(f)}const V=v!=null&&A==null;(b&&(I=W&&W.onVnodeUnmounted)||T||V)&&Ke(()=>{I&&wt(I,m,f),T&&Zt(f,null,m,"unmounted"),V&&(f.el=null)},h)},Ze=f=>{const{type:m,el:h,anchor:x,transition:P}=f;if(m===oe){dt(h,x);return}if(m===Ea){$(f);return}const S=()=>{a(h),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(f.shapeFlag&1&&P&&!P.persisted){const{leave:W,delayLeave:R}=P,u=()=>W(h,S);R?R(f.el,S,u):u()}else S()},dt=(f,m)=>{let h;for(;f!==m;)h=_(f),a(f),f=h;a(m)},Rt=(f,m,h)=>{const{bum:x,scope:P,job:S,subTree:W,um:R,m:u,a:p}=f;Lr(u),Lr(p),x&&ta(x),P.stop(),S&&(S.flags|=8,we(W,f,m,h)),R&&Ke(R,m),Ke(()=>{f.isUnmounted=!0},m)},Ae=(f,m,h,x=!1,P=!1,S=0)=>{for(let W=S;W{if(f.shapeFlag&6)return st(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const m=_(f.anchor||f.el),h=m&&m[kc];return h?_(h):m};let ft=!1;const ze=(f,m,h)=>{let x;f==null?m._vnode&&(we(m._vnode,null,null,!0),x=m._vnode.component):E(m._vnode||null,f,m,null,null,null,h),m._vnode=f,ft||(ft=!0,Vs(x),Bs(),ft=!1)},Ge={p:E,um:we,m:ke,r:Ze,mt:Le,mc:q,pc:se,pbc:ue,n:st,o:e};return{render:ze,hydrate:void 0,createApp:Bc(ze)}}function Pa({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 Qt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ip(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function xr(e,t,o=!1){const n=e.children,a=t.children;if(Z(n)&&Z(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function Tr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Tr(t)}function Lr(e){if(e)for(let t=0;te.__isSuspense;function cp(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):$c(e)}const oe=Symbol.for("v-fgt"),Wo=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),Ea=Symbol.for("v-stc"),Mt=[];let Je=null;function F(e=!1){Mt.push(Je=e?null:[])}function Ma(){Mt.pop(),Je=Mt[Mt.length-1]||null}let zo=1;function En(e,t=!1){zo+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Pr(e){return e.dynamicChildren=zo>0?Je||no:null,Ma(),zo>0&&Je&&Je.push(e),e}function z(e,t,o,n,a,s){return Pr(C(e,t,o,n,a,s,!0))}function mo(e,t,o,n,a){return Pr(Fe(e,t,o,n,a,!0))}function Uo(e){return e?e.__v_isVNode===!0:!1}function Ho(e,t){return e.type===t.type&&e.key===t.key}const Er=({key:e})=>e??null,Mn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||Ie(e)||te(e)?{i:Ne,r:e,k:t,f:!!o}:e:null);function C(e,t=null,o=null,n=0,a=null,s=e===oe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Er(t),ref:t&&Mn(t),scopeId:qs,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:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ne};return i?(An(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=ve(o)?8:16),zo>0&&!r&&Je&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Je.push(l),l}const Fe=pp;function pp(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Nc)&&(e=vt),Uo(e)){const i=bo(e,t,!0);return o&&An(i,o),zo>0&&!s&&Je&&(i.shapeFlag&6?Je[Je.indexOf(e)]=i:Je.push(i)),i.patchFlag=-2,i}if(yp(e)&&(e=e.__vccOpts),t){t=up(t);let{class:i,style:l}=t;i&&!ve(i)&&(t.class=et(i)),de(l)&&(ga(l)&&!Z(l)&&(l=xe({},l)),t.style=ao(l))}const r=ve(e)?1:Or(e)?128:kn(e)?64:de(e)?4:te(e)?2:0;return C(e,t,o,n,a,r,s,!0)}function up(e){return e?ga(e)||br(e)?xe({},e):e:null}function bo(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Mr(a||{},t):a,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Er(c),ref:t&&t.ref?o&&s?Z(s)?s.concat(Mn(t)):[s,Mn(t)]:Mn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==oe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bo(e.ssContent),ssFallback:e.ssFallback&&bo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&_a(d,l.clone(d)),d}function jt(e=" ",t=0){return Fe(Wo,null,e,t)}function pe(e="",t=!1){return t?(F(),mo(vt,null,e)):Fe(vt,null,e)}function yt(e){return e==null||typeof e=="boolean"?Fe(vt):Z(e)?Fe(oe,null,e.slice()):Uo(e)?At(e):Fe(Wo,null,String(e))}function At(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bo(e)}function An(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Z(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),An(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!br(t)?t._ctx=Ne:a===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(n&65){An(e,{default:t});return}t={default:t,_ctx:Ne},o=32}else t=String(t),n&64?(o=16,t=[jt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Mr(...e){const t={};for(let o=0;oRe||Ne;let Cn,Vo;{const e=pn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Cn=t("__VUE_INSTANCE_SETTERS__",o=>Re=o),Vo=t("__VUE_SSR_SETTERS__",o=>Ko=o)}const Bo=e=>{const t=Re;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(t)}},Ar=()=>{Re&&Re.scope.off(),Cn(null)};function Cr(e){return e.vnode.shapeFlag&4}let Ko=!1;function gp(e,t=!1,o=!1){t&&Vo(t);const{props:n,children:a}=e.vnode,s=Cr(e);Qc(e,n,s,t),np(e,a,o||t);const r=s?mp(e,t):void 0;return t&&Vo(!1),r}function mp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Rc);const{setup:n}=o;if(n){mt();const a=e.setupContext=n.length>1?$p(e):null,s=Bo(e),r=io(n,e,0,[e.props,a]),i=us(r);if(bt(),s(),(i||e.sp)&&!fo(e)&&Js(e),i){if(r.then(Ar,Ar),t)return r.then(l=>{Vo(!0);try{Ir(e,l,t)}finally{Vo(!1)}}).catch(l=>{_n(l,e,0)});e.asyncDep=r}else Ir(e,r)}else Nr(e)}function Ir(e,t,o){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=zs(t)),Nr(e)}function Nr(e,t,o){const n=e.type;e.render||(e.render=n.render||ht);{const a=Bo(e);mt();try{Wc(e)}finally{bt(),a()}}}const bp={get(e,t){return De(e,"get",""),e[t]}};function $p(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,bp),slots:e.slots,emit:e.emit,expose:t}}function In(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zs(sc(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Do)return Do[o](e)},has(t,o){return o in t||o in Do}})):e.proxy}const _p=/(?:^|[-_])\w/g,vp=e=>e.replace(_p,t=>t.toUpperCase()).replace(/[-_]/g,"");function Fr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Dr(e,t,o=!1){let n=Fr(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?vp(n):o?"App":"Anonymous"}function yp(e){return te(e)&&"__vccOpts"in e}const ot=(e,t)=>cc(e,t,Ko);function Rr(e,t,o){try{En(-1);const n=arguments.length;return n===2?de(t)&&!Z(t)?Uo(t)?Fe(e,null,[t]):Fe(e,t):Fe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Uo(o)&&(o=[o]),Fe(e,t,o))}finally{En(1)}}const wp="3.5.42";/** +`],...hc(o))}),t}function hc({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Dr(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...gc(e.props),s]:[a+s]}function gc(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Us(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Us(e,t,o){return ve(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ie(t)?(t=Us(e,ie(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ie(t),o?t:[`${e}=`,t])}function io(e,t,o,n){try{return n?e(...n):e()}catch(a){_n(a,t,o)}}function ct(e,t,o,n){if(te(e)){const a=io(e,t,o,n);return a&&us(a)&&a.catch(s=>{_n(s,t,o)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Ue[n],s=Ao(a);s=Ao(o)?Ue.push(e):Ue.splice(bc(t),0,e),e.flags|=1,js()}}function js(){vn||(vn=Hs.then(Ks))}function $c(e){if(!Z(e))Ut&&e.id===-1?Ut.splice(co+1,0,e):e.flags&1||(lo.push(e),e.flags|=1);else for(let t=0;tAo(o)-Ao(n));if(lo.length=0,Ut){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ks(e){try{for(_t=0;_t{n._d&&En(-1);const s=wn(t),r=Mt.length;let i;try{i=e(...a)}finally{for(let l=Mt.length;l>r;l--)Ma();wn(s),n._d&&En(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Io(e,t){if(Ne===null)return e;const o=In(Ne),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&te(t)?t.call(n&&n.proxy):t}}const vc=Symbol.for("v-scx"),yc=()=>po(vc);function Ht(e,t,o){return Gs(e,t,o)}function Gs(e,t,o=ge){const{immediate:n,deep:a,flush:s,once:r}=o,i=xe({},o),l=t&&n||!t&&s!=="post";let c;if(Ko){if(s==="sync"){const T=yc();c=T.__watcherHandles||(T.__watcherHandles=[])}else if(!l){const T=()=>{};return T.stop=ht,T.resume=ht,T.pause=ht,T}}const d=Re;i.call=(T,D,E)=>ct(T,d,D,E);let g=!1;s==="post"?i.scheduler=T=>{Ke(T,d&&d.suspense)}:s!=="sync"&&(g=!0,i.scheduler=(T,D)=>{D?T():ba(T)}),i.augmentJob=T=>{t&&(T.flags|=4),g&&(T.flags|=2,d&&(T.id=d.uid,T.i=d))};const _=uc(e,t,i);return Ko&&(c?c.push(_):l&&_()),_}function wc(e,t,o){const n=this.proxy,a=ve(e)?e.includes(".")?Xs(n,e):()=>n[e]:e.bind(n,n);let s;te(t)?s=t:(s=t.handler,o=t);const r=Bo(this),i=Gs(a,s.bind(n),o);return r(),i}function Xs(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,$a=Symbol("_leaveCb");function xc(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==vt){t=o;break}}return t}function Ys(e){if(!va(e))return kn(e.type)&&e.children?xc(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&&te(o.default))return o.default()}}function _a(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;_a(kn(o.type)&&Ys(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 uo(e,t){return te(e)?xe({name:e.name},t,{setup:e}):e}function Js(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Zs(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const xn=new WeakMap;function No(e,t,o,n,a=!1){if(Z(e)){e.forEach((E,j)=>No(E,t&&(Z(t)?t[j]:t),o,n,a));return}if(fo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&No(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?In(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,d=i.refs===ge?i.refs={}:i.refs,g=i.setupState,_=ie(g),T=g===ge?cs:E=>Zs(d,E)?!1:ce(_,E),D=(E,j)=>!(j&&Zs(d,j));if(c!=null&&c!==l){if(Qs(t),ve(c))d[c]=null,T(c)&&(g[c]=null);else if(Ie(c)){const E=t;D(c,E.k)&&(c.value=null),E.k&&(d[E.k]=null)}}if(te(l))io(l,i,12,[r,d]);else{const E=ve(l),j=Ie(l);if(E||j){const U=()=>{if(e.f){const K=E?T(l)?g[l]:d[l]:D()||!e.k?l.value:d[e.k];if(a)Z(K)&&Zn(K,s);else if(Z(K))K.includes(s)||K.push(s);else if(E)d[l]=[s],T(l)&&(g[l]=d[l]);else{const w=[s];D(l,e.k)&&(l.value=w),e.k&&(d[e.k]=w)}}else E?(d[l]=r,T(l)&&(g[l]=r)):j&&(D(l,e.k)&&(l.value=r),e.k&&(d[e.k]=r))};if(r){const K=()=>{U(),xn.delete(e)};K.id=-1,xn.set(e,K),Ke(K,o)}else Qs(e),U()}}}function Qs(e){const t=xn.get(e);t&&(t.flags|=8,xn.delete(e))}pn().requestIdleCallback,pn().cancelIdleCallback;const fo=e=>!!e.type.__asyncLoader,va=e=>e.type.__isKeepAlive;function Lc(e,t){er(e,"a",t)}function Tc(e,t){er(e,"da",t)}function er(e,t,o=Re){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ln(t,n,o),o){let a=o.parent;for(;a&&a.parent;)va(a.parent.vnode)&&Sc(n,t,o,a),a=a.parent}}function Sc(e,t,o,n){const a=Ln(t,e,n,!0);ya(()=>{Zn(n[t],a)},o)}function Ln(e,t,o=Re,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{mt();const i=Bo(o),l=ct(t,o,e,r);return i(),bt(),l});return n?a.unshift(s):a.push(s),s}}const Et=e=>(t,o=Re)=>{(!Ko||e==="sp")&&Ln(e,(...n)=>t(...n),o)},tr=Et("bm"),ho=Et("m"),Oc=Et("bu"),Pc=Et("u"),Tn=Et("bum"),ya=Et("um"),Ec=Et("sp"),Mc=Et("rtg"),Ac=Et("rtc");function Cc(e,t=Re){Ln("ec",e,t)}const Ic="components";function Sn(e,t){return Fc(Ic,e,!0,t)||e}const Nc=Symbol.for("v-ndc");function Fc(e,t,o=!0,n=!1){const a=Ne||Re;if(a){const s=a.type;{const i=Fr(s,!1);if(i&&(i===t||i===Pe(t)||i===cn(Pe(t))))return s}const r=or(a[e]||s[e],t)||or(a.appContext[e],t);return!r&&n?s:r}}function or(e,t){return e&&(e[t]||e[Pe(t)]||e[cn(Pe(t))])}function Ye(e,t,o,n){let a;const s=o,r=Z(e);if(r||ve(e)){const i=r&&Yt(e);let l=!1,c=!1;i&&(l=!tt(e),c=Ot(e),e=dn(e)),a=new Array(e.length);for(let d=0,g=e.length;dt(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l{const s=n.fn(...a);return s&&(s.key=n.key),s}:n.fn)}return e}function Fo(e,t,o,n,a,s){if(o==null&&(o={}),Ne.ce||Ne.parent&&fo(Ne.parent)&&Ne.parent.ce){const c=s!=null&&o.key==null?xe({},o,{key:s}):o,d=Object.keys(c).length>0;return t!=="default"&&(c.name=t),F(),mo(oe,null,[Fe("slot",c,n)],d?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Mt.length;F();let l;try{const c=r&&nr(r(o)),d=o.key||s||c&&c.key;l=mo(oe,{key:(d&&!rt(d)?d:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let d=Mt.length;d>i;d--)Ma();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function nr(e){return e.some(t=>Uo(t)?!(t.type===vt||t.type===oe&&!nr(t.children)):!0)?e:null}const wa=e=>e?Cr(e)?In(e):wa(e.parent):null,Do=xe(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=>wa(e.parent),$root:e=>wa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ir(e),$forceUpdate:e=>e.f||(e.f=()=>{ba(e.update)}),$nextTick:e=>e.n||(e.n=yn.bind(e.proxy)),$watch:e=>wc.bind(e)}),ka=(e,t)=>e!==ge&&!e.__isScriptSetup&&ce(e,t),Rc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const _=r[t];if(_!==void 0)switch(_){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(ka(n,t))return r[t]=1,n[t];if(a!==ge&&ce(a,t))return r[t]=2,a[t];if(ce(s,t))return r[t]=3,s[t];if(o!==ge&&ce(o,t))return r[t]=4,o[t];xa&&(r[t]=0)}}const c=Do[t];let d,g;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(o!==ge&&ce(o,t))return r[t]=4,o[t];if(g=l.config.globalProperties,ce(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return ka(a,t)?(a[t]=o,!0):n!==ge&&ce(n,t)?(n[t]=o,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==ge&&i[0]!=="$"&&ce(e,i)||ka(t,i)||ce(s,i)||ce(n,i)||ce(Do,i)||ce(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ce(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function ar(e){return Z(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let xa=!0;function Wc(e){const t=ir(e),o=e.proxy,n=e.ctx;xa=!1,t.beforeCreate&&sr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:d,beforeMount:g,mounted:_,beforeUpdate:T,updated:D,activated:E,deactivated:j,beforeDestroy:U,beforeUnmount:K,destroyed:w,unmounted:$,render:M,renderTracked:O,renderTriggered:N,errorCaptured:q,serverPrefetch:B,expose:ue,inheritAttrs:me,components:J,directives:_e,filters:Te}=t;if(c&&zc(c,n,null),r)for(const re in r){const se=r[re];te(se)&&(n[re]=se.bind(o))}if(a){const re=a.call(o,o);de(re)&&(e.data=Eo(re))}if(xa=!0,s)for(const re in s){const se=s[re],Ve=te(se)?se.bind(o,o):te(se.get)?se.get.bind(o,o):ht,at=!te(se)&&te(se.set)?se.set.bind(o):ht,ke=ot({get:Ve,set:at});Object.defineProperty(n,re,{enumerable:!0,configurable:!0,get:()=>ke.value,set:we=>ke.value=we})}if(i)for(const re in i)rr(i[re],n,o,re);if(l){const re=te(l)?l.call(o):l;Reflect.ownKeys(re).forEach(se=>{_c(se,re[se])})}d&&sr(d,e,"c");function ne(re,se){Z(se)?se.forEach(Ve=>re(Ve.bind(o))):se&&re(se.bind(o))}if(ne(tr,g),ne(ho,_),ne(Oc,T),ne(Pc,D),ne(Lc,E),ne(Tc,j),ne(Cc,q),ne(Ac,O),ne(Mc,N),ne(Tn,K),ne(ya,$),ne(Ec,B),Z(ue))if(ue.length){const re=e.exposed||(e.exposed={});ue.forEach(se=>{Object.defineProperty(re,se,{get:()=>o[se],set:Ve=>o[se]=Ve,enumerable:!0})})}else e.exposed||(e.exposed={});M&&e.render===ht&&(e.render=M),me!=null&&(e.inheritAttrs=me),J&&(e.components=J),_e&&(e.directives=_e),B&&Js(e)}function zc(e,t,o=ht){Z(e)&&(e=La(e));for(const n in e){const a=e[n];let s;de(a)?"default"in a?s=po(a.from||n,a.default,!0):s=po(a.from||n):s=po(a),Ie(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function sr(e,t,o){ct(Z(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function rr(e,t,o,n){let a=n.includes(".")?Xs(o,n):()=>o[n];if(ve(e)){const s=t[e];te(s)&&Ht(a,s)}else if(te(e))Ht(a,e.bind(o));else if(de(e))if(Z(e))e.forEach(s=>rr(s,t,o,n));else{const s=te(e.handler)?e.handler.bind(o):t[e.handler];te(s)&&Ht(a,s,e)}}function ir(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>On(l,c,r,!0)),On(l,t,r)),de(t)&&s.set(t,l),l}function On(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&On(e,s,o,!0),a&&a.forEach(r=>On(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=Uc[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Uc={data:lr,props:cr,emits:cr,methods:Ro,computed:Ro,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Ro,directives:Ro,watch:jc,provide:lr,inject:Hc};function lr(e,t){return t?e?function(){return xe(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Hc(e,t){return Ro(La(e),La(t))}function La(e){if(Z(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Xe(t)}Modifiers`];function qc(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||ge;let a=o;const s=t.startsWith("update:"),r=s&&Kc(n,t.slice(7));r&&(r.trim&&(a=o.map(d=>ve(d)?d.trim():d)),r.number&&(a=a.map(Al)));let i,l=n[i=ea(t)]||n[i=ea(Pe(t))];!l&&s&&(l=n[i=ea(Xe(t))]),l&&ct(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,ct(c,e,6,a)}}const Gc=new WeakMap;function ur(e,t,o=!1){const n=o?Gc:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!te(e)){const l=c=>{const d=ur(c,t,!0);d&&(i=!0,xe(r,d))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(de(e)&&n.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):xe(r,s),de(e)&&n.set(e,r),r)}function Pn(e,t){return!e||!nn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Xe(t))||ce(e,t))}function Qm(){}function dr(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:d,props:g,data:_,setupState:T,ctx:D,inheritAttrs:E}=e,j=wn(e);let U,K;try{if(o.shapeFlag&4){const $=a||n,M=$;U=yt(c.call(M,$,d,g,T,_,D)),K=i}else{const $=t;U=yt($.length>1?$(g,{attrs:i,slots:r,emit:l}):$(g,null)),K=t.props?i:Xc(i)}}catch($){Mt.length=0,_n($,e,1),U=Fe(vt)}let w=U;if(K&&E!==!1){const $=Object.keys(K),{shapeFlag:M}=w;$.length&&M&7&&(s&&$.some(an)&&(K=Yc(K,s)),w=bo(w,K,!1,!0))}if(o.dirs&&(w=bo(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(o.dirs):o.dirs),o.transition){const $=kn(w.type)&&Ys(w)||w;_a($,o.transition)}return U=w,wn(j),U}const Xc=e=>{let t;for(const o in e)(o==="class"||o==="style"||nn(o))&&((t||(t={}))[o]=e[o]);return t},Yc=(e,t)=>{const o={};for(const n in e)(!an(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Jc(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?fr(n,r,c):!!r;if(l&8){const d=t.dynamicProps;for(let g=0;gObject.create(gr),br=e=>Object.getPrototypeOf(e)===gr;function Qc(e,t,o,n=!1){const a={},s=mr();e.propsDefaults=Object.create(null),$r(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:ac(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ep(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=ie(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[_,T]=_r(g,t,!0);xe(r,_),T&&i.push(...T)};!o&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!s&&!l)return de(e)&&n.set(e,no),no;if(Z(s))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Oa=e=>Z(e)?e.map(yt):[yt(e)],op=(e,t,o)=>{if(t._n)return t;const n=Co((...a)=>Oa(t(...a)),o);return n._c=!1,n},yr=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Sa(a))continue;const s=e[a];if(te(s))t[a]=op(a,s,n);else if(s!=null){const r=Oa(s);t[a]=()=>r}}},wr=(e,t)=>{const o=Oa(t);e.slots.default=()=>o},kr=(e,t,o)=>{for(const n in t)(o||!Sa(n))&&(e[n]=t[n])},np=(e,t,o)=>{const n=e.slots=mr();if(e.vnode.shapeFlag&32){const a=t._;a?(kr(n,t,o),o&&fs(n,"_",a,!0)):yr(t,n)}else t&&wr(e,t)},ap=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=ge;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:kr(a,t,o):(s=!t.$stable,yr(t,a)),r=t}else t&&(wr(e,t),r={default:1});if(s)for(const i in a)!Sa(i)&&r[i]==null&&delete a[i]},Ke=cp;function sp(e){return rp(e)}function rp(e,t){const o=pn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:d,parentNode:g,nextSibling:_,setScopeId:T=ht,insertStaticContent:D}=e,E=(f,m,h,x=null,P=null,S=null,W=void 0,R=null,u=!!m.dynamicChildren)=>{if(f===m)return;f&&!Ho(f,m)&&(x=st(f),we(f,P,S,!0),f=null),m.patchFlag===-2&&(u=!1,m.dynamicChildren=null);const{type:p,ref:y,shapeFlag:k}=m;switch(p){case Wo:j(f,m,h,x);break;case vt:U(f,m,h,x);break;case Ea:f==null&&K(m,h,x,W);break;case oe:J(f,m,h,x,P,S,W,R,u);break;default:k&1?M(f,m,h,x,P,S,W,R,u):k&6?_e(f,m,h,x,P,S,W,R,u):(k&64||k&128)&&p.process(f,m,h,x,P,S,W,R,u,Ge)}y!=null&&P?No(y,f&&f.ref,S,m||f,!m):y==null&&f&&f.ref!=null&&No(f.ref,null,S,f,!0)},j=(f,m,h,x)=>{if(f==null)n(m.el=i(m.children),h,x);else{const P=m.el=f.el;m.children!==f.children&&c(P,m.children)}},U=(f,m,h,x)=>{f==null?n(m.el=l(m.children||""),h,x):m.el=f.el},K=(f,m,h,x)=>{[f.el,f.anchor]=D(f.children,m,h,x,f.el,f.anchor)},w=({el:f,anchor:m},h,x)=>{let P;for(;f&&f!==m;)P=_(f),n(f,h,x),f=P;n(m,h,x)},$=({el:f,anchor:m})=>{let h;for(;f&&f!==m;)h=_(f),a(f),f=h;a(m)},M=(f,m,h,x,P,S,W,R,u)=>{if(m.type==="svg"?W="svg":m.type==="math"&&(W="mathml"),f==null)O(m,h,x,P,S,W,R,u);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),B(f,m,P,S,W,R,u)}finally{p&&p._endPatch()}}},O=(f,m,h,x,P,S,W,R)=>{let u,p;const{props:y,shapeFlag:k,transition:H,dirs:A}=f;if(u=f.el=r(f.type,S,y&&y.is,y),k&8?d(u,f.children):k&16&&q(f.children,u,null,x,P,Pa(f,S),W,R),A&&Zt(f,null,x,"created"),N(u,f,f.scopeId,W,x),y){for(const L in y)L!=="value"&&!xo(L)&&s(u,L,null,y[L],S,x);"value"in y&&s(u,"value",null,y.value,S),(p=y.onVnodeBeforeMount)&&wt(p,x,f)}A&&Zt(f,null,x,"beforeMount");const v=ip(P,H);v&&H.beforeEnter(u),n(u,m,h),((p=y&&y.onVnodeMounted)||v||A)&&Ke(()=>{try{p&&wt(p,x,f),v&&H.enter(u),A&&Zt(f,null,x,"mounted")}finally{}},P)},N=(f,m,h,x,P)=>{if(h&&T(f,h),x)for(let S=0;S{for(let p=u;p{const R=m.el=f.el;let{patchFlag:u,dynamicChildren:p,dirs:y}=m;u|=f.patchFlag&16;const k=f.props||ge,H=m.props||ge;let A;if(h&&Qt(h,!1),(A=H.onVnodeBeforeUpdate)&&wt(A,h,m,f),y&&Zt(m,f,h,"beforeUpdate"),h&&Qt(h,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(u=0,W=!1,p=null),(k.innerHTML&&H.innerHTML==null||k.textContent&&H.textContent==null)&&d(R,""),p?ue(f.dynamicChildren,p,R,h,x,Pa(m,P),S):W||se(f,m,R,null,h,x,Pa(m,P),S,!1),u>0){if(u&16)me(R,k,H,h,P);else if(u&2&&k.class!==H.class&&s(R,"class",null,H.class,P),u&4&&s(R,"style",k.style,H.style,P),u&8){const v=m.dynamicProps;for(let L=0;L{A&&wt(A,h,m,f),y&&Zt(m,f,h,"updated")},x)},ue=(f,m,h,x,P,S,W)=>{for(let R=0;R{if(m!==h){if(m!==ge)for(const S in m)!xo(S)&&!(S in h)&&s(f,S,m[S],null,P,x);for(const S in h){if(xo(S))continue;const W=h[S],R=m[S];W!==R&&S!=="value"&&s(f,S,R,W,P,x)}"value"in h&&s(f,"value",m.value,h.value,P)}},J=(f,m,h,x,P,S,W,R,u)=>{const p=m.el=f?f.el:i(""),y=m.anchor=f?f.anchor:i("");let{patchFlag:k,dynamicChildren:H,slotScopeIds:A}=m;A&&(R=R?R.concat(A):A),f==null?(n(p,h,x),n(y,h,x),q(m.children||[],h,y,P,S,W,R,u)):k>0&&k&64&&H&&f.dynamicChildren&&f.dynamicChildren.length===H.length?(ue(f.dynamicChildren,H,h,P,S,W,R),(m.key!=null||P&&m===P.subTree)&&xr(f,m,!0)):se(f,m,h,y,P,S,W,R,u)},_e=(f,m,h,x,P,S,W,R,u)=>{m.slotScopeIds=R,f==null?m.shapeFlag&512?P.ctx.activate(m,h,x,W,u):Te(m,h,x,P,S,W,u):Me(f,m,u)},Te=(f,m,h,x,P,S,W)=>{const R=f.component=hp(f,x,P);if(va(f)&&(R.ctx.renderer=Ge),gp(R,!1,W),R.asyncDep){if(P&&P.registerDep(R,ne,W),!f.el){const u=R.subTree=Fe(vt);U(null,u,m,h),f.placeholder=u.el}}else ne(R,f,m,h,P,S,W)},Me=(f,m,h)=>{const x=m.component=f.component;if(Jc(f,m,h))if(x.asyncDep&&!x.asyncResolved){re(x,m,h);return}else x.next=m,x.update();else m.el=f.el,x.vnode=m},ne=(f,m,h,x,P,S,W)=>{const R=()=>{if(f.isMounted){let{next:k,bu:H,u:A,parent:v,vnode:L}=f;{const ee=Lr(f);if(ee){k&&(k.el=L.el,re(f,k,W)),ee.asyncDep.then(()=>{Ke(()=>{f.isUnmounted||p()},P)});return}}let b=k,I;Qt(f,!1),k?(k.el=L.el,re(f,k,W)):k=L,H&&ta(H),(I=k.props&&k.props.onVnodeBeforeUpdate)&&wt(I,v,k,L),Qt(f,!0);const V=dr(f),Q=f.subTree;f.subTree=V,E(Q,V,g(Q.el),st(Q),f,P,S),k.el=V.el,b===null&&Zc(f,V.el),A&&Ke(A,P),(I=k.props&&k.props.onVnodeUpdated)&&Ke(()=>wt(I,v,k,L),P)}else{let k;const{el:H,props:A}=m,{bm:v,m:L,parent:b,root:I,type:V}=f,Q=fo(m);Qt(f,!1),v&&ta(v),!Q&&(k=A&&A.onVnodeBeforeMount)&&wt(k,b,m),Qt(f,!0);{I.ce&&I.ce._hasShadowRoot()&&I.ce._injectChildStyle(V,f.parent?f.parent.type:void 0);const ee=f.subTree=dr(f);E(null,ee,h,x,f,P,S),m.el=ee.el}if(L&&Ke(L,P),!Q&&(k=A&&A.onVnodeMounted)){const ee=m;Ke(()=>wt(k,b,ee),P)}(m.shapeFlag&256||b&&fo(b.vnode)&&b.vnode.shapeFlag&256)&&f.a&&Ke(f.a,P),f.isMounted=!0,m=h=x=null}};f.scope.on();const u=f.effect=new vs(R);f.scope.off();const p=f.update=u.run.bind(u),y=f.job=u.runIfDirty.bind(u);y.i=f,y.id=f.uid,u.scheduler=()=>ba(y),Qt(f,!0),p()},re=(f,m,h)=>{m.component=f;const x=f.vnode.props;f.vnode=m,f.next=null,ep(f,m.props,x,h),ap(f,m.children,h),mt(),Vs(f),bt()},se=(f,m,h,x,P,S,W,R,u=!1)=>{const p=f&&f.children,y=f?f.shapeFlag:0,k=m.children,{patchFlag:H,shapeFlag:A}=m;if(H>0){if(H&128){at(p,k,h,x,P,S,W,R,u);return}else if(H&256){Ve(p,k,h,x,P,S,W,R,u);return}}A&8?(y&16&&Ae(p,P,S),k!==p&&d(h,k)):y&16?A&16?at(p,k,h,x,P,S,W,R,u):Ae(p,P,S,!0):(y&8&&d(h,""),A&16&&q(k,h,x,P,S,W,R,u))},Ve=(f,m,h,x,P,S,W,R,u)=>{f=f||no,m=m||no;const p=f.length,y=m.length,k=Math.min(p,y);let H;for(H=0;Hy?Ae(f,P,S,!0,!1,k):q(m,h,x,P,S,W,R,u,k)},at=(f,m,h,x,P,S,W,R,u)=>{let p=0;const y=m.length;let k=f.length-1,H=y-1;for(;p<=k&&p<=H;){const A=f[p],v=m[p]=u?At(m[p]):yt(m[p]);if(Ho(A,v))E(A,v,h,null,P,S,W,R,u);else break;p++}for(;p<=k&&p<=H;){const A=f[k],v=m[H]=u?At(m[H]):yt(m[H]);if(Ho(A,v))E(A,v,h,null,P,S,W,R,u);else break;k--,H--}if(p>k){if(p<=H){const A=H+1,v=AH)for(;p<=k;)we(f[p],P,S,!0),p++;else{const A=p,v=p,L=new Map;for(p=v;p<=H;p++){const Be=m[p]=u?At(m[p]):yt(m[p]);Be.key!=null&&L.set(Be.key,p)}let b,I=0;const V=H-v+1;let Q=!1,ee=0;const fe=new Array(V);for(p=0;p=V){we(Be,P,S,!0);continue}let Lt;if(Be.key!=null)Lt=L.get(Be.key);else for(b=v;b<=H;b++)if(fe[b-v]===0&&Ho(Be,m[b])){Lt=b;break}Lt===void 0?we(Be,P,S,!0):(fe[Lt-v]=p+1,Lt>=ee?ee=Lt:Q=!0,E(Be,m[Lt],h,null,P,S,W,R,u),I++)}const Qe=Q?lp(fe):no;for(b=Qe.length-1,p=V-1;p>=0;p--){const Be=v+p,Lt=m[Be],Tl=m[Be+1],Sl=Be+1{const{el:S,type:W,transition:R,children:u,shapeFlag:p}=f;if(p&6){ke(f.component.subTree,m,h,x);return}if(p&128){f.suspense.move(m,h,x);return}if(p&64){W.move(f,m,h,Ge);return}if(W===oe){n(S,m,h);for(let k=0;kR.enter(S),P));else{const{leave:k,delayLeave:H,afterLeave:A}=R,v=()=>{f.ctx.isUnmounted?a(S):n(S,m,h)},L=()=>{const b=S._isLeaving||!!S[$a];S._isLeaving&&S[$a](!0),R.persisted&&!b?v():k(S,()=>{v(),A&&A()})};H?H(S,v,L):L()}else n(S,m,h)},we=(f,m,h,x=!1,P=!1)=>{const{type:S,props:W,ref:R,children:u,dynamicChildren:p,shapeFlag:y,patchFlag:k,dirs:H,cacheIndex:A,memo:v}=f;if(k===-2&&(P=!1),R!=null&&(mt(),No(R,null,h,f,!0),bt()),A!=null&&(m.renderCache[A]=void 0),y&256){m.ctx.deactivate(f);return}const L=y&1&&H,b=!fo(f);let I;if(b&&(I=W&&W.onVnodeBeforeUnmount)&&wt(I,m,f),y&6)Rt(f.component,h,x);else{if(y&128){f.suspense.unmount(h,x);return}L&&Zt(f,null,m,"beforeUnmount"),y&64?f.type.remove(f,m,h,Ge,x):p&&!p.hasOnce&&(S!==oe||k>0&&k&64)?Ae(p,m,h,!1,!0):(S===oe&&k&384||!P&&y&16)&&Ae(u,m,h),x&&Ze(f)}const V=v!=null&&A==null;(b&&(I=W&&W.onVnodeUnmounted)||L||V)&&Ke(()=>{I&&wt(I,m,f),L&&Zt(f,null,m,"unmounted"),V&&(f.el=null)},h)},Ze=f=>{const{type:m,el:h,anchor:x,transition:P}=f;if(m===oe){dt(h,x);return}if(m===Ea){$(f);return}const S=()=>{a(h),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(f.shapeFlag&1&&P&&!P.persisted){const{leave:W,delayLeave:R}=P,u=()=>W(h,S);R?R(f.el,S,u):u()}else S()},dt=(f,m)=>{let h;for(;f!==m;)h=_(f),a(f),f=h;a(m)},Rt=(f,m,h)=>{const{bum:x,scope:P,job:S,subTree:W,um:R,m:u,a:p}=f;Tr(u),Tr(p),x&&ta(x),P.stop(),S&&(S.flags|=8,we(W,f,m,h)),R&&Ke(R,m),Ke(()=>{f.isUnmounted=!0},m)},Ae=(f,m,h,x=!1,P=!1,S=0)=>{for(let W=S;W{if(f.shapeFlag&6)return st(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const m=_(f.anchor||f.el),h=m&&m[kc];return h?_(h):m};let ft=!1;const ze=(f,m,h)=>{let x;f==null?m._vnode&&(we(m._vnode,null,null,!0),x=m._vnode.component):E(m._vnode||null,f,m,null,null,null,h),m._vnode=f,ft||(ft=!0,Vs(x),Bs(),ft=!1)},Ge={p:E,um:we,m:ke,r:Ze,mt:Te,mc:q,pc:se,pbc:ue,n:st,o:e};return{render:ze,hydrate:void 0,createApp:Bc(ze)}}function Pa({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 Qt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ip(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function xr(e,t,o=!1){const n=e.children,a=t.children;if(Z(n)&&Z(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function Lr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Lr(t)}function Tr(e){if(e)for(let t=0;te.__isSuspense;function cp(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):$c(e)}const oe=Symbol.for("v-fgt"),Wo=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),Ea=Symbol.for("v-stc"),Mt=[];let Je=null;function F(e=!1){Mt.push(Je=e?null:[])}function Ma(){Mt.pop(),Je=Mt[Mt.length-1]||null}let zo=1;function En(e,t=!1){zo+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Pr(e){return e.dynamicChildren=zo>0?Je||no:null,Ma(),zo>0&&Je&&Je.push(e),e}function z(e,t,o,n,a,s){return Pr(C(e,t,o,n,a,s,!0))}function mo(e,t,o,n,a){return Pr(Fe(e,t,o,n,a,!0))}function Uo(e){return e?e.__v_isVNode===!0:!1}function Ho(e,t){return e.type===t.type&&e.key===t.key}const Er=({key:e})=>e??null,Mn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||Ie(e)||te(e)?{i:Ne,r:e,k:t,f:!!o}:e:null);function C(e,t=null,o=null,n=0,a=null,s=e===oe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Er(t),ref:t&&Mn(t),scopeId:qs,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:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ne};return i?(An(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=ve(o)?8:16),zo>0&&!r&&Je&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Je.push(l),l}const Fe=pp;function pp(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Nc)&&(e=vt),Uo(e)){const i=bo(e,t,!0);return o&&An(i,o),zo>0&&!s&&Je&&(i.shapeFlag&6?Je[Je.indexOf(e)]=i:Je.push(i)),i.patchFlag=-2,i}if(yp(e)&&(e=e.__vccOpts),t){t=up(t);let{class:i,style:l}=t;i&&!ve(i)&&(t.class=et(i)),de(l)&&(ga(l)&&!Z(l)&&(l=xe({},l)),t.style=ao(l))}const r=ve(e)?1:Or(e)?128:kn(e)?64:de(e)?4:te(e)?2:0;return C(e,t,o,n,a,r,s,!0)}function up(e){return e?ga(e)||br(e)?xe({},e):e:null}function bo(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Mr(a||{},t):a,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Er(c),ref:t&&t.ref?o&&s?Z(s)?s.concat(Mn(t)):[s,Mn(t)]:Mn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==oe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bo(e.ssContent),ssFallback:e.ssFallback&&bo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&_a(d,l.clone(d)),d}function jt(e=" ",t=0){return Fe(Wo,null,e,t)}function pe(e="",t=!1){return t?(F(),mo(vt,null,e)):Fe(vt,null,e)}function yt(e){return e==null||typeof e=="boolean"?Fe(vt):Z(e)?Fe(oe,null,e.slice()):Uo(e)?At(e):Fe(Wo,null,String(e))}function At(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bo(e)}function An(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Z(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),An(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!br(t)?t._ctx=Ne:a===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(n&65){An(e,{default:t});return}t={default:t,_ctx:Ne},o=32}else t=String(t),n&64?(o=16,t=[jt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Mr(...e){const t={};for(let o=0;oRe||Ne;let Cn,Vo;{const e=pn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Cn=t("__VUE_INSTANCE_SETTERS__",o=>Re=o),Vo=t("__VUE_SSR_SETTERS__",o=>Ko=o)}const Bo=e=>{const t=Re;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(t)}},Ar=()=>{Re&&Re.scope.off(),Cn(null)};function Cr(e){return e.vnode.shapeFlag&4}let Ko=!1;function gp(e,t=!1,o=!1){t&&Vo(t);const{props:n,children:a}=e.vnode,s=Cr(e);Qc(e,n,s,t),np(e,a,o||t);const r=s?mp(e,t):void 0;return t&&Vo(!1),r}function mp(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Rc);const{setup:n}=o;if(n){mt();const a=e.setupContext=n.length>1?$p(e):null,s=Bo(e),r=io(n,e,0,[e.props,a]),i=us(r);if(bt(),s(),(i||e.sp)&&!fo(e)&&Js(e),i){if(r.then(Ar,Ar),t)return r.then(l=>{Vo(!0);try{Ir(e,l,t)}finally{Vo(!1)}}).catch(l=>{_n(l,e,0)});e.asyncDep=r}else Ir(e,r)}else Nr(e)}function Ir(e,t,o){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=zs(t)),Nr(e)}function Nr(e,t,o){const n=e.type;e.render||(e.render=n.render||ht);{const a=Bo(e);mt();try{Wc(e)}finally{bt(),a()}}}const bp={get(e,t){return De(e,"get",""),e[t]}};function $p(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,bp),slots:e.slots,emit:e.emit,expose:t}}function In(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zs(sc(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Do)return Do[o](e)},has(t,o){return o in t||o in Do}})):e.proxy}const _p=/(?:^|[-_])\w/g,vp=e=>e.replace(_p,t=>t.toUpperCase()).replace(/[-_]/g,"");function Fr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Dr(e,t,o=!1){let n=Fr(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?vp(n):o?"App":"Anonymous"}function yp(e){return te(e)&&"__vccOpts"in e}const ot=(e,t)=>cc(e,t,Ko);function Rr(e,t,o){try{En(-1);const n=arguments.length;return n===2?de(t)&&!Z(t)?Uo(t)?Fe(e,null,[t]):Fe(e,t):Fe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Uo(o)&&(o=[o]),Fe(e,t,o))}finally{En(1)}}const wp="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Aa;const Wr=typeof window<"u"&&window.trustedTypes;if(Wr)try{Aa=Wr.createPolicy("vue",{createHTML:e=>e})}catch{}const zr=Aa?e=>Aa.createHTML(e):e=>e,kp="http://www.w3.org/2000/svg",xp="http://www.w3.org/1998/Math/MathML",Ct=typeof document<"u"?document:null,Ur=Ct&&Ct.createElement("template"),Tp={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Ct.createElementNS(kp,e):t==="mathml"?Ct.createElementNS(xp,e):o?Ct.createElement(e,{is:o}):Ct.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Ct.createTextNode(e),createComment:e=>Ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Ur.innerHTML=zr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Ur.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Lp=Symbol("_vtc");function Sp(e,t,o){const n=e[Lp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Nn=Symbol("_vod"),Hr=Symbol("_vsh"),qo={name:"show",beforeMount(e,{value:t},{transition:o}){e[Nn]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Go(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Go(e,!0),n.enter(e)):n.leave(e,()=>{Go(e,!1)}):Go(e,t))},beforeUnmount(e,{value:t}){Go(e,t)}};function Go(e,t){e.style.display=t?e[Nn]:"none",e[Hr]=!t}const Op=Symbol(""),Pp=/(?:^|;)\s*display\s*:/;function Ep(e,t,o){const n=e.style,a=ve(o);let s=!1;if(o&&!a){if(t)if(ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&Xo(n,i,"")}else for(const r in t)o[r]==null&&Xo(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?Ap(e,r,!ve(t)&&t?t[r]:void 0,i)||Xo(n,r,i):Xo(n,r,"")}}else if(a){if(t!==o){const r=n[Op];r&&(o+=";"+r),n.cssText=o,s=Pp.test(o)}}else t&&e.removeAttribute("style");Nn in e&&(e[Nn]=s?n.display:"",e[Hr]&&(n.display="none"))}const Fn=/\s*!important$/;function Xo(e,t,o){if(Z(o))o.forEach(n=>Xo(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Fn.test(o)?e.setProperty(t,o.replace(Fn,""),"important"):e.setProperty(t,o);else{const n=Mp(e,t);Fn.test(o)?e.setProperty(Xe(n),o.replace(Fn,""),"important"):e[n]=o}}const jr=["Webkit","Moz","ms"],Ca={};function Mp(e,t){const o=Ca[t];if(o)return o;let n=Pe(t);if(n!=="filter"&&n in e)return Ca[t]=n;n=cn(n);for(let a=0;aIa||(Wp.then(()=>Ia=0),Ia=Date.now());function Up(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Z(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Hp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?Sp(e,n,r):t==="style"?Ep(e,o,n):nn(t)?an(t)||Np(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jp(e,t,n,r))?(Kr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Br(e,t,n,r,s,t!=="value")):e._isVueCE&&(Vp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(n)))?Kr(e,Pe(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Br(e,t,n,r))};function jp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gr(t)&&te(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Gr(t)&&ve(o)?!1:t in e}function Vp(e,t){const o=e._def.props;if(!o)return!1;const n=Pe(t);return Array.isArray(o)?o.some(a=>Pe(a)===n):Object.keys(o).some(a=>Pe(a)===n)}const Xr={};function Bp(e,t,o){let n=uo(e,t);rn(n)&&(n=xe({},n,t));class a extends Na{constructor(r){super(n,r,o)}}return a.def=n,a}const Kp=typeof HTMLElement<"u"?HTMLElement:class{};class Na extends Kp{constructor(t,o={},n=Qr){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Qr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(xe({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Na){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,yn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=hs(this._props[l])),(i||(i=Object.create(null)))[Pe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)ce(this,n)||Object.defineProperty(this,n,{get:()=>Te(o[n])})}_resolveProps(t){const{props:o}=t,n=Z(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Pe))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Xr;const a=Pe(t);o&&this._numberProps&&this._numberProps[a]&&(n=hs(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Xr?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Xe(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Xe(t),o+""):o||this.removeAttribute(Xe(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Jp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Fe(this._def,xe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,rn(r[0])?xe({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),Xe(s)!==s&&a(Xe(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>qp.some(o=>e[`${o}Key`]&&!t.includes(o))},Dn=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const s=Xe(a.key);if(t.some(r=>r===s||Xp[r]===s))return e(a)})},Yp=xe({patchProp:Hp},Tp);let Jr;function Zr(){return Jr||(Jr=sp(Yp))}const Jp=(...e)=>{Zr().render(...e)},Qr=(...e)=>{const t=Zr().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Qp(n);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Zp(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Zp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qp(e){return ve(e)?document.querySelector(e):e}const eu=".btt[data-v-6a25802e]{position:absolute;z-index:15;inset-inline-start:var(--map-fab-beside, calc(12px + env(safe-area-inset-left)) );bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border, #d6d9d2);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.btt[data-v-6a25802e]:hover{background:#d1d4cd}.btt[data-v-6a25802e]:focus-visible{outline:2px solid var(--vtl-accent, #3b463d);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btt[data-v-6a25802e]{transition:none}}",Fa=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},tu=["aria-label","title"],ei=Fa({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=Se(0),n=Se(!1);function a(){const c=t.target;if(!c){o.value=0,n.value=!1;return}o.value=c.scrollTop||0,n.value=(c.scrollHeight||0)-(c.clientHeight||0)>t.threshold}const s=ot(()=>n.value&&o.value>t.threshold);function r(){const c=t.target;if(!c)return;const d=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;c.scrollTo({top:0,behavior:d?"auto":"smooth"})}let i=null;function l(c){i&&(i.removeEventListener("scroll",a),i=null),c&&(c.addEventListener("scroll",a,{passive:!0}),i=c),a()}return ho(()=>l(t.target)),Ht(()=>t.target,c=>l(c)),Ln(()=>l(null)),(c,d)=>s.value?(F(),z("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:r},"↑",8,tu)):pe("",!0)}},[["styles",[eu]],["__scopeId","data-v-6a25802e"]]),ou={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف",packetVariantAria:"تفاصيل حزمة الصلاة",packetFull:"تفاصيل كاملة",packetLightweight:"مختصرة",working:"جارٍ العمل…",postersPerRowAuto:"تلقائي"},nu={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},au={open:"ماذا يمكن أن تقدّم لك هذه الخريطة؟",title:"ماذا يمكن أن تقدّم لك هذه الخريطة؟",pointer:"ماذا تفعل هذه الخريطة؟",close:"إغلاق",takeaway:"ما تحصل عليه:",poster:"ملصق",packet:"حزمة الصلاة",cards:"بطاقات الصلاة",spreadsheet:"جدول بيانات",example:"مثال",expandPages:"عرض كل الصفحات ({n})",collapsePages:"عرض الصفحة الأولى فقط",expandDeck:"عرض كل البطاقات ({n})",collapseDeck:"تجميع البطاقات",moreRows:"صفوف إضافية في جدول البيانات الكامل: {n}",openFull:"فتح بالحجم الكامل",pointerOff:"لا تُشِر إلى هذا الزر مرة أخرى",tab:{"upg-100":{lead:"قائمة UPG-100 على خريطة واحدة: الشعوب غير المُبشَّرة، مجمّعة في مناطق يمكنك أن تتبنّاها بالصلاة.",takeaway:"لكل منطقة: ملصق للحائط، وحزمة صلاة للتوزيع، ومجموعة من بطاقات الصلاة. المثال أدناه هو المنطقة التي تضم أكبر عدد من الناس في شعوب لا يعمل أحد بعد على غرس كنائس بينها."},"cities-internet":{lead:"هل يمكن الوصول إلى الأشخاص الذين تريد الوصول إليهم عبر الإنترنت؟",takeaway:"كل بلد يعيش فيه شعب غير مبلَّغ، مصنَّف حسب نسبة مستخدمي الإنترنت من السكان — لتمييز الأرض التي تصلح للوصول الرقمي عن الأماكن التي يقلّ فيها المتصلون بالإنترنت. الأرقام وطنية (والهند أيضًا حسب الولاية، من مسح 2019–21) وتحمل سنة رصدها؛ «غير معروف» يعني غير مقاس، لا مفترضًا."},"gospel-resources":{lead:"ماذا يملك الشعب بالفعل بلغته الخاصة؟",takeaway:"الكتاب المقدس، والتسجيلات الصوتية، والأفلام، وفيديو الكتاب المقدس، والتدريب — وما الذي ما زال ناقصًا. انقر على بلد لعرض شعوبه، أو على شعب لفتح صفحته مع روابط عاملة لكل مورد وُجد. «لم يُعثر على شيء» تعني غير موجود في المجموعات التي فحصها هذا الإصدار، وليست دليلًا على عدم وجوده."},"dashboard-plus-grid":{lead:"كل الشعوب في عرض واحد. صفِّ حسب الصلاة أو الشعب أو المنطقة أو الدولة أو اللغة، فتضيق الخريطة والجدول والإجماليات معًا.",takeaway:"الصفوف التي صفّيتها، في جدول بيانات."},"research-map-plus-grid":{lead:"الخريطة إلى جانب القائمة. اختر منطقة أو ديانة أو لغة على الخريطة فتتبعها القائمة، وابحث في القائمة فتتبعها الخريطة."},"prayer-map":{lead:"كل الشعوب المدرجة في قائمة صلاة DOXA على خريطة واحدة، ملوّنة بحسب ما إذا كان أحد يصلّي من أجلها بعد؛ وتُظهر الخريطة الكاملة أيضًا ما إذا كانت مخدومة ومُتبنّاة.",takeaway:"شعب لا يصلّي أحد من أجله بعد، ورابط إلى صفحة الصلاة الخاصة به."},"regions-dashboard":{lead:"ابحث عن المجموعات الشعبية غير المبلَّغة حسب المنطقة والدولة.",takeaway:"افتح دولة لرؤية مجموعاتها. وتحت كل منطقة، يطبع «عرض ملصقات الدولة» ملصق الدولة أو حزمة الصلاة أو مجموعة البطاقات.",note:"تُنشأ الملصقات والحزم والبطاقات في متصفحك لكل دولة ما عدا الهند."}},col:{peopleGroup:"الشعب",country:"الدولة",region:"المنطقة",population:"السكان"}},su={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},ru={approximate:"تشير النقطة إلى المكان الذي يوجد فيه هذا الشعب، وليست بلدة أو حدودًا.",sharedPoint:"تقع في النقطة نفسها مع {names} — {n} مجموعات تتشارك هذا الإحداثي، لذا يدل الموقع على المنطقة لا على مكان كل مجموعة."},iu={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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile",packetVariantAria:"Detailgrad des Gebetspakets",packetFull:"Vollständig",packetLightweight:"Kompakt",working:"Wird bearbeitet…",postersPerRowAuto:"Automatisch"},lu={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},cu={open:"Was kann diese Karte für Sie tun?",title:"Was kann diese Karte für Sie tun?",pointer:"Was kann diese Karte?",close:"Schließen",takeaway:"Was Sie mitnehmen:",poster:"Poster",packet:"Gebetsheft",cards:"Gebetskarten",spreadsheet:"Tabelle",example:"Beispiel",expandPages:"Alle Seiten anzeigen ({n})",collapsePages:"Nur die erste Seite anzeigen",expandDeck:"Alle Karten anzeigen ({n})",collapseDeck:"Karten stapeln",moreRows:"Weitere Zeilen in der vollständigen Tabelle: {n}",openFull:"In voller Größe öffnen",pointerOff:"Nicht mehr auf diese Schaltfläche hinweisen",tab:{"upg-100":{lead:"Die UPG-100-Liste auf einer Karte: unerreichte Volksgruppen, zusammengefasst in Zonen, die Sie im Gebet übernehmen können.",takeaway:"für jede Zone ein Wandposter, ein Gebetsheft zum Weitergeben und ein Satz Gebetskarten. Das Beispiel unten ist die Zone mit den meisten Menschen in Volksgruppen, unter denen noch niemand Gemeinden gründet."},"cities-internet":{lead:"Sind die Menschen, die Sie erreichen wollen, online erreichbar?",takeaway:"Jedes Land, in dem eine unerreichte Volksgruppe lebt, gestaffelt nach dem Anteil der Menschen, die das Internet nutzen — damit Sie digital erreichbares Gebiet von Orten unterscheiden können, an denen nur wenige online sind. Die Zahlen sind national (Indien zusätzlich nach Bundesstaat, aus einer Erhebung von 2019–21) und tragen ihr Erhebungsjahr; unbekannt heißt ungemessen, nie angenommen."},"gospel-resources":{lead:"Was hat eine Volksgruppe bereits in ihrer eigenen Sprache?",takeaway:"Bibeltext, Audio, Film, Bibelvideo, Schulung — und was noch fehlt. Klicken Sie auf ein Land, um seine Gruppen zu sehen, oder auf eine Gruppe für ihr eigenes Blatt mit funktionierenden Links zu jeder gefundenen Ressource. „Nichts gefunden“ heißt: nicht in den von diesem Build geprüften Quellen enthalten — nie ein Beweis, dass nichts existiert."},"dashboard-plus-grid":{lead:"Alle Völker in einer Ansicht. Filtern Sie nach Gebet, Volk, Region, Land oder Sprache – Karte, Tabelle und Summen werden gemeinsam eingegrenzt.",takeaway:"Die gefilterten Zeilen als Tabelle."},"research-map-plus-grid":{lead:"Die Karte neben der Liste. Wählen Sie auf der Karte eine Region, Religion oder Sprache, und die Liste folgt; durchsuchen Sie die Liste, und die Karte folgt."},"prayer-map":{lead:"Alle Volksgruppen auf der Gebetsliste von DOXA auf einer Karte, eingefärbt danach, ob schon jemand für sie betet; die vollständige Karte zeigt außerdem, ob sie erreicht werden und ob sie adoptiert sind.",takeaway:"Eine Volksgruppe, für die noch niemand betet, und ein Link zu ihrer Gebetsseite."},"regions-dashboard":{lead:"Finde unerreichte Volksgruppen nach Region und Land.",takeaway:"Öffnen Sie ein Land, um seine Volksgruppen zu sehen. Unter jeder Region druckt „Länderposter ansehen“ das Poster, das Gebetspaket oder das Kartenset eines Landes.",note:"Poster, Pakete und Karten entstehen in Ihrem Browser für jedes Land außer Indien."}},col:{peopleGroup:"Volk",country:"Land",region:"Region",population:"Bevölkerung"}},pu={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},uu={approximate:"Der Punkt zeigt, wo dieses Volk lebt – nicht eine Stadt oder eine Grenze.",sharedPoint:"Er liegt auf demselben Punkt wie {names} — {n} Gruppen teilen sich diese Koordinate; die Position nennt also die Gegend, nicht wo welche Gruppe lebt."},du={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",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",working:"Working…",packetVariantAria:"Prayer packet detail",packetFull:"Full detail",packetLightweight:"Lightweight",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row",postersPerRowAuto:"Auto"},fu={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},hu={open:"What can this map do for you?",title:"What can this map do for you?",pointer:"What can this map do?",close:"Close",takeaway:"What you take away:",poster:"Poster",packet:"Prayer packet",cards:"Prayer cards",spreadsheet:"Spreadsheet",example:"Example",expandPages:"Show all pages ({n})",collapsePages:"Show the first page only",expandDeck:"Show all cards ({n})",collapseDeck:"Stack the cards",moreRows:"More rows in the full spreadsheet: {n}",openFull:"Open full size",pointerOff:"Don't point at this button again",tab:{"upg-100":{lead:"The UPG-100 list on one map: unreached people groups, gathered into zones you can adopt in prayer.",takeaway:"for any zone, a wall poster, a prayer packet to hand out and a deck of prayer cards. The example below is the zone with the most people in groups where no one is planting churches yet."},"cities-internet":{lead:"Can the people you want to reach be reached online?",takeaway:"Every country where an unengaged people group lives, banded by the share of people using the internet — so you can tell digital-first ground from places where few are online. Figures are national (India also by state, from a 2019–21 survey) and carry their observation year; unknown means unmeasured, never assumed."},"gospel-resources":{lead:"What does a people group already have in its own language?",takeaway:"Scripture, audio, film, Bible video, training — and what is still missing. Click a country to list its groups, or a group for its own sheet with working links to every resource found. “None found” means not present in the pools this build checked, never proof that nothing exists."},"dashboard-plus-grid":{lead:"Every people group in one view. Filter by prayer, people, region, country or language, and the map, the table and the totals all narrow together.",takeaway:"The rows you filtered to, as a spreadsheet."},"research-map-plus-grid":{lead:"The map beside the list. Choose a region, religion or language on the map and the list follows it; search the list and the map follows back."},"prayer-map":{lead:"Every people group on DOXA's prayer list, on one map, coloured by whether anyone is praying for it yet; the full map also shows whether each is engaged and adopted.",takeaway:"A people group that no one is praying for yet, and a link to its prayer page."},"regions-dashboard":{lead:"Find unreached people groups by region and country.",takeaway:"Open a country to see its groups. Under each region, “View country posters” prints a country's poster, prayer packet or card deck.",note:"Posters, packets and cards generate in your browser for each country except India."}},col:{peopleGroup:"People Group",country:"Country",region:"Region",population:"Population"}},gu={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},mu={approximate:"The dot marks where this people is found, not a town or a boundary.",sharedPoint:"It sits on the same point as {names} — {n} groups share this coordinate, so the position tells you the locality and not which group is where."},bu={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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila",packetVariantAria:"Detalle del paquete de oración",packetFull:"Detalle completo",packetLightweight:"Ligero",working:"Procesando…",postersPerRowAuto:"Automático"},$u={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},_u={open:"¿Qué puede hacer este mapa por usted?",title:"¿Qué puede hacer este mapa por usted?",pointer:"¿Qué hace este mapa?",close:"Cerrar",takeaway:"Lo que se lleva:",poster:"Póster",packet:"Paquete de oración",cards:"Tarjetas de oración",spreadsheet:"Hoja de cálculo",example:"Ejemplo",expandPages:"Ver todas las páginas ({n})",collapsePages:"Ver solo la primera página",expandDeck:"Ver todas las tarjetas ({n})",collapseDeck:"Apilar las tarjetas",moreRows:"Más filas en la hoja de cálculo completa: {n}",openFull:"Abrir a tamaño completo",pointerOff:"No volver a señalar este botón",tab:{"upg-100":{lead:"La lista UPG-100 en un solo mapa: pueblos no alcanzados, agrupados en zonas que usted puede adoptar en oración.",takeaway:"para cada zona, un póster para la pared, un paquete de oración para repartir y un mazo de tarjetas de oración. El ejemplo de abajo es la zona con más personas en pueblos donde todavía nadie está plantando iglesias."},"cities-internet":{lead:"¿Se puede llegar en línea a las personas que quiere alcanzar?",takeaway:"Cada país donde vive un pueblo no alcanzado, agrupado por el porcentaje de personas que usan internet, para distinguir el terreno digital de los lugares donde pocos están en línea. Las cifras son nacionales (India también por estado, de una encuesta de 2019–21) y llevan su año de observación; desconocido significa no medido, nunca supuesto."},"gospel-resources":{lead:"¿Qué tiene ya un pueblo en su propio idioma?",takeaway:"Escritura, audio, película, video bíblico, formación — y qué falta todavía. Haga clic en un país para ver sus pueblos, o en un pueblo para su ficha con enlaces activos a cada recurso encontrado. «No encontrado» significa que no está en los repositorios que esta versión consultó, nunca prueba de que no exista."},"dashboard-plus-grid":{lead:"Todos los pueblos en una sola vista. Filtre por oración, pueblo, región, país o idioma: el mapa, la tabla y los totales se reducen a la vez.",takeaway:"Las filas que filtró, en una hoja de cálculo."},"research-map-plus-grid":{lead:"El mapa junto a la lista. Elija una región, religión o idioma en el mapa y la lista lo sigue; busque en la lista y el mapa la sigue."},"prayer-map":{lead:"Todos los grupos étnicos de la lista de oración de DOXA en un solo mapa, coloreados según si alguien ya ora por ellos; el mapa completo muestra también si están siendo alcanzados y si han sido adoptados.",takeaway:"Un grupo étnico por el que nadie ora todavía, y un enlace a su página de oración."},"regions-dashboard":{lead:"Encuentra grupos étnicos no alcanzados por región y país.",takeaway:"Abre un país para ver sus grupos. En cada región, «Ver los carteles del país» imprime el póster, el paquete de oración o la baraja de tarjetas de un país.",note:"Los pósteres, paquetes y tarjetas se generan en tu navegador para cada país excepto India."}},col:{peopleGroup:"Pueblo",country:"País",region:"Región",population:"Población"}},vu={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},yu={approximate:"El punto indica dónde se encuentra este pueblo, no una ciudad ni una frontera.",sharedPoint:"Está en el mismo punto que {names}: {n} grupos comparten esta coordenada, así que la posición indica la zona y no dónde está cada grupo."},wu={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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne",packetVariantAria:"Niveau de détail du dossier de prière",packetFull:"Détail complet",packetLightweight:"Allégé",working:"Traitement…",postersPerRowAuto:"Auto"},ku={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},xu={open:"Que peut faire cette carte pour vous ?",title:"Que peut faire cette carte pour vous ?",pointer:"Que fait cette carte ?",close:"Fermer",takeaway:"Ce que vous emportez :",poster:"Affiche",packet:"Livret de prière",cards:"Cartes de prière",spreadsheet:"Tableur",example:"Exemple",expandPages:"Afficher toutes les pages ({n})",collapsePages:"N'afficher que la première page",expandDeck:"Afficher toutes les cartes ({n})",collapseDeck:"Empiler les cartes",moreRows:"Lignes supplémentaires dans le tableur complet : {n}",openFull:"Ouvrir en taille réelle",pointerOff:"Ne plus signaler ce bouton",tab:{"upg-100":{lead:"La liste UPG-100 sur une seule carte : les peuples non atteints, regroupés en zones que vous pouvez adopter dans la prière.",takeaway:"pour chaque zone, une affiche murale, un livret de prière à distribuer et un jeu de cartes de prière. L'exemple ci-dessous est la zone qui compte le plus de personnes dans des peuples où personne n'implante encore d'Églises."},"cities-internet":{lead:"Les personnes que vous voulez atteindre sont-elles joignables en ligne ?",takeaway:"Chaque pays où vit un peuple non atteint, classé selon la part de la population qui utilise internet — pour distinguer le terrain numérique des lieux où peu de gens sont en ligne. Les chiffres sont nationaux (l'Inde aussi par État, d'après une enquête de 2019–21) et portent leur année d'observation ; inconnu signifie non mesuré, jamais supposé."},"gospel-resources":{lead:"Que possède déjà un peuple dans sa propre langue ?",takeaway:"Écriture, audio, film, vidéo biblique, formation — et ce qui manque encore. Cliquez sur un pays pour lister ses peuples, ou sur un peuple pour sa fiche avec des liens actifs vers chaque ressource trouvée. « Rien trouvé » signifie absent des fonds vérifiés par cette version, jamais une preuve que rien n'existe."},"dashboard-plus-grid":{lead:"Tous les peuples dans une seule vue. Filtrez par prière, peuple, région, pays ou langue : la carte, le tableau et les totaux se réduisent ensemble.",takeaway:"Les lignes filtrées, sous forme de tableur."},"research-map-plus-grid":{lead:"La carte à côté de la liste. Choisissez une région, une religion ou une langue sur la carte et la liste suit ; cherchez dans la liste et la carte suit."},"prayer-map":{lead:"Tous les peuples de la liste de prière de DOXA sur une seule carte, colorés selon que quelqu'un prie déjà pour eux ; la carte complète montre aussi s'ils sont engagés et s'ils sont adoptés.",takeaway:"Un peuple pour lequel personne ne prie encore, et un lien vers sa page de prière."},"regions-dashboard":{lead:"Trouvez des peuples non atteints par région et par pays.",takeaway:"Ouvrez un pays pour voir ses groupes. Sous chaque région, « Voir les affiches du pays » imprime l'affiche, le dossier de prière ou le jeu de cartes d'un pays.",note:"Affiches, dossiers et cartes sont générés dans votre navigateur pour chaque pays sauf l'Inde."}},col:{peopleGroup:"Peuple",country:"Pays",region:"Région",population:"Population"}},Tu={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},Lu={approximate:"Le point indique où vit ce peuple, pas une ville ni une frontière.",sharedPoint:"Il se trouve au même point que {names} — {n} groupes partagent cette coordonnée : la position indique la région, pas où se trouve chaque groupe."},Su={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर",packetVariantAria:"प्रार्थना पैकेट विवरण",packetFull:"पूर्ण विवरण",packetLightweight:"संक्षिप्त",working:"कार्य जारी…",postersPerRowAuto:"स्वतः"},Ou={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},Pu={open:"यह नक्शा आपके लिए क्या कर सकता है?",title:"यह नक्शा आपके लिए क्या कर सकता है?",pointer:"यह नक्शा क्या करता है?",close:"बंद करें",takeaway:"आपको क्या मिलता है:",poster:"पोस्टर",packet:"प्रार्थना पुस्तिका",cards:"प्रार्थना कार्ड",spreadsheet:"स्प्रेडशीट",example:"उदाहरण",expandPages:"सभी पृष्ठ दिखाएँ ({n})",collapsePages:"केवल पहला पृष्ठ दिखाएँ",expandDeck:"सभी कार्ड दिखाएँ ({n})",collapseDeck:"कार्ड एक साथ रखें",moreRows:"पूरी स्प्रेडशीट में और पंक्तियाँ: {n}",openFull:"पूरे आकार में खोलें",pointerOff:"इस बटन की ओर फिर से इशारा न करें",tab:{"upg-100":{lead:"UPG-100 सूची एक ही नक्शे पर: अपहुँचे जन-समूह, क्षेत्रों में बाँटे गए, जिन्हें आप प्रार्थना में अपना सकते हैं।",takeaway:"हर क्षेत्र के लिए दीवार का एक पोस्टर, बाँटने के लिए एक प्रार्थना पुस्तिका और प्रार्थना कार्डों का एक सेट। नीचे का उदाहरण वह क्षेत्र है जहाँ ऐसे जन-समूहों में सबसे अधिक लोग हैं जिनके बीच अभी कोई कलीसिया स्थापित नहीं कर रहा है।"},"cities-internet":{lead:"जिन लोगों तक आप पहुँचना चाहते हैं, क्या उन तक ऑनलाइन पहुँचा जा सकता है?",takeaway:"हर वह देश जहाँ कोई अनपहुँचा जनसमूह रहता है, इंटरनेट का उपयोग करने वाले लोगों के अनुपात के अनुसार वर्गीकृत — ताकि आप डिजिटल रूप से पहुँच योग्य क्षेत्र को उन स्थानों से अलग कर सकें जहाँ कम लोग ऑनलाइन हैं। आँकड़े राष्ट्रीय हैं (भारत राज्य के अनुसार भी, 2019–21 के एक सर्वेक्षण से) और अपने अवलोकन वर्ष के साथ आते हैं; अज्ञात का अर्थ है बिना मापा, कभी अनुमानित नहीं।"},"gospel-resources":{lead:"किसी जनसमूह के पास उसकी अपनी भाषा में पहले से क्या है?",takeaway:"पवित्रशास्त्र, ऑडियो, फ़िल्म, बाइबल वीडियो, प्रशिक्षण — और क्या अब भी नहीं है। किसी देश पर क्लिक करके उसके जनसमूह देखें, या किसी जनसमूह पर क्लिक करके उसकी अपनी शीट खोलें, जिसमें मिले हर संसाधन के काम करने वाले लिंक हैं। “कुछ नहीं मिला” का अर्थ है इस बिल्ड द्वारा जाँचे गए स्रोतों में उपस्थित नहीं — यह प्रमाण नहीं कि कुछ मौजूद ही नहीं।"},"dashboard-plus-grid":{lead:"सभी जनसमूह एक ही दृश्य में। प्रार्थना, जनसमूह, क्षेत्र, देश या भाषा से छाँटें — नक्शा, तालिका और कुल एक साथ सीमित होते हैं।",takeaway:"छाँटी गई पंक्तियाँ, स्प्रेडशीट के रूप में।"},"research-map-plus-grid":{lead:"सूची के साथ नक्शा। नक्शे पर कोई क्षेत्र, धर्म या भाषा चुनें और सूची उसका अनुसरण करती है; सूची में खोजें और नक्शा अनुसरण करता है।"},"prayer-map":{lead:"DOXA की प्रार्थना सूची के सभी जन-समूह एक ही नक्शे पर, इस आधार पर रंगे हुए कि क्या कोई उनके लिए अभी प्रार्थना कर रहा है; पूरा नक्शा यह भी दिखाता है कि क्या उनके बीच काम हो रहा है और क्या उन्हें गोद लिया गया है।",takeaway:"एक जन-समूह जिसके लिए अभी कोई प्रार्थना नहीं कर रहा, और उसके प्रार्थना पृष्ठ का लिंक।"},"regions-dashboard":{lead:"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।",takeaway:"किसी देश को खोलकर उसके जनसमूह देखें। हर क्षेत्र के नीचे, “देश के पोस्टर देखें” किसी देश का पोस्टर, प्रार्थना पैकेट या कार्ड सेट छापता है।",note:"पोस्टर, पैकेट और कार्ड आपके ब्राउज़र में भारत को छोड़कर हर देश के लिए बनते हैं।"}},col:{peopleGroup:"जनसमूह",country:"देश",region:"क्षेत्र",population:"जनसंख्या"}},Eu={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},Mu={approximate:"बिंदु दिखाता है कि यह लोग कहाँ पाए जाते हैं, कोई शहर या सीमा नहीं।",sharedPoint:"यह {names} के साथ एक ही बिंदु पर है — {n} समूह यह निर्देशांक साझा करते हैं, इसलिए स्थान क्षेत्र बताता है, यह नहीं कि कौन-सा समूह कहाँ है।"},Au={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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga",packetVariantAria:"Dettaglio del pacchetto di preghiera",packetFull:"Dettaglio completo",packetLightweight:"Leggero",working:"Elaborazione…",postersPerRowAuto:"Automatico"},Cu={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},Iu={open:"Che cosa può fare questa mappa per te?",title:"Che cosa può fare questa mappa per te?",pointer:"Che cosa fa questa mappa?",close:"Chiudi",takeaway:"Che cosa ottieni:",poster:"Poster",packet:"Libretto di preghiera",cards:"Carte di preghiera",spreadsheet:"Foglio di calcolo",example:"Esempio",expandPages:"Mostra tutte le pagine ({n})",collapsePages:"Mostra solo la prima pagina",expandDeck:"Mostra tutte le carte ({n})",collapseDeck:"Impila le carte",moreRows:"Altre righe nel foglio di calcolo completo: {n}",openFull:"Apri a grandezza intera",pointerOff:"Non indicare più questo pulsante",tab:{"upg-100":{lead:"La lista UPG-100 su un'unica mappa: popoli non raggiunti, raggruppati in zone che puoi adottare nella preghiera.",takeaway:"per ogni zona, un poster da parete, un libretto di preghiera da distribuire e un mazzo di carte di preghiera. L'esempio qui sotto è la zona con più persone in popoli dove nessuno sta ancora fondando chiese."},"cities-internet":{lead:"Le persone che vuoi raggiungere sono raggiungibili online?",takeaway:"Ogni paese in cui vive un popolo non raggiunto, suddiviso per la quota di persone che usano internet — per distinguere il terreno digitale dai luoghi in cui pochi sono online. Le cifre sono nazionali (l'India anche per stato, da un'indagine del 2019–21) e riportano l'anno di rilevazione; sconosciuto significa non misurato, mai presunto."},"gospel-resources":{lead:"Che cosa ha già un popolo nella propria lingua?",takeaway:"Scrittura, audio, film, video biblico, formazione — e che cosa manca ancora. Clicca su un paese per elencarne i popoli, o su un popolo per la sua scheda con collegamenti attivi a ogni risorsa trovata. «Nessuna risorsa trovata» significa non presente negli archivi controllati da questa build, mai una prova che non esista nulla."},"dashboard-plus-grid":{lead:"Tutti i popoli in un'unica vista. Filtra per preghiera, popolo, regione, paese o lingua: mappa, tabella e totali si restringono insieme.",takeaway:"Le righe filtrate, come foglio di calcolo."},"research-map-plus-grid":{lead:"La mappa accanto all'elenco. Scegli una regione, una religione o una lingua sulla mappa e l'elenco la segue; cerca nell'elenco e la mappa lo segue."},"prayer-map":{lead:"Tutti i popoli della lista di preghiera di DOXA su un'unica mappa, colorati secondo se qualcuno prega già per loro; la mappa completa mostra anche se sono raggiunti e se sono adottati.",takeaway:"Un popolo per cui nessuno prega ancora, e un link alla sua pagina di preghiera."},"regions-dashboard":{lead:"Trova i popoli non raggiunti per regione e paese.",takeaway:"Apri un Paese per vederne i gruppi. Sotto ogni regione, «Vedi i poster del paese» stampa il poster, il pacchetto di preghiera o il mazzo di schede di un Paese.",note:"Poster, pacchetti e schede vengono generati nel tuo browser per ogni Paese tranne l'India."}},col:{peopleGroup:"Popolo",country:"Paese",region:"Regione",population:"Popolazione"}},Nu={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},Fu={approximate:"Il punto indica dove si trova questo popolo, non una città né un confine.",sharedPoint:"Si trova nello stesso punto di {names} — {n} gruppi condividono questa coordinata, quindi la posizione indica la zona e non dove si trova ciascun gruppo."},Du={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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha",packetVariantAria:"Detalhe do pacote de oração",packetFull:"Detalhe completo",packetLightweight:"Leve",working:"Processando…",postersPerRowAuto:"Automático"},Ru={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},Wu={open:"O que este mapa pode fazer por você?",title:"O que este mapa pode fazer por você?",pointer:"O que este mapa faz?",close:"Fechar",takeaway:"O que você leva:",poster:"Pôster",packet:"Pacote de oração",cards:"Cartões de oração",spreadsheet:"Planilha",example:"Exemplo",expandPages:"Mostrar todas as páginas ({n})",collapsePages:"Mostrar só a primeira página",expandDeck:"Mostrar todos os cartões ({n})",collapseDeck:"Empilhar os cartões",moreRows:"Mais linhas na planilha completa: {n}",openFull:"Abrir em tamanho real",pointerOff:"Não apontar mais para este botão",tab:{"upg-100":{lead:"A lista UPG-100 em um só mapa: povos não alcançados, agrupados em zonas que você pode adotar em oração.",takeaway:"para cada zona, um pôster de parede, um pacote de oração para distribuir e um baralho de cartões de oração. O exemplo abaixo é a zona com mais pessoas em povos onde ninguém ainda está plantando igrejas."},"cities-internet":{lead:"As pessoas que você quer alcançar podem ser alcançadas online?",takeaway:"Cada país onde vive um povo não alcançado, agrupado pela proporção de pessoas que usam a internet — para distinguir o terreno digital dos lugares onde poucos estão online. Os números são nacionais (a Índia também por estado, de um inquérito de 2019–21) e trazem o ano de observação; desconhecido significa não medido, nunca presumido."},"gospel-resources":{lead:"O que um povo já tem na sua própria língua?",takeaway:"Escritura, áudio, filme, vídeo bíblico, formação — e o que ainda falta. Clique num país para listar os seus povos, ou num povo para a sua ficha com ligações activas a cada recurso encontrado. «Nada encontrado» significa ausente dos acervos que esta versão consultou, nunca prova de que nada exista."},"dashboard-plus-grid":{lead:"Todos os povos em uma só vista. Filtre por oração, povo, região, país ou idioma, e o mapa, a tabela e os totais se restringem juntos.",takeaway:"As linhas que você filtrou, em uma planilha."},"research-map-plus-grid":{lead:"O mapa ao lado da lista. Escolha uma região, religião ou língua no mapa e a lista acompanha; pesquise na lista e o mapa acompanha também."},"prayer-map":{lead:"Todos os povos da lista de oração da DOXA em um só mapa, coloridos conforme alguém já ora por eles; o mapa completo mostra também se estão sendo alcançados e se foram adotados.",takeaway:"Um povo pelo qual ninguém ora ainda, e um link para a sua página de oração."},"regions-dashboard":{lead:"Encontre grupos étnicos não alcançados por região e país.",takeaway:"Abra um país para ver os seus grupos. Em cada região, “Ver os cartazes do país” imprime o cartaz, o pacote de oração ou o baralho de cartões de um país.",note:"Cartazes, pacotes e cartões são gerados no seu navegador para cada país exceto a Índia."}},col:{peopleGroup:"Povo",country:"País",region:"Região",population:"População"}},zu={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},Uu={approximate:"O ponto indica onde este povo se encontra, não uma cidade nem uma fronteira.",sharedPoint:"Está no mesmo ponto que {names} — {n} grupos partilham esta coordenada, por isso a posição indica a região e não onde está cada grupo."},Hu={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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând",packetVariantAria:"Nivelul de detaliu al pachetului de rugăciune",packetFull:"Detaliu complet",packetLightweight:"Redus",working:"Se procesează…",postersPerRowAuto:"Automat"},ju={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},Vu={open:"Ce poate face această hartă pentru tine?",title:"Ce poate face această hartă pentru tine?",pointer:"Ce face această hartă?",close:"Închide",takeaway:"Ce primești:",poster:"Poster",packet:"Pachet de rugăciune",cards:"Cartonașe de rugăciune",spreadsheet:"Foaie de calcul",example:"Exemplu",expandPages:"Arată toate paginile ({n})",collapsePages:"Arată doar prima pagină",expandDeck:"Arată toate cartonașele ({n})",collapseDeck:"Strânge cartonașele",moreRows:"Rânduri suplimentare în foaia de calcul completă: {n}",openFull:"Deschide la dimensiune completă",pointerOff:"Nu mai indica acest buton",tab:{"upg-100":{lead:"Lista UPG-100 pe o singură hartă: popoare neatinse, grupate în zone pe care le poți adopta în rugăciune.",takeaway:"pentru fiecare zonă, un poster de perete, un pachet de rugăciune de împărțit și un set de cartonașe de rugăciune. Exemplul de mai jos este zona cu cei mai mulți oameni din popoare în care nimeni nu plantează încă biserici."},"cities-internet":{lead:"Pot fi atinse online persoanele pe care vrei să le ajungi?",takeaway:"Fiecare țară în care trăiește un popor neatins, grupată după ponderea oamenilor care folosesc internetul — ca să deosebești terenul digital de locurile unde puțini sunt online. Cifrele sunt naționale (India și pe state, dintr-un sondaj din 2019–21) și poartă anul observației; necunoscut înseamnă nemăsurat, niciodată presupus."},"gospel-resources":{lead:"Ce are deja un popor în propria sa limbă?",takeaway:"Scriptură, audio, film, video biblic, instruire — și ce lipsește încă. Apasă pe o țară pentru a-i afișa popoarele, sau pe un popor pentru fișa sa, cu legături active către fiecare resursă găsită. „Nimic găsit” înseamnă absent din colecțiile verificate de această versiune, niciodată o dovadă că nu există nimic."},"dashboard-plus-grid":{lead:"Toate popoarele într-o singură vedere. Filtrează după rugăciune, popor, regiune, țară sau limbă — harta, tabelul și totalurile se restrâng împreună.",takeaway:"Rândurile filtrate, ca foaie de calcul."},"research-map-plus-grid":{lead:"Harta lângă listă. Alege o regiune, o religie sau o limbă pe hartă și lista o urmează; caută în listă și harta o urmează."},"prayer-map":{lead:"Toate grupurile etnice de pe lista de rugăciune DOXA pe o singură hartă, colorate după cum cineva se roagă deja pentru ele; harta completă arată și dacă sunt atinse și dacă sunt adoptate.",takeaway:"Un grup etnic pentru care nimeni nu se roagă încă, și un link către pagina lui de rugăciune."},"regions-dashboard":{lead:"Găsește popoarele neatinse după regiune și țară.",takeaway:"Deschide o țară pentru a-i vedea grupurile. Sub fiecare regiune, „Vezi posterele țării” tipărește afișul, pachetul de rugăciune sau setul de cartonașe al unei țări.",note:"Afișele, pachetele și cartonașele se generează în browserul tău pentru fiecare țară în afară de India."}},col:{peopleGroup:"Popor",country:"Țară",region:"Regiune",population:"Populație"}},Bu={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},Ku={approximate:"Punctul arată unde se află acest popor, nu un oraș sau o graniță.",sharedPoint:"Se află în același punct cu {names} — {n} grupuri împart această coordonată, deci poziția arată zona, nu unde se află fiecare grup."},qu={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду",packetVariantAria:"Детализация молитвенного пакета",packetFull:"Полная версия",packetLightweight:"Краткая версия",working:"Выполняется…",postersPerRowAuto:"Авто"},Gu={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},Xu={open:"Чем эта карта может быть вам полезна?",title:"Чем эта карта может быть вам полезна?",pointer:"Что умеет эта карта?",close:"Закрыть",takeaway:"Что вы получаете:",poster:"Плакат",packet:"Молитвенный буклет",cards:"Молитвенные карточки",spreadsheet:"Таблица",example:"Пример",expandPages:"Показать все страницы ({n})",collapsePages:"Показать только первую страницу",expandDeck:"Показать все карточки ({n})",collapseDeck:"Сложить карточки в стопку",moreRows:"Ещё строк в полной таблице: {n}",openFull:"Открыть в полном размере",pointerOff:"Больше не указывать на эту кнопку",tab:{"upg-100":{lead:"Список UPG-100 на одной карте: недостигнутые народы, объединённые в зоны, которые вы можете взять на молитвенное попечение.",takeaway:"для каждой зоны — настенный плакат, молитвенный буклет для раздачи и набор молитвенных карточек. Ниже показана зона, где больше всего людей в народах, среди которых пока никто не основывает церкви."},"cities-internet":{lead:"Можно ли связаться с нужными людьми через интернет?",takeaway:"Каждая страна, где живёт неохваченный народ, сгруппированная по доле людей, пользующихся интернетом, — чтобы отличить цифровую почву от мест, где мало кто в сети. Цифры национальные (для Индии также по штатам, по опросу 2019–21 годов) и указывают год наблюдения; «неизвестно» означает не измерено, а не предположено."},"gospel-resources":{lead:"Что у народа уже есть на его родном языке?",takeaway:"Писание, аудио, фильм, библейское видео, обучение — и чего ещё не хватает. Нажмите на страну, чтобы увидеть её народы, или на народ, чтобы открыть его карточку с рабочими ссылками на каждый найденный ресурс. «Ничего не найдено» означает отсутствие в проверенных этой сборкой источниках, а не доказательство, что ничего не существует."},"dashboard-plus-grid":{lead:"Все народы в одном представлении. Фильтруйте по молитве, народу, региону, стране или языку — карта, таблица и итоги сужаются вместе.",takeaway:"Отфильтрованные строки в виде таблицы."},"research-map-plus-grid":{lead:"Карта рядом со списком. Выберите на карте регион, религию или язык — список последует за ними; ищите в списке — карта последует за ним."},"prayer-map":{lead:"Все народы из молитвенного списка DOXA на одной карте, окрашенные по тому, молится ли уже кто-нибудь о них; полная карта показывает также, ведётся ли среди них служение и усыновлены ли они.",takeaway:"Народ, о котором ещё никто не молится, и ссылка на его молитвенную страницу."},"regions-dashboard":{lead:"Найдите недостигнутые группы людей по регионам и странам.",takeaway:"Откройте страну, чтобы увидеть её народности. Под каждым регионом кнопка «Показать плакаты страны» печатает плакат, молитвенный пакет или набор карточек страны.",note:"Плакаты, пакеты и карточки создаются в вашем браузере для каждой страны, кроме Индии."}},col:{peopleGroup:"Народ",country:"Страна",region:"Регион",population:"Население"}},Yu={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},Ju={approximate:"Точка показывает, где живёт этот народ, а не город и не границу.",sharedPoint:"Она совпадает с точкой {names} — {n} групп делят эту координату, поэтому положение указывает местность, а не где какая группа."},Zu={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"祷告名单",cardDeck:"祷告卡组",printOptions:"打印选项",showOnMap:"在地图上显示",close:"关闭",showOnMapAria:"在地图上显示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把这张地图嵌入你的网站","列出你城市里的网站","教他们也嵌入这张地图","教他们去教别人嵌入","为耶稣让地图遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数",packetVariantAria:"祷告手册详细程度",packetFull:"完整版",packetLightweight:"精简版",working:"处理中…",postersPerRowAuto:"自动"},Qu={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},ed={open:"这张地图能为你做什么?",title:"这张地图能为你做什么?",pointer:"这张地图能做什么?",close:"关闭",takeaway:"你能带走的:",poster:"海报",packet:"祷告手册",cards:"祷告卡",spreadsheet:"电子表格",example:"示例",expandPages:"显示全部页面({n})",collapsePages:"只显示第一页",expandDeck:"显示全部卡片({n})",collapseDeck:"把卡片叠起来",moreRows:"完整电子表格中的更多行:{n}",openFull:"以完整尺寸打开",pointerOff:"不再指向这个按钮",tab:{"upg-100":{lead:"UPG-100 名单尽在一张地图上:未得之民按区域分组,你可以在祷告中认领一个区域。",takeaway:"每个区域都有一张墙面海报、一本可分发的祷告手册和一套祷告卡。下面的示例是这样一个区域:在尚无人植堂的族群中,这里的人数最多。"},"cities-internet":{lead:"你想触及的人群能在线上被触及吗?",takeaway:"每一个有未得之民居住的国家,按使用互联网的人口比例分档——让你分辨哪些是数字可达之地,哪些地方很少有人上网。数据为全国性(印度另按邦划分,来自 2019–21 年的一项调查)并标注观测年份;“未知”表示未测量,绝非假定。"},"gospel-resources":{lead:"一个族群用自己的语言已经拥有什么?",takeaway:"圣经、音频、影片、圣经视频、门训——以及还缺什么。点击国家可列出其族群,点击族群可打开其专页,内含每项已找到资源的有效链接。“未找到”表示不在此版本所查的资源库中,绝不等于证明它不存在。"},"dashboard-plus-grid":{lead:"在一个视图中查看所有民族。按祷告、民族、区域、国家或语言筛选,地图、表格和总计会一同收窄。",takeaway:"筛选后的行,作为电子表格。"},"research-map-plus-grid":{lead:"地图与列表并排。在地图上选择一个地区、宗教或语言,列表随之跟随;在列表中搜索,地图也随之跟随。"},"prayer-map":{lead:"DOXA 祷告名单上的所有群体都在一张地图上,按是否已有人为他们祷告来着色;完整地图还显示是否已有人在其中事工、是否已被认领。",takeaway:"一个还没有人为之祷告的群体,以及一个指向其祷告页面的链接。"},"regions-dashboard":{lead:"按区域和国家查找未得之民。",takeaway:"打开一个国家查看其族群。在每个地区下,“查看国家海报”可打印一个国家的海报、祷告册或卡片集。",note:"海报、祷告册和卡片在您的浏览器中生成,适用于除印度以外的每个国家。"}},col:{peopleGroup:"民族",country:"国家",region:"区域",population:"人口"}},td={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"},od={approximate:"此点标示该民族所在的地区,而非某个城镇或边界。",sharedPoint:"它与 {names} 位于同一点 — {n} 个群体共用此坐标,因此位置只表示所在地区,而非各群体的具体位置。"};/*! +**/let Aa;const Wr=typeof window<"u"&&window.trustedTypes;if(Wr)try{Aa=Wr.createPolicy("vue",{createHTML:e=>e})}catch{}const zr=Aa?e=>Aa.createHTML(e):e=>e,kp="http://www.w3.org/2000/svg",xp="http://www.w3.org/1998/Math/MathML",Ct=typeof document<"u"?document:null,Ur=Ct&&Ct.createElement("template"),Lp={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Ct.createElementNS(kp,e):t==="mathml"?Ct.createElementNS(xp,e):o?Ct.createElement(e,{is:o}):Ct.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Ct.createTextNode(e),createComment:e=>Ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Ur.innerHTML=zr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Ur.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Tp=Symbol("_vtc");function Sp(e,t,o){const n=e[Tp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Nn=Symbol("_vod"),Hr=Symbol("_vsh"),qo={name:"show",beforeMount(e,{value:t},{transition:o}){e[Nn]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Go(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Go(e,!0),n.enter(e)):n.leave(e,()=>{Go(e,!1)}):Go(e,t))},beforeUnmount(e,{value:t}){Go(e,t)}};function Go(e,t){e.style.display=t?e[Nn]:"none",e[Hr]=!t}const Op=Symbol(""),Pp=/(?:^|;)\s*display\s*:/;function Ep(e,t,o){const n=e.style,a=ve(o);let s=!1;if(o&&!a){if(t)if(ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&Xo(n,i,"")}else for(const r in t)o[r]==null&&Xo(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?Ap(e,r,!ve(t)&&t?t[r]:void 0,i)||Xo(n,r,i):Xo(n,r,"")}}else if(a){if(t!==o){const r=n[Op];r&&(o+=";"+r),n.cssText=o,s=Pp.test(o)}}else t&&e.removeAttribute("style");Nn in e&&(e[Nn]=s?n.display:"",e[Hr]&&(n.display="none"))}const Fn=/\s*!important$/;function Xo(e,t,o){if(Z(o))o.forEach(n=>Xo(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Fn.test(o)?e.setProperty(t,o.replace(Fn,""),"important"):e.setProperty(t,o);else{const n=Mp(e,t);Fn.test(o)?e.setProperty(Xe(n),o.replace(Fn,""),"important"):e[n]=o}}const jr=["Webkit","Moz","ms"],Ca={};function Mp(e,t){const o=Ca[t];if(o)return o;let n=Pe(t);if(n!=="filter"&&n in e)return Ca[t]=n;n=cn(n);for(let a=0;aIa||(Wp.then(()=>Ia=0),Ia=Date.now());function Up(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Z(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Hp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?Sp(e,n,r):t==="style"?Ep(e,o,n):nn(t)?an(t)||Np(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jp(e,t,n,r))?(Kr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Br(e,t,n,r,s,t!=="value")):e._isVueCE&&(Vp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(n)))?Kr(e,Pe(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Br(e,t,n,r))};function jp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gr(t)&&te(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Gr(t)&&ve(o)?!1:t in e}function Vp(e,t){const o=e._def.props;if(!o)return!1;const n=Pe(t);return Array.isArray(o)?o.some(a=>Pe(a)===n):Object.keys(o).some(a=>Pe(a)===n)}const Xr={};function Bp(e,t,o){let n=uo(e,t);rn(n)&&(n=xe({},n,t));class a extends Na{constructor(r){super(n,r,o)}}return a.def=n,a}const Kp=typeof HTMLElement<"u"?HTMLElement:class{};class Na extends Kp{constructor(t,o={},n=Qr){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Qr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(xe({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Na){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,yn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=hs(this._props[l])),(i||(i=Object.create(null)))[Pe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)ce(this,n)||Object.defineProperty(this,n,{get:()=>Le(o[n])})}_resolveProps(t){const{props:o}=t,n=Z(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Pe))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Xr;const a=Pe(t);o&&this._numberProps&&this._numberProps[a]&&(n=hs(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Xr?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Xe(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Xe(t),o+""):o||this.removeAttribute(Xe(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Jp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Fe(this._def,xe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,rn(r[0])?xe({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),Xe(s)!==s&&a(Xe(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>qp.some(o=>e[`${o}Key`]&&!t.includes(o))},Dn=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const s=Xe(a.key);if(t.some(r=>r===s||Xp[r]===s))return e(a)})},Yp=xe({patchProp:Hp},Lp);let Jr;function Zr(){return Jr||(Jr=sp(Yp))}const Jp=(...e)=>{Zr().render(...e)},Qr=(...e)=>{const t=Zr().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Qp(n);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Zp(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Zp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qp(e){return ve(e)?document.querySelector(e):e}const eu=".btt[data-v-6a25802e]{position:absolute;z-index:15;inset-inline-start:var(--map-fab-beside, calc(12px + env(safe-area-inset-left)) );bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border, #d6d9d2);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.btt[data-v-6a25802e]:hover{background:#d1d4cd}.btt[data-v-6a25802e]:focus-visible{outline:2px solid var(--vtl-accent, #3b463d);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btt[data-v-6a25802e]{transition:none}}",Fa=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},tu=["aria-label","title"],ei=Fa({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=Se(0),n=Se(!1);function a(){const c=t.target;if(!c){o.value=0,n.value=!1;return}o.value=c.scrollTop||0,n.value=(c.scrollHeight||0)-(c.clientHeight||0)>t.threshold}const s=ot(()=>n.value&&o.value>t.threshold);function r(){const c=t.target;if(!c)return;const d=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;c.scrollTo({top:0,behavior:d?"auto":"smooth"})}let i=null;function l(c){i&&(i.removeEventListener("scroll",a),i=null),c&&(c.addEventListener("scroll",a,{passive:!0}),i=c),a()}return ho(()=>l(t.target)),Ht(()=>t.target,c=>l(c)),Tn(()=>l(null)),(c,d)=>s.value?(F(),z("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:r},"↑",8,tu)):pe("",!0)}},[["styles",[eu]],["__scopeId","data-v-6a25802e"]]),ou={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف",packetVariantAria:"تفاصيل حزمة الصلاة",packetFull:"تفاصيل كاملة",packetLightweight:"مختصرة",working:"جارٍ العمل…",postersPerRowAuto:"تلقائي"},nu={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},au={open:"ماذا يمكن أن تقدّم لك هذه الخريطة؟",title:"ماذا يمكن أن تقدّم لك هذه الخريطة؟",pointer:"ماذا تفعل هذه الخريطة؟",close:"إغلاق",takeaway:"ما تحصل عليه:",poster:"ملصق",packet:"حزمة الصلاة",cards:"بطاقات الصلاة",spreadsheet:"جدول بيانات",example:"مثال",expandPages:"عرض كل الصفحات ({n})",collapsePages:"عرض الصفحة الأولى فقط",expandDeck:"عرض كل البطاقات ({n})",collapseDeck:"تجميع البطاقات",moreRows:"صفوف إضافية في جدول البيانات الكامل: {n}",openFull:"فتح بالحجم الكامل",pointerOff:"لا تُشِر إلى هذا الزر مرة أخرى",tab:{"upg-100":{lead:"قائمة UPG-100 على خريطة واحدة: الشعوب غير المُبشَّرة، مجمّعة في مناطق يمكنك أن تتبنّاها بالصلاة.",takeaway:"لكل منطقة: ملصق للحائط، وحزمة صلاة للتوزيع، ومجموعة من بطاقات الصلاة. المثال أدناه هو المنطقة التي تضم أكبر عدد من الناس في شعوب لا يعمل أحد بعد على غرس كنائس بينها."},"cities-internet":{lead:"هل يمكن الوصول إلى الأشخاص الذين تريد الوصول إليهم عبر الإنترنت؟",takeaway:"كل بلد يعيش فيه شعب غير مبلَّغ، مصنَّف حسب نسبة مستخدمي الإنترنت من السكان — لتمييز الأرض التي تصلح للوصول الرقمي عن الأماكن التي يقلّ فيها المتصلون بالإنترنت. الأرقام وطنية (والهند أيضًا حسب الولاية، من مسح 2019–21) وتحمل سنة رصدها؛ «غير معروف» يعني غير مقاس، لا مفترضًا."},"gospel-resources":{lead:"ماذا يملك الشعب بالفعل بلغته الخاصة؟",takeaway:"الكتاب المقدس، والتسجيلات الصوتية، والأفلام، وفيديو الكتاب المقدس، والتدريب — وما الذي ما زال ناقصًا. انقر على بلد لعرض شعوبه، أو على شعب لفتح صفحته مع روابط عاملة لكل مورد وُجد. «لم يُعثر على شيء» تعني غير موجود في المجموعات التي فحصها هذا الإصدار، وليست دليلًا على عدم وجوده."},"dashboard-plus-grid":{lead:"كل الشعوب في عرض واحد. صفِّ حسب الصلاة أو الشعب أو المنطقة أو الدولة أو اللغة، فتضيق الخريطة والجدول والإجماليات معًا.",takeaway:"الصفوف التي صفّيتها، في جدول بيانات."},"research-map-plus-grid":{lead:"الخريطة إلى جانب القائمة. اختر منطقة أو ديانة أو لغة على الخريطة فتتبعها القائمة، وابحث في القائمة فتتبعها الخريطة."},"prayer-map":{lead:"كل الشعوب المدرجة في قائمة صلاة DOXA على خريطة واحدة، ملوّنة بحسب ما إذا كان أحد يصلّي من أجلها بعد؛ وتُظهر الخريطة الكاملة أيضًا ما إذا كانت مخدومة ومُتبنّاة.",takeaway:"شعب لا يصلّي أحد من أجله بعد، ورابط إلى صفحة الصلاة الخاصة به."},"regions-dashboard":{lead:"ابحث عن المجموعات الشعبية غير المبلَّغة حسب المنطقة والدولة.",takeaway:"افتح دولة لرؤية مجموعاتها. وتحت كل منطقة، يطبع «عرض ملصقات الدولة» ملصق الدولة أو حزمة الصلاة أو مجموعة البطاقات.",note:"تُنشأ الملصقات والحزم والبطاقات في متصفحك لكل دولة ما عدا الهند."}},col:{peopleGroup:"الشعب",country:"الدولة",region:"المنطقة",population:"السكان"}},su={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},ru={approximate:"تشير النقطة إلى المكان الذي يوجد فيه هذا الشعب، وليست بلدة أو حدودًا.",sharedPoint:"تقع في النقطة نفسها مع {names} — {n} مجموعات تتشارك هذا الإحداثي، لذا يدل الموقع على المنطقة لا على مكان كل مجموعة."},iu={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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile",packetVariantAria:"Detailgrad des Gebetspakets",packetFull:"Vollständig",packetLightweight:"Kompakt",working:"Wird bearbeitet…",postersPerRowAuto:"Automatisch"},lu={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},cu={open:"Was kann diese Karte für Sie tun?",title:"Was kann diese Karte für Sie tun?",pointer:"Was kann diese Karte?",close:"Schließen",takeaway:"Was Sie mitnehmen:",poster:"Poster",packet:"Gebetsheft",cards:"Gebetskarten",spreadsheet:"Tabelle",example:"Beispiel",expandPages:"Alle Seiten anzeigen ({n})",collapsePages:"Nur die erste Seite anzeigen",expandDeck:"Alle Karten anzeigen ({n})",collapseDeck:"Karten stapeln",moreRows:"Weitere Zeilen in der vollständigen Tabelle: {n}",openFull:"In voller Größe öffnen",pointerOff:"Nicht mehr auf diese Schaltfläche hinweisen",tab:{"upg-100":{lead:"Die UPG-100-Liste auf einer Karte: unerreichte Volksgruppen, zusammengefasst in Zonen, die Sie im Gebet übernehmen können.",takeaway:"für jede Zone ein Wandposter, ein Gebetsheft zum Weitergeben und ein Satz Gebetskarten. Das Beispiel unten ist die Zone mit den meisten Menschen in Volksgruppen, unter denen noch niemand Gemeinden gründet."},"cities-internet":{lead:"Sind die Menschen, die Sie erreichen wollen, online erreichbar?",takeaway:"Jedes Land, in dem eine unerreichte Volksgruppe lebt, gestaffelt nach dem Anteil der Menschen, die das Internet nutzen — damit Sie digital erreichbares Gebiet von Orten unterscheiden können, an denen nur wenige online sind. Die Zahlen sind national (Indien zusätzlich nach Bundesstaat, aus einer Erhebung von 2019–21) und tragen ihr Erhebungsjahr; unbekannt heißt ungemessen, nie angenommen."},"gospel-resources":{lead:"Was hat eine Volksgruppe bereits in ihrer eigenen Sprache?",takeaway:"Bibeltext, Audio, Film, Bibelvideo, Schulung — und was noch fehlt. Klicken Sie auf ein Land, um seine Gruppen zu sehen, oder auf eine Gruppe für ihr eigenes Blatt mit funktionierenden Links zu jeder gefundenen Ressource. „Nichts gefunden“ heißt: nicht in den von diesem Build geprüften Quellen enthalten — nie ein Beweis, dass nichts existiert."},"dashboard-plus-grid":{lead:"Alle Völker in einer Ansicht. Filtern Sie nach Gebet, Volk, Region, Land oder Sprache – Karte, Tabelle und Summen werden gemeinsam eingegrenzt.",takeaway:"Die gefilterten Zeilen als Tabelle."},"research-map-plus-grid":{lead:"Die Karte neben der Liste. Wählen Sie auf der Karte eine Region, Religion oder Sprache, und die Liste folgt; durchsuchen Sie die Liste, und die Karte folgt."},"prayer-map":{lead:"Alle Volksgruppen auf der Gebetsliste von DOXA auf einer Karte, eingefärbt danach, ob schon jemand für sie betet; die vollständige Karte zeigt außerdem, ob sie erreicht werden und ob sie adoptiert sind.",takeaway:"Eine Volksgruppe, für die noch niemand betet, und ein Link zu ihrer Gebetsseite."},"regions-dashboard":{lead:"Finde unerreichte Volksgruppen nach Region und Land.",takeaway:"Öffnen Sie ein Land, um seine Volksgruppen zu sehen. Unter jeder Region druckt „Länderposter ansehen“ das Poster, das Gebetspaket oder das Kartenset eines Landes.",note:"Poster, Pakete und Karten entstehen in Ihrem Browser für jedes Land außer Indien."}},col:{peopleGroup:"Volk",country:"Land",region:"Region",population:"Bevölkerung"}},pu={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},uu={approximate:"Der Punkt zeigt, wo dieses Volk lebt – nicht eine Stadt oder eine Grenze.",sharedPoint:"Er liegt auf demselben Punkt wie {names} — {n} Gruppen teilen sich diese Koordinate; die Position nennt also die Gegend, nicht wo welche Gruppe lebt."},du={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",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",working:"Working…",packetVariantAria:"Prayer packet detail",packetFull:"Full detail",packetLightweight:"Lightweight",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row",postersPerRowAuto:"Auto"},fu={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},hu={open:"What can this map do for you?",title:"What can this map do for you?",pointer:"What can this map do?",close:"Close",takeaway:"What you take away:",poster:"Poster",packet:"Prayer packet",cards:"Prayer cards",spreadsheet:"Spreadsheet",example:"Example",expandPages:"Show all pages ({n})",collapsePages:"Show the first page only",expandDeck:"Show all cards ({n})",collapseDeck:"Stack the cards",moreRows:"More rows in the full spreadsheet: {n}",openFull:"Open full size",pointerOff:"Don't point at this button again",tab:{"upg-100":{lead:"The UPG-100 list on one map: unreached people groups, gathered into zones you can adopt in prayer.",takeaway:"for any zone, a wall poster, a prayer packet to hand out and a deck of prayer cards. The example below is the zone with the most people in groups where no one is planting churches yet."},"cities-internet":{lead:"Can the people you want to reach be reached online?",takeaway:"Every country where an unengaged people group lives, banded by the share of people using the internet — so you can tell digital-first ground from places where few are online. Figures are national (India also by state, from a 2019–21 survey) and carry their observation year; unknown means unmeasured, never assumed."},"gospel-resources":{lead:"What does a people group already have in its own language?",takeaway:"Scripture, audio, film, Bible video, training — and what is still missing. Click a country to list its groups, or a group for its own sheet with working links to every resource found. “None found” means not present in the pools this build checked, never proof that nothing exists."},"dashboard-plus-grid":{lead:"Every people group in one view. Filter by prayer, people, region, country or language, and the map, the table and the totals all narrow together.",takeaway:"The rows you filtered to, as a spreadsheet."},"research-map-plus-grid":{lead:"The map beside the list. Choose a region, religion or language on the map and the list follows it; search the list and the map follows back."},"prayer-map":{lead:"Every people group on DOXA's prayer list, on one map, coloured by whether anyone is praying for it yet; the full map also shows whether each is engaged and adopted.",takeaway:"A people group that no one is praying for yet, and a link to its prayer page."},"regions-dashboard":{lead:"Find unreached people groups by region and country.",takeaway:"Open a country to see its groups. Under each region, “View country posters” prints a country's poster, prayer packet or card deck.",note:"Posters, packets and cards generate in your browser for each country except India."}},col:{peopleGroup:"People Group",country:"Country",region:"Region",population:"Population"}},gu={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},mu={approximate:"The dot marks where this people is found, not a town or a boundary.",sharedPoint:"It sits on the same point as {names} — {n} groups share this coordinate, so the position tells you the locality and not which group is where."},bu={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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila",packetVariantAria:"Detalle del paquete de oración",packetFull:"Detalle completo",packetLightweight:"Ligero",working:"Procesando…",postersPerRowAuto:"Automático"},$u={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},_u={open:"¿Qué puede hacer este mapa por usted?",title:"¿Qué puede hacer este mapa por usted?",pointer:"¿Qué hace este mapa?",close:"Cerrar",takeaway:"Lo que se lleva:",poster:"Póster",packet:"Paquete de oración",cards:"Tarjetas de oración",spreadsheet:"Hoja de cálculo",example:"Ejemplo",expandPages:"Ver todas las páginas ({n})",collapsePages:"Ver solo la primera página",expandDeck:"Ver todas las tarjetas ({n})",collapseDeck:"Apilar las tarjetas",moreRows:"Más filas en la hoja de cálculo completa: {n}",openFull:"Abrir a tamaño completo",pointerOff:"No volver a señalar este botón",tab:{"upg-100":{lead:"La lista UPG-100 en un solo mapa: pueblos no alcanzados, agrupados en zonas que usted puede adoptar en oración.",takeaway:"para cada zona, un póster para la pared, un paquete de oración para repartir y un mazo de tarjetas de oración. El ejemplo de abajo es la zona con más personas en pueblos donde todavía nadie está plantando iglesias."},"cities-internet":{lead:"¿Se puede llegar en línea a las personas que quiere alcanzar?",takeaway:"Cada país donde vive un pueblo no alcanzado, agrupado por el porcentaje de personas que usan internet, para distinguir el terreno digital de los lugares donde pocos están en línea. Las cifras son nacionales (India también por estado, de una encuesta de 2019–21) y llevan su año de observación; desconocido significa no medido, nunca supuesto."},"gospel-resources":{lead:"¿Qué tiene ya un pueblo en su propio idioma?",takeaway:"Escritura, audio, película, video bíblico, formación — y qué falta todavía. Haga clic en un país para ver sus pueblos, o en un pueblo para su ficha con enlaces activos a cada recurso encontrado. «No encontrado» significa que no está en los repositorios que esta versión consultó, nunca prueba de que no exista."},"dashboard-plus-grid":{lead:"Todos los pueblos en una sola vista. Filtre por oración, pueblo, región, país o idioma: el mapa, la tabla y los totales se reducen a la vez.",takeaway:"Las filas que filtró, en una hoja de cálculo."},"research-map-plus-grid":{lead:"El mapa junto a la lista. Elija una región, religión o idioma en el mapa y la lista lo sigue; busque en la lista y el mapa la sigue."},"prayer-map":{lead:"Todos los grupos étnicos de la lista de oración de DOXA en un solo mapa, coloreados según si alguien ya ora por ellos; el mapa completo muestra también si están siendo alcanzados y si han sido adoptados.",takeaway:"Un grupo étnico por el que nadie ora todavía, y un enlace a su página de oración."},"regions-dashboard":{lead:"Encuentra grupos étnicos no alcanzados por región y país.",takeaway:"Abre un país para ver sus grupos. En cada región, «Ver los carteles del país» imprime el póster, el paquete de oración o la baraja de tarjetas de un país.",note:"Los pósteres, paquetes y tarjetas se generan en tu navegador para cada país excepto India."}},col:{peopleGroup:"Pueblo",country:"País",region:"Región",population:"Población"}},vu={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},yu={approximate:"El punto indica dónde se encuentra este pueblo, no una ciudad ni una frontera.",sharedPoint:"Está en el mismo punto que {names}: {n} grupos comparten esta coordenada, así que la posición indica la zona y no dónde está cada grupo."},wu={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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne",packetVariantAria:"Niveau de détail du dossier de prière",packetFull:"Détail complet",packetLightweight:"Allégé",working:"Traitement…",postersPerRowAuto:"Auto"},ku={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},xu={open:"Que peut faire cette carte pour vous ?",title:"Que peut faire cette carte pour vous ?",pointer:"Que fait cette carte ?",close:"Fermer",takeaway:"Ce que vous emportez :",poster:"Affiche",packet:"Livret de prière",cards:"Cartes de prière",spreadsheet:"Tableur",example:"Exemple",expandPages:"Afficher toutes les pages ({n})",collapsePages:"N'afficher que la première page",expandDeck:"Afficher toutes les cartes ({n})",collapseDeck:"Empiler les cartes",moreRows:"Lignes supplémentaires dans le tableur complet : {n}",openFull:"Ouvrir en taille réelle",pointerOff:"Ne plus signaler ce bouton",tab:{"upg-100":{lead:"La liste UPG-100 sur une seule carte : les peuples non atteints, regroupés en zones que vous pouvez adopter dans la prière.",takeaway:"pour chaque zone, une affiche murale, un livret de prière à distribuer et un jeu de cartes de prière. L'exemple ci-dessous est la zone qui compte le plus de personnes dans des peuples où personne n'implante encore d'Églises."},"cities-internet":{lead:"Les personnes que vous voulez atteindre sont-elles joignables en ligne ?",takeaway:"Chaque pays où vit un peuple non atteint, classé selon la part de la population qui utilise internet — pour distinguer le terrain numérique des lieux où peu de gens sont en ligne. Les chiffres sont nationaux (l'Inde aussi par État, d'après une enquête de 2019–21) et portent leur année d'observation ; inconnu signifie non mesuré, jamais supposé."},"gospel-resources":{lead:"Que possède déjà un peuple dans sa propre langue ?",takeaway:"Écriture, audio, film, vidéo biblique, formation — et ce qui manque encore. Cliquez sur un pays pour lister ses peuples, ou sur un peuple pour sa fiche avec des liens actifs vers chaque ressource trouvée. « Rien trouvé » signifie absent des fonds vérifiés par cette version, jamais une preuve que rien n'existe."},"dashboard-plus-grid":{lead:"Tous les peuples dans une seule vue. Filtrez par prière, peuple, région, pays ou langue : la carte, le tableau et les totaux se réduisent ensemble.",takeaway:"Les lignes filtrées, sous forme de tableur."},"research-map-plus-grid":{lead:"La carte à côté de la liste. Choisissez une région, une religion ou une langue sur la carte et la liste suit ; cherchez dans la liste et la carte suit."},"prayer-map":{lead:"Tous les peuples de la liste de prière de DOXA sur une seule carte, colorés selon que quelqu'un prie déjà pour eux ; la carte complète montre aussi s'ils sont engagés et s'ils sont adoptés.",takeaway:"Un peuple pour lequel personne ne prie encore, et un lien vers sa page de prière."},"regions-dashboard":{lead:"Trouvez des peuples non atteints par région et par pays.",takeaway:"Ouvrez un pays pour voir ses groupes. Sous chaque région, « Voir les affiches du pays » imprime l'affiche, le dossier de prière ou le jeu de cartes d'un pays.",note:"Affiches, dossiers et cartes sont générés dans votre navigateur pour chaque pays sauf l'Inde."}},col:{peopleGroup:"Peuple",country:"Pays",region:"Région",population:"Population"}},Lu={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},Tu={approximate:"Le point indique où vit ce peuple, pas une ville ni une frontière.",sharedPoint:"Il se trouve au même point que {names} — {n} groupes partagent cette coordonnée : la position indique la région, pas où se trouve chaque groupe."},Su={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर",packetVariantAria:"प्रार्थना पैकेट विवरण",packetFull:"पूर्ण विवरण",packetLightweight:"संक्षिप्त",working:"कार्य जारी…",postersPerRowAuto:"स्वतः"},Ou={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},Pu={open:"यह नक्शा आपके लिए क्या कर सकता है?",title:"यह नक्शा आपके लिए क्या कर सकता है?",pointer:"यह नक्शा क्या करता है?",close:"बंद करें",takeaway:"आपको क्या मिलता है:",poster:"पोस्टर",packet:"प्रार्थना पुस्तिका",cards:"प्रार्थना कार्ड",spreadsheet:"स्प्रेडशीट",example:"उदाहरण",expandPages:"सभी पृष्ठ दिखाएँ ({n})",collapsePages:"केवल पहला पृष्ठ दिखाएँ",expandDeck:"सभी कार्ड दिखाएँ ({n})",collapseDeck:"कार्ड एक साथ रखें",moreRows:"पूरी स्प्रेडशीट में और पंक्तियाँ: {n}",openFull:"पूरे आकार में खोलें",pointerOff:"इस बटन की ओर फिर से इशारा न करें",tab:{"upg-100":{lead:"UPG-100 सूची एक ही नक्शे पर: अपहुँचे जन-समूह, क्षेत्रों में बाँटे गए, जिन्हें आप प्रार्थना में अपना सकते हैं।",takeaway:"हर क्षेत्र के लिए दीवार का एक पोस्टर, बाँटने के लिए एक प्रार्थना पुस्तिका और प्रार्थना कार्डों का एक सेट। नीचे का उदाहरण वह क्षेत्र है जहाँ ऐसे जन-समूहों में सबसे अधिक लोग हैं जिनके बीच अभी कोई कलीसिया स्थापित नहीं कर रहा है।"},"cities-internet":{lead:"जिन लोगों तक आप पहुँचना चाहते हैं, क्या उन तक ऑनलाइन पहुँचा जा सकता है?",takeaway:"हर वह देश जहाँ कोई अनपहुँचा जनसमूह रहता है, इंटरनेट का उपयोग करने वाले लोगों के अनुपात के अनुसार वर्गीकृत — ताकि आप डिजिटल रूप से पहुँच योग्य क्षेत्र को उन स्थानों से अलग कर सकें जहाँ कम लोग ऑनलाइन हैं। आँकड़े राष्ट्रीय हैं (भारत राज्य के अनुसार भी, 2019–21 के एक सर्वेक्षण से) और अपने अवलोकन वर्ष के साथ आते हैं; अज्ञात का अर्थ है बिना मापा, कभी अनुमानित नहीं।"},"gospel-resources":{lead:"किसी जनसमूह के पास उसकी अपनी भाषा में पहले से क्या है?",takeaway:"पवित्रशास्त्र, ऑडियो, फ़िल्म, बाइबल वीडियो, प्रशिक्षण — और क्या अब भी नहीं है। किसी देश पर क्लिक करके उसके जनसमूह देखें, या किसी जनसमूह पर क्लिक करके उसकी अपनी शीट खोलें, जिसमें मिले हर संसाधन के काम करने वाले लिंक हैं। “कुछ नहीं मिला” का अर्थ है इस बिल्ड द्वारा जाँचे गए स्रोतों में उपस्थित नहीं — यह प्रमाण नहीं कि कुछ मौजूद ही नहीं।"},"dashboard-plus-grid":{lead:"सभी जनसमूह एक ही दृश्य में। प्रार्थना, जनसमूह, क्षेत्र, देश या भाषा से छाँटें — नक्शा, तालिका और कुल एक साथ सीमित होते हैं।",takeaway:"छाँटी गई पंक्तियाँ, स्प्रेडशीट के रूप में।"},"research-map-plus-grid":{lead:"सूची के साथ नक्शा। नक्शे पर कोई क्षेत्र, धर्म या भाषा चुनें और सूची उसका अनुसरण करती है; सूची में खोजें और नक्शा अनुसरण करता है।"},"prayer-map":{lead:"DOXA की प्रार्थना सूची के सभी जन-समूह एक ही नक्शे पर, इस आधार पर रंगे हुए कि क्या कोई उनके लिए अभी प्रार्थना कर रहा है; पूरा नक्शा यह भी दिखाता है कि क्या उनके बीच काम हो रहा है और क्या उन्हें गोद लिया गया है।",takeaway:"एक जन-समूह जिसके लिए अभी कोई प्रार्थना नहीं कर रहा, और उसके प्रार्थना पृष्ठ का लिंक।"},"regions-dashboard":{lead:"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।",takeaway:"किसी देश को खोलकर उसके जनसमूह देखें। हर क्षेत्र के नीचे, “देश के पोस्टर देखें” किसी देश का पोस्टर, प्रार्थना पैकेट या कार्ड सेट छापता है।",note:"पोस्टर, पैकेट और कार्ड आपके ब्राउज़र में भारत को छोड़कर हर देश के लिए बनते हैं।"}},col:{peopleGroup:"जनसमूह",country:"देश",region:"क्षेत्र",population:"जनसंख्या"}},Eu={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},Mu={approximate:"बिंदु दिखाता है कि यह लोग कहाँ पाए जाते हैं, कोई शहर या सीमा नहीं।",sharedPoint:"यह {names} के साथ एक ही बिंदु पर है — {n} समूह यह निर्देशांक साझा करते हैं, इसलिए स्थान क्षेत्र बताता है, यह नहीं कि कौन-सा समूह कहाँ है।"},Au={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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga",packetVariantAria:"Dettaglio del pacchetto di preghiera",packetFull:"Dettaglio completo",packetLightweight:"Leggero",working:"Elaborazione…",postersPerRowAuto:"Automatico"},Cu={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},Iu={open:"Che cosa può fare questa mappa per te?",title:"Che cosa può fare questa mappa per te?",pointer:"Che cosa fa questa mappa?",close:"Chiudi",takeaway:"Che cosa ottieni:",poster:"Poster",packet:"Libretto di preghiera",cards:"Carte di preghiera",spreadsheet:"Foglio di calcolo",example:"Esempio",expandPages:"Mostra tutte le pagine ({n})",collapsePages:"Mostra solo la prima pagina",expandDeck:"Mostra tutte le carte ({n})",collapseDeck:"Impila le carte",moreRows:"Altre righe nel foglio di calcolo completo: {n}",openFull:"Apri a grandezza intera",pointerOff:"Non indicare più questo pulsante",tab:{"upg-100":{lead:"La lista UPG-100 su un'unica mappa: popoli non raggiunti, raggruppati in zone che puoi adottare nella preghiera.",takeaway:"per ogni zona, un poster da parete, un libretto di preghiera da distribuire e un mazzo di carte di preghiera. L'esempio qui sotto è la zona con più persone in popoli dove nessuno sta ancora fondando chiese."},"cities-internet":{lead:"Le persone che vuoi raggiungere sono raggiungibili online?",takeaway:"Ogni paese in cui vive un popolo non raggiunto, suddiviso per la quota di persone che usano internet — per distinguere il terreno digitale dai luoghi in cui pochi sono online. Le cifre sono nazionali (l'India anche per stato, da un'indagine del 2019–21) e riportano l'anno di rilevazione; sconosciuto significa non misurato, mai presunto."},"gospel-resources":{lead:"Che cosa ha già un popolo nella propria lingua?",takeaway:"Scrittura, audio, film, video biblico, formazione — e che cosa manca ancora. Clicca su un paese per elencarne i popoli, o su un popolo per la sua scheda con collegamenti attivi a ogni risorsa trovata. «Nessuna risorsa trovata» significa non presente negli archivi controllati da questa build, mai una prova che non esista nulla."},"dashboard-plus-grid":{lead:"Tutti i popoli in un'unica vista. Filtra per preghiera, popolo, regione, paese o lingua: mappa, tabella e totali si restringono insieme.",takeaway:"Le righe filtrate, come foglio di calcolo."},"research-map-plus-grid":{lead:"La mappa accanto all'elenco. Scegli una regione, una religione o una lingua sulla mappa e l'elenco la segue; cerca nell'elenco e la mappa lo segue."},"prayer-map":{lead:"Tutti i popoli della lista di preghiera di DOXA su un'unica mappa, colorati secondo se qualcuno prega già per loro; la mappa completa mostra anche se sono raggiunti e se sono adottati.",takeaway:"Un popolo per cui nessuno prega ancora, e un link alla sua pagina di preghiera."},"regions-dashboard":{lead:"Trova i popoli non raggiunti per regione e paese.",takeaway:"Apri un Paese per vederne i gruppi. Sotto ogni regione, «Vedi i poster del paese» stampa il poster, il pacchetto di preghiera o il mazzo di schede di un Paese.",note:"Poster, pacchetti e schede vengono generati nel tuo browser per ogni Paese tranne l'India."}},col:{peopleGroup:"Popolo",country:"Paese",region:"Regione",population:"Popolazione"}},Nu={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},Fu={approximate:"Il punto indica dove si trova questo popolo, non una città né un confine.",sharedPoint:"Si trova nello stesso punto di {names} — {n} gruppi condividono questa coordinata, quindi la posizione indica la zona e non dove si trova ciascun gruppo."},Du={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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha",packetVariantAria:"Detalhe do pacote de oração",packetFull:"Detalhe completo",packetLightweight:"Leve",working:"Processando…",postersPerRowAuto:"Automático"},Ru={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},Wu={open:"O que este mapa pode fazer por você?",title:"O que este mapa pode fazer por você?",pointer:"O que este mapa faz?",close:"Fechar",takeaway:"O que você leva:",poster:"Pôster",packet:"Pacote de oração",cards:"Cartões de oração",spreadsheet:"Planilha",example:"Exemplo",expandPages:"Mostrar todas as páginas ({n})",collapsePages:"Mostrar só a primeira página",expandDeck:"Mostrar todos os cartões ({n})",collapseDeck:"Empilhar os cartões",moreRows:"Mais linhas na planilha completa: {n}",openFull:"Abrir em tamanho real",pointerOff:"Não apontar mais para este botão",tab:{"upg-100":{lead:"A lista UPG-100 em um só mapa: povos não alcançados, agrupados em zonas que você pode adotar em oração.",takeaway:"para cada zona, um pôster de parede, um pacote de oração para distribuir e um baralho de cartões de oração. O exemplo abaixo é a zona com mais pessoas em povos onde ninguém ainda está plantando igrejas."},"cities-internet":{lead:"As pessoas que você quer alcançar podem ser alcançadas online?",takeaway:"Cada país onde vive um povo não alcançado, agrupado pela proporção de pessoas que usam a internet — para distinguir o terreno digital dos lugares onde poucos estão online. Os números são nacionais (a Índia também por estado, de um inquérito de 2019–21) e trazem o ano de observação; desconhecido significa não medido, nunca presumido."},"gospel-resources":{lead:"O que um povo já tem na sua própria língua?",takeaway:"Escritura, áudio, filme, vídeo bíblico, formação — e o que ainda falta. Clique num país para listar os seus povos, ou num povo para a sua ficha com ligações activas a cada recurso encontrado. «Nada encontrado» significa ausente dos acervos que esta versão consultou, nunca prova de que nada exista."},"dashboard-plus-grid":{lead:"Todos os povos em uma só vista. Filtre por oração, povo, região, país ou idioma, e o mapa, a tabela e os totais se restringem juntos.",takeaway:"As linhas que você filtrou, em uma planilha."},"research-map-plus-grid":{lead:"O mapa ao lado da lista. Escolha uma região, religião ou língua no mapa e a lista acompanha; pesquise na lista e o mapa acompanha também."},"prayer-map":{lead:"Todos os povos da lista de oração da DOXA em um só mapa, coloridos conforme alguém já ora por eles; o mapa completo mostra também se estão sendo alcançados e se foram adotados.",takeaway:"Um povo pelo qual ninguém ora ainda, e um link para a sua página de oração."},"regions-dashboard":{lead:"Encontre grupos étnicos não alcançados por região e país.",takeaway:"Abra um país para ver os seus grupos. Em cada região, “Ver os cartazes do país” imprime o cartaz, o pacote de oração ou o baralho de cartões de um país.",note:"Cartazes, pacotes e cartões são gerados no seu navegador para cada país exceto a Índia."}},col:{peopleGroup:"Povo",country:"País",region:"Região",population:"População"}},zu={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},Uu={approximate:"O ponto indica onde este povo se encontra, não uma cidade nem uma fronteira.",sharedPoint:"Está no mesmo ponto que {names} — {n} grupos partilham esta coordenada, por isso a posição indica a região e não onde está cada grupo."},Hu={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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând",packetVariantAria:"Nivelul de detaliu al pachetului de rugăciune",packetFull:"Detaliu complet",packetLightweight:"Redus",working:"Se procesează…",postersPerRowAuto:"Automat"},ju={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},Vu={open:"Ce poate face această hartă pentru tine?",title:"Ce poate face această hartă pentru tine?",pointer:"Ce face această hartă?",close:"Închide",takeaway:"Ce primești:",poster:"Poster",packet:"Pachet de rugăciune",cards:"Cartonașe de rugăciune",spreadsheet:"Foaie de calcul",example:"Exemplu",expandPages:"Arată toate paginile ({n})",collapsePages:"Arată doar prima pagină",expandDeck:"Arată toate cartonașele ({n})",collapseDeck:"Strânge cartonașele",moreRows:"Rânduri suplimentare în foaia de calcul completă: {n}",openFull:"Deschide la dimensiune completă",pointerOff:"Nu mai indica acest buton",tab:{"upg-100":{lead:"Lista UPG-100 pe o singură hartă: popoare neatinse, grupate în zone pe care le poți adopta în rugăciune.",takeaway:"pentru fiecare zonă, un poster de perete, un pachet de rugăciune de împărțit și un set de cartonașe de rugăciune. Exemplul de mai jos este zona cu cei mai mulți oameni din popoare în care nimeni nu plantează încă biserici."},"cities-internet":{lead:"Pot fi atinse online persoanele pe care vrei să le ajungi?",takeaway:"Fiecare țară în care trăiește un popor neatins, grupată după ponderea oamenilor care folosesc internetul — ca să deosebești terenul digital de locurile unde puțini sunt online. Cifrele sunt naționale (India și pe state, dintr-un sondaj din 2019–21) și poartă anul observației; necunoscut înseamnă nemăsurat, niciodată presupus."},"gospel-resources":{lead:"Ce are deja un popor în propria sa limbă?",takeaway:"Scriptură, audio, film, video biblic, instruire — și ce lipsește încă. Apasă pe o țară pentru a-i afișa popoarele, sau pe un popor pentru fișa sa, cu legături active către fiecare resursă găsită. „Nimic găsit” înseamnă absent din colecțiile verificate de această versiune, niciodată o dovadă că nu există nimic."},"dashboard-plus-grid":{lead:"Toate popoarele într-o singură vedere. Filtrează după rugăciune, popor, regiune, țară sau limbă — harta, tabelul și totalurile se restrâng împreună.",takeaway:"Rândurile filtrate, ca foaie de calcul."},"research-map-plus-grid":{lead:"Harta lângă listă. Alege o regiune, o religie sau o limbă pe hartă și lista o urmează; caută în listă și harta o urmează."},"prayer-map":{lead:"Toate grupurile etnice de pe lista de rugăciune DOXA pe o singură hartă, colorate după cum cineva se roagă deja pentru ele; harta completă arată și dacă sunt atinse și dacă sunt adoptate.",takeaway:"Un grup etnic pentru care nimeni nu se roagă încă, și un link către pagina lui de rugăciune."},"regions-dashboard":{lead:"Găsește popoarele neatinse după regiune și țară.",takeaway:"Deschide o țară pentru a-i vedea grupurile. Sub fiecare regiune, „Vezi posterele țării” tipărește afișul, pachetul de rugăciune sau setul de cartonașe al unei țări.",note:"Afișele, pachetele și cartonașele se generează în browserul tău pentru fiecare țară în afară de India."}},col:{peopleGroup:"Popor",country:"Țară",region:"Regiune",population:"Populație"}},Bu={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},Ku={approximate:"Punctul arată unde se află acest popor, nu un oraș sau o graniță.",sharedPoint:"Se află în același punct cu {names} — {n} grupuri împart această coordonată, deci poziția arată zona, nu unde se află fiecare grup."},qu={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду",packetVariantAria:"Детализация молитвенного пакета",packetFull:"Полная версия",packetLightweight:"Краткая версия",working:"Выполняется…",postersPerRowAuto:"Авто"},Gu={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},Xu={open:"Чем эта карта может быть вам полезна?",title:"Чем эта карта может быть вам полезна?",pointer:"Что умеет эта карта?",close:"Закрыть",takeaway:"Что вы получаете:",poster:"Плакат",packet:"Молитвенный буклет",cards:"Молитвенные карточки",spreadsheet:"Таблица",example:"Пример",expandPages:"Показать все страницы ({n})",collapsePages:"Показать только первую страницу",expandDeck:"Показать все карточки ({n})",collapseDeck:"Сложить карточки в стопку",moreRows:"Ещё строк в полной таблице: {n}",openFull:"Открыть в полном размере",pointerOff:"Больше не указывать на эту кнопку",tab:{"upg-100":{lead:"Список UPG-100 на одной карте: недостигнутые народы, объединённые в зоны, которые вы можете взять на молитвенное попечение.",takeaway:"для каждой зоны — настенный плакат, молитвенный буклет для раздачи и набор молитвенных карточек. Ниже показана зона, где больше всего людей в народах, среди которых пока никто не основывает церкви."},"cities-internet":{lead:"Можно ли связаться с нужными людьми через интернет?",takeaway:"Каждая страна, где живёт неохваченный народ, сгруппированная по доле людей, пользующихся интернетом, — чтобы отличить цифровую почву от мест, где мало кто в сети. Цифры национальные (для Индии также по штатам, по опросу 2019–21 годов) и указывают год наблюдения; «неизвестно» означает не измерено, а не предположено."},"gospel-resources":{lead:"Что у народа уже есть на его родном языке?",takeaway:"Писание, аудио, фильм, библейское видео, обучение — и чего ещё не хватает. Нажмите на страну, чтобы увидеть её народы, или на народ, чтобы открыть его карточку с рабочими ссылками на каждый найденный ресурс. «Ничего не найдено» означает отсутствие в проверенных этой сборкой источниках, а не доказательство, что ничего не существует."},"dashboard-plus-grid":{lead:"Все народы в одном представлении. Фильтруйте по молитве, народу, региону, стране или языку — карта, таблица и итоги сужаются вместе.",takeaway:"Отфильтрованные строки в виде таблицы."},"research-map-plus-grid":{lead:"Карта рядом со списком. Выберите на карте регион, религию или язык — список последует за ними; ищите в списке — карта последует за ним."},"prayer-map":{lead:"Все народы из молитвенного списка DOXA на одной карте, окрашенные по тому, молится ли уже кто-нибудь о них; полная карта показывает также, ведётся ли среди них служение и усыновлены ли они.",takeaway:"Народ, о котором ещё никто не молится, и ссылка на его молитвенную страницу."},"regions-dashboard":{lead:"Найдите недостигнутые группы людей по регионам и странам.",takeaway:"Откройте страну, чтобы увидеть её народности. Под каждым регионом кнопка «Показать плакаты страны» печатает плакат, молитвенный пакет или набор карточек страны.",note:"Плакаты, пакеты и карточки создаются в вашем браузере для каждой страны, кроме Индии."}},col:{peopleGroup:"Народ",country:"Страна",region:"Регион",population:"Население"}},Yu={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},Ju={approximate:"Точка показывает, где живёт этот народ, а не город и не границу.",sharedPoint:"Она совпадает с точкой {names} — {n} групп делят эту координату, поэтому положение указывает местность, а не где какая группа."},Zu={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"祷告名单",cardDeck:"祷告卡组",printOptions:"打印选项",showOnMap:"在地图上显示",close:"关闭",showOnMapAria:"在地图上显示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把这张地图嵌入你的网站","列出你城市里的网站","教他们也嵌入这张地图","教他们去教别人嵌入","为耶稣让地图遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数",packetVariantAria:"祷告手册详细程度",packetFull:"完整版",packetLightweight:"精简版",working:"处理中…",postersPerRowAuto:"自动"},Qu={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},ed={open:"这张地图能为你做什么?",title:"这张地图能为你做什么?",pointer:"这张地图能做什么?",close:"关闭",takeaway:"你能带走的:",poster:"海报",packet:"祷告手册",cards:"祷告卡",spreadsheet:"电子表格",example:"示例",expandPages:"显示全部页面({n})",collapsePages:"只显示第一页",expandDeck:"显示全部卡片({n})",collapseDeck:"把卡片叠起来",moreRows:"完整电子表格中的更多行:{n}",openFull:"以完整尺寸打开",pointerOff:"不再指向这个按钮",tab:{"upg-100":{lead:"UPG-100 名单尽在一张地图上:未得之民按区域分组,你可以在祷告中认领一个区域。",takeaway:"每个区域都有一张墙面海报、一本可分发的祷告手册和一套祷告卡。下面的示例是这样一个区域:在尚无人植堂的族群中,这里的人数最多。"},"cities-internet":{lead:"你想触及的人群能在线上被触及吗?",takeaway:"每一个有未得之民居住的国家,按使用互联网的人口比例分档——让你分辨哪些是数字可达之地,哪些地方很少有人上网。数据为全国性(印度另按邦划分,来自 2019–21 年的一项调查)并标注观测年份;“未知”表示未测量,绝非假定。"},"gospel-resources":{lead:"一个族群用自己的语言已经拥有什么?",takeaway:"圣经、音频、影片、圣经视频、门训——以及还缺什么。点击国家可列出其族群,点击族群可打开其专页,内含每项已找到资源的有效链接。“未找到”表示不在此版本所查的资源库中,绝不等于证明它不存在。"},"dashboard-plus-grid":{lead:"在一个视图中查看所有民族。按祷告、民族、区域、国家或语言筛选,地图、表格和总计会一同收窄。",takeaway:"筛选后的行,作为电子表格。"},"research-map-plus-grid":{lead:"地图与列表并排。在地图上选择一个地区、宗教或语言,列表随之跟随;在列表中搜索,地图也随之跟随。"},"prayer-map":{lead:"DOXA 祷告名单上的所有群体都在一张地图上,按是否已有人为他们祷告来着色;完整地图还显示是否已有人在其中事工、是否已被认领。",takeaway:"一个还没有人为之祷告的群体,以及一个指向其祷告页面的链接。"},"regions-dashboard":{lead:"按区域和国家查找未得之民。",takeaway:"打开一个国家查看其族群。在每个地区下,“查看国家海报”可打印一个国家的海报、祷告册或卡片集。",note:"海报、祷告册和卡片在您的浏览器中生成,适用于除印度以外的每个国家。"}},col:{peopleGroup:"民族",country:"国家",region:"区域",population:"人口"}},td={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"},od={approximate:"此点标示该民族所在的地区,而非某个城镇或边界。",sharedPoint:"它与 {names} 位于同一点 — {n} 个群体共用此坐标,因此位置只表示所在地区,而非各群体的具体位置。"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -26,16 +26,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function fd(e,t,o){return{line:e,column:t,offset:o}}function Hn(e,t,o){return{start:e,end:t}}const hd=/\{([0-9a-zA-Z]+)\}/g;function ii(e,...t){return t.length===1&&gd(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(hd,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const li=Object.assign,ci=e=>typeof e=="string",gd=e=>e!==null&&typeof e=="object";function pi(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Da={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},md={[Da.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function bd(e,t,...o){const n=ii(md[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Y={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},$d={[Y.EXPECTED_TOKEN]:"Expected token: '{0}'",[Y.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Y.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Y.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Y.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Y.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Y.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Y.EMPTY_PLACEHOLDER]:"Empty placeholder",[Y.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Y.INVALID_LINKED_FORMAT]:"Invalid linked format",[Y.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Y.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Y.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Y.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Y.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Y.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function _o(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=ii((a||$d)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function _d(e){throw e}const It=" ",vd="\r",je=` -`,yd="\u2028",wd="\u2029";function kd(e){const t=e;let o=0,n=1,a=1,s=0;const r=N=>t[N]===vd&&t[N+1]===je,i=N=>t[N]===je,l=N=>t[N]===wd,c=N=>t[N]===yd,d=N=>r(N)||i(N)||l(N)||c(N),g=()=>o,_=()=>n,L=()=>a,D=()=>s,E=N=>r(N)||l(N)||c(N)?je:t[N],j=()=>E(o),U=()=>E(o+s);function K(){return s=0,d(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function w(){return r(o+s)&&s++,s++,t[o+s]}function $(){o=0,n=1,a=1,s=0}function M(N=0){s=N}function O(){const N=o+s;for(;N!==o;)K();s=0}return{index:g,line:_,column:L,peekOffset:D,charAt:E,currentChar:j,currentPeek:U,next:K,peek:w,reset:$,resetPeek:M,skipToPeek:O}}const Vt=void 0,xd=".",ui="'",Td="tokenizer";function Ld(e,t={}){const o=t.location!==!1,n=kd(e),a=()=>n.index(),s=()=>fd(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:d}=t;function g(u,p,y,...k){const H=c();if(p.column+=y,p.offset+=y,d){const A=o?Hn(H.startLoc,p):null,v=_o(u,A,{domain:Td,args:k});d(v)}}function _(u,p,y){u.endLoc=s(),u.currentType=p;const k={type:p};return o&&(k.loc=Hn(u.startLoc,u.endLoc)),y!=null&&(k.value=y),k}const L=u=>_(u,14);function D(u,p){return u.currentChar()===p?(u.next(),p):(g(Y.EXPECTED_TOKEN,s(),0,p),"")}function E(u){let p="";for(;u.currentPeek()===It||u.currentPeek()===je;)p+=u.currentPeek(),u.peek();return p}function j(u){const p=E(u);return u.skipToPeek(),p}function U(u){if(u===Vt)return!1;const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function K(u){if(u===Vt)return!1;const p=u.charCodeAt(0);return p>=48&&p<=57}function w(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=U(u.currentPeek());return u.resetPeek(),k}function $(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=u.currentPeek()==="-"?u.peek():u.currentPeek(),H=K(k);return u.resetPeek(),H}function M(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=u.currentPeek()===ui;return u.resetPeek(),k}function O(u,p){const{currentType:y}=p;if(y!==8)return!1;E(u);const k=u.currentPeek()===".";return u.resetPeek(),k}function N(u,p){const{currentType:y}=p;if(y!==9)return!1;E(u);const k=U(u.currentPeek());return u.resetPeek(),k}function q(u,p){const{currentType:y}=p;if(!(y===8||y===12))return!1;E(u);const k=u.currentPeek()===":";return u.resetPeek(),k}function B(u,p){const{currentType:y}=p;if(y!==10)return!1;const k=()=>{const A=u.currentPeek();return A==="{"?U(u.peek()):A==="@"||A==="%"||A==="|"||A===":"||A==="."||A===It||!A?!1:A===je?(u.peek(),k()):J(u,!1)},H=k();return u.resetPeek(),H}function ue(u){E(u);const p=u.currentPeek()==="|";return u.resetPeek(),p}function me(u){const p=E(u),y=u.currentPeek()==="%"&&u.peek()==="{";return u.resetPeek(),{isModulo:y,hasSpace:p.length>0}}function J(u,p=!0){const y=(H=!1,A="",v=!1)=>{const T=u.currentPeek();return T==="{"?A==="%"?!1:H:T==="@"||!T?A==="%"?!0:H:T==="%"?(u.peek(),y(H,"%",!0)):T==="|"?A==="%"||v?!0:!(A===It||A===je):T===It?(u.peek(),y(!0,It,v)):T===je?(u.peek(),y(!0,je,v)):!0},k=y();return p&&u.resetPeek(),k}function _e(u,p){const y=u.currentChar();return y===Vt?Vt:p(y)?(u.next(),y):null}function Le(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function Me(u){return _e(u,Le)}function ne(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function re(u){return _e(u,ne)}function se(u){const p=u.charCodeAt(0);return p>=48&&p<=57}function Ve(u){return _e(u,se)}function at(u){const p=u.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ke(u){return _e(u,at)}function we(u){let p="",y="";for(;p=Ve(u);)y+=p;return y}function Ze(u){j(u);const p=u.currentChar();return p!=="%"&&g(Y.EXPECTED_TOKEN,s(),0,p),u.next(),"%"}function dt(u){let p="";for(;;){const y=u.currentChar();if(y==="{"||y==="}"||y==="@"||y==="|"||!y)break;if(y==="%")if(J(u))p+=y,u.next();else break;else if(y===It||y===je)if(J(u))p+=y,u.next();else{if(ue(u))break;p+=y,u.next()}else p+=y,u.next()}return p}function Rt(u){j(u);let p="",y="";for(;p=re(u);)y+=p;return u.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y}function Ae(u){j(u);let p="";return u.currentChar()==="-"?(u.next(),p+=`-${we(u)}`):p+=we(u),u.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),p}function st(u){return u!==ui&&u!==je}function ft(u){j(u),D(u,"'");let p="",y="";for(;p=_e(u,st);)p==="\\"?y+=ze(u):y+=p;const k=u.currentChar();return k===je||k===Vt?(g(Y.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),k===je&&(u.next(),D(u,"'")),y):(D(u,"'"),y)}function ze(u){const p=u.currentChar();switch(p){case"\\":case"'":return u.next(),`\\${p}`;case"u":return Ge(u,p,4);case"U":return Ge(u,p,6);default:return g(Y.UNKNOWN_ESCAPE_SEQUENCE,s(),0,p),""}}function Ge(u,p,y){D(u,p);let k="";for(let H=0;H{const k=u.currentChar();return k==="{"||k==="%"||k==="@"||k==="|"||k==="("||k===")"||!k||k===It?y:(y+=k,u.next(),p(y))};return p("")}function x(u){j(u);const p=D(u,"|");return j(u),p}function P(u,p){let y=null;switch(u.currentChar()){case"{":return p.braceNest>=1&&g(Y.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),u.next(),y=_(p,2,"{"),j(u),p.braceNest++,y;case"}":return p.braceNest>0&&p.currentType===2&&g(Y.EMPTY_PLACEHOLDER,s(),0),u.next(),y=_(p,3,"}"),p.braceNest--,p.braceNest>0&&j(u),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),y;case"@":return p.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y=S(u,p)||L(p),p.braceNest=0,y;default:{let H=!0,A=!0,v=!0;if(ue(u))return p.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,y;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),p.braceNest=0,W(u,p);if(H=w(u,p))return y=_(p,5,Rt(u)),j(u),y;if(A=$(u,p))return y=_(p,6,Ae(u)),j(u),y;if(v=M(u,p))return y=_(p,7,ft(u)),j(u),y;if(!H&&!A&&!v)return y=_(p,13,f(u)),g(Y.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,y.value),j(u),y;break}}return y}function S(u,p){const{currentType:y}=p;let k=null;const H=u.currentChar();switch((y===8||y===9||y===12||y===10)&&(H===je||H===It)&&g(Y.INVALID_LINKED_FORMAT,s(),0),H){case"@":return u.next(),k=_(p,8,"@"),p.inLinked=!0,k;case".":return j(u),u.next(),_(p,9,".");case":":return j(u),u.next(),_(p,10,":");default:return ue(u)?(k=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,k):O(u,p)||q(u,p)?(j(u),S(u,p)):N(u,p)?(j(u),_(p,12,m(u))):B(u,p)?(j(u),H==="{"?P(u,p)||k:_(p,11,h(u))):(y===8&&g(Y.INVALID_LINKED_FORMAT,s(),0),p.braceNest=0,p.inLinked=!1,W(u,p))}}function W(u,p){let y={type:14};if(p.braceNest>0)return P(u,p)||L(p);if(p.inLinked)return S(u,p)||L(p);switch(u.currentChar()){case"{":return P(u,p)||L(p);case"}":return g(Y.UNBALANCED_CLOSING_BRACE,s(),0),u.next(),_(p,3,"}");case"@":return S(u,p)||L(p);default:{if(ue(u))return y=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,y;const{isModulo:H,hasSpace:A}=me(u);if(H)return A?_(p,0,dt(u)):_(p,4,Ze(u));if(J(u))return _(p,0,dt(u));break}}return y}function R(){const{currentType:u,offset:p,startLoc:y,endLoc:k}=l;return l.lastType=u,l.lastOffset=p,l.lastStartLoc=y,l.lastEndLoc=k,l.offset=a(),l.startLoc=s(),n.currentChar()===Vt?_(l,14):W(n,l)}return{nextToken:R,currentOffset:a,currentPosition:s,context:c}}const Sd="parser",Od=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Pd(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 Ed(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(w,$,M,O,...N){const q=w.currentPosition();if(q.offset+=O,q.column+=O,o){const B=t?Hn(M,q):null,ue=_o($,B,{domain:Sd,args:N});o(ue)}}function s(w,$,M,O,...N){const q=w.currentPosition();if(q.offset+=O,q.column+=O,n){const B=t?Hn(M,q):null;n(bd($,B,N))}}function r(w,$,M){const O={type:w};return t&&(O.start=$,O.end=$,O.loc={start:M,end:M}),O}function i(w,$,M,O){t&&(w.end=$,w.loc&&(w.loc.end=M))}function l(w,$){const M=w.context(),O=r(3,M.offset,M.startLoc);return O.value=$,i(O,w.currentOffset(),w.currentPosition()),O}function c(w,$){const M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(5,O,N);return q.index=parseInt($,10),w.nextToken(),i(q,w.currentOffset(),w.currentPosition()),q}function d(w,$,M){const O=w.context(),{lastOffset:N,lastStartLoc:q}=O,B=r(4,N,q);return B.key=$,M===!0&&(B.modulo=!0),w.nextToken(),i(B,w.currentOffset(),w.currentPosition()),B}function g(w,$){const M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(9,O,N);return q.value=$.replace(Od,Pd),w.nextToken(),i(q,w.currentOffset(),w.currentPosition()),q}function _(w){const $=w.nextToken(),M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(8,O,N);return $.type!==12?(a(w,Y.UNEXPECTED_EMPTY_LINKED_MODIFIER,M.lastStartLoc,0),q.value="",i(q,O,N),{nextConsumeToken:$,node:q}):($.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,ut($)),q.value=$.value||"",i(q,w.currentOffset(),w.currentPosition()),{node:q})}function L(w,$){const M=w.context(),O=r(7,M.offset,M.startLoc);return O.value=$,i(O,w.currentOffset(),w.currentPosition()),O}function D(w){const $=w.context(),M=r(6,$.offset,$.startLoc);let O=w.nextToken();if(O.type===9){const N=_(w);M.modifier=N.node,O=N.nextConsumeToken||w.nextToken()}switch(O.type!==10&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),O=w.nextToken(),O.type===2&&(O=w.nextToken()),O.type){case 11:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=L(w,O.value||"");break;case 5:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=d(w,O.value||"");break;case 6:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=c(w,O.value||"");break;case 7:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=g(w,O.value||"");break;default:{a(w,Y.UNEXPECTED_EMPTY_LINKED_KEY,$.lastStartLoc,0);const N=w.context(),q=r(7,N.offset,N.startLoc);return q.value="",i(q,N.offset,N.startLoc),M.key=q,i(M,N.offset,N.startLoc),{nextConsumeToken:O,node:M}}}return i(M,w.currentOffset(),w.currentPosition()),{node:M}}function E(w){const $=w.context(),M=$.currentType===1?w.currentOffset():$.offset,O=$.currentType===1?$.endLoc:$.startLoc,N=r(2,M,O);N.items=[];let q=null,B=null;do{const J=q||w.nextToken();switch(q=null,J.type){case 0:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(l(w,J.value||""));break;case 6:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(c(w,J.value||""));break;case 4:B=!0;break;case 5:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(d(w,J.value||"",!!B)),B&&(s(w,Da.USE_MODULO_SYNTAX,$.lastStartLoc,0,ut(J)),B=null);break;case 7:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(g(w,J.value||""));break;case 8:{const _e=D(w);N.items.push(_e.node),q=_e.nextConsumeToken||null;break}}}while($.currentType!==14&&$.currentType!==1);const ue=$.currentType===1?$.lastOffset:w.currentOffset(),me=$.currentType===1?$.lastEndLoc:w.currentPosition();return i(N,ue,me),N}function j(w,$,M,O){const N=w.context();let q=O.items.length===0;const B=r(1,$,M);B.cases=[],B.cases.push(O);do{const ue=E(w);q||(q=ue.items.length===0),B.cases.push(ue)}while(N.currentType!==14);return q&&a(w,Y.MUST_HAVE_MESSAGES_IN_PLURAL,M,0),i(B,w.currentOffset(),w.currentPosition()),B}function U(w){const $=w.context(),{offset:M,startLoc:O}=$,N=E(w);return $.currentType===14?N:j(w,M,O,N)}function K(w){const $=Ld(w,li({},e)),M=$.context(),O=r(0,M.offset,M.startLoc);return t&&O.loc&&(O.loc.source=w),O.body=U($),e.onCacheKey&&(O.cacheKey=e.onCacheKey(w)),M.currentType!==14&&a($,Y.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,w[M.offset]||""),i(O,$.currentOffset(),$.currentPosition()),O}return{parse:K}}function ut(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 Md(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function di(e,t){for(let o=0;ofi(o)),e}function fi(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;or;function l(E,j){r.code+=E}function c(E,j=!0){const U=j?n:"";l(a?U+" ".repeat(E):U)}function d(E=!0){const j=++r.indentLevel;E&&c(j)}function g(E=!0){const j=--r.indentLevel;E&&c(j)}function _(){c(r.indentLevel)}return{context:i,push:l,indent:d,deindent:g,newline:_,helper:E=>`_${E}`,needIndent:()=>r.needIndent}}function Dd(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),yo(e,t.key),t.modifier?(e.push(", "),yo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Rd(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=ci(t.mode)?t.mode:"normal",n=ci(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,yd="\u2028",wd="\u2029";function kd(e){const t=e;let o=0,n=1,a=1,s=0;const r=N=>t[N]===vd&&t[N+1]===je,i=N=>t[N]===je,l=N=>t[N]===wd,c=N=>t[N]===yd,d=N=>r(N)||i(N)||l(N)||c(N),g=()=>o,_=()=>n,T=()=>a,D=()=>s,E=N=>r(N)||l(N)||c(N)?je:t[N],j=()=>E(o),U=()=>E(o+s);function K(){return s=0,d(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function w(){return r(o+s)&&s++,s++,t[o+s]}function $(){o=0,n=1,a=1,s=0}function M(N=0){s=N}function O(){const N=o+s;for(;N!==o;)K();s=0}return{index:g,line:_,column:T,peekOffset:D,charAt:E,currentChar:j,currentPeek:U,next:K,peek:w,reset:$,resetPeek:M,skipToPeek:O}}const Vt=void 0,xd=".",ui="'",Ld="tokenizer";function Td(e,t={}){const o=t.location!==!1,n=kd(e),a=()=>n.index(),s=()=>fd(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:d}=t;function g(u,p,y,...k){const H=c();if(p.column+=y,p.offset+=y,d){const A=o?Hn(H.startLoc,p):null,v=_o(u,A,{domain:Ld,args:k});d(v)}}function _(u,p,y){u.endLoc=s(),u.currentType=p;const k={type:p};return o&&(k.loc=Hn(u.startLoc,u.endLoc)),y!=null&&(k.value=y),k}const T=u=>_(u,14);function D(u,p){return u.currentChar()===p?(u.next(),p):(g(Y.EXPECTED_TOKEN,s(),0,p),"")}function E(u){let p="";for(;u.currentPeek()===It||u.currentPeek()===je;)p+=u.currentPeek(),u.peek();return p}function j(u){const p=E(u);return u.skipToPeek(),p}function U(u){if(u===Vt)return!1;const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function K(u){if(u===Vt)return!1;const p=u.charCodeAt(0);return p>=48&&p<=57}function w(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=U(u.currentPeek());return u.resetPeek(),k}function $(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=u.currentPeek()==="-"?u.peek():u.currentPeek(),H=K(k);return u.resetPeek(),H}function M(u,p){const{currentType:y}=p;if(y!==2)return!1;E(u);const k=u.currentPeek()===ui;return u.resetPeek(),k}function O(u,p){const{currentType:y}=p;if(y!==8)return!1;E(u);const k=u.currentPeek()===".";return u.resetPeek(),k}function N(u,p){const{currentType:y}=p;if(y!==9)return!1;E(u);const k=U(u.currentPeek());return u.resetPeek(),k}function q(u,p){const{currentType:y}=p;if(!(y===8||y===12))return!1;E(u);const k=u.currentPeek()===":";return u.resetPeek(),k}function B(u,p){const{currentType:y}=p;if(y!==10)return!1;const k=()=>{const A=u.currentPeek();return A==="{"?U(u.peek()):A==="@"||A==="%"||A==="|"||A===":"||A==="."||A===It||!A?!1:A===je?(u.peek(),k()):J(u,!1)},H=k();return u.resetPeek(),H}function ue(u){E(u);const p=u.currentPeek()==="|";return u.resetPeek(),p}function me(u){const p=E(u),y=u.currentPeek()==="%"&&u.peek()==="{";return u.resetPeek(),{isModulo:y,hasSpace:p.length>0}}function J(u,p=!0){const y=(H=!1,A="",v=!1)=>{const L=u.currentPeek();return L==="{"?A==="%"?!1:H:L==="@"||!L?A==="%"?!0:H:L==="%"?(u.peek(),y(H,"%",!0)):L==="|"?A==="%"||v?!0:!(A===It||A===je):L===It?(u.peek(),y(!0,It,v)):L===je?(u.peek(),y(!0,je,v)):!0},k=y();return p&&u.resetPeek(),k}function _e(u,p){const y=u.currentChar();return y===Vt?Vt:p(y)?(u.next(),y):null}function Te(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function Me(u){return _e(u,Te)}function ne(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function re(u){return _e(u,ne)}function se(u){const p=u.charCodeAt(0);return p>=48&&p<=57}function Ve(u){return _e(u,se)}function at(u){const p=u.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ke(u){return _e(u,at)}function we(u){let p="",y="";for(;p=Ve(u);)y+=p;return y}function Ze(u){j(u);const p=u.currentChar();return p!=="%"&&g(Y.EXPECTED_TOKEN,s(),0,p),u.next(),"%"}function dt(u){let p="";for(;;){const y=u.currentChar();if(y==="{"||y==="}"||y==="@"||y==="|"||!y)break;if(y==="%")if(J(u))p+=y,u.next();else break;else if(y===It||y===je)if(J(u))p+=y,u.next();else{if(ue(u))break;p+=y,u.next()}else p+=y,u.next()}return p}function Rt(u){j(u);let p="",y="";for(;p=re(u);)y+=p;return u.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y}function Ae(u){j(u);let p="";return u.currentChar()==="-"?(u.next(),p+=`-${we(u)}`):p+=we(u),u.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),p}function st(u){return u!==ui&&u!==je}function ft(u){j(u),D(u,"'");let p="",y="";for(;p=_e(u,st);)p==="\\"?y+=ze(u):y+=p;const k=u.currentChar();return k===je||k===Vt?(g(Y.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),k===je&&(u.next(),D(u,"'")),y):(D(u,"'"),y)}function ze(u){const p=u.currentChar();switch(p){case"\\":case"'":return u.next(),`\\${p}`;case"u":return Ge(u,p,4);case"U":return Ge(u,p,6);default:return g(Y.UNKNOWN_ESCAPE_SEQUENCE,s(),0,p),""}}function Ge(u,p,y){D(u,p);let k="";for(let H=0;H{const k=u.currentChar();return k==="{"||k==="%"||k==="@"||k==="|"||k==="("||k===")"||!k||k===It?y:(y+=k,u.next(),p(y))};return p("")}function x(u){j(u);const p=D(u,"|");return j(u),p}function P(u,p){let y=null;switch(u.currentChar()){case"{":return p.braceNest>=1&&g(Y.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),u.next(),y=_(p,2,"{"),j(u),p.braceNest++,y;case"}":return p.braceNest>0&&p.currentType===2&&g(Y.EMPTY_PLACEHOLDER,s(),0),u.next(),y=_(p,3,"}"),p.braceNest--,p.braceNest>0&&j(u),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),y;case"@":return p.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y=S(u,p)||T(p),p.braceNest=0,y;default:{let H=!0,A=!0,v=!0;if(ue(u))return p.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),y=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,y;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),p.braceNest=0,W(u,p);if(H=w(u,p))return y=_(p,5,Rt(u)),j(u),y;if(A=$(u,p))return y=_(p,6,Ae(u)),j(u),y;if(v=M(u,p))return y=_(p,7,ft(u)),j(u),y;if(!H&&!A&&!v)return y=_(p,13,f(u)),g(Y.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,y.value),j(u),y;break}}return y}function S(u,p){const{currentType:y}=p;let k=null;const H=u.currentChar();switch((y===8||y===9||y===12||y===10)&&(H===je||H===It)&&g(Y.INVALID_LINKED_FORMAT,s(),0),H){case"@":return u.next(),k=_(p,8,"@"),p.inLinked=!0,k;case".":return j(u),u.next(),_(p,9,".");case":":return j(u),u.next(),_(p,10,":");default:return ue(u)?(k=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,k):O(u,p)||q(u,p)?(j(u),S(u,p)):N(u,p)?(j(u),_(p,12,m(u))):B(u,p)?(j(u),H==="{"?P(u,p)||k:_(p,11,h(u))):(y===8&&g(Y.INVALID_LINKED_FORMAT,s(),0),p.braceNest=0,p.inLinked=!1,W(u,p))}}function W(u,p){let y={type:14};if(p.braceNest>0)return P(u,p)||T(p);if(p.inLinked)return S(u,p)||T(p);switch(u.currentChar()){case"{":return P(u,p)||T(p);case"}":return g(Y.UNBALANCED_CLOSING_BRACE,s(),0),u.next(),_(p,3,"}");case"@":return S(u,p)||T(p);default:{if(ue(u))return y=_(p,1,x(u)),p.braceNest=0,p.inLinked=!1,y;const{isModulo:H,hasSpace:A}=me(u);if(H)return A?_(p,0,dt(u)):_(p,4,Ze(u));if(J(u))return _(p,0,dt(u));break}}return y}function R(){const{currentType:u,offset:p,startLoc:y,endLoc:k}=l;return l.lastType=u,l.lastOffset=p,l.lastStartLoc=y,l.lastEndLoc=k,l.offset=a(),l.startLoc=s(),n.currentChar()===Vt?_(l,14):W(n,l)}return{nextToken:R,currentOffset:a,currentPosition:s,context:c}}const Sd="parser",Od=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Pd(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 Ed(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(w,$,M,O,...N){const q=w.currentPosition();if(q.offset+=O,q.column+=O,o){const B=t?Hn(M,q):null,ue=_o($,B,{domain:Sd,args:N});o(ue)}}function s(w,$,M,O,...N){const q=w.currentPosition();if(q.offset+=O,q.column+=O,n){const B=t?Hn(M,q):null;n(bd($,B,N))}}function r(w,$,M){const O={type:w};return t&&(O.start=$,O.end=$,O.loc={start:M,end:M}),O}function i(w,$,M,O){t&&(w.end=$,w.loc&&(w.loc.end=M))}function l(w,$){const M=w.context(),O=r(3,M.offset,M.startLoc);return O.value=$,i(O,w.currentOffset(),w.currentPosition()),O}function c(w,$){const M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(5,O,N);return q.index=parseInt($,10),w.nextToken(),i(q,w.currentOffset(),w.currentPosition()),q}function d(w,$,M){const O=w.context(),{lastOffset:N,lastStartLoc:q}=O,B=r(4,N,q);return B.key=$,M===!0&&(B.modulo=!0),w.nextToken(),i(B,w.currentOffset(),w.currentPosition()),B}function g(w,$){const M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(9,O,N);return q.value=$.replace(Od,Pd),w.nextToken(),i(q,w.currentOffset(),w.currentPosition()),q}function _(w){const $=w.nextToken(),M=w.context(),{lastOffset:O,lastStartLoc:N}=M,q=r(8,O,N);return $.type!==12?(a(w,Y.UNEXPECTED_EMPTY_LINKED_MODIFIER,M.lastStartLoc,0),q.value="",i(q,O,N),{nextConsumeToken:$,node:q}):($.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,ut($)),q.value=$.value||"",i(q,w.currentOffset(),w.currentPosition()),{node:q})}function T(w,$){const M=w.context(),O=r(7,M.offset,M.startLoc);return O.value=$,i(O,w.currentOffset(),w.currentPosition()),O}function D(w){const $=w.context(),M=r(6,$.offset,$.startLoc);let O=w.nextToken();if(O.type===9){const N=_(w);M.modifier=N.node,O=N.nextConsumeToken||w.nextToken()}switch(O.type!==10&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),O=w.nextToken(),O.type===2&&(O=w.nextToken()),O.type){case 11:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=T(w,O.value||"");break;case 5:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=d(w,O.value||"");break;case 6:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=c(w,O.value||"");break;case 7:O.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(O)),M.key=g(w,O.value||"");break;default:{a(w,Y.UNEXPECTED_EMPTY_LINKED_KEY,$.lastStartLoc,0);const N=w.context(),q=r(7,N.offset,N.startLoc);return q.value="",i(q,N.offset,N.startLoc),M.key=q,i(M,N.offset,N.startLoc),{nextConsumeToken:O,node:M}}}return i(M,w.currentOffset(),w.currentPosition()),{node:M}}function E(w){const $=w.context(),M=$.currentType===1?w.currentOffset():$.offset,O=$.currentType===1?$.endLoc:$.startLoc,N=r(2,M,O);N.items=[];let q=null,B=null;do{const J=q||w.nextToken();switch(q=null,J.type){case 0:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(l(w,J.value||""));break;case 6:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(c(w,J.value||""));break;case 4:B=!0;break;case 5:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(d(w,J.value||"",!!B)),B&&(s(w,Da.USE_MODULO_SYNTAX,$.lastStartLoc,0,ut(J)),B=null);break;case 7:J.value==null&&a(w,Y.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,ut(J)),N.items.push(g(w,J.value||""));break;case 8:{const _e=D(w);N.items.push(_e.node),q=_e.nextConsumeToken||null;break}}}while($.currentType!==14&&$.currentType!==1);const ue=$.currentType===1?$.lastOffset:w.currentOffset(),me=$.currentType===1?$.lastEndLoc:w.currentPosition();return i(N,ue,me),N}function j(w,$,M,O){const N=w.context();let q=O.items.length===0;const B=r(1,$,M);B.cases=[],B.cases.push(O);do{const ue=E(w);q||(q=ue.items.length===0),B.cases.push(ue)}while(N.currentType!==14);return q&&a(w,Y.MUST_HAVE_MESSAGES_IN_PLURAL,M,0),i(B,w.currentOffset(),w.currentPosition()),B}function U(w){const $=w.context(),{offset:M,startLoc:O}=$,N=E(w);return $.currentType===14?N:j(w,M,O,N)}function K(w){const $=Td(w,li({},e)),M=$.context(),O=r(0,M.offset,M.startLoc);return t&&O.loc&&(O.loc.source=w),O.body=U($),e.onCacheKey&&(O.cacheKey=e.onCacheKey(w)),M.currentType!==14&&a($,Y.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,w[M.offset]||""),i(O,$.currentOffset(),$.currentPosition()),O}return{parse:K}}function ut(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 Md(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function di(e,t){for(let o=0;ofi(o)),e}function fi(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;or;function l(E,j){r.code+=E}function c(E,j=!0){const U=j?n:"";l(a?U+" ".repeat(E):U)}function d(E=!0){const j=++r.indentLevel;E&&c(j)}function g(E=!0){const j=--r.indentLevel;E&&c(j)}function _(){c(r.indentLevel)}return{context:i,push:l,indent:d,deindent:g,newline:_,helper:E=>`_${E}`,needIndent:()=>r.needIndent}}function Dd(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),yo(e,t.key),t.modifier?(e.push(", "),yo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Rd(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=ci(t.mode)?t.mode:"normal",n=ci(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=Fd(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${pi(r.map(d=>`${d}: _${d}`),", ")} } = ctx`),i.newline()),i.push("return "),yo(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Hd(e,t={}){const o=li({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=Ed(o).parse(e);return n?(s&&Cd(i),a&&vo(i),{ast:i,code:""}):(Ad(i,o),Ud(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function jd(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}function kt(e){return le(e)&&Wa(e)===0&&(pt(e,"b")||pt(e,"body"))}const hi=["b","body"];function Vd(e){return Bt(e,hi)}const gi=["c","cases"];function Bd(e){return Bt(e,gi,[])}const mi=["s","static"];function Kd(e){return Bt(e,mi)}const bi=["i","items"];function qd(e){return Bt(e,bi,[])}const $i=["t","type"];function Wa(e){return Bt(e,$i)}const _i=["v","value"];function jn(e,t){const o=Bt(e,_i);if(o!=null)return o;throw Jo(t)}const vi=["m","modifier"];function Gd(e){return Bt(e,vi)}const yi=["k","key"];function Xd(e){const t=Bt(e,yi);if(t)return t;throw Jo(6)}function Bt(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},_[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},_[2]=()=>{_[0](),a++},_[3]=()=>{if(a>0)a--,n=4,_[0]();else{if(a=0,r===void 0||(r=ef(r),r===!1))return!1;_[1]()}};function L(){const D=e[o+1];if(n===5&&D==="'"||n===6&&D==='"')return o++,i="\\"+D,_[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&L())){if(l=Qd(s),g=Kt[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(d=_[c[1]],d&&(i=s,d()===!1))))return;if(n===7)return t}}const ki=new Map;function of(e,t){return le(e)?e[t]:null}function nf(e,t){if(!le(e))return null;let o=ki.get(t);if(o||(o=tf(t),o&&ki.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,sf=e=>"",rf="text",lf=e=>e.length===0?"":dd(e),cf=ud;function xi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function pf(e){const t=Ee(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ee(e.named.count)||Ee(e.named.n))?Ee(e.named.count)?e.named.count:Ee(e.named.n)?e.named.n:t:t}function uf(e,t){t.count||(t.count=e),t.n||(t.n=e)}function df(e={}){const t=e.locale,o=pf(e),n=le(e.pluralRules)&&G(t)&&ye(e.pluralRules[t])?e.pluralRules[t]:xi,a=le(e.pluralRules)&&G(t)&&ye(e.pluralRules[t])?xi:void 0,s=U=>U[n(o,U.length,a)],r=e.list||[],i=U=>r[U],l=e.named||he();Ee(e.pluralIndex)&&uf(o,l);const c=U=>l[U];function d(U){const K=ye(e.messages)?e.messages(U):le(e.messages)?e.messages[U]:!1;return K||(e.parent?e.parent.message(U):sf)}const g=U=>e.modifiers?e.modifiers[U]:af,_=ae(e.processor)&&ye(e.processor.normalize)?e.processor.normalize:lf,L=ae(e.processor)&&ye(e.processor.interpolate)?e.processor.interpolate:cf,D=ae(e.processor)&&G(e.processor.type)?e.processor.type:rf,j={list:i,named:c,plural:s,linked:(U,...K)=>{const[w,$]=K;let M="text",O="";K.length===1?le(w)?(O=w.modifier||O,M=w.type||M):G(w)&&(O=w||O):K.length===2&&(G(w)&&(O=w||O),G($)&&(M=$||M));const N=d(U)(j),q=M==="vnode"&&Oe(N)&&O?N[0]:N;return O?g(O)(q,M):q},message:d,type:D,interpolate:L,normalize:_,values:We(he(),r,l)};return j}let Zo=null;function ff(e){Zo=e}function hf(e,t,o){Zo&&Zo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gf=mf("function:translate");function mf(e){return t=>Zo&&Zo.emit(e,t)}const bf=Da.__EXTEND_POINT__,to=Wn(bf),$f={FALLBACK_TO_TRANSLATE:to(),CANNOT_FORMAT_NUMBER:to(),FALLBACK_TO_NUMBER_FORMAT:to(),CANNOT_FORMAT_DATE:to(),FALLBACK_TO_DATE_FORMAT:to(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:to(),__EXTEND_POINT__:to()},Ti=Y.__EXTEND_POINT__,oo=Wn(Ti),xt={INVALID_ARGUMENT:Ti,INVALID_DATE_ARGUMENT:oo(),INVALID_ISO_DATE_ARGUMENT:oo(),NOT_SUPPORT_NON_STRING_MESSAGE:oo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:oo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:oo(),NOT_SUPPORT_LOCALE_TYPE:oo(),__EXTEND_POINT__:oo()};function Nt(e){return _o(e,null,void 0)}function za(e,t){return t.locale!=null?Li(t.locale):Li(e.locale)}let Ua;function Li(e){if(G(e))return e;if(ye(e)){if(e.resolvedOnce&&Ua!=null)return Ua;if(e.constructor.name==="Function"){const t=e();if(pd(t))throw Nt(xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ua=t}else throw Nt(xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Nt(xt.NOT_SUPPORT_LOCALE_TYPE)}function _f(e,t,o){return[...new Set([o,...Oe(t)?t:le(t)?Object.keys(t):G(t)?[t]:[o]])]}function Si(e,t,o){const n=G(o)?o:Qo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;Oe(r);)r=Oi(s,r,t);const i=Oe(t)||!ae(t)?t:t.default?t.default:null;r=G(i)?[i]:i,Oe(r)&&Oi(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Oi(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function kf(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&le(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&le(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?Ei(e):t==="vnode"&&le(e)&&"__v_isVNode"in e?Ei(e.children):e}}let Mi;function xf(e){Mi=e}let Ai;function Tf(e){Ai=e}let Ci;function Lf(e){Ci=e}let Ii=null;const Sf=e=>{Ii=e},Of=()=>Ii;let Ni=null;const Fi=e=>{Ni=e},Pf=()=>Ni;let Di=0;function Ef(e={}){const t=ye(e.onWarn)?e.onWarn:nd,o=G(e.version)?e.version:wf,n=G(e.locale)||ye(e.locale)?e.locale:Qo,a=ye(n)?Qo:n,s=Oe(e.fallbackLocale)||ae(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ae(e.messages)?e.messages:Ha(a),i=ae(e.datetimeFormats)?e.datetimeFormats:Ha(a),l=ae(e.numberFormats)?e.numberFormats:Ha(a),c=We(he(),e.modifiers,kf()),d=e.pluralRules||he(),g=ye(e.missing)?e.missing:null,_=$e(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,L=$e(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,D=!!e.fallbackFormat,E=!!e.unresolving,j=ye(e.postTranslation)?e.postTranslation:null,U=ae(e.processor)?e.processor:null,K=$e(e.warnHtmlMessage)?e.warnHtmlMessage:!0,w=!!e.escapeParameter,$=ye(e.messageCompiler)?e.messageCompiler:Mi,M=ye(e.messageResolver)?e.messageResolver:Ai||of,O=ye(e.localeFallbacker)?e.localeFallbacker:Ci||_f,N=le(e.fallbackContext)?e.fallbackContext:void 0,q=e,B=le(q.__datetimeFormatters)?q.__datetimeFormatters:new Map,ue=le(q.__numberFormatters)?q.__numberFormatters:new Map,me=le(q.__meta)?q.__meta:{};Di++;const J={version:o,cid:Di,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:d,missing:g,missingWarn:_,fallbackWarn:L,fallbackFormat:D,unresolving:E,postTranslation:j,processor:U,warnHtmlMessage:K,escapeParameter:w,messageCompiler:$,messageResolver:M,localeFallbacker:O,fallbackContext:N,onWarn:t,__meta:me};return J.datetimeFormats=i,J.numberFormats=l,J.__datetimeFormatters=B,J.__numberFormatters=ue,__INTLIFY_PROD_DEVTOOLS__&&hf(J,o,me),J}const Ha=e=>({[e]:he()});function ja(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return G(i)?i:t}else return t}function en(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Mf(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Af(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nCf(o,e)}function Cf(e,t){const o=Vd(t);if(o==null)throw Jo(0);if(Wa(o)===1){const s=Bd(o);return e.plural(s.reduce((r,i)=>[...r,Ri(e,i)],[]))}else return Ri(e,o)}function Ri(e,t){const o=Kd(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=qd(t).reduce((a,s)=>[...a,Ba(e,s)],[]);return e.normalize(n)}}function Ba(e,t){const o=Wa(t);switch(o){case 3:return jn(t,o);case 9:return jn(t,o);case 4:{const n=t;if(pt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(pt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Jo(o)}case 5:{const n=t;if(pt(n,"i")&&Ee(n.i))return e.interpolate(e.list(n.i));if(pt(n,"index")&&Ee(n.index))return e.interpolate(e.list(n.index));throw Jo(o)}case 6:{const n=t,a=Gd(n),s=Xd(n);return e.linked(Ba(e,s),a?Ba(e,a):void 0,e.type)}case 7:return jn(t,o);case 8:return jn(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const If=e=>e;let Bn=he();function Nf(e,t={}){let o=!1;const n=t.onError||_d;return t.onError=a=>{o=!0,n(a)},{...Hd(e,t),detectError:o}}function Ff(e,t){if(G(e)){$e(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||If)(e),a=Bn[n];if(a)return a;const{ast:s,detectError:r}=Nf(e,{...t,location:!1,jit:!0}),i=Va(s);return r?i:Bn[n]=i}else{const o=e.cacheKey;if(o){const n=Bn[o];return n||(Bn[o]=Va(e))}else return Va(e)}}const Wi=()=>"",nt=e=>ye(e);function zi(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Ka(...t),d=$e(c.missingWarn)?c.missingWarn:e.missingWarn,g=$e(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=$e(c.escapeParameter)?c.escapeParameter:e.escapeParameter,L=!!c.resolvedMessage,D=G(c.default)||$e(c.default)?$e(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",E=o||D!=="",j=za(e,c);_&&Df(c);let[U,K,w]=L?[l,j,i[j]||he()]:Ui(e,l,j,r,g,d),$=U,M=l;if(!L&&!(G($)||kt($)||nt($))&&E&&($=D,M=$),!L&&(!(G($)||kt($)||nt($))||!G(K)))return a?Vn:l;let O=!1;const N=()=>{O=!0},q=nt($)?$:Hi(e,l,K,$,M,N);if(O)return $;const B=zf(e,K,w,c),ue=df(B),me=Rf(e,q,ue);let J=n?n(me,l):me;if(_&&G(J)&&(J=ld(J)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:G(l)?l:nt($)?$.key:"",locale:K||(nt($)?$.locale:""),format:G($)?$:nt($)?$.source:"",message:J};_e.meta=We({},e.__meta,Of()||{}),gf(_e)}return J}function Df(e){Oe(e.list)?e.list=e.list.map(t=>G(t)?ni(t):t):le(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ni(e.named[t]))})}function Ui(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,d=c(e,n,o);let g=he(),_,L=null;const D="translate";for(let E=0;En;return c.locale=o,c.key=t,c}const l=r(n,Wf(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Rf(e,t,o){return t(o)}function Ka(...e){const[t,o,n]=e,a=he();if(!G(t)&&!Ee(t)&&!nt(t)&&!kt(t))throw Nt(xt.INVALID_ARGUMENT);const s=Ee(t)?String(t):(nt(t),t);return Ee(o)?a.plural=o:G(o)?a.default=o:ae(o)&&!Rn(o)?a.named=o:Oe(o)&&(a.list=o),Ee(n)?a.plural=n:G(n)?a.default=n:ae(n)&&We(a,n),[s,a]}function Wf(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>ad(t,o,r)}}function zf(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:d}=e,_={locale:t,modifiers:a,pluralRules:s,messages:L=>{let D=r(o,L);if(D==null&&d){const[,,E]=Ui(d,L,t,i,l,c);D=r(E,L)}if(G(D)||kt(D)){let E=!1;const U=Hi(e,L,t,D,L,()=>{E=!0});return E?Wi:U}else return nt(D)?D:Wi}};return e.processor&&(_.processor=e.processor),n.list&&(_.list=n.list),n.named&&(_.named=n.named),Ee(n.plural)&&(_.pluralIndex=n.plural),_}function ji(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,d,g]=qa(...t),_=$e(d.missingWarn)?d.missingWarn:e.missingWarn;$e(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const L=!!d.part,D=za(e,d),E=r(e,a,D);if(!G(l)||l==="")return new Intl.DateTimeFormat(D,g).format(c);let j={},U,K=null;const w="datetime format";for(let O=0;O{Vi.includes(l)?r[l]=o[l]:s[l]=o[l]}),G(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Bi(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Ki(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,d,g]=Ga(...t),_=$e(d.missingWarn)?d.missingWarn:e.missingWarn;$e(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const L=!!d.part,D=za(e,d),E=r(e,a,D);if(!G(l)||l==="")return new Intl.NumberFormat(D,g).format(c);let j={},U,K=null;const w="number format";for(let O=0;O{qi.includes(l)?r[l]=o[l]:s[l]=o[l]}),G(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Gi(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}jd();/*! + */function jd(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}function kt(e){return le(e)&&Wa(e)===0&&(pt(e,"b")||pt(e,"body"))}const hi=["b","body"];function Vd(e){return Bt(e,hi)}const gi=["c","cases"];function Bd(e){return Bt(e,gi,[])}const mi=["s","static"];function Kd(e){return Bt(e,mi)}const bi=["i","items"];function qd(e){return Bt(e,bi,[])}const $i=["t","type"];function Wa(e){return Bt(e,$i)}const _i=["v","value"];function jn(e,t){const o=Bt(e,_i);if(o!=null)return o;throw Jo(t)}const vi=["m","modifier"];function Gd(e){return Bt(e,vi)}const yi=["k","key"];function Xd(e){const t=Bt(e,yi);if(t)return t;throw Jo(6)}function Bt(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},_[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},_[2]=()=>{_[0](),a++},_[3]=()=>{if(a>0)a--,n=4,_[0]();else{if(a=0,r===void 0||(r=ef(r),r===!1))return!1;_[1]()}};function T(){const D=e[o+1];if(n===5&&D==="'"||n===6&&D==='"')return o++,i="\\"+D,_[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&T())){if(l=Qd(s),g=Kt[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(d=_[c[1]],d&&(i=s,d()===!1))))return;if(n===7)return t}}const ki=new Map;function of(e,t){return le(e)?e[t]:null}function nf(e,t){if(!le(e))return null;let o=ki.get(t);if(o||(o=tf(t),o&&ki.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,sf=e=>"",rf="text",lf=e=>e.length===0?"":dd(e),cf=ud;function xi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function pf(e){const t=Ee(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ee(e.named.count)||Ee(e.named.n))?Ee(e.named.count)?e.named.count:Ee(e.named.n)?e.named.n:t:t}function uf(e,t){t.count||(t.count=e),t.n||(t.n=e)}function df(e={}){const t=e.locale,o=pf(e),n=le(e.pluralRules)&&G(t)&&ye(e.pluralRules[t])?e.pluralRules[t]:xi,a=le(e.pluralRules)&&G(t)&&ye(e.pluralRules[t])?xi:void 0,s=U=>U[n(o,U.length,a)],r=e.list||[],i=U=>r[U],l=e.named||he();Ee(e.pluralIndex)&&uf(o,l);const c=U=>l[U];function d(U){const K=ye(e.messages)?e.messages(U):le(e.messages)?e.messages[U]:!1;return K||(e.parent?e.parent.message(U):sf)}const g=U=>e.modifiers?e.modifiers[U]:af,_=ae(e.processor)&&ye(e.processor.normalize)?e.processor.normalize:lf,T=ae(e.processor)&&ye(e.processor.interpolate)?e.processor.interpolate:cf,D=ae(e.processor)&&G(e.processor.type)?e.processor.type:rf,j={list:i,named:c,plural:s,linked:(U,...K)=>{const[w,$]=K;let M="text",O="";K.length===1?le(w)?(O=w.modifier||O,M=w.type||M):G(w)&&(O=w||O):K.length===2&&(G(w)&&(O=w||O),G($)&&(M=$||M));const N=d(U)(j),q=M==="vnode"&&Oe(N)&&O?N[0]:N;return O?g(O)(q,M):q},message:d,type:D,interpolate:T,normalize:_,values:We(he(),r,l)};return j}let Zo=null;function ff(e){Zo=e}function hf(e,t,o){Zo&&Zo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gf=mf("function:translate");function mf(e){return t=>Zo&&Zo.emit(e,t)}const bf=Da.__EXTEND_POINT__,to=Wn(bf),$f={FALLBACK_TO_TRANSLATE:to(),CANNOT_FORMAT_NUMBER:to(),FALLBACK_TO_NUMBER_FORMAT:to(),CANNOT_FORMAT_DATE:to(),FALLBACK_TO_DATE_FORMAT:to(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:to(),__EXTEND_POINT__:to()},Li=Y.__EXTEND_POINT__,oo=Wn(Li),xt={INVALID_ARGUMENT:Li,INVALID_DATE_ARGUMENT:oo(),INVALID_ISO_DATE_ARGUMENT:oo(),NOT_SUPPORT_NON_STRING_MESSAGE:oo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:oo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:oo(),NOT_SUPPORT_LOCALE_TYPE:oo(),__EXTEND_POINT__:oo()};function Nt(e){return _o(e,null,void 0)}function za(e,t){return t.locale!=null?Ti(t.locale):Ti(e.locale)}let Ua;function Ti(e){if(G(e))return e;if(ye(e)){if(e.resolvedOnce&&Ua!=null)return Ua;if(e.constructor.name==="Function"){const t=e();if(pd(t))throw Nt(xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ua=t}else throw Nt(xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Nt(xt.NOT_SUPPORT_LOCALE_TYPE)}function _f(e,t,o){return[...new Set([o,...Oe(t)?t:le(t)?Object.keys(t):G(t)?[t]:[o]])]}function Si(e,t,o){const n=G(o)?o:Qo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;Oe(r);)r=Oi(s,r,t);const i=Oe(t)||!ae(t)?t:t.default?t.default:null;r=G(i)?[i]:i,Oe(r)&&Oi(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Oi(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function kf(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&le(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&le(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?Ei(e):t==="vnode"&&le(e)&&"__v_isVNode"in e?Ei(e.children):e}}let Mi;function xf(e){Mi=e}let Ai;function Lf(e){Ai=e}let Ci;function Tf(e){Ci=e}let Ii=null;const Sf=e=>{Ii=e},Of=()=>Ii;let Ni=null;const Fi=e=>{Ni=e},Pf=()=>Ni;let Di=0;function Ef(e={}){const t=ye(e.onWarn)?e.onWarn:nd,o=G(e.version)?e.version:wf,n=G(e.locale)||ye(e.locale)?e.locale:Qo,a=ye(n)?Qo:n,s=Oe(e.fallbackLocale)||ae(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ae(e.messages)?e.messages:Ha(a),i=ae(e.datetimeFormats)?e.datetimeFormats:Ha(a),l=ae(e.numberFormats)?e.numberFormats:Ha(a),c=We(he(),e.modifiers,kf()),d=e.pluralRules||he(),g=ye(e.missing)?e.missing:null,_=$e(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,T=$e(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,D=!!e.fallbackFormat,E=!!e.unresolving,j=ye(e.postTranslation)?e.postTranslation:null,U=ae(e.processor)?e.processor:null,K=$e(e.warnHtmlMessage)?e.warnHtmlMessage:!0,w=!!e.escapeParameter,$=ye(e.messageCompiler)?e.messageCompiler:Mi,M=ye(e.messageResolver)?e.messageResolver:Ai||of,O=ye(e.localeFallbacker)?e.localeFallbacker:Ci||_f,N=le(e.fallbackContext)?e.fallbackContext:void 0,q=e,B=le(q.__datetimeFormatters)?q.__datetimeFormatters:new Map,ue=le(q.__numberFormatters)?q.__numberFormatters:new Map,me=le(q.__meta)?q.__meta:{};Di++;const J={version:o,cid:Di,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:d,missing:g,missingWarn:_,fallbackWarn:T,fallbackFormat:D,unresolving:E,postTranslation:j,processor:U,warnHtmlMessage:K,escapeParameter:w,messageCompiler:$,messageResolver:M,localeFallbacker:O,fallbackContext:N,onWarn:t,__meta:me};return J.datetimeFormats=i,J.numberFormats=l,J.__datetimeFormatters=B,J.__numberFormatters=ue,__INTLIFY_PROD_DEVTOOLS__&&hf(J,o,me),J}const Ha=e=>({[e]:he()});function ja(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return G(i)?i:t}else return t}function en(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Mf(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Af(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nCf(o,e)}function Cf(e,t){const o=Vd(t);if(o==null)throw Jo(0);if(Wa(o)===1){const s=Bd(o);return e.plural(s.reduce((r,i)=>[...r,Ri(e,i)],[]))}else return Ri(e,o)}function Ri(e,t){const o=Kd(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=qd(t).reduce((a,s)=>[...a,Ba(e,s)],[]);return e.normalize(n)}}function Ba(e,t){const o=Wa(t);switch(o){case 3:return jn(t,o);case 9:return jn(t,o);case 4:{const n=t;if(pt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(pt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Jo(o)}case 5:{const n=t;if(pt(n,"i")&&Ee(n.i))return e.interpolate(e.list(n.i));if(pt(n,"index")&&Ee(n.index))return e.interpolate(e.list(n.index));throw Jo(o)}case 6:{const n=t,a=Gd(n),s=Xd(n);return e.linked(Ba(e,s),a?Ba(e,a):void 0,e.type)}case 7:return jn(t,o);case 8:return jn(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const If=e=>e;let Bn=he();function Nf(e,t={}){let o=!1;const n=t.onError||_d;return t.onError=a=>{o=!0,n(a)},{...Hd(e,t),detectError:o}}function Ff(e,t){if(G(e)){$e(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||If)(e),a=Bn[n];if(a)return a;const{ast:s,detectError:r}=Nf(e,{...t,location:!1,jit:!0}),i=Va(s);return r?i:Bn[n]=i}else{const o=e.cacheKey;if(o){const n=Bn[o];return n||(Bn[o]=Va(e))}else return Va(e)}}const Wi=()=>"",nt=e=>ye(e);function zi(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Ka(...t),d=$e(c.missingWarn)?c.missingWarn:e.missingWarn,g=$e(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=$e(c.escapeParameter)?c.escapeParameter:e.escapeParameter,T=!!c.resolvedMessage,D=G(c.default)||$e(c.default)?$e(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",E=o||D!=="",j=za(e,c);_&&Df(c);let[U,K,w]=T?[l,j,i[j]||he()]:Ui(e,l,j,r,g,d),$=U,M=l;if(!T&&!(G($)||kt($)||nt($))&&E&&($=D,M=$),!T&&(!(G($)||kt($)||nt($))||!G(K)))return a?Vn:l;let O=!1;const N=()=>{O=!0},q=nt($)?$:Hi(e,l,K,$,M,N);if(O)return $;const B=zf(e,K,w,c),ue=df(B),me=Rf(e,q,ue);let J=n?n(me,l):me;if(_&&G(J)&&(J=ld(J)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:G(l)?l:nt($)?$.key:"",locale:K||(nt($)?$.locale:""),format:G($)?$:nt($)?$.source:"",message:J};_e.meta=We({},e.__meta,Of()||{}),gf(_e)}return J}function Df(e){Oe(e.list)?e.list=e.list.map(t=>G(t)?ni(t):t):le(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ni(e.named[t]))})}function Ui(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,d=c(e,n,o);let g=he(),_,T=null;const D="translate";for(let E=0;En;return c.locale=o,c.key=t,c}const l=r(n,Wf(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Rf(e,t,o){return t(o)}function Ka(...e){const[t,o,n]=e,a=he();if(!G(t)&&!Ee(t)&&!nt(t)&&!kt(t))throw Nt(xt.INVALID_ARGUMENT);const s=Ee(t)?String(t):(nt(t),t);return Ee(o)?a.plural=o:G(o)?a.default=o:ae(o)&&!Rn(o)?a.named=o:Oe(o)&&(a.list=o),Ee(n)?a.plural=n:G(n)?a.default=n:ae(n)&&We(a,n),[s,a]}function Wf(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>ad(t,o,r)}}function zf(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:d}=e,_={locale:t,modifiers:a,pluralRules:s,messages:T=>{let D=r(o,T);if(D==null&&d){const[,,E]=Ui(d,T,t,i,l,c);D=r(E,T)}if(G(D)||kt(D)){let E=!1;const U=Hi(e,T,t,D,T,()=>{E=!0});return E?Wi:U}else return nt(D)?D:Wi}};return e.processor&&(_.processor=e.processor),n.list&&(_.list=n.list),n.named&&(_.named=n.named),Ee(n.plural)&&(_.pluralIndex=n.plural),_}function ji(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,d,g]=qa(...t),_=$e(d.missingWarn)?d.missingWarn:e.missingWarn;$e(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const T=!!d.part,D=za(e,d),E=r(e,a,D);if(!G(l)||l==="")return new Intl.DateTimeFormat(D,g).format(c);let j={},U,K=null;const w="datetime format";for(let O=0;O{Vi.includes(l)?r[l]=o[l]:s[l]=o[l]}),G(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Bi(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Ki(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,d,g]=Ga(...t),_=$e(d.missingWarn)?d.missingWarn:e.missingWarn;$e(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const T=!!d.part,D=za(e,d),E=r(e,a,D);if(!G(l)||l==="")return new Intl.NumberFormat(D,g).format(c);let j={},U,K=null;const w="number format";for(let O=0;O{qi.includes(l)?r[l]=o[l]:s[l]=o[l]}),G(n)?s.locale=n:ae(n)&&(r=n),ae(a)&&(r=a),[s.key||"",i,s,r]}function Gi(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}jd();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Uf="9.14.5";function Hf(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const jf=$f.__EXTEND_POINT__,Ft=Wn(jf);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const Xi=xt.__EXTEND_POINT__,qe=Wn(Xi),Dt={UNEXPECTED_RETURN_TYPE:Xi,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function qt(e,...t){return _o(e,null,void 0)}const Xa=eo("__translateVNode"),Ya=eo("__datetimeParts"),Ja=eo("__numberParts"),Vf=eo("__setPluralRules"),Yi=eo("__injectWithOption"),Za=eo("__dispose");function tn(e){if(!le(e)||kt(e))return e;for(const t in e)if(pt(e,t))if(!t.includes("."))le(e[t])&&tn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||he(),Un(c,r[l])):Un(c,r)}else G(i)&&Un(JSON.parse(i),r)}),a==null&&s)for(const i in r)pt(r,i)&&tn(r[i]);return r}function Ji(e){return e.type}function Bf(e,t,o){let n=le(t.messages)?t.messages:he();"__i18nGlobal"in o&&(n=Qa(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(le(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(le(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Zi(e){return Fe(Wo,null,e,0)}const Qi="__INTLIFY_META__",el=()=>[],Kf=()=>!1;let tl=0;function ol(e){return(t,o,n,a)=>e(o,n,jo()||void 0,a)}const qf=()=>{const e=jo();let t=null;return e&&(t=Ji(e)[Qi])?{[Qi]:t}:null};function Gf(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=ti?Se:Rs,i=!!e.translateExistCompatible;let l=$e(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:G(e.locale)?e.locale:Qo),d=r(o&&l?o.fallbackLocale.value:G(e.fallbackLocale)||Oe(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=r(Qa(c.value,e)),_=r(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),L=r(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let D=o?o.missingWarn:$e(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,E=o?o.fallbackWarn:$e(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,j=o?o.fallbackRoot:$e(e.fallbackRoot)?e.fallbackRoot:!0,U=!!e.fallbackFormat,K=ye(e.missing)?e.missing:null,w=ye(e.missing)?ol(e.missing):null,$=ye(e.postTranslation)?e.postTranslation:null,M=o?o.warnHtmlMessage:$e(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const N=o?o.modifiers:ae(e.modifiers)?e.modifiers:{};let q=e.pluralRules||o&&o.pluralRules,B;B=(()=>{a&&Fi(null);const v={version:Uf,locale:c.value,fallbackLocale:d.value,messages:g.value,modifiers:N,pluralRules:q,missing:w===null?void 0:w,missingWarn:D,fallbackWarn:E,fallbackFormat:U,unresolving:!0,postTranslation:$===null?void 0:$,warnHtmlMessage:M,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};v.datetimeFormats=_.value,v.numberFormats=L.value,v.__datetimeFormatters=ae(B)?B.__datetimeFormatters:void 0,v.__numberFormatters=ae(B)?B.__numberFormatters:void 0;const T=Ef(v);return a&&Fi(T),T})(),en(B,c.value,d.value);function me(){return[c.value,d.value,g.value,_.value,L.value]}const J=ot({get:()=>c.value,set:v=>{c.value=v,B.locale=c.value}}),_e=ot({get:()=>d.value,set:v=>{d.value=v,B.fallbackLocale=d.value,en(B,c.value,v)}}),Le=ot(()=>g.value),Me=ot(()=>_.value),ne=ot(()=>L.value);function re(){return ye($)?$:null}function se(v){$=v,B.postTranslation=v}function Ve(){return K}function at(v){v!==null&&(w=ol(v)),K=v,B.missing=w}const ke=(v,T,b,I,V,Q)=>{me();let ee;try{__INTLIFY_PROD_DEVTOOLS__,a||(B.fallbackContext=o?Pf():void 0),ee=v(B)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(B.fallbackContext=void 0)}if(b!=="translate exists"&&Ee(ee)&&ee===Vn||b==="translate exists"&&!ee){const[fe,Qe]=T();return o&&j?I(o):V(fe)}else{if(Q(ee))return ee;throw qt(Dt.UNEXPECTED_RETURN_TYPE)}};function we(...v){return ke(T=>Reflect.apply(zi,null,[T,...v]),()=>Ka(...v),"translate",T=>Reflect.apply(T.t,T,[...v]),T=>T,T=>G(T))}function Ze(...v){const[T,b,I]=v;if(I&&!le(I))throw qt(Dt.INVALID_ARGUMENT);return we(T,b,We({resolvedMessage:!0},I||{}))}function dt(...v){return ke(T=>Reflect.apply(ji,null,[T,...v]),()=>qa(...v),"datetime format",T=>Reflect.apply(T.d,T,[...v]),()=>Pi,T=>G(T))}function Rt(...v){return ke(T=>Reflect.apply(Ki,null,[T,...v]),()=>Ga(...v),"number format",T=>Reflect.apply(T.n,T,[...v]),()=>Pi,T=>G(T))}function Ae(v){return v.map(T=>G(T)||Ee(T)||$e(T)?Zi(String(T)):T)}const ft={normalize:Ae,interpolate:v=>v,type:"vnode"};function ze(...v){return ke(T=>{let b;const I=T;try{I.processor=ft,b=Reflect.apply(zi,null,[I,...v])}finally{I.processor=null}return b},()=>Ka(...v),"translate",T=>T[Xa](...v),T=>[Zi(T)],T=>Oe(T))}function Ge(...v){return ke(T=>Reflect.apply(Ki,null,[T,...v]),()=>Ga(...v),"number format",T=>T[Ja](...v),el,T=>G(T)||Oe(T))}function Wt(...v){return ke(T=>Reflect.apply(ji,null,[T,...v]),()=>qa(...v),"datetime format",T=>T[Ya](...v),el,T=>G(T)||Oe(T))}function f(v){q=v,B.pluralRules=q}function m(v,T){return ke(()=>{if(!v)return!1;const b=G(T)?T:c.value,I=P(b),V=B.messageResolver(I,v);return i?V!=null:kt(V)||nt(V)||G(V)},()=>[v],"translate exists",b=>Reflect.apply(b.te,b,[v,T]),Kf,b=>$e(b))}function h(v){let T=null;const b=Si(B,d.value,c.value);for(let I=0;I{l&&(c.value=v,B.locale=v,en(B,c.value,d.value))}),Ht(o.fallbackLocale,v=>{l&&(d.value=v,B.fallbackLocale=v,en(B,c.value,d.value))}));const A={id:tl,locale:J,fallbackLocale:_e,get inheritLocale(){return l},set inheritLocale(v){l=v,v&&o&&(c.value=o.locale.value,d.value=o.fallbackLocale.value,en(B,c.value,d.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:Le,get modifiers(){return N},get pluralRules(){return q||{}},get isGlobal(){return a},get missingWarn(){return D},set missingWarn(v){D=v,B.missingWarn=D},get fallbackWarn(){return E},set fallbackWarn(v){E=v,B.fallbackWarn=E},get fallbackRoot(){return j},set fallbackRoot(v){j=v},get fallbackFormat(){return U},set fallbackFormat(v){U=v,B.fallbackFormat=U},get warnHtmlMessage(){return M},set warnHtmlMessage(v){M=v,B.warnHtmlMessage=v},get escapeParameter(){return O},set escapeParameter(v){O=v,B.escapeParameter=v},t:we,getLocaleMessage:P,setLocaleMessage:S,mergeLocaleMessage:W,getPostTranslationHandler:re,setPostTranslationHandler:se,getMissingHandler:Ve,setMissingHandler:at,[Vf]:f};return A.datetimeFormats=Me,A.numberFormats=ne,A.rt=Ze,A.te=m,A.tm=x,A.d=dt,A.n=Rt,A.getDateTimeFormat=R,A.setDateTimeFormat=u,A.mergeDateTimeFormat=p,A.getNumberFormat=y,A.setNumberFormat=k,A.mergeNumberFormat=H,A[Yi]=n,A[Xa]=ze,A[Ya]=Wt,A[Ja]=Ge,A}const es={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Xf({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===oe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},he())}function nl(e){return oe}We({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ee(e)||!isNaN(e)}},es);function Yf(e){return Oe(e)&&!G(e[0])}function al(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=he();e.locale&&(r.locale=e.locale),G(e.format)?r.key=e.format:le(e.format)&&(G(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((_,L)=>o.includes(L)?We(he(),_,{[L]:e.format[L]}):_,he()));const l=n(e.value,r,i);let c=[r.key];Oe(l)?c=l.map((_,L)=>{const D=a[_.type],E=D?D({[_.type]:_.value,index:L,parts:l}):[_.value];return Yf(E)&&(E[0].key=`${_.type}-${L}`),E}):G(l)&&(c=[l]);const d=We(he(),s),g=G(e.tag)||le(e.tag)?e.tag:nl();return Rr(g,d,c)}}We({value:{type:Number,required:!0},format:{type:[String,Object]}},es),We({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},es);const Jf=eo("global-vue-i18n");function Kn(e={}){const t=jo();if(t==null)throw qt(Dt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw qt(Dt.NOT_INSTALLED);const o=Zf(t),n=eh(o),a=Ji(t),s=Qf(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw qt(Dt.NOT_AVAILABLE_IN_LEGACY_MODE);return ah(t,s,n,e)}if(s==="global")return Bf(n,e,a),n;if(s==="parent"){let l=th(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=We({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Gf(l),r.__composerExtend&&(i[Za]=r.__composerExtend(i)),nh(r,t,i),r.__setInstance(t,i)}return i}function Zf(e){{const t=po(e.isCE?Jf:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw qt(e.isCE?Dt.NOT_INSTALLED_WITH_PROVIDE:Dt.UNEXPECTED_ERROR);return t}}function Qf(e,t){return Rn(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function eh(e){return e.mode==="composition"?e.global:e.global.__composer}function th(e,t,o=!1){let n=null;const a=t.root;let s=oh(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Yi]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function oh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function nh(e,t,o){ho(()=>{},t),ya(()=>{const n=o;e.__deleteInstance(t);const a=n[Za];a&&(a(),delete n[Za])},t)}function ah(e,t,o,n={}){const a=t==="local",s=Rs(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw qt(Dt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=$e(n.inheritLocale)?n.inheritLocale:!G(n.locale),i=Se(!a||r?o.locale.value:G(n.locale)?n.locale:Qo),l=Se(!a||r?o.fallbackLocale.value:G(n.fallbackLocale)||Oe(n.fallbackLocale)||ae(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=Se(Qa(i.value,n)),d=Se(ae(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=Se(ae(n.numberFormats)?n.numberFormats:{[i.value]:{}}),_=a?o.missingWarn:$e(n.missingWarn)||$o(n.missingWarn)?n.missingWarn:!0,L=a?o.fallbackWarn:$e(n.fallbackWarn)||$o(n.fallbackWarn)?n.fallbackWarn:!0,D=a?o.fallbackRoot:$e(n.fallbackRoot)?n.fallbackRoot:!0,E=!!n.fallbackFormat,j=ye(n.missing)?n.missing:null,U=ye(n.postTranslation)?n.postTranslation:null,K=a?o.warnHtmlMessage:$e(n.warnHtmlMessage)?n.warnHtmlMessage:!0,w=!!n.escapeParameter,$=a?o.modifiers:ae(n.modifiers)?n.modifiers:{},M=n.pluralRules||a&&o.pluralRules;function O(){return[i.value,l.value,c.value,d.value,g.value]}const N=ot({get:()=>s.value?s.value.locale.value:i.value,set:h=>{s.value&&(s.value.locale.value=h),i.value=h}}),q=ot({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),B=ot(()=>s.value?s.value.messages.value:c.value),ue=ot(()=>d.value),me=ot(()=>g.value);function J(){return s.value?s.value.getPostTranslationHandler():U}function _e(h){s.value&&s.value.setPostTranslationHandler(h)}function Le(){return s.value?s.value.getMissingHandler():j}function Me(h){s.value&&s.value.setMissingHandler(h)}function ne(h){return O(),h()}function re(...h){return s.value?ne(()=>Reflect.apply(s.value.t,null,[...h])):ne(()=>"")}function se(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function Ve(...h){return s.value?ne(()=>Reflect.apply(s.value.d,null,[...h])):ne(()=>"")}function at(...h){return s.value?ne(()=>Reflect.apply(s.value.n,null,[...h])):ne(()=>"")}function ke(h){return s.value?s.value.tm(h):{}}function we(h,x){return s.value?s.value.te(h,x):!1}function Ze(h){return s.value?s.value.getLocaleMessage(h):{}}function dt(h,x){s.value&&(s.value.setLocaleMessage(h,x),c.value[h]=x)}function Rt(h,x){s.value&&s.value.mergeLocaleMessage(h,x)}function Ae(h){return s.value?s.value.getDateTimeFormat(h):{}}function st(h,x){s.value&&(s.value.setDateTimeFormat(h,x),d.value[h]=x)}function ft(h,x){s.value&&s.value.mergeDateTimeFormat(h,x)}function ze(h){return s.value?s.value.getNumberFormat(h):{}}function Ge(h,x){s.value&&(s.value.setNumberFormat(h,x),g.value[h]=x)}function Wt(h,x){s.value&&s.value.mergeNumberFormat(h,x)}const f={get id(){return s.value?s.value.id:-1},locale:N,fallbackLocale:q,messages:B,datetimeFormats:ue,numberFormats:me,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:$},get pluralRules(){return s.value?s.value.pluralRules:M},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:_},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:L},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:D},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:E},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:K},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:w},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:re,getPostTranslationHandler:J,setPostTranslationHandler:_e,getMissingHandler:Le,setMissingHandler:Me,rt:se,d:Ve,n:at,tm:ke,te:we,getLocaleMessage:Ze,setLocaleMessage:dt,mergeLocaleMessage:Rt,getDateTimeFormat:Ae,setDateTimeFormat:st,mergeDateTimeFormat:ft,getNumberFormat:ze,setNumberFormat:Ge,mergeNumberFormat:Wt};function m(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(x=>{h.mergeLocaleMessage(x,c.value[x])}),Object.keys(d.value).forEach(x=>{h.mergeDateTimeFormat(x,d.value[x])}),Object.keys(g.value).forEach(x=>{h.mergeNumberFormat(x,g.value[x])}),h.escapeParameter=w,h.fallbackFormat=E,h.fallbackRoot=D,h.fallbackWarn=L,h.missingWarn=_,h.warnHtmlMessage=K}return tr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw qt(Dt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,d.value=h.datetimeFormats.value,g.value=h.numberFormats.value):a&&m(h)}),f}if(Hf(),xf(Ff),Tf(nf),Lf(Si),__INTLIFY_PROD_DEVTOOLS__){const e=Yo();e.__INTLIFY__=!0,ff(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const sh=Object.assign({"./locales/ar/buttons.json":ou,"./locales/ar/grid.json":nu,"./locales/ar/mapInfo.json":au,"./locales/ar/messages.json":su,"./locales/ar/pins.json":ru,"./locales/de/buttons.json":iu,"./locales/de/grid.json":lu,"./locales/de/mapInfo.json":cu,"./locales/de/messages.json":pu,"./locales/de/pins.json":uu,"./locales/en/buttons.json":du,"./locales/en/grid.json":fu,"./locales/en/mapInfo.json":hu,"./locales/en/messages.json":gu,"./locales/en/pins.json":mu,"./locales/es/buttons.json":bu,"./locales/es/grid.json":$u,"./locales/es/mapInfo.json":_u,"./locales/es/messages.json":vu,"./locales/es/pins.json":yu,"./locales/fr/buttons.json":wu,"./locales/fr/grid.json":ku,"./locales/fr/mapInfo.json":xu,"./locales/fr/messages.json":Tu,"./locales/fr/pins.json":Lu,"./locales/hi/buttons.json":Su,"./locales/hi/grid.json":Ou,"./locales/hi/mapInfo.json":Pu,"./locales/hi/messages.json":Eu,"./locales/hi/pins.json":Mu,"./locales/it/buttons.json":Au,"./locales/it/grid.json":Cu,"./locales/it/mapInfo.json":Iu,"./locales/it/messages.json":Nu,"./locales/it/pins.json":Fu,"./locales/pt/buttons.json":Du,"./locales/pt/grid.json":Ru,"./locales/pt/mapInfo.json":Wu,"./locales/pt/messages.json":zu,"./locales/pt/pins.json":Uu,"./locales/ro/buttons.json":Hu,"./locales/ro/grid.json":ju,"./locales/ro/mapInfo.json":Vu,"./locales/ro/messages.json":Bu,"./locales/ro/pins.json":Ku,"./locales/ru/buttons.json":qu,"./locales/ru/grid.json":Gu,"./locales/ru/mapInfo.json":Xu,"./locales/ru/messages.json":Yu,"./locales/ru/pins.json":Ju,"./locales/zh/buttons.json":Zu,"./locales/zh/grid.json":Qu,"./locales/zh/mapInfo.json":ed,"./locales/zh/messages.json":td,"./locales/zh/pins.json":od}),Gt={};for(const[e,t]of Object.entries(sh)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Gt[n]??(Gt[n]={}),Gt[n][a]=t}const sl=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),rl=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},ts=new Map;let il=null;function rh(e,t){const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!os.includes(o))return Promise.resolve(o==="en");if(Gt[o])return Promise.resolve(!0);if(ts.has(o))return ts.get(o).then(a=>a);if(!rl[o])return Promise.resolve(!!Gt[o]);const n=(async()=>{var a,s;try{if(!sl)return!1;const r=new URL(`locales/${o}.json`,sl).href,i=await fetch(r,{integrity:rl[o]});if(!i.ok)return!1;const l=await i.json();return!l||typeof l!="object"?!1:(Gt[o]=l,(s=(a=e==null?void 0:e.global)==null?void 0:a.setLocaleMessage)==null||s.call(a,o,l),!0)}catch{return!1}})();return ts.set(o,n),n}const os=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ih(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function ll(){var n;const e=ih();if(os.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return os.includes(o)?o:"en"}try{il=rh(null,ll())}catch{il=null}const lh="__DOXA_PAGE_LOCALE",ch=["zero","one","two","few","many","other"];function cl(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const a=n.select(e),s=n.resolvedOptions().pluralCategories,r=ch.filter(l=>s.includes(l));let i=r.indexOf(a);if(i<0&&(i=r.indexOf("other")),i>=t){const l=r.indexOf("other");i=l>=0&&l[e,(t,o)=>cl(t,o,e)]));function ns(){try{return typeof window<"u"&&window[lh]||""}catch{return""}}function wo(e,t){const o=a=>{let s=Gt[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||ns()||ll();return o(n)??o("en")}function pl(e,t){const o=jo(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:uh(e));ho(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;if(!s.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=ph,s.appendChild(c)}const r=s.querySelector(`style[data-shadow-styles="${n}"]`);if(r){r.textContent!==e&&(r.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}const ph=`@media (prefers-reduced-motion: reduce) { + */const Uf="9.14.5";function Hf(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const jf=$f.__EXTEND_POINT__,Ft=Wn(jf);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const Xi=xt.__EXTEND_POINT__,qe=Wn(Xi),Dt={UNEXPECTED_RETURN_TYPE:Xi,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function qt(e,...t){return _o(e,null,void 0)}const Xa=eo("__translateVNode"),Ya=eo("__datetimeParts"),Ja=eo("__numberParts"),Vf=eo("__setPluralRules"),Yi=eo("__injectWithOption"),Za=eo("__dispose");function tn(e){if(!le(e)||kt(e))return e;for(const t in e)if(pt(e,t))if(!t.includes("."))le(e[t])&&tn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||he(),Un(c,r[l])):Un(c,r)}else G(i)&&Un(JSON.parse(i),r)}),a==null&&s)for(const i in r)pt(r,i)&&tn(r[i]);return r}function Ji(e){return e.type}function Bf(e,t,o){let n=le(t.messages)?t.messages:he();"__i18nGlobal"in o&&(n=Qa(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(le(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(le(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Zi(e){return Fe(Wo,null,e,0)}const Qi="__INTLIFY_META__",el=()=>[],Kf=()=>!1;let tl=0;function ol(e){return(t,o,n,a)=>e(o,n,jo()||void 0,a)}const qf=()=>{const e=jo();let t=null;return e&&(t=Ji(e)[Qi])?{[Qi]:t}:null};function Gf(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=ti?Se:Rs,i=!!e.translateExistCompatible;let l=$e(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:G(e.locale)?e.locale:Qo),d=r(o&&l?o.fallbackLocale.value:G(e.fallbackLocale)||Oe(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=r(Qa(c.value,e)),_=r(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),T=r(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let D=o?o.missingWarn:$e(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,E=o?o.fallbackWarn:$e(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,j=o?o.fallbackRoot:$e(e.fallbackRoot)?e.fallbackRoot:!0,U=!!e.fallbackFormat,K=ye(e.missing)?e.missing:null,w=ye(e.missing)?ol(e.missing):null,$=ye(e.postTranslation)?e.postTranslation:null,M=o?o.warnHtmlMessage:$e(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const N=o?o.modifiers:ae(e.modifiers)?e.modifiers:{};let q=e.pluralRules||o&&o.pluralRules,B;B=(()=>{a&&Fi(null);const v={version:Uf,locale:c.value,fallbackLocale:d.value,messages:g.value,modifiers:N,pluralRules:q,missing:w===null?void 0:w,missingWarn:D,fallbackWarn:E,fallbackFormat:U,unresolving:!0,postTranslation:$===null?void 0:$,warnHtmlMessage:M,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};v.datetimeFormats=_.value,v.numberFormats=T.value,v.__datetimeFormatters=ae(B)?B.__datetimeFormatters:void 0,v.__numberFormatters=ae(B)?B.__numberFormatters:void 0;const L=Ef(v);return a&&Fi(L),L})(),en(B,c.value,d.value);function me(){return[c.value,d.value,g.value,_.value,T.value]}const J=ot({get:()=>c.value,set:v=>{c.value=v,B.locale=c.value}}),_e=ot({get:()=>d.value,set:v=>{d.value=v,B.fallbackLocale=d.value,en(B,c.value,v)}}),Te=ot(()=>g.value),Me=ot(()=>_.value),ne=ot(()=>T.value);function re(){return ye($)?$:null}function se(v){$=v,B.postTranslation=v}function Ve(){return K}function at(v){v!==null&&(w=ol(v)),K=v,B.missing=w}const ke=(v,L,b,I,V,Q)=>{me();let ee;try{__INTLIFY_PROD_DEVTOOLS__,a||(B.fallbackContext=o?Pf():void 0),ee=v(B)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(B.fallbackContext=void 0)}if(b!=="translate exists"&&Ee(ee)&&ee===Vn||b==="translate exists"&&!ee){const[fe,Qe]=L();return o&&j?I(o):V(fe)}else{if(Q(ee))return ee;throw qt(Dt.UNEXPECTED_RETURN_TYPE)}};function we(...v){return ke(L=>Reflect.apply(zi,null,[L,...v]),()=>Ka(...v),"translate",L=>Reflect.apply(L.t,L,[...v]),L=>L,L=>G(L))}function Ze(...v){const[L,b,I]=v;if(I&&!le(I))throw qt(Dt.INVALID_ARGUMENT);return we(L,b,We({resolvedMessage:!0},I||{}))}function dt(...v){return ke(L=>Reflect.apply(ji,null,[L,...v]),()=>qa(...v),"datetime format",L=>Reflect.apply(L.d,L,[...v]),()=>Pi,L=>G(L))}function Rt(...v){return ke(L=>Reflect.apply(Ki,null,[L,...v]),()=>Ga(...v),"number format",L=>Reflect.apply(L.n,L,[...v]),()=>Pi,L=>G(L))}function Ae(v){return v.map(L=>G(L)||Ee(L)||$e(L)?Zi(String(L)):L)}const ft={normalize:Ae,interpolate:v=>v,type:"vnode"};function ze(...v){return ke(L=>{let b;const I=L;try{I.processor=ft,b=Reflect.apply(zi,null,[I,...v])}finally{I.processor=null}return b},()=>Ka(...v),"translate",L=>L[Xa](...v),L=>[Zi(L)],L=>Oe(L))}function Ge(...v){return ke(L=>Reflect.apply(Ki,null,[L,...v]),()=>Ga(...v),"number format",L=>L[Ja](...v),el,L=>G(L)||Oe(L))}function Wt(...v){return ke(L=>Reflect.apply(ji,null,[L,...v]),()=>qa(...v),"datetime format",L=>L[Ya](...v),el,L=>G(L)||Oe(L))}function f(v){q=v,B.pluralRules=q}function m(v,L){return ke(()=>{if(!v)return!1;const b=G(L)?L:c.value,I=P(b),V=B.messageResolver(I,v);return i?V!=null:kt(V)||nt(V)||G(V)},()=>[v],"translate exists",b=>Reflect.apply(b.te,b,[v,L]),Kf,b=>$e(b))}function h(v){let L=null;const b=Si(B,d.value,c.value);for(let I=0;I{l&&(c.value=v,B.locale=v,en(B,c.value,d.value))}),Ht(o.fallbackLocale,v=>{l&&(d.value=v,B.fallbackLocale=v,en(B,c.value,d.value))}));const A={id:tl,locale:J,fallbackLocale:_e,get inheritLocale(){return l},set inheritLocale(v){l=v,v&&o&&(c.value=o.locale.value,d.value=o.fallbackLocale.value,en(B,c.value,d.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:Te,get modifiers(){return N},get pluralRules(){return q||{}},get isGlobal(){return a},get missingWarn(){return D},set missingWarn(v){D=v,B.missingWarn=D},get fallbackWarn(){return E},set fallbackWarn(v){E=v,B.fallbackWarn=E},get fallbackRoot(){return j},set fallbackRoot(v){j=v},get fallbackFormat(){return U},set fallbackFormat(v){U=v,B.fallbackFormat=U},get warnHtmlMessage(){return M},set warnHtmlMessage(v){M=v,B.warnHtmlMessage=v},get escapeParameter(){return O},set escapeParameter(v){O=v,B.escapeParameter=v},t:we,getLocaleMessage:P,setLocaleMessage:S,mergeLocaleMessage:W,getPostTranslationHandler:re,setPostTranslationHandler:se,getMissingHandler:Ve,setMissingHandler:at,[Vf]:f};return A.datetimeFormats=Me,A.numberFormats=ne,A.rt=Ze,A.te=m,A.tm=x,A.d=dt,A.n=Rt,A.getDateTimeFormat=R,A.setDateTimeFormat=u,A.mergeDateTimeFormat=p,A.getNumberFormat=y,A.setNumberFormat=k,A.mergeNumberFormat=H,A[Yi]=n,A[Xa]=ze,A[Ya]=Wt,A[Ja]=Ge,A}const es={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Xf({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===oe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},he())}function nl(e){return oe}We({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ee(e)||!isNaN(e)}},es);function Yf(e){return Oe(e)&&!G(e[0])}function al(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=he();e.locale&&(r.locale=e.locale),G(e.format)?r.key=e.format:le(e.format)&&(G(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((_,T)=>o.includes(T)?We(he(),_,{[T]:e.format[T]}):_,he()));const l=n(e.value,r,i);let c=[r.key];Oe(l)?c=l.map((_,T)=>{const D=a[_.type],E=D?D({[_.type]:_.value,index:T,parts:l}):[_.value];return Yf(E)&&(E[0].key=`${_.type}-${T}`),E}):G(l)&&(c=[l]);const d=We(he(),s),g=G(e.tag)||le(e.tag)?e.tag:nl();return Rr(g,d,c)}}We({value:{type:Number,required:!0},format:{type:[String,Object]}},es),We({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},es);const Jf=eo("global-vue-i18n");function Kn(e={}){const t=jo();if(t==null)throw qt(Dt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw qt(Dt.NOT_INSTALLED);const o=Zf(t),n=eh(o),a=Ji(t),s=Qf(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw qt(Dt.NOT_AVAILABLE_IN_LEGACY_MODE);return ah(t,s,n,e)}if(s==="global")return Bf(n,e,a),n;if(s==="parent"){let l=th(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=We({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Gf(l),r.__composerExtend&&(i[Za]=r.__composerExtend(i)),nh(r,t,i),r.__setInstance(t,i)}return i}function Zf(e){{const t=po(e.isCE?Jf:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw qt(e.isCE?Dt.NOT_INSTALLED_WITH_PROVIDE:Dt.UNEXPECTED_ERROR);return t}}function Qf(e,t){return Rn(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function eh(e){return e.mode==="composition"?e.global:e.global.__composer}function th(e,t,o=!1){let n=null;const a=t.root;let s=oh(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Yi]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function oh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function nh(e,t,o){ho(()=>{},t),ya(()=>{const n=o;e.__deleteInstance(t);const a=n[Za];a&&(a(),delete n[Za])},t)}function ah(e,t,o,n={}){const a=t==="local",s=Rs(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw qt(Dt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=$e(n.inheritLocale)?n.inheritLocale:!G(n.locale),i=Se(!a||r?o.locale.value:G(n.locale)?n.locale:Qo),l=Se(!a||r?o.fallbackLocale.value:G(n.fallbackLocale)||Oe(n.fallbackLocale)||ae(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=Se(Qa(i.value,n)),d=Se(ae(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=Se(ae(n.numberFormats)?n.numberFormats:{[i.value]:{}}),_=a?o.missingWarn:$e(n.missingWarn)||$o(n.missingWarn)?n.missingWarn:!0,T=a?o.fallbackWarn:$e(n.fallbackWarn)||$o(n.fallbackWarn)?n.fallbackWarn:!0,D=a?o.fallbackRoot:$e(n.fallbackRoot)?n.fallbackRoot:!0,E=!!n.fallbackFormat,j=ye(n.missing)?n.missing:null,U=ye(n.postTranslation)?n.postTranslation:null,K=a?o.warnHtmlMessage:$e(n.warnHtmlMessage)?n.warnHtmlMessage:!0,w=!!n.escapeParameter,$=a?o.modifiers:ae(n.modifiers)?n.modifiers:{},M=n.pluralRules||a&&o.pluralRules;function O(){return[i.value,l.value,c.value,d.value,g.value]}const N=ot({get:()=>s.value?s.value.locale.value:i.value,set:h=>{s.value&&(s.value.locale.value=h),i.value=h}}),q=ot({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),B=ot(()=>s.value?s.value.messages.value:c.value),ue=ot(()=>d.value),me=ot(()=>g.value);function J(){return s.value?s.value.getPostTranslationHandler():U}function _e(h){s.value&&s.value.setPostTranslationHandler(h)}function Te(){return s.value?s.value.getMissingHandler():j}function Me(h){s.value&&s.value.setMissingHandler(h)}function ne(h){return O(),h()}function re(...h){return s.value?ne(()=>Reflect.apply(s.value.t,null,[...h])):ne(()=>"")}function se(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function Ve(...h){return s.value?ne(()=>Reflect.apply(s.value.d,null,[...h])):ne(()=>"")}function at(...h){return s.value?ne(()=>Reflect.apply(s.value.n,null,[...h])):ne(()=>"")}function ke(h){return s.value?s.value.tm(h):{}}function we(h,x){return s.value?s.value.te(h,x):!1}function Ze(h){return s.value?s.value.getLocaleMessage(h):{}}function dt(h,x){s.value&&(s.value.setLocaleMessage(h,x),c.value[h]=x)}function Rt(h,x){s.value&&s.value.mergeLocaleMessage(h,x)}function Ae(h){return s.value?s.value.getDateTimeFormat(h):{}}function st(h,x){s.value&&(s.value.setDateTimeFormat(h,x),d.value[h]=x)}function ft(h,x){s.value&&s.value.mergeDateTimeFormat(h,x)}function ze(h){return s.value?s.value.getNumberFormat(h):{}}function Ge(h,x){s.value&&(s.value.setNumberFormat(h,x),g.value[h]=x)}function Wt(h,x){s.value&&s.value.mergeNumberFormat(h,x)}const f={get id(){return s.value?s.value.id:-1},locale:N,fallbackLocale:q,messages:B,datetimeFormats:ue,numberFormats:me,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:$},get pluralRules(){return s.value?s.value.pluralRules:M},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:_},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:T},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:D},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:E},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:K},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:w},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:re,getPostTranslationHandler:J,setPostTranslationHandler:_e,getMissingHandler:Te,setMissingHandler:Me,rt:se,d:Ve,n:at,tm:ke,te:we,getLocaleMessage:Ze,setLocaleMessage:dt,mergeLocaleMessage:Rt,getDateTimeFormat:Ae,setDateTimeFormat:st,mergeDateTimeFormat:ft,getNumberFormat:ze,setNumberFormat:Ge,mergeNumberFormat:Wt};function m(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(x=>{h.mergeLocaleMessage(x,c.value[x])}),Object.keys(d.value).forEach(x=>{h.mergeDateTimeFormat(x,d.value[x])}),Object.keys(g.value).forEach(x=>{h.mergeNumberFormat(x,g.value[x])}),h.escapeParameter=w,h.fallbackFormat=E,h.fallbackRoot=D,h.fallbackWarn=T,h.missingWarn=_,h.warnHtmlMessage=K}return tr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw qt(Dt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,d.value=h.datetimeFormats.value,g.value=h.numberFormats.value):a&&m(h)}),f}if(Hf(),xf(Ff),Lf(nf),Tf(Si),__INTLIFY_PROD_DEVTOOLS__){const e=Yo();e.__INTLIFY__=!0,ff(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const sh=Object.assign({"./locales/ar/buttons.json":ou,"./locales/ar/grid.json":nu,"./locales/ar/mapInfo.json":au,"./locales/ar/messages.json":su,"./locales/ar/pins.json":ru,"./locales/de/buttons.json":iu,"./locales/de/grid.json":lu,"./locales/de/mapInfo.json":cu,"./locales/de/messages.json":pu,"./locales/de/pins.json":uu,"./locales/en/buttons.json":du,"./locales/en/grid.json":fu,"./locales/en/mapInfo.json":hu,"./locales/en/messages.json":gu,"./locales/en/pins.json":mu,"./locales/es/buttons.json":bu,"./locales/es/grid.json":$u,"./locales/es/mapInfo.json":_u,"./locales/es/messages.json":vu,"./locales/es/pins.json":yu,"./locales/fr/buttons.json":wu,"./locales/fr/grid.json":ku,"./locales/fr/mapInfo.json":xu,"./locales/fr/messages.json":Lu,"./locales/fr/pins.json":Tu,"./locales/hi/buttons.json":Su,"./locales/hi/grid.json":Ou,"./locales/hi/mapInfo.json":Pu,"./locales/hi/messages.json":Eu,"./locales/hi/pins.json":Mu,"./locales/it/buttons.json":Au,"./locales/it/grid.json":Cu,"./locales/it/mapInfo.json":Iu,"./locales/it/messages.json":Nu,"./locales/it/pins.json":Fu,"./locales/pt/buttons.json":Du,"./locales/pt/grid.json":Ru,"./locales/pt/mapInfo.json":Wu,"./locales/pt/messages.json":zu,"./locales/pt/pins.json":Uu,"./locales/ro/buttons.json":Hu,"./locales/ro/grid.json":ju,"./locales/ro/mapInfo.json":Vu,"./locales/ro/messages.json":Bu,"./locales/ro/pins.json":Ku,"./locales/ru/buttons.json":qu,"./locales/ru/grid.json":Gu,"./locales/ru/mapInfo.json":Xu,"./locales/ru/messages.json":Yu,"./locales/ru/pins.json":Ju,"./locales/zh/buttons.json":Zu,"./locales/zh/grid.json":Qu,"./locales/zh/mapInfo.json":ed,"./locales/zh/messages.json":td,"./locales/zh/pins.json":od}),Gt={};for(const[e,t]of Object.entries(sh)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Gt[n]??(Gt[n]={}),Gt[n][a]=t}const sl=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),rl=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},ts=new Map;let il=null;function rh(e,t){const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!os.includes(o))return Promise.resolve(o==="en");if(Gt[o])return Promise.resolve(!0);if(ts.has(o))return ts.get(o).then(a=>a);if(!rl[o])return Promise.resolve(!!Gt[o]);const n=(async()=>{var a,s;try{if(!sl)return!1;const r=new URL(`locales/${o}.json`,sl).href,i=await fetch(r,{integrity:rl[o]});if(!i.ok)return!1;const l=await i.json();return!l||typeof l!="object"?!1:(Gt[o]=l,(s=(a=e==null?void 0:e.global)==null?void 0:a.setLocaleMessage)==null||s.call(a,o,l),!0)}catch{return!1}})();return ts.set(o,n),n}const os=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ih(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function ll(){var n;const e=ih();if(os.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return os.includes(o)?o:"en"}try{il=rh(null,ll())}catch{il=null}const lh="__DOXA_PAGE_LOCALE",ch=["zero","one","two","few","many","other"];function cl(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const a=n.select(e),s=n.resolvedOptions().pluralCategories,r=ch.filter(l=>s.includes(l));let i=r.indexOf(a);if(i<0&&(i=r.indexOf("other")),i>=t){const l=r.indexOf("other");i=l>=0&&l[e,(t,o)=>cl(t,o,e)]));function ns(){try{return typeof window<"u"&&window[lh]||""}catch{return""}}function wo(e,t){const o=a=>{let s=Gt[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||ns()||ll();return o(n)??o("en")}function pl(e,t){const o=jo(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:uh(e));ho(()=>{var l;if(!o)return;const a=(l=o.proxy)==null?void 0:l.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot))return;if(!s.querySelector('style[data-shadow-styles="reduced-motion"]')){const c=document.createElement("style");c.setAttribute("data-shadow-styles","reduced-motion"),c.textContent=ph,s.appendChild(c)}const r=s.querySelector(`style[data-shadow-styles="${n}"]`);if(r){r.textContent!==e&&(r.textContent=e);return}const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}const ph=`@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; @@ -43,12 +43,12 @@ scroll-behavior: auto !important; } }`;function uh(e){let t=0;for(let o=0;o',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',folder:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function dh(e,t=""){const o=ul[e]||ul.map;return``}const dl="__dxMapsScriptRegistry1";function fl(){const e=typeof globalThis<"u"?globalThis:self;return e[dl]||(e[dl]={loaded:Object.create(null),owners:Object.create(null)})}function hl(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function fh(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const r=document.createElement("script");r.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(r.type="module"),r.onload=()=>a(),r.onerror=()=>{delete o.loaded[n],s(new Error("failed to load "+e))},document.head.appendChild(r)}),o.loaded[n])}function hh(e,t){if(!e)return;const o=fl(),n=t?hl(t):"";if(!n)return;const a=o.owners[e];if(!a){o.owners[e]=n;return}a!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+a+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function gh(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function mh(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const bh=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",$h=(e,t)=>wo(e)||t,_h=e=>gl(e);function vh(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const yh=` + stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${o}`}const dl="__dxMapsScriptRegistry1";function fl(){const e=typeof globalThis<"u"?globalThis:self;return e[dl]||(e[dl]={loaded:Object.create(null),owners:Object.create(null)})}function hl(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function fh(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const r=document.createElement("script");r.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(r.type="module"),r.onload=()=>a(),r.onerror=()=>{delete o.loaded[n],s(new Error("failed to load "+e))},document.head.appendChild(r)}),o.loaded[n])}function hh(e,t){if(!e)return;const o=fl(),n=t?hl(t):"";if(!n)return;const a=o.owners[e];if(!a){o.owners[e]=n;return}a!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+a+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function gh(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function mh(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const bh=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px)));transition:transform .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",$h=(e,t)=>wo(e)||t,_h=e=>gl(e);function vh(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const yh=` .vtl { position:absolute; inset:0; display:grid !important; grid-template-rows:auto 1fr; height:100%; width:100%; min-height:420px; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --vtl-accent:#92b195; --vtl-border:#d1d4cd; --vtl-elevated:#ffffff; --vtl-accented:#d1d4cd; --vtl-muted:#6d766e; --vtl-rail:256px; } .vtl.no-header { grid-template-rows:1fr; } .vtl-top { flex:0 0 auto; display:flex; align-items:center; gap:10px; box-sizing:border-box; min-height:64px; padding:8px 16px; border-bottom:1px solid var(--vtl-border); background:#ffffff; } .vtl-menu { display:none; font:16px/1 system-ui; color:#3b463d; background:#d1d4cd; border:1px solid #d1d4cd; border-radius:8px; padding:5px 10px; cursor:pointer; } -.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } +.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px))); transition:transform .2s ease; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } .vtl-fab:hover { background:#d1d4cd; } .vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; } .vtl-menu:hover { background:#d1d4cd; } @@ -166,7 +166,7 @@ @media (prefers-reduced-motion: reduce) { .vtl-nav, .vtl-collapse-ic, .vtl-tab, .vtl-tier, .vtl-fab, .vtl-scrim { transition: none !important; animation: none !important; } } -`,wh=uo({name:"VerticalTabsLayout",components:{BackToTopButton:ei},props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},labels:{type:Object,default:()=>({})},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){return pl(yh,"vertical-tabs-layout"),{T:$h}},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{},hostEls:{}}},computed:{fabShown(){return this.narrow&&!this.header&&!this.navOpen},activeHostEl(){return this.hostEls[this.active]||null},railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const o of t.rows||[])e.push(o);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},label(e){const t={toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse"};return this.labels&&this.labels[e]||t[e]},expandRail(){!this.narrow&&this.railCollapsed&&(this.railCollapsed=!1)},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(o=>o.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.$nextTick(()=>this.watchContextLoss(e)),this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},deepCanvases(e,t=[]){if(!e)return t;for(const o of e.querySelectorAll("*"))o.tagName==="CANVAS"&&t.push(o),o.shadowRoot&&this.deepCanvases(o.shadowRoot,t);return t},watchContextLoss(e){const t=this._hostSlots[e];if(t)for(const o of this.deepCanvases(t))o.__vtlLossBound||(o.__vtlLossBound=!0,o.addEventListener("webglcontextlost",()=>{this.hostState={...this.hostState,[e]:"lost"}},{once:!0}))},reloadHostElement(e){const t=this._hostSlots[e];t&&(t.innerHTML=""),this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"loading"},this.$nextTick(()=>this.mountHostElement(e))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(n=>n.key===e),o=this._hostSlots[e];!t||!o||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},_h(t.src).then(()=>vh(t.element)).then(()=>{hh(t.element,t.src),o.innerHTML="";const n=document.createElement(t.element),a=t.attrs||{};for(const s in a){const r=a[s],i=r!=null&&typeof r=="object"?JSON.stringify(r):String(r);try{n[s]=r}catch{}try{n.setAttribute(s,i)}catch{}}n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n);for(const s of[0,250,1500])setTimeout(()=>this.watchContextLoss(e),s);this.hostState={...this.hostState,[e]:"ready"}}).catch(n=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:n&&n.message||String(n)}}))},iconSvg(e){return e?dh(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],o=(this.groups||[]).find(a=>a.key===e),n=t??(o&&o.open===!0);this.folderOverride={...this.folderOverride,[e]:!n}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const o=t.indexOf(this.active);let n=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")n=(o+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")n=(o-1+t.length)%t.length;else if(e.key==="Home")n=0;else if(e.key==="End")n=t.length-1;else return;e.preventDefault();const a=t[n];this.pick(a),this.$nextTick(()=>{const s=this._tabEls[a];s&&s.focus&&s.focus()})}}}),kh={key:0,class:"vtl-top"},xh=["aria-expanded","aria-label"],Th={class:"vtl-brand"},Lh={class:"vtl-title"},Sh={class:"vtl-meta"},Oh=["aria-expanded","aria-label"],Ph={class:"vtl-body"},Eh=["aria-label","aria-hidden","role","aria-orientation"],Mh=["aria-expanded","aria-label"],Ah=["innerHTML"],Ch={class:"vtl-collapse-tx"},Ih=["aria-expanded","onClick"],Nh={key:0,class:"vtl-cap"},Fh={class:"vtl-tl"},Dh={key:1,class:"vtl-td"},Rh=["innerHTML"],Wh={key:1,class:"vtl-tier"},zh={key:0,class:"vtl-cap"},Uh={class:"vtl-tl"},Hh={key:1,class:"vtl-td"},jh={class:"vtl-rows"},Vh=["aria-selected","aria-disabled","tabindex","onClick"],Bh=["innerHTML"],Kh={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},qh={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Gh={class:"vtl-tab-text"},Xh={class:"vtl-tab-label"},Yh={key:0,class:"vtl-tab-badge"},Jh={key:0,class:"vtl-tab-sub"},Zh=["innerHTML"],Qh=["aria-selected","aria-disabled","tabindex","onClick"],eg=["innerHTML"],tg={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},og={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},ng={class:"vtl-tab-text"},ag={class:"vtl-tab-label"},sg={key:0,class:"vtl-tab-sub"},rg={class:"vtl-main"},ig={class:"vtl-content"},lg=["hidden"],cg={key:0,class:"vtl-host-hint"},pg={key:1,class:"vtl-host-hint"},ug=["onClick"],dg={key:2,class:"vtl-host-hint err"};function fg(e,t,o,n,a,s){const r=Sn("BackToTopButton");return F(),z("div",{class:et(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}]),style:ao(e.fabShown?{"--map-fab-clearance":"calc(56px + env(safe-area-inset-bottom))","--map-fab-beside":"calc(64px + env(safe-area-inset-left))"}:null)},[e.header?(F(),z("header",kh,[C("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=i=>e.navOpen=!e.navOpen),"aria-label":e.label("toggleList")},"☰",8,xh),C("span",Th,[Fo(e.$slots,"brand")]),C("b",Lh,X(e.title),1),C("span",Sh,[Fo(e.$slots,"meta")])])):pe("",!0),e.fabShown?(F(),z("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=i=>e.navOpen=!0),"aria-label":e.label("openViews")},"☰",8,Oh)):pe("",!0),e.narrow?(F(),mo(r,{key:2,target:e.activeHostEl,labels:{backToTop:e.T("actions.backToTop","Back to top")}},null,8,["target","labels"])):pe("",!0),C("div",Ph,[C("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:e.$slots.rail?null:"tablist","aria-orientation":e.$slots.rail?null:"vertical"},[C("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?e.label("expandList"):e.label("collapseList"),onClick:t[2]||(t[2]=(...i)=>e.toggleRail&&e.toggleRail(...i))},[C("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,Ah),C("span",Ch,X(e.label("collapse")),1)],8,Mh),e.$slots.rail?Fo(e.$slots,"rail",{collapsed:e.railCollapsed&&!e.narrow,expand:e.expandRail,pick:e.pick},void 0,void 0,0):e.groups&&e.groups.length?(F(!0),z(oe,{key:1},Ye(e.groups,i=>(F(),z("div",{class:"vtl-grp",key:i.key},[i.folder?(F(),z("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(i)),onClick:l=>e.toggleFolder(i.key)},[i.badge?(F(),z("span",Nh,X(i.badge),1)):pe("",!0),C("span",Fh,X(i.label),1),i.count!=null?(F(),z("span",Dh,X(i.count),1)):pe("",!0),C("span",{class:et(["vtl-chev",{open:!e.isFolderClosed(i)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,Rh)],8,Ih)):(F(),z("div",Wh,[i.badge?(F(),z("span",zh,X(i.badge),1)):pe("",!0),C("span",Uh,X(i.label),1),i.count!=null?(F(),z("span",Hh,X(i.count),1)):pe("",!0)])),Io(C("div",jh,[(F(!0),z(oe,null,Ye(i.rows,l=>(F(),z("button",{key:l.key,type:"button",role:"tab",class:et(["vtl-tab",{active:l.key===e.active,disabled:l.disabled}]),"aria-selected":String(l.key===e.active),"aria-disabled":l.disabled?"true":null,tabindex:l.key===e.active?0:-1,ref_for:!0,ref:c=>e.registerTab(l.key,c),onClick:c=>e.pick(l.key),onKeydown:t[3]||(t[3]=c=>e.onKey(c))},[l.icon?(F(),z("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Bh)):l.emoji?(F(),z("span",Kh,X(l.emoji),1)):(F(),z("span",qh,X(e.initial(l.label)),1)),C("span",Gh,[C("span",Xh,[jt(X(l.label),1),l.badge?(F(),z("span",Yh,X(l.badge),1)):pe("",!0)]),l.sub?(F(),z("span",Jh,[C("span",{innerHTML:l.sub},null,8,Zh)])):pe("",!0)])],42,Vh))),128))],512),[[qo,!i.folder||!e.isFolderClosed(i)]])]))),128)):(F(!0),z(oe,{key:2},Ye(e.items,i=>(F(),z("button",{key:i.key,type:"button",role:"tab",class:et(["vtl-tab",{active:i.key===e.active,disabled:i.disabled}]),"aria-selected":String(i.key===e.active),"aria-disabled":i.disabled?"true":null,tabindex:i.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(i.key,l),onClick:l=>e.pick(i.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[i.icon?(F(),z("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(i.icon)},null,8,eg)):i.emoji?(F(),z("span",tg,X(i.emoji),1)):(F(),z("span",og,X(e.initial(i.label)),1)),C("span",ng,[C("span",ag,X(i.label),1),i.sub?(F(),z("span",sg,X(i.sub),1)):pe("",!0)])],42,Qh))),128))],8,Eh),C("main",rg,[e.header?Fo(e.$slots,"toolbar",{},void 0,void 0,0):pe("",!0),C("div",ig,[(F(!0),z(oe,null,Ye(e.mountedElementRows,i=>Io((F(),z("section",{key:i.key,class:"vtl-host",hidden:i.key!==e.active,ref_for:!0,ref:l=>{l?e.hostEls[i.key]=l:delete e.hostEls[i.key]}},[C("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(i.key,l)},null,512),e.hostState[i.key]==="loading"?(F(),z("div",cg,X(e.T("messages.loadingNamed","Loading {name}…").replace("{name}",i.label)),1)):e.hostState[i.key]==="lost"?(F(),z("div",pg,[jt(X(e.T("messages.mapContextLost","This map was unloaded to free graphics memory."))+" ",1),C("button",{type:"button",class:"vtl-host-reload",onClick:l=>e.reloadHostElement(i.key)},X(e.T("buttons.reloadMap","Reload Map")),9,ug)])):e.hostState[i.key]==="error"?(F(),z("div",dg,[jt(X(e.T("messages.couldNotLoadNamed","Could not load {name}.").replace("{name}",i.label)),1),t[5]||(t[5]=C("br",null,null,-1)),C("small",null,X(e.hostError[i.key]),1)])):pe("",!0)],8,lg)),[[qo,i.key===e.active]])),128)),Fo(e.$slots,"default")])])])],6)}const hg=Fa(wh,[["render",fg],["styles",[bh]]]),as=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",hideFromSwitcher:!0},{code:"ro",name:"Romanian",nativeName:"Română",flag:"🇷🇴",hideFromSwitcher:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",hideFromSwitcher:!0}],gg=as.filter(e=>!e.hideFromSwitcher);function mg(e){return as.find(t=>t.code===e)}function ml(e){const t=String(e||"").split("-")[0].toLowerCase();return as.some(o=>o.code===t)?t:"en"}const bl="doxa-maps:locale";function bg(){try{const e=localStorage.getItem(bl);if(e)return ml(e)}catch{}return ml(navigator==null?void 0:navigator.language)}function $g(e){try{localStorage.setItem(bl,e)}catch{}}const on={en:{backToTop:"Back to top","sec.dashboards":"Dashboards","sec.prayer":"Prayer Mobilization","sec.gospel":"Gospel Research","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Big Picture","sub.dashboard-plus-grid":"dashboard + people-groups grid, stacked","tab.research-map":"Research Map","sub.research-map":"prayer · engagement · regions","tab.research-map-plus-grid":"Simple Research","sub.research-map-plus-grid":"research map + people-groups grid","tab.prayer-map":"Prayer Progress","sub.prayer-map":"simple world prayer map","tab.cities-internet":"Cities with Internet","sub.cities-internet":"connectivity of key cities","tab.gospel-resources":"Gospel Resources","sub.gospel-resources":"resources by place","tab.regions-dashboard":"Regions","sub.regions-dashboard":"regions and their countries","tab.upg-100":"UPG-100 List","sub.upg-100":"my unreached list + posters",navLabel:"Research maps",meta:"{n} maps",loading:"Loading {label}…",loadFailed:"Could not load {label}.",manifestHint:"This tab is composed from manifest.json — build the tree, or serve the built tree, to load it.",close:"Close",help:"About this map",desktopOnly:"desktop only",lab:"lab",experimentalSub:"experimental bundle",mobileNotBuilt:"not built for mobile",dismiss:"Dismiss",desktopOnly:"desktop only",lab:"lab",experimentalSub:"experimental bundle",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse","tab.prayer-walk-planner":"Prayer Walk Planner","tab.upg-neighbor":"UPG Neighbor","tab.key-cities":"Key Cities","tab.all-people-groups":"All People Groups","tab.pplr-data-maps":"PPLR Data Maps","tab.wall-of-people-groups":"Wall of People Groups","tab.country-posters":"Country Posters","tab.doxa-vision-card":"Doxa Vision Card"},es:{backToTop:"Volver arriba","sec.dashboards":"Paneles","sec.prayer":"Movilización de oración","sec.gospel":"Investigación del Evangelio","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Panorama general","sub.dashboard-plus-grid":"panel + cuadrícula de pueblos","tab.research-map":"Mapa de investigación","sub.research-map":"oración · compromiso · regiones","tab.research-map-plus-grid":"Investigación simple","sub.research-map-plus-grid":"mapa de investigación + cuadrícula de pueblos","tab.prayer-map":"Progreso de oración","sub.prayer-map":"mapa mundial de oración","tab.cities-internet":"Ciudades con Internet","sub.cities-internet":"conectividad de ciudades clave","tab.gospel-resources":"Recursos del Evangelio","sub.gospel-resources":"recursos por lugar","tab.regions-dashboard":"Regiones","sub.regions-dashboard":"regiones y sus países","tab.upg-100":"Lista UPG-100","sub.upg-100":"mi lista de no alcanzados + carteles",navLabel:"Mapas de investigación",meta:"{n} mapas",loading:"Cargando {label}…",loadFailed:"No se pudo cargar {label}.",manifestHint:"Esta pestaña se compone a partir de manifest.json: compila el árbol o sirve el árbol compilado para cargarla.",close:"Cerrar",help:"Acerca de este mapa",desktopOnly:"solo escritorio",lab:"beta",experimentalSub:"mapa experimental",mobileNotBuilt:"no diseñado para móvil",dismiss:"Cerrar",desktopOnly:"solo escritorio",lab:"beta",experimentalSub:"mapa experimental",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer","tab.prayer-walk-planner":"Caminatas de oración","tab.upg-neighbor":"Vecino UPG","tab.key-cities":"Ciudades clave","tab.all-people-groups":"Todos los pueblos","tab.pplr-data-maps":"Mapas de datos PPLR","tab.wall-of-people-groups":"Muro de los pueblos","tab.country-posters":"Carteles por país","tab.doxa-vision-card":"Tarjeta de visión Doxa"},fr:{backToTop:"Retour en haut","sec.dashboards":"Tableaux de bord","sec.prayer":"Mobilisation à la prière","sec.gospel":"Recherche sur l'Évangile","sec.experimental":"Expérimental","tab.dashboard-plus-grid":"Vue d'ensemble","sub.dashboard-plus-grid":"tableau de bord + grille des peuples","tab.research-map":"Carte de recherche","sub.research-map":"prière · engagement · régions","tab.research-map-plus-grid":"Recherche simple","sub.research-map-plus-grid":"carte de recherche + grille des peuples","tab.prayer-map":"Progression de la prière","sub.prayer-map":"carte mondiale de la prière","tab.cities-internet":"Villes avec Internet","sub.cities-internet":"connectivité des villes clés","tab.gospel-resources":"Ressources de l'Évangile","sub.gospel-resources":"ressources par lieu","tab.regions-dashboard":"Régions","sub.regions-dashboard":"régions et leurs pays","tab.upg-100":"Liste UPG-100","sub.upg-100":"ma liste des non atteints + affiches",navLabel:"Cartes de recherche",meta:"{n} cartes",loading:"Chargement de {label}…",loadFailed:"Impossible de charger {label}.",manifestHint:"Cet onglet est composé à partir de manifest.json : construisez l'arborescence ou servez l'arborescence construite pour le charger.",close:"Fermer",help:"À propos de cette carte",desktopOnly:"ordinateur uniquement",lab:"bêta",experimentalSub:"carte expérimentale",mobileNotBuilt:"pas conçu pour mobile",dismiss:"Fermer",desktopOnly:"ordinateur uniquement",lab:"bêta",experimentalSub:"carte expérimentale",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier","tab.prayer-walk-planner":"Marches de prière","tab.upg-neighbor":"Voisin UPG","tab.key-cities":"Villes clés","tab.all-people-groups":"Tous les peuples","tab.pplr-data-maps":"Cartes de données PPLR","tab.wall-of-people-groups":"Mur des peuples","tab.country-posters":"Affiches par pays","tab.doxa-vision-card":"Carte de vision Doxa"},de:{backToTop:"Nach oben","sec.dashboards":"Dashboards","sec.prayer":"Gebetsmobilisierung","sec.gospel":"Evangeliumsforschung","sec.experimental":"Experimentell","tab.dashboard-plus-grid":"Gesamtbild","sub.dashboard-plus-grid":"Dashboard + Raster der Volksgruppen","tab.research-map":"Forschungskarte","sub.research-map":"Gebet · Engagement · Regionen","tab.research-map-plus-grid":"Einfache Recherche","sub.research-map-plus-grid":"Forschungskarte + Raster der Volksgruppen","tab.prayer-map":"Gebetsfortschritt","sub.prayer-map":"einfache Weltkarte des Gebets","tab.cities-internet":"Städte mit Internet","sub.cities-internet":"Konnektivität wichtiger Städte","tab.gospel-resources":"Evangeliumsressourcen","sub.gospel-resources":"Ressourcen nach Ort","tab.regions-dashboard":"Regionen","sub.regions-dashboard":"Regionen und ihre Länder","tab.upg-100":"UPG-100-Liste","sub.upg-100":"meine Liste der Unerreichten + Poster",navLabel:"Forschungskarten",meta:"{n} Karten",loading:"{label} wird geladen…",loadFailed:"{label} konnte nicht geladen werden.",manifestHint:"Dieser Tab wird aus manifest.json zusammengesetzt – bauen Sie den Baum oder stellen Sie den gebauten Baum bereit, um ihn zu laden.",close:"Schließen",help:"Über diese Karte",desktopOnly:"nur Desktop",lab:"Beta",experimentalSub:"experimentelle Karte",mobileNotBuilt:"nicht für Mobilgeräte",dismiss:"Schließen",desktopOnly:"nur Desktop",lab:"Beta",experimentalSub:"experimentelle Karte",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen","tab.prayer-walk-planner":"Gebetsspaziergänge","tab.upg-neighbor":"UPG-Nachbar","tab.key-cities":"Schlüsselstädte","tab.all-people-groups":"Alle Volksgruppen","tab.pplr-data-maps":"PPLR-Datenkarten","tab.wall-of-people-groups":"Wand der Volksgruppen","tab.country-posters":"Länderposter","tab.doxa-vision-card":"Doxa-Visionskarte"},pt:{backToTop:"Voltar ao topo","sec.dashboards":"Painéis","sec.prayer":"Mobilização de oração","sec.gospel":"Pesquisa do Evangelho","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Visão geral","sub.dashboard-plus-grid":"painel + grade de povos","tab.research-map":"Mapa de pesquisa","sub.research-map":"oração · engajamento · regiões","tab.research-map-plus-grid":"Pesquisa simples","sub.research-map-plus-grid":"mapa de pesquisa + grade de povos","tab.prayer-map":"Progresso da oração","sub.prayer-map":"mapa mundial de oração","tab.cities-internet":"Cidades com Internet","sub.cities-internet":"conectividade das principais cidades","tab.gospel-resources":"Recursos do Evangelho","sub.gospel-resources":"recursos por lugar","tab.regions-dashboard":"Regiões","sub.regions-dashboard":"regiões e seus países","tab.upg-100":"Lista UPG-100","sub.upg-100":"minha lista de não alcançados + cartazes",navLabel:"Mapas de pesquisa",meta:"{n} mapas",loading:"Carregando {label}…",loadFailed:"Não foi possível carregar {label}.",manifestHint:"Esta aba é composta a partir do manifest.json — compile a árvore ou sirva a árvore compilada para carregá-la.",close:"Fechar",help:"Sobre este mapa",desktopOnly:"só no computador",lab:"beta",experimentalSub:"mapa experimental",mobileNotBuilt:"não feito para celular",dismiss:"Fechar",desktopOnly:"só no computador",lab:"beta",experimentalSub:"mapa experimental",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher","tab.prayer-walk-planner":"Caminhadas de oração","tab.upg-neighbor":"Vizinho UPG","tab.key-cities":"Cidades-chave","tab.all-people-groups":"Todos os povos","tab.pplr-data-maps":"Mapas de dados PPLR","tab.wall-of-people-groups":"Mural dos povos","tab.country-posters":"Cartazes por país","tab.doxa-vision-card":"Cartão de visão Doxa"},it:{backToTop:"Torna su","sec.dashboards":"Dashboard","sec.prayer":"Mobilitazione alla preghiera","sec.gospel":"Ricerca sul Vangelo","sec.experimental":"Sperimentale","tab.dashboard-plus-grid":"Quadro d'insieme","sub.dashboard-plus-grid":"dashboard + griglia dei popoli","tab.research-map":"Mappa di ricerca","sub.research-map":"preghiera · impegno · regioni","tab.research-map-plus-grid":"Ricerca semplice","sub.research-map-plus-grid":"mappa di ricerca + griglia dei popoli","tab.prayer-map":"Avanzamento preghiera","sub.prayer-map":"mappa mondiale della preghiera","tab.cities-internet":"Città con Internet","sub.cities-internet":"connettività delle città chiave","tab.gospel-resources":"Risorse del Vangelo","sub.gospel-resources":"risorse per luogo","tab.regions-dashboard":"Regioni","sub.regions-dashboard":"regioni e i loro paesi","tab.upg-100":"Lista UPG-100","sub.upg-100":"la mia lista dei non raggiunti + poster",navLabel:"Mappe di ricerca",meta:"{n} mappe",loading:"Caricamento di {label}…",loadFailed:"Impossibile caricare {label}.",manifestHint:"Questa scheda è composta da manifest.json: compila l'albero o pubblica l'albero compilato per caricarla.",close:"Chiudi",help:"Informazioni su questa mappa",desktopOnly:"solo desktop",lab:"beta",experimentalSub:"mappa sperimentale",mobileNotBuilt:"non pensato per mobile",dismiss:"Chiudi",desktopOnly:"solo desktop",lab:"beta",experimentalSub:"mappa sperimentale",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi","tab.prayer-walk-planner":"Passeggiate di preghiera","tab.upg-neighbor":"Vicino UPG","tab.key-cities":"Città chiave","tab.all-people-groups":"Tutti i popoli","tab.pplr-data-maps":"Mappe dati PPLR","tab.wall-of-people-groups":"Muro dei popoli","tab.country-posters":"Poster per paese","tab.doxa-vision-card":"Scheda visione Doxa"},ro:{backToTop:"Sus","sec.dashboards":"Panouri","sec.prayer":"Mobilizare la rugăciune","sec.gospel":"Cercetarea Evangheliei","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Imaginea de ansamblu","sub.dashboard-plus-grid":"panou + grila popoarelor","tab.research-map":"Hartă de cercetare","sub.research-map":"rugăciune · implicare · regiuni","tab.research-map-plus-grid":"Cercetare simplă","sub.research-map-plus-grid":"hartă de cercetare + grila popoarelor","tab.prayer-map":"Progresul rugăciunii","sub.prayer-map":"hartă mondială a rugăciunii","tab.cities-internet":"Orașe cu internet","sub.cities-internet":"conectivitatea orașelor-cheie","tab.gospel-resources":"Resurse ale Evangheliei","sub.gospel-resources":"resurse după loc","tab.regions-dashboard":"Regiuni","sub.regions-dashboard":"regiunile și țările lor","tab.upg-100":"Lista UPG-100","sub.upg-100":"lista mea de neatinși + afișe",navLabel:"Hărți de cercetare",meta:"{n} hărți",loading:"Se încarcă {label}…",loadFailed:"{label} nu a putut fi încărcat.",manifestHint:"Această filă este compusă din manifest.json — construiți arborele sau serviți arborele construit pentru a o încărca.",close:"Închide",help:"Despre această hartă",desktopOnly:"doar pe desktop",lab:"beta",experimentalSub:"hartă experimentală",mobileNotBuilt:"nu e făcut pentru mobil",dismiss:"Închide",desktopOnly:"doar pe desktop",lab:"beta",experimentalSub:"hartă experimentală",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge","tab.prayer-walk-planner":"Plimbări de rugăciune","tab.upg-neighbor":"Vecin UPG","tab.key-cities":"Orașe-cheie","tab.all-people-groups":"Toate popoarele","tab.pplr-data-maps":"Hărți de date PPLR","tab.wall-of-people-groups":"Zidul popoarelor","tab.country-posters":"Afișe pe țări","tab.doxa-vision-card":"Card de viziune Doxa"},ru:{backToTop:"Наверх","sec.dashboards":"Панели","sec.prayer":"Молитвенная мобилизация","sec.gospel":"Исследование Евангелия","sec.experimental":"Экспериментальное","tab.dashboard-plus-grid":"Общая картина","sub.dashboard-plus-grid":"панель + таблица народов","tab.research-map":"Исследовательская карта","sub.research-map":"молитва · вовлечённость · регионы","tab.research-map-plus-grid":"Простое исследование","sub.research-map-plus-grid":"исследовательская карта + таблица народов","tab.prayer-map":"Прогресс молитвы","sub.prayer-map":"простая карта молитвы мира","tab.cities-internet":"Города с интернетом","sub.cities-internet":"подключённость ключевых городов","tab.gospel-resources":"Евангельские ресурсы","sub.gospel-resources":"ресурсы по местам","tab.regions-dashboard":"Регионы","sub.regions-dashboard":"регионы и их страны","tab.upg-100":"Список UPG-100","sub.upg-100":"мой список недостигнутых + плакаты",navLabel:"Исследовательские карты",meta:"Карт: {n}",loading:"Загрузка: {label}…",loadFailed:"Не удалось загрузить: {label}.",manifestHint:"Эта вкладка собирается из manifest.json — соберите дерево или разместите собранное дерево, чтобы загрузить её.",close:"Закрыть",help:"Об этой карте",desktopOnly:"только на компьютере",lab:"бета",experimentalSub:"экспериментальная карта",mobileNotBuilt:"не для телефона",dismiss:"Закрыть",desktopOnly:"только на компьютере",lab:"бета",experimentalSub:"экспериментальная карта",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть","tab.prayer-walk-planner":"Молитвенные прогулки","tab.upg-neighbor":"Сосед UPG","tab.key-cities":"Ключевые города","tab.all-people-groups":"Все народы","tab.pplr-data-maps":"Карты данных PPLR","tab.wall-of-people-groups":"Стена народов","tab.country-posters":"Плакаты по странам","tab.doxa-vision-card":"Карточка видения Doxa"},ar:{backToTop:"إلى الأعلى","sec.dashboards":"لوحات المعلومات","sec.prayer":"التعبئة للصلاة","sec.gospel":"أبحاث الإنجيل","sec.experimental":"تجريبي","tab.dashboard-plus-grid":"الصورة الكاملة","sub.dashboard-plus-grid":"لوحة معلومات + شبكة الشعوب","tab.research-map":"خريطة البحث","sub.research-map":"الصلاة · الانخراط · المناطق","tab.research-map-plus-grid":"بحث مبسّط","sub.research-map-plus-grid":"خريطة البحث + شبكة الشعوب","tab.prayer-map":"تقدم الصلاة","sub.prayer-map":"خريطة عالمية مبسّطة للصلاة","tab.cities-internet":"مدن متصلة بالإنترنت","sub.cities-internet":"اتصال المدن الرئيسية","tab.gospel-resources":"موارد الإنجيل","sub.gospel-resources":"الموارد حسب المكان","tab.regions-dashboard":"المناطق","sub.regions-dashboard":"المناطق ودولها","tab.upg-100":"قائمة UPG-100","sub.upg-100":"قائمتي لغير المُبشَّرين + ملصقات",navLabel:"خرائط البحث",meta:"عدد الخرائط: {n}",loading:"جارٍ تحميل {label}…",loadFailed:"تعذّر تحميل {label}.",manifestHint:"تُبنى علامة التبويب هذه من manifest.json — ابنِ الشجرة أو قدّم الشجرة المبنية لتحميلها.",close:"إغلاق",help:"عن هذه الخريطة",desktopOnly:"على الحاسوب فقط",lab:"تجريبي",experimentalSub:"خريطة تجريبية",mobileNotBuilt:"غير مُعدّ للهاتف",dismiss:"إغلاق",desktopOnly:"على الحاسوب فقط",lab:"تجريبي",experimentalSub:"خريطة تجريبية",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي","tab.prayer-walk-planner":"جولات الصلاة","tab.upg-neighbor":"جار UPG","tab.key-cities":"المدن الرئيسية","tab.all-people-groups":"جميع الشعوب","tab.pplr-data-maps":"خرائط بيانات PPLR","tab.wall-of-people-groups":"جدار الشعوب","tab.country-posters":"ملصقات الدول","tab.doxa-vision-card":"بطاقة رؤية Doxa"},hi:{backToTop:"ऊपर जाएँ","sec.dashboards":"डैशबोर्ड","sec.prayer":"प्रार्थना संचालन","sec.gospel":"सुसमाचार शोध","sec.experimental":"प्रायोगिक","tab.dashboard-plus-grid":"संपूर्ण चित्र","sub.dashboard-plus-grid":"डैशबोर्ड + जनसमूहों की ग्रिड","tab.research-map":"शोध मानचित्र","sub.research-map":"प्रार्थना · सहभागिता · क्षेत्र","tab.research-map-plus-grid":"सरल शोध","sub.research-map-plus-grid":"शोध मानचित्र + जनसमूहों की ग्रिड","tab.prayer-map":"प्रार्थना प्रगति","sub.prayer-map":"सरल विश्व प्रार्थना मानचित्र","tab.cities-internet":"इंटरनेट वाले शहर","sub.cities-internet":"प्रमुख शहरों की कनेक्टिविटी","tab.gospel-resources":"सुसमाचार संसाधन","sub.gospel-resources":"स्थान के अनुसार संसाधन","tab.regions-dashboard":"क्षेत्र","sub.regions-dashboard":"क्षेत्र और उनके देश","tab.upg-100":"UPG-100 सूची","sub.upg-100":"मेरी अप्राप्त सूची + पोस्टर",navLabel:"शोध मानचित्र",meta:"{n} मानचित्र",loading:"{label} लोड हो रहा है…",loadFailed:"{label} लोड नहीं हो सका।",manifestHint:"यह टैब manifest.json से बनता है — इसे लोड करने के लिए ट्री बनाएँ या बना हुआ ट्री सर्व करें।",close:"बंद करें",help:"इस नक्शे के बारे में",desktopOnly:"केवल डेस्कटॉप",lab:"बीटा",experimentalSub:"प्रायोगिक मानचित्र",mobileNotBuilt:"मोबाइल के लिए नहीं बना",dismiss:"बंद करें",desktopOnly:"केवल डेस्कटॉप",lab:"बीटा",experimentalSub:"प्रायोगिक मानचित्र",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें","tab.prayer-walk-planner":"प्रार्थना पदयात्रा","tab.upg-neighbor":"UPG पड़ोसी","tab.key-cities":"प्रमुख शहर","tab.all-people-groups":"सभी जनसमूह","tab.pplr-data-maps":"PPLR डेटा मानचित्र","tab.wall-of-people-groups":"जनसमूहों की दीवार","tab.country-posters":"देश पोस्टर","tab.doxa-vision-card":"Doxa दर्शन कार्ड"},zh:{backToTop:"回到顶部","sec.dashboards":"仪表板","sec.prayer":"祷告动员","sec.gospel":"福音研究","sec.experimental":"实验性","tab.dashboard-plus-grid":"全景","sub.dashboard-plus-grid":"仪表板 + 民族网格","tab.research-map":"研究地图","sub.research-map":"祷告 · 参与 · 区域","tab.research-map-plus-grid":"简易研究","sub.research-map-plus-grid":"研究地图 + 民族网格","tab.prayer-map":"祷告进度","sub.prayer-map":"简易世界祷告地图","tab.cities-internet":"有互联网的城市","sub.cities-internet":"主要城市的网络连接","tab.gospel-resources":"福音资源","sub.gospel-resources":"按地点划分的资源","tab.regions-dashboard":"区域","sub.regions-dashboard":"区域及其国家","tab.upg-100":"UPG-100 名单","sub.upg-100":"我的未得之民名单 + 海报",navLabel:"研究地图",meta:"{n} 张地图",loading:"正在加载{label}…",loadFailed:"无法加载{label}。",manifestHint:"此标签页由 manifest.json 组成——请构建目录树或提供已构建的目录树以加载它。",close:"关闭",help:"关于此地图",desktopOnly:"仅限桌面",lab:"测试版",experimentalSub:"实验性地图",mobileNotBuilt:"未针对手机设计",dismiss:"关闭",desktopOnly:"仅限桌面",lab:"测试版",experimentalSub:"实验性地图",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠","tab.prayer-walk-planner":"祷告行走","tab.upg-neighbor":"UPG 邻居","tab.key-cities":"重点城市","tab.all-people-groups":"所有民族","tab.pplr-data-maps":"PPLR 数据地图","tab.wall-of-people-groups":"民族之墙","tab.country-posters":"国家海报","tab.doxa-vision-card":"Doxa 异象卡"}},ss=Object.keys(on);function _g(e){return Object.prototype.hasOwnProperty.call(on.en,e)}function qn(e,t,o){let a=(on[e]||on.en)[t]??on.en[t]??t;if(o)for(const s in o)a=a.split("{"+s+"}").join(String(o[s]));return a}const $l={en:{"prayer-walk-planner":{what:"Plan a prayer walk: draw the areas your teams will cover and print each one as a one-page map.",how:"Draw a zone, name it, select the zones you need and press Print. Each zone prints on its own page with coordinates, one map per team."},"gospel-internet":{what:"See which of the ~2,000 people groups already have gospel resources in their language, and where the internet can carry those resources to them.",how:"Explore the language tree, the bounded and centered sets and the map. Pick a list on the side to narrow every view."},"country-posters":{what:"Printable prayer posters, one per country, showing its people groups.",how:"Pick a country from the poster list or on the map, then print it straight from your browser."},"all-people-groups":{what:"Every people group on earth on one map, colored by how reached it is, with the DOXA prayer set highlighted.",how:"Click a category in the legend to show only those groups. Click a dot for its details and prayer link."},"doxa-vision-card":{what:"The remaining task in one card: all people groups, then the unreached, then the frontier, then the DOXA prayer set.",how:"Read it from top to bottom. Every number is computed from the people-group data, not typed in."},"pplr-data-maps":{what:"People-group research data on maps: language families, people clusters, religions and data-source coverage.",how:"Choose a view from the tabs, then use the legend to highlight a family, cluster or religion on the map."},"wall-of-people-groups":{what:"Every DOXA people group on one wall, to bless them. In Bless mode the wall is the printable poster (5 × 8 ft by default), each group with a blessing verse; in Social mode it is a shared prayer wall.",how:"Bless: look around the poster exactly as it will print, pick a size and press Print HD poster. Social: pray for a group, read or leave comments, and share its prayer page."}},es:{"prayer-walk-planner":{what:"Planifique una caminata de oración: dibuje las zonas que recorrerán sus equipos e imprima cada una como un mapa de una página.",how:"Dibuje una zona, póngale nombre, seleccione las zonas que necesita y pulse Imprimir. Cada zona se imprime en su propia página con coordenadas: un mapa por equipo."},"gospel-internet":{what:"Vea cuáles de los ~2000 grupos de pueblos ya tienen recursos del evangelio en su idioma, y dónde internet puede llevárselos.",how:"Explore el árbol de idiomas, los conjuntos delimitado y centrado y el mapa. Elija una lista al lado para acotar cada vista."},"country-posters":{what:"Carteles de oración para imprimir, uno por país, con sus grupos de pueblos.",how:"Elija un país en la lista de carteles o en el mapa, e imprímalo directamente desde el navegador."},"all-people-groups":{what:"Todos los grupos de pueblos del mundo en un mapa, coloreados según lo alcanzados que están, con el conjunto de oración de DOXA resaltado.",how:"Haga clic en una categoría de la leyenda para ver solo esos grupos. Haga clic en un punto para ver sus datos y el enlace de oración."},"doxa-vision-card":{what:"La tarea pendiente en una tarjeta: todos los grupos de pueblos, luego los no alcanzados, luego la frontera y luego el conjunto de oración de DOXA.",how:"Léala de arriba abajo. Cada cifra se calcula a partir de los datos, no se escribe a mano."},"pplr-data-maps":{what:"Datos de investigación sobre grupos de pueblos en mapas: familias lingüísticas, agrupaciones de pueblos, religiones y cobertura de fuentes.",how:"Elija una vista en las pestañas y use la leyenda para resaltar una familia, agrupación o religión en el mapa."},"wall-of-people-groups":{what:"Todos los grupos de pueblos de DOXA en un muro, para bendecirlos. En el modo Bendecir el muro es el póster para imprimir (5 × 8 pies por defecto), cada grupo con un versículo de bendición; en el modo Social es un muro de oración compartido.",how:"Bendecir: recorra el póster tal como se imprimirá, elija un tamaño y pulse Imprimir póster HD. Social: ore por un grupo, lea o deje comentarios y comparta su página de oración."}},fr:{"prayer-walk-planner":{what:"Préparez une marche de prière : dessinez les zones que vos équipes parcourront et imprimez chacune sur une carte d’une page.",how:"Dessinez une zone, nommez-la, sélectionnez les zones voulues et cliquez sur Imprimer. Chaque zone s’imprime sur sa propre page avec ses coordonnées : une carte par équipe."},"gospel-internet":{what:"Voyez lesquels des ~2 000 groupes de peuples ont déjà des ressources de l’Évangile dans leur langue, et où internet peut les leur apporter.",how:"Explorez l’arbre des langues, les ensembles délimité et centré et la carte. Choisissez une liste sur le côté pour affiner chaque vue."},"country-posters":{what:"Des affiches de prière à imprimer, une par pays, avec ses groupes de peuples.",how:"Choisissez un pays dans la liste des affiches ou sur la carte, puis imprimez-le directement depuis le navigateur."},"all-people-groups":{what:"Tous les groupes de peuples du monde sur une carte, colorés selon leur degré d’atteinte, avec l’ensemble de prière DOXA mis en valeur.",how:"Cliquez sur une catégorie de la légende pour n’afficher que ces groupes. Cliquez sur un point pour ses détails et son lien de prière."},"doxa-vision-card":{what:"La tâche restante en une carte : tous les groupes de peuples, puis les non atteints, puis la frontière, puis l’ensemble de prière DOXA.",how:"Lisez-la de haut en bas. Chaque chiffre est calculé à partir des données, pas saisi à la main."},"pplr-data-maps":{what:"Des données de recherche sur les groupes de peuples, en cartes : familles de langues, grappes de peuples, religions et couverture des sources.",how:"Choisissez une vue dans les onglets, puis utilisez la légende pour mettre en valeur une famille, une grappe ou une religion."},"wall-of-people-groups":{what:"Tous les groupes de peuples DOXA sur un seul mur, pour les bénir. En mode Bénir, le mur est l’affiche à imprimer (5 × 8 pieds par défaut), chaque groupe avec un verset de bénédiction ; en mode Social, c’est un mur de prière partagé.",how:"Bénir : parcourez l’affiche telle qu’elle s’imprimera, choisissez une taille et appuyez sur Imprimer l’affiche HD. Social : priez pour un groupe, lisez ou laissez des commentaires et partagez sa page de prière."}},de:{"prayer-walk-planner":{what:"Einen Gebetsspaziergang planen: die Gebiete Ihrer Teams zeichnen und jedes als einseitige Karte drucken.",how:"Zeichnen Sie ein Gebiet, benennen Sie es, wählen Sie die nötigen Gebiete und drücken Sie auf Drucken. Jedes Gebiet wird mit Koordinaten auf einer eigenen Seite gedruckt: eine Karte pro Team."},"gospel-internet":{what:"Sehen, welche der ~2.000 Volksgruppen schon Evangeliumsressourcen in ihrer Sprache haben und wo das Internet sie zu ihnen bringen kann.",how:"Erkunden Sie den Sprachbaum, die begrenzte und die zentrierte Menge und die Karte. Wählen Sie seitlich eine Liste, um jede Ansicht einzugrenzen."},"country-posters":{what:"Druckbare Gebetsplakate, eines pro Land, mit seinen Volksgruppen.",how:"Wählen Sie ein Land in der Plakatliste oder auf der Karte und drucken Sie es direkt aus dem Browser."},"all-people-groups":{what:"Alle Volksgruppen der Welt auf einer Karte, nach Erreichtheit eingefärbt, mit dem DOXA-Gebetsset hervorgehoben.",how:"Klicken Sie auf eine Kategorie der Legende, um nur diese Gruppen zu zeigen. Klicken Sie auf einen Punkt für Details und den Gebetslink."},"doxa-vision-card":{what:"Die verbleibende Aufgabe auf einer Karte: alle Volksgruppen, dann die unerreichten, dann die Frontier-Gruppen, dann das DOXA-Gebetsset.",how:"Lesen Sie sie von oben nach unten. Jede Zahl wird aus den Daten berechnet, nicht eingetippt."},"pplr-data-maps":{what:"Forschungsdaten zu Volksgruppen auf Karten: Sprachfamilien, Volkscluster, Religionen und Quellenabdeckung.",how:"Wählen Sie oben eine Ansicht und heben Sie mit der Legende eine Familie, einen Cluster oder eine Religion hervor."},"wall-of-people-groups":{what:"Jede DOXA-Volksgruppe auf einer Wand, um sie zu segnen. Im Modus Segnen ist die Wand das druckbare Poster (standardmäßig 5 × 8 Fuß), jede Gruppe mit einem Segensvers; im Modus Sozial ist sie eine gemeinsame Gebetswand.",how:"Segnen: Sehen Sie sich das Poster genau so an, wie es gedruckt wird, wählen Sie eine Größe und drücken Sie HD-Poster drucken. Sozial: Beten Sie für eine Gruppe, lesen oder schreiben Sie Kommentare und teilen Sie ihre Gebetsseite."}},pt:{"prayer-walk-planner":{what:"Planeje uma caminhada de oração: desenhe as áreas que suas equipes vão cobrir e imprima cada uma como um mapa de uma página.",how:"Desenhe uma zona, dê um nome, selecione as zonas necessárias e clique em Imprimir. Cada zona sai em sua própria página com coordenadas: um mapa por equipe."},"gospel-internet":{what:"Veja quais dos ~2.000 grupos de povos já têm recursos do evangelho no seu idioma, e onde a internet pode levá-los até eles.",how:"Explore a árvore de idiomas, os conjuntos delimitado e centrado e o mapa. Escolha uma lista ao lado para filtrar cada vista."},"country-posters":{what:"Cartazes de oração para imprimir, um por país, com seus grupos de povos.",how:"Escolha um país na lista de cartazes ou no mapa e imprima direto do navegador."},"all-people-groups":{what:"Todos os grupos de povos do mundo num mapa, coloridos pelo grau de alcance, com o conjunto de oração da DOXA em destaque.",how:"Clique numa categoria da legenda para ver só esses grupos. Clique num ponto para ver detalhes e o link de oração."},"doxa-vision-card":{what:"A tarefa restante num cartão: todos os grupos de povos, depois os não alcançados, depois a fronteira, depois o conjunto de oração da DOXA.",how:"Leia de cima para baixo. Cada número é calculado a partir dos dados, não digitado."},"pplr-data-maps":{what:"Dados de pesquisa sobre grupos de povos em mapas: famílias linguísticas, agrupamentos de povos, religiões e cobertura das fontes.",how:"Escolha uma vista nas abas e use a legenda para destacar uma família, agrupamento ou religião no mapa."},"wall-of-people-groups":{what:"Todos os grupos de povos da DOXA num só mural, para abençoá-los. No modo Abençoar, o mural é o cartaz para imprimir (5 × 8 pés por padrão), cada grupo com um versículo de bênção; no modo Social, é um mural de oração partilhado.",how:"Abençoar: percorra o cartaz tal como será impresso, escolha um tamanho e prima Imprimir cartaz HD. Social: ore por um grupo, leia ou deixe comentários e partilhe a sua página de oração."}},it:{"prayer-walk-planner":{what:"Pianifica una camminata di preghiera: disegna le zone che le tue squadre percorreranno e stampa ognuna come mappa di una pagina.",how:"Disegna una zona, dalle un nome, seleziona le zone che servono e premi Stampa. Ogni zona si stampa su una pagina con le coordinate: una mappa per squadra."},"gospel-internet":{what:"Scopri quali dei ~2.000 gruppi etnici hanno già risorse del vangelo nella loro lingua, e dove internet può portargliele.",how:"Esplora l’albero delle lingue, gli insiemi delimitato e centrato e la mappa. Scegli un elenco a lato per restringere ogni vista."},"country-posters":{what:"Poster di preghiera da stampare, uno per paese, con i suoi gruppi etnici.",how:"Scegli un paese dall’elenco dei poster o sulla mappa e stampalo direttamente dal browser."},"all-people-groups":{what:"Tutti i gruppi etnici del mondo su una mappa, colorati secondo quanto sono raggiunti, con l’insieme di preghiera DOXA evidenziato.",how:"Clicca una categoria della legenda per mostrare solo quei gruppi. Clicca un punto per dettagli e link di preghiera."},"doxa-vision-card":{what:"Il compito rimanente in una scheda: tutti i gruppi etnici, poi i non raggiunti, poi la frontiera, poi l’insieme di preghiera DOXA.",how:"Leggila dall’alto in basso. Ogni numero è calcolato dai dati, non digitato."},"pplr-data-maps":{what:"Dati di ricerca sui gruppi etnici su mappa: famiglie linguistiche, cluster di popoli, religioni e copertura delle fonti.",how:"Scegli una vista dalle schede, poi usa la legenda per evidenziare una famiglia, un cluster o una religione."},"wall-of-people-groups":{what:"Tutti i gruppi etnici DOXA su un solo muro, per benedirli. In modalità Benedire il muro è il poster da stampare (5 × 8 piedi di default), ogni gruppo con un versetto di benedizione; in modalità Social è un muro di preghiera condiviso.",how:"Benedire: esplora il poster esattamente come verrà stampato, scegli una dimensione e premi Stampa poster HD. Social: prega per un gruppo, leggi o lascia commenti e condividi la sua pagina di preghiera."}},ro:{"prayer-walk-planner":{what:"Planificați o plimbare de rugăciune: desenați zonele pe care le vor parcurge echipele și tipăriți fiecare ca hartă de o pagină.",how:"Desenați o zonă, dați-i un nume, selectați zonele necesare și apăsați Tipărire. Fiecare zonă se tipărește pe o pagină, cu coordonate: câte o hartă pentru fiecare echipă."},"gospel-internet":{what:"Vedeți care dintre cele ~2.000 de grupuri de popoare au deja resurse ale Evangheliei în limba lor și unde le poate duce internetul.",how:"Explorați arborele limbilor, mulțimile delimitată și centrată și harta. Alegeți o listă din lateral pentru a restrânge fiecare vedere."},"country-posters":{what:"Afișe de rugăciune de tipărit, câte unul pentru fiecare țară, cu grupurile ei de popoare.",how:"Alegeți o țară din lista de afișe sau de pe hartă și tipăriți-o direct din browser."},"all-people-groups":{what:"Toate grupurile de popoare ale lumii pe o hartă, colorate după cât sunt de atinse, cu setul de rugăciune DOXA evidențiat.",how:"Faceți clic pe o categorie din legendă pentru a afișa doar acele grupuri. Faceți clic pe un punct pentru detalii și linkul de rugăciune."},"doxa-vision-card":{what:"Sarcina rămasă într-un card: toate grupurile de popoare, apoi cele neatinse, apoi cele de frontieră, apoi setul de rugăciune DOXA.",how:"Citiți-l de sus în jos. Fiecare număr este calculat din date, nu tastat."},"pplr-data-maps":{what:"Date de cercetare despre grupurile de popoare pe hărți: familii de limbi, grupuri de popoare, religii și acoperirea surselor.",how:"Alegeți o vedere din file, apoi folosiți legenda pentru a evidenția o familie, un grup sau o religie."},"wall-of-people-groups":{what:"Toate grupurile de popoare DOXA pe un singur perete, ca să le binecuvântăm. În modul Binecuvântare, peretele este afișul de tipărit (5 × 8 picioare implicit), fiecare grup cu un verset de binecuvântare; în modul Social este un perete de rugăciune comun.",how:"Binecuvântare: explorați afișul exact cum se va tipări, alegeți o dimensiune și apăsați Tipărește afișul HD. Social: rugați-vă pentru un grup, citiți sau lăsați comentarii și distribuiți pagina lui de rugăciune."}},ru:{"prayer-walk-planner":{what:"Спланируйте молитвенную прогулку: нарисуйте районы для ваших команд и распечатайте каждый как карту на одну страницу.",how:"Нарисуйте зону, назовите её, выберите нужные зоны и нажмите «Печать». Каждая зона печатается на отдельной странице с координатами — по карте на команду."},"gospel-internet":{what:"Узнайте, у каких из ~2000 народов уже есть евангельские материалы на их языке и где интернет может донести их до них.",how:"Исследуйте языковое дерево, ограниченное и центрированное множества и карту. Выберите список сбоку, чтобы сузить любой вид."},"country-posters":{what:"Молитвенные плакаты для печати, по одному на страну, с её народами.",how:"Выберите страну в списке плакатов или на карте и распечатайте прямо из браузера."},"all-people-groups":{what:"Все народы мира на одной карте, окрашенные по степени достигнутости, с выделенным молитвенным набором DOXA.",how:"Нажмите категорию в легенде, чтобы показать только эти группы. Нажмите точку, чтобы увидеть сведения и ссылку для молитвы."},"doxa-vision-card":{what:"Оставшаяся задача на одной карточке: все народы, затем недостигнутые, затем пограничные, затем молитвенный набор DOXA.",how:"Читайте сверху вниз. Каждое число вычислено из данных, а не введено вручную."},"pplr-data-maps":{what:"Исследовательские данные о народах на картах: языковые семьи, кластеры народов, религии и охват источников.",how:"Выберите вид во вкладках, затем выделите семью, кластер или религию с помощью легенды."},"wall-of-people-groups":{what:"Все народы DOXA на одной стене, чтобы благословлять их. В режиме «Благословение» стена — это плакат для печати (по умолчанию 5 × 8 футов), у каждого народа — стих благословения; в режиме «Соцсеть» это общая молитвенная стена.",how:"«Благословение»: просмотрите плакат точно таким, каким он будет напечатан, выберите размер и нажмите «Печать плаката HD». «Соцсеть»: молитесь о народе, читайте и оставляйте комментарии, делитесь его молитвенной страницей."}},ar:{"prayer-walk-planner":{what:"خطِّط لجولة صلاة: ارسم المناطق التي ستغطيها فرقك واطبع كل منطقة خريطةً من صفحة واحدة.",how:"ارسم منطقة وسمِّها، واختر المناطق التي تحتاجها ثم اضغط «طباعة». تُطبع كل منطقة في صفحة مستقلة مع إحداثياتها: خريطة لكل فريق."},"gospel-internet":{what:"اعرف أيَّ الشعوب الألفين تقريبًا لديها بالفعل موارد للإنجيل بلغتها، وأين يمكن للإنترنت أن يوصلها إليها.",how:"استكشف شجرة اللغات والمجموعتين المحدودة والمتمركزة والخريطة. اختر قائمة من الجانب لتضييق كل عرض."},"country-posters":{what:"ملصقات صلاة للطباعة، ملصق لكل بلد، تُظهر شعوبه.",how:"اختر بلدًا من قائمة الملصقات أو على الخريطة، ثم اطبعه مباشرة من المتصفح."},"all-people-groups":{what:"كل شعوب العالم على خريطة واحدة، ملوَّنة بحسب درجة وصول الإنجيل إليها، مع إبراز مجموعة صلاة DOXA.",how:"انقر فئة في مفتاح الخريطة لعرض تلك الشعوب فقط. انقر نقطة لترى تفاصيلها ورابط الصلاة."},"doxa-vision-card":{what:"المهمة المتبقية في بطاقة واحدة: كل الشعوب، ثم غير المُبشَّرة، ثم الحدودية، ثم مجموعة صلاة DOXA.",how:"اقرأها من الأعلى إلى الأسفل. كل رقم محسوب من البيانات، وليس مكتوبًا يدويًا."},"pplr-data-maps":{what:"بيانات بحثية عن الشعوب على خرائط: العائلات اللغوية والعناقيد الشعبية والأديان وتغطية المصادر.",how:"اختر عرضًا من التبويبات، ثم استخدم مفتاح الخريطة لإبراز عائلة أو عنقود أو دين."},"wall-of-people-groups":{what:"كل شعوب DOXA على جدار واحد لنباركها. في وضع «بركة» يكون الجدار هو الملصق الجاهز للطباعة (5 × 8 أقدام افتراضيًا)، ولكل شعب آية بركة؛ وفي وضع «تفاعلي» يكون جدار صلاة مشتركًا.",how:"«بركة»: تجوّل في الملصق كما سيُطبع تمامًا، واختر المقاس ثم اضغط «طباعة ملصق عالي الدقة». «تفاعلي»: صلِّ لأجل شعب، واقرأ التعليقات أو اكتب تعليقًا، وشارك صفحة الصلاة الخاصة به."}},hi:{"prayer-walk-planner":{what:"प्रार्थना-यात्रा की योजना बनाएँ: अपनी टीमों के क्षेत्र बनाएँ और हर क्षेत्र को एक पन्ने के नक्शे के रूप में छापें।",how:"एक क्षेत्र बनाएँ, उसे नाम दें, ज़रूरी क्षेत्र चुनें और प्रिंट दबाएँ। हर क्षेत्र निर्देशांकों के साथ अपने पन्ने पर छपता है: हर टीम के लिए एक नक्शा।"},"gospel-internet":{what:"देखें कि लगभग 2,000 जन-समूहों में से किनके पास उनकी भाषा में सुसमाचार के संसाधन पहले से हैं, और इंटरनेट उन्हें कहाँ तक पहुँचा सकता है।",how:"भाषा-वृक्ष, सीमित और केंद्रित समुच्चय और नक्शा देखें। हर दृश्य को सीमित करने के लिए बगल में एक सूची चुनें।"},"country-posters":{what:"छापने योग्य प्रार्थना-पोस्टर, हर देश के लिए एक, उसके जन-समूहों के साथ।",how:"पोस्टर सूची में या नक्शे पर कोई देश चुनें, फिर सीधे ब्राउज़र से छापें।"},"all-people-groups":{what:"दुनिया के सभी जन-समूह एक नक्शे पर, इस आधार पर रंगे हुए कि वे कितने पहुँचे हुए हैं, DOXA प्रार्थना-समूह उभारा हुआ।",how:"केवल वे समूह देखने के लिए लीजेंड में एक श्रेणी पर क्लिक करें। विवरण और प्रार्थना-लिंक के लिए किसी बिंदु पर क्लिक करें।"},"doxa-vision-card":{what:"बचा हुआ काम एक कार्ड में: सभी जन-समूह, फिर अपहुँचे, फिर सीमांत, फिर DOXA प्रार्थना-समूह।",how:"इसे ऊपर से नीचे पढ़ें। हर संख्या आँकड़ों से गणना की गई है, हाथ से नहीं लिखी गई।"},"pplr-data-maps":{what:"जन-समूहों पर शोध-आँकड़े नक्शों पर: भाषा-परिवार, जन-क्लस्टर, धर्म और स्रोतों की पहुँच।",how:"टैब से कोई दृश्य चुनें, फिर लीजेंड से किसी परिवार, क्लस्टर या धर्म को नक्शे पर उभारें।"},"wall-of-people-groups":{what:"हर DOXA जन-समूह एक ही दीवार पर, उन्हें आशीष देने के लिए। आशीष मोड में दीवार छापने योग्य पोस्टर है (डिफ़ॉल्ट 5 × 8 फ़ुट), हर समूह के साथ आशीष का एक पद; सामाजिक मोड में यह एक साझा प्रार्थना दीवार है।",how:"आशीष: पोस्टर को ठीक वैसा ही देखें जैसा वह छपेगा, आकार चुनें और HD पोस्टर छापें दबाएँ। सामाजिक: किसी समूह के लिए प्रार्थना करें, टिप्पणियाँ पढ़ें या लिखें, और उसका प्रार्थना पेज साझा करें।"}},zh:{"prayer-walk-planner":{what:"规划祷告行走:画出各小组要走的区域,把每个区域打印成一页地图。",how:"画一个区域并命名,选择需要的区域后点“打印”。每个区域连同坐标单独打印一页:每个小组一张地图。"},"gospel-internet":{what:"看看约 2,000 个族群中,哪些已经有母语的福音资源,以及互联网能把这些资源带到哪里。",how:"浏览语言树、有界集与中心集以及地图。在侧边选择一个名单,可缩小每个视图的范围。"},"country-posters":{what:"可打印的祷告海报,每个国家一张,列出其中的族群。",how:"在海报列表或地图上选择一个国家,然后直接从浏览器打印。"},"all-people-groups":{what:"世界上所有族群都在一张地图上,按福音进展着色,并突出显示 DOXA 祷告名单。",how:"点击图例中的类别,只显示这些族群。点击一个点,查看详情和祷告链接。"},"doxa-vision-card":{what:"一张卡片看清剩下的使命:所有族群,然后是未得之民,再是前沿族群,最后是 DOXA 祷告名单。",how:"从上往下读。每个数字都由数据计算得出,而不是手工填写。"},"pplr-data-maps":{what:"族群研究数据地图:语系、民族集群、宗教和数据来源覆盖情况。",how:"在标签页中选择一个视图,然后用图例在地图上突出显示某个语系、集群或宗教。"},"wall-of-people-groups":{what:"所有 DOXA 族群都在一面墙上,为要祝福他们。在“祝福”模式下,这面墙就是可打印的海报(默认 5 × 8 英尺),每个族群配一节祝福经文;在“社交”模式下,它是一面共同的祷告墙。",how:"祝福:按打印时的样子浏览海报,选择尺寸,然后点击“打印高清海报”。社交:为某个族群祷告,阅读或留下评论,并分享它的祷告页面。"}}};function _l(e,t){var n;const o=String(t||"en").toLowerCase().split(/[-_]/)[0];return((n=$l[o])==null?void 0:n[e])||$l.en[e]||null}const vl="previews/examples/middle-east-core",vg=Array.from({length:12},(e,t)=>`${vl}/packet-p${String(t+1).padStart(2,"0")}.webp`),yg=Array.from({length:70},(e,t)=>`${vl}/card-${String(t+1).padStart(2,"0")}.webp`),wg={"upg-100":{storageKey:"upg-100",pos:{side:"56px",narrow:{placement:"top-left",side:"12px"}},leadKey:"mapInfo.tab.upg-100.lead",takeawayKey:"mapInfo.tab.upg-100.takeaway",noteKey:"pins.approximate",examples:[{kind:"image",src:"previews/middle-east-core.webp",full:"posters/middle-east-core.html"},{kind:"pages",pages:vg},{kind:"deck",cards:yg}]},"regions-dashboard":{storageKey:"regions-dashboard",pos:{side:"56px",narrow:{placement:"top-left",side:"8px"}},leadKey:"mapInfo.tab.regions-dashboard.lead",takeawayKey:"mapInfo.tab.regions-dashboard.takeaway",noteKey:"mapInfo.tab.regions-dashboard.note",examples:[]},"dashboard-plus-grid":{storageKey:"dashboard-plus-grid",trigger:"control",pos:{top:"46px",raise:!0},leadKey:"mapInfo.tab.dashboard-plus-grid.lead",takeawayKey:"mapInfo.tab.dashboard-plus-grid.takeaway",examples:[{kind:"table",columns:[{key:"mapInfo.col.peopleGroup"},{key:"mapInfo.col.country"},{key:"mapInfo.col.region"},{key:"mapInfo.col.population"}],rows:[["Hararghe Oromo","Ethiopia","Africa",6355e3],["Gaaliin","Sudan","Middle East",452e4],["White Moor","Morocco","Middle East",312e4],["Baloch, Western","Iran","Middle East",3035e3],["Baloch, Eastern","Pakistan","Asia",298e4],["Bhuiyar","India","Asia",2925e3]],total:2107}]},"research-map-plus-grid":{storageKey:"research-map-plus-grid",trigger:"control",pos:{top:"56px",side:"56px"},leadKey:"mapInfo.tab.research-map-plus-grid.lead",noteKey:"pins.approximate",examples:[]},"prayer-map":{storageKey:"prayer-map",trigger:"control",pos:{side:"56px"},leadKey:"mapInfo.tab.prayer-map.lead",takeawayKey:"mapInfo.tab.prayer-map.takeaway",noteKey:"pins.approximate",examples:[]},"cities-internet":{storageKey:"cities-internet",trigger:"control",pos:{side:"56px",narrow:{side:"4px"}},leadKey:"mapInfo.tab.cities-internet.lead",takeawayKey:"mapInfo.tab.cities-internet.takeaway",noteKey:"pins.approximate",examples:[]},"gospel-resources":{storageKey:"gospel-resources",trigger:"control",pos:{side:"56px",narrow:{side:"4px"}},leadKey:"mapInfo.tab.gospel-resources.lead",takeawayKey:"mapInfo.tab.gospel-resources.takeaway",noteKey:"pins.approximate",examples:[]}};function yl(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function wl(e,t,o=ns()){const n=String(e).split(/\s*\|\s*/);if(n.length<2||typeof t!="number")return String(e);const a=String(o||"en").split("-")[0].toLowerCase();if(a!=="en")return n[cl(t,n.length,a)];const s=Math.abs(t),r=n.length===2?s?s>1?1:0:1:s?Math.min(s,2):0;return n[Math.min(r,n.length-1)]}function rs(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function kg(e,t={}){const o=typeof t.fallback=="function"?(n,a,s)=>yl(wl(t.fallback(rs(e,n),a)??n,s),a):(n,a,s)=>yl(wl(wo(rs(e,n))??n,s),a);try{const n=Kn();return(a,s,r)=>{const i=rs(e,a),l=typeof r=="number"?n.t(i,s||{},r):n.t(i,s||{});return l===i?o(a,s,r):l}}catch{return o}}const xg=["dir","lang"],Tg=["aria-label","title","aria-expanded"],Lg={viewBox:"0 0 16 16",focusable:"false"},Sg={key:0,d:"M14 8H3M7 3.5 2.5 8 7 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Og={key:1,d:"M2 8h11M9 3.5 13.5 8 9 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Pg=["dir"],Eg={viewBox:"0 0 16 16",focusable:"false"},Mg={key:0,d:"M14 8H3M7 3.5 2.5 8 7 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ag={key:1,d:"M2 8h11M9 3.5 13.5 8 9 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cg=["aria-labelledby"],Ig={class:"mi-head"},Ng=["id"],Fg=["aria-label"],Dg={class:"mi-body"},Rg={key:0,class:"mi-lead"},Wg={key:1,class:"mi-takeaway"},zg=["src","alt","onError"],Ug={key:0,class:"mi-center"},Hg=["href"],jg=["aria-label","onClick"],Vg=["src","alt","onError"],Bg={key:0,class:"mi-center"},Kg=["onClick"],qg={class:"mi-center"},Gg=["onClick"],Xg={class:"mi-pages"},Yg=["aria-label","onClick"],Jg=["src","alt"],Zg={class:"mi-center"},Qg=["onClick"],em=["aria-label","onClick"],tm=["src","onError"],om={class:"mi-center"},nm=["onClick"],am={class:"mi-center"},sm=["onClick"],rm={class:"mi-grid"},im=["src","alt"],lm={class:"mi-center"},cm=["onClick"],pm={class:"mi-table-wrap"},um={class:"mi-table"},dm={key:0,class:"mi-more"},fm={key:2,class:"mi-note"},hm={key:0,class:"mi-foot"},gm=["checked"],Gn=new Set,mm={__name:"MapInfo",props:{storageKey:{type:String,required:!0},leadKey:{type:String,default:""},lead:{type:String,default:""},takeawayKey:{type:String,default:""},takeaway:{type:String,default:""},noteKey:{type:String,default:""},note:{type:String,default:""},examples:{type:Array,default:()=>[]},assetsBase:{type:String,default:""},placement:{type:String,default:"top-right",validator:e=>["top-right","top-left"].includes(e)},locale:{type:String,default:""},trigger:{type:String,default:"floating",validator:e=>["floating","control"].includes(e)},popupOnly:{type:Boolean,default:!1}},setup(e){const t=e,o=()=>t.trigger==="control",n=Se(0);function a(){return n.value,String(t.locale||ns()||"en").split("-")[0].toLowerCase()}const s=kg("",{fallback:b=>wo(b,a())}),r=(b,I)=>b?s(b):I,i=b=>{try{return new Intl.NumberFormat(a()).format(b)}catch{return String(b)}},l=()=>a()==="ar",c="dxmaps.mapInfo.seen.",d="dxmaps.mapInfo.pointer",g="dxmaps:mapinfo-pointer-off";function _(b){try{return window.localStorage.getItem(b)}catch{return null}}function L(b,I){try{window.localStorage.setItem(b,I)}catch{}}const D=Se(!1),E=Se(!1);function j(){if(E.value=_(d)==="off",o()){D.value=!Gn.has(t.storageKey);return}D.value=!E.value&&_(c+t.storageKey)!=="1"}function U(){o()||j()}function K(b){o()||(!b||b.key===d||b.key===c+t.storageKey)&&j()}ho(()=>{j(),window.addEventListener(g,U),window.addEventListener("storage",K)}),Ln(()=>{window.removeEventListener(g,U),window.removeEventListener("storage",K)});function w(b){E.value=b,L(d,b?"off":"on"),D.value=!b&&_(c+t.storageKey)!=="1";try{window.dispatchEvent(new CustomEvent(g))}catch{}}const $=Se(!1),M=Se(null),O=Se(null),N=Eo({}),q=Eo({});async function B(){var b;n.value++,$.value=!0,o()&&Gn.add(t.storageKey),await yn(),(b=O.value)==null||b.focus()}async function ue(){$.value=!1,o()||L(c+t.storageKey,"1"),D.value=!1,await yn();const b=t.trigger==="control"&&_e.value&&J.value?J.value:M.value;b==null||b.focus()}const me=Se(null),J=Se(null),_e=Se(!1);let Le=null,Me=null,ne=null,re=null;function se(b){for(let I=b;I;I=I.parentNode||I.host)if(I.nodeType===1&&(I.hasAttribute("inert")||I.getAttribute("aria-hidden")==="true"))return!0;return!1}const Ve=3e4,at=9e4;let ke=!1;const we=Se(t.trigger==="control");let Ze=0;function dt(){const b=me.value&&me.value.parentElement,I=b&&b.getBoundingClientRect();return!!b&&!se(b)&&I.width>0&&I.height>0}function Rt(){if(we.value){if(!dt()){Ze=0;return}Ze?Date.now()-Ze>=(ke?at:Ve)&&(we.value=!1):Ze=Date.now()}}function Ae(){Rt(),o()&&D.value&&Gn.has(t.storageKey)&&!dt()&&(D.value=!1);const b=J.value;let I=!1;if(b&&b.isConnected&&!se(b)){const V=b.getBoundingClientRect();if(I=V.width>0&&V.height>0&&V.bottom>0&&V.right>0&&V.topQ+I.clientWidth/2?{side:"right",top:fe,right:Math.round(Q+I.clientWidth-b.left+st)}:{side:"left",top:fe,left:Math.round(b.right-Q+st)}}const ze=Se(null),Ge=()=>{const b=ze.value;return b.side==="right"?{top:b.top+"px",right:b.right+"px"}:{top:b.top+"px",left:b.left+"px"}},Wt=()=>Ae();function f(b){if(!b||b===J.value){Ae();return}try{Me==null||Me.disconnect(),ne==null||ne.disconnect()}catch{}J.value=b,we.value=!1;try{Me=new IntersectionObserver(Ae),Me.observe(b)}catch{Me=null}try{ne=new ResizeObserver(Ae),ne.observe(b)}catch{ne=null}b.setAttribute("aria-expanded",String($.value)),Ae()}const m=b=>!!Le&&typeof b.composedPath=="function"&&b.composedPath().includes(Le);function h(b){m(b)&&(b.stopPropagation(),b.detail&&(b.detail.ack=!0),f(b.detail&&b.detail.el))}function x(b){m(b)&&(b.stopPropagation(),ke=!!(b.detail&&b.detail.pending),!ke&&!J.value&&(we.value=!1))}function P(b){m(b)&&(b.stopPropagation(),f(b.detail&&b.detail.el),$.value||B())}ho(()=>{if(t.trigger==="control"&&(Le=me.value&&me.value.parentElement,!!Le)){Le.addEventListener("dxmaps:mapinfo-control",h),Le.addEventListener("dxmaps:mapinfo-open",P),Le.addEventListener("dxmaps:mapinfo-pending",x),re=window.setInterval(Ae,1500),window.addEventListener("resize",Wt);try{window.dispatchEvent(new CustomEvent("dxmaps:mapinfo-host",{detail:{local:t.popupOnly}}))}catch{}}}),Ln(()=>{Le&&(Le.removeEventListener("dxmaps:mapinfo-control",h),Le.removeEventListener("dxmaps:mapinfo-open",P),Le.removeEventListener("dxmaps:mapinfo-pending",x));try{Me==null||Me.disconnect(),ne==null||ne.disconnect()}catch{}re&&window.clearInterval(re),window.removeEventListener("resize",Wt)}),Ht($,b=>{var I;(I=J.value)==null||I.setAttribute("aria-expanded",String(b))});const S=()=>!t.popupOnly&&(t.trigger!=="control"||!we.value&&!_e.value);Ht(()=>o()&&D.value&&!$.value&&!S()&&!!ze.value,b=>{b&&Gn.add(t.storageKey)},{immediate:!0});const W=Se(null);function R(b){const I=W.value;if(!I)return;const V=[...I.querySelectorAll('button, a[href], input, [tabindex]:not([tabindex="-1"])')].filter(Qe=>!Qe.disabled&&Qe.offsetParent!==null);if(!V.length)return;const Q=I.getRootNode().activeElement,ee=V[0],fe=V[V.length-1];b.shiftKey&&(Q===ee||!I.contains(Q))?(b.preventDefault(),fe.focus()):!b.shiftKey&&(Q===fe||!I.contains(Q))&&(b.preventDefault(),ee.focus())}function u(b){b.key==="Escape"?(b.stopPropagation(),ue()):b.key==="Tab"&&R(b)}function p(b){N[b]=!N[b]}function y(b){const I=b&&b.target;I&&(I.style.display="none")}function k(b){const I=String(b||"");return!I||/^(?:[a-z]+:|\/)/i.test(I)||!t.assetsBase?I:t.assetsBase.replace(/\/+$/,"")+"/"+I.replace(/^\.?\//,"")}const H={image:"mapInfo.poster",pages:"mapInfo.packet",deck:"mapInfo.cards",table:"mapInfo.spreadsheet"};function A(b){return s(b.titleKey||H[b.kind]||"mapInfo.example")}const v=b=>(b.cards||[]).slice(0,5),T=b=>b&&typeof b=="object"?b.key?s(b.key):String(b.label||""):String(b??"");return pl(` +`,wh=uo({name:"VerticalTabsLayout",components:{BackToTopButton:ei},props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},labels:{type:Object,default:()=>({})},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){return pl(yh,"vertical-tabs-layout"),{T:$h}},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{},hostEls:{},sheetLift:0}},computed:{fabShown(){return this.narrow&&!this.header&&!this.navOpen},fabLift(){return this.sheetLift},activeHostEl(){return this.hostEls[this.active]||null},railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const o of t.rows||[])e.push(o);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e),this.$nextTick(()=>this.recomputeLift())}}},mounted(){var e,t;try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=o=>{this.narrow=o.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active)),this._onSheet=o=>this.onLegendSheet(o),(e=this.$refs.vtlRoot)==null||e.addEventListener("dxmaps:legend-sheet",this._onSheet),this._onLiftMove=()=>{this._sheets&&this._sheets.size&&this.scheduleLift()},(t=this.$refs.vtlRoot)==null||t.addEventListener("scroll",this._onLiftMove,{capture:!0,passive:!0}),window.addEventListener("resize",this._onLiftMove,{passive:!0})},beforeUnmount(){var e,t,o;try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null,this._onSheet&&((e=this.$refs.vtlRoot)==null||e.removeEventListener("dxmaps:legend-sheet",this._onSheet)),this._onLiftMove&&((t=this.$refs.vtlRoot)==null||t.removeEventListener("scroll",this._onLiftMove,{capture:!0}),window.removeEventListener("resize",this._onLiftMove)),this._liftRaf&&cancelAnimationFrame(this._liftRaf),this._liftTimer&&clearTimeout(this._liftTimer),(o=this._sheetRO)==null||o.disconnect(),this._sheetRO=null,this._onSheet=null,this._onLiftMove=null,this._sheets=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},onLegendSheet(e){var n,a;const t=e.composedPath&&e.composedPath()[0]||e.target,o=e&&e.detail||{};this._sheets||(this._sheets=new Set),!this._sheetRO&&typeof ResizeObserver=="function"&&(this._sheetRO=new ResizeObserver(()=>this.scheduleLift())),o.state==="gone"?(this._sheets.delete(t),(n=this._sheetRO)==null||n.unobserve(t)):this._sheets.has(t)||(this._sheets.add(t),(a=this._sheetRO)==null||a.observe(t)),this.recomputeLift(),this.scheduleLift()},scheduleLift(){if(this._liftRaf||this._liftTimer)return;const e=()=>{this._liftRaf&&cancelAnimationFrame(this._liftRaf),this._liftTimer&&clearTimeout(this._liftTimer),this._liftRaf=0,this._liftTimer=0,this.recomputeLift()};this._liftRaf=requestAnimationFrame(e),this._liftTimer=setTimeout(e,100)},recomputeLift(){var o;const e=this.$refs.vtlRoot;let t=0;if(e&&this._sheets&&this._sheets.size){const n=e.getBoundingClientRect(),a=e.querySelector(".vtl-fab"),s=a?parseFloat(getComputedStyle(a).bottom)||0:12;for(const r of this._sheets){if(!r||!r.isConnected){this._sheets.delete(r),(o=this._sheetRO)==null||o.unobserve(r);continue}if(!this.isShown(r))continue;const i=r.getBoundingClientRect();i.height>0&&i.topn.top&&(t=Math.max(t,Math.round(n.bottom-s-i.top+8)))}}this.sheetLift=t},isShown(e){if(typeof e.checkVisibility=="function"&&!e.checkVisibility())return!1;for(let t=e;t;t=t.parentNode||t.host)if(t.nodeType===1&&(t.hasAttribute("hidden")||t.hasAttribute("inert")))return!1;return!0},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},label(e){const t={toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse"};return this.labels&&this.labels[e]||t[e]},expandRail(){!this.narrow&&this.railCollapsed&&(this.railCollapsed=!1)},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(o=>o.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.$nextTick(()=>this.watchContextLoss(e)),this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},deepCanvases(e,t=[]){if(!e)return t;for(const o of e.querySelectorAll("*"))o.tagName==="CANVAS"&&t.push(o),o.shadowRoot&&this.deepCanvases(o.shadowRoot,t);return t},watchContextLoss(e){const t=this._hostSlots[e];if(t)for(const o of this.deepCanvases(t))o.__vtlLossBound||(o.__vtlLossBound=!0,o.addEventListener("webglcontextlost",()=>{this.hostState={...this.hostState,[e]:"lost"}},{once:!0}))},reloadHostElement(e){const t=this._hostSlots[e];t&&(t.innerHTML=""),this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"loading"},this.$nextTick(()=>this.mountHostElement(e))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(n=>n.key===e),o=this._hostSlots[e];!t||!o||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},_h(t.src).then(()=>vh(t.element)).then(()=>{hh(t.element,t.src),o.innerHTML="";const n=document.createElement(t.element),a=t.attrs||{};for(const s in a){const r=a[s],i=r!=null&&typeof r=="object"?JSON.stringify(r):String(r);try{n[s]=r}catch{}try{n.setAttribute(s,i)}catch{}}n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n);for(const s of[0,250,1500])setTimeout(()=>this.watchContextLoss(e),s);this.hostState={...this.hostState,[e]:"ready"}}).catch(n=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:n&&n.message||String(n)}}))},iconSvg(e){return e?dh(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],o=(this.groups||[]).find(a=>a.key===e),n=t??(o&&o.open===!0);this.folderOverride={...this.folderOverride,[e]:!n}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const o=t.indexOf(this.active);let n=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")n=(o+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")n=(o-1+t.length)%t.length;else if(e.key==="Home")n=0;else if(e.key==="End")n=t.length-1;else return;e.preventDefault();const a=t[n];this.pick(a),this.$nextTick(()=>{const s=this._tabEls[a];s&&s.focus&&s.focus()})}}}),kh={key:0,class:"vtl-top"},xh=["aria-expanded","aria-label"],Lh={class:"vtl-brand"},Th={class:"vtl-title"},Sh={class:"vtl-meta"},Oh=["aria-expanded","aria-label"],Ph={class:"vtl-body"},Eh=["aria-label","aria-hidden","role","aria-orientation"],Mh=["aria-expanded","aria-label"],Ah=["innerHTML"],Ch={class:"vtl-collapse-tx"},Ih=["aria-expanded","onClick"],Nh={key:0,class:"vtl-cap"},Fh={class:"vtl-tl"},Dh={key:1,class:"vtl-td"},Rh=["innerHTML"],Wh={key:1,class:"vtl-tier"},zh={key:0,class:"vtl-cap"},Uh={class:"vtl-tl"},Hh={key:1,class:"vtl-td"},jh={class:"vtl-rows"},Vh=["aria-selected","aria-disabled","tabindex","onClick"],Bh=["innerHTML"],Kh={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},qh={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Gh={class:"vtl-tab-text"},Xh={class:"vtl-tab-label"},Yh={key:0,class:"vtl-tab-badge"},Jh={key:0,class:"vtl-tab-sub"},Zh=["innerHTML"],Qh=["aria-selected","aria-disabled","tabindex","onClick"],eg=["innerHTML"],tg={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},og={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},ng={class:"vtl-tab-text"},ag={class:"vtl-tab-label"},sg={key:0,class:"vtl-tab-sub"},rg={class:"vtl-main"},ig={class:"vtl-content"},lg=["hidden"],cg={key:0,class:"vtl-host-hint"},pg={key:1,class:"vtl-host-hint"},ug=["onClick"],dg={key:2,class:"vtl-host-hint err"};function fg(e,t,o,n,a,s){const r=Sn("BackToTopButton");return F(),z("div",{ref:"vtlRoot",class:et(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}]),style:ao(e.fabShown?{"--map-fab-clearance":"calc(56px + env(safe-area-inset-bottom) + "+e.fabLift+"px)","--map-fab-beside":"calc(64px + env(safe-area-inset-left))","--vtl-fab-lift":e.fabLift+"px",...e.fabLift>0?{"--map-fab-sheet-inset":"0px"}:{}}:null)},[e.header?(F(),z("header",kh,[C("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=i=>e.navOpen=!e.navOpen),"aria-label":e.label("toggleList")},"☰",8,xh),C("span",Lh,[Fo(e.$slots,"brand")]),C("b",Th,X(e.title),1),C("span",Sh,[Fo(e.$slots,"meta")])])):pe("",!0),e.fabShown?(F(),z("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=i=>e.navOpen=!0),"aria-label":e.label("openViews")},"☰",8,Oh)):pe("",!0),e.narrow?(F(),mo(r,{key:2,target:e.activeHostEl,labels:{backToTop:e.T("actions.backToTop","Back to top")}},null,8,["target","labels"])):pe("",!0),C("div",Ph,[C("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:e.$slots.rail?null:"tablist","aria-orientation":e.$slots.rail?null:"vertical"},[C("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?e.label("expandList"):e.label("collapseList"),onClick:t[2]||(t[2]=(...i)=>e.toggleRail&&e.toggleRail(...i))},[C("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,Ah),C("span",Ch,X(e.label("collapse")),1)],8,Mh),e.$slots.rail?Fo(e.$slots,"rail",{collapsed:e.railCollapsed&&!e.narrow,expand:e.expandRail,pick:e.pick},void 0,void 0,0):e.groups&&e.groups.length?(F(!0),z(oe,{key:1},Ye(e.groups,i=>(F(),z("div",{class:"vtl-grp",key:i.key},[i.folder?(F(),z("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(i)),onClick:l=>e.toggleFolder(i.key)},[i.badge?(F(),z("span",Nh,X(i.badge),1)):pe("",!0),C("span",Fh,X(i.label),1),i.count!=null?(F(),z("span",Dh,X(i.count),1)):pe("",!0),C("span",{class:et(["vtl-chev",{open:!e.isFolderClosed(i)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,Rh)],8,Ih)):(F(),z("div",Wh,[i.badge?(F(),z("span",zh,X(i.badge),1)):pe("",!0),C("span",Uh,X(i.label),1),i.count!=null?(F(),z("span",Hh,X(i.count),1)):pe("",!0)])),Io(C("div",jh,[(F(!0),z(oe,null,Ye(i.rows,l=>(F(),z("button",{key:l.key,type:"button",role:"tab",class:et(["vtl-tab",{active:l.key===e.active,disabled:l.disabled}]),"aria-selected":String(l.key===e.active),"aria-disabled":l.disabled?"true":null,tabindex:l.key===e.active?0:-1,ref_for:!0,ref:c=>e.registerTab(l.key,c),onClick:c=>e.pick(l.key),onKeydown:t[3]||(t[3]=c=>e.onKey(c))},[l.icon?(F(),z("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Bh)):l.emoji?(F(),z("span",Kh,X(l.emoji),1)):(F(),z("span",qh,X(e.initial(l.label)),1)),C("span",Gh,[C("span",Xh,[jt(X(l.label),1),l.badge?(F(),z("span",Yh,X(l.badge),1)):pe("",!0)]),l.sub?(F(),z("span",Jh,[C("span",{innerHTML:l.sub},null,8,Zh)])):pe("",!0)])],42,Vh))),128))],512),[[qo,!i.folder||!e.isFolderClosed(i)]])]))),128)):(F(!0),z(oe,{key:2},Ye(e.items,i=>(F(),z("button",{key:i.key,type:"button",role:"tab",class:et(["vtl-tab",{active:i.key===e.active,disabled:i.disabled}]),"aria-selected":String(i.key===e.active),"aria-disabled":i.disabled?"true":null,tabindex:i.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(i.key,l),onClick:l=>e.pick(i.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[i.icon?(F(),z("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(i.icon)},null,8,eg)):i.emoji?(F(),z("span",tg,X(i.emoji),1)):(F(),z("span",og,X(e.initial(i.label)),1)),C("span",ng,[C("span",ag,X(i.label),1),i.sub?(F(),z("span",sg,X(i.sub),1)):pe("",!0)])],42,Qh))),128))],8,Eh),C("main",rg,[e.header?Fo(e.$slots,"toolbar",{},void 0,void 0,0):pe("",!0),C("div",ig,[(F(!0),z(oe,null,Ye(e.mountedElementRows,i=>Io((F(),z("section",{key:i.key,class:"vtl-host",hidden:i.key!==e.active,ref_for:!0,ref:l=>{l?e.hostEls[i.key]=l:delete e.hostEls[i.key]}},[C("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(i.key,l)},null,512),e.hostState[i.key]==="loading"?(F(),z("div",cg,X(e.T("messages.loadingNamed","Loading {name}…").replace("{name}",i.label)),1)):e.hostState[i.key]==="lost"?(F(),z("div",pg,[jt(X(e.T("messages.mapContextLost","This map was unloaded to free graphics memory."))+" ",1),C("button",{type:"button",class:"vtl-host-reload",onClick:l=>e.reloadHostElement(i.key)},X(e.T("buttons.reloadMap","Reload Map")),9,ug)])):e.hostState[i.key]==="error"?(F(),z("div",dg,[jt(X(e.T("messages.couldNotLoadNamed","Could not load {name}.").replace("{name}",i.label)),1),t[5]||(t[5]=C("br",null,null,-1)),C("small",null,X(e.hostError[i.key]),1)])):pe("",!0)],8,lg)),[[qo,i.key===e.active]])),128)),Fo(e.$slots,"default")])])])],6)}const hg=Fa(wh,[["render",fg],["styles",[bh]]]),as=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",hideFromSwitcher:!0},{code:"ro",name:"Romanian",nativeName:"Română",flag:"🇷🇴",hideFromSwitcher:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",hideFromSwitcher:!0}],gg=as.filter(e=>!e.hideFromSwitcher);function mg(e){return as.find(t=>t.code===e)}function ml(e){const t=String(e||"").split("-")[0].toLowerCase();return as.some(o=>o.code===t)?t:"en"}const bl="doxa-maps:locale";function bg(){try{const e=localStorage.getItem(bl);if(e)return ml(e)}catch{}return ml(navigator==null?void 0:navigator.language)}function $g(e){try{localStorage.setItem(bl,e)}catch{}}const on={en:{backToTop:"Back to top","sec.dashboards":"Dashboards","sec.prayer":"Prayer Mobilization","sec.gospel":"Gospel Research","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Big Picture","sub.dashboard-plus-grid":"dashboard + people-groups grid, stacked","tab.research-map":"Research Map","sub.research-map":"prayer · engagement · regions","tab.research-map-plus-grid":"Simple Research","sub.research-map-plus-grid":"research map + people-groups grid","tab.prayer-map":"Prayer Progress","sub.prayer-map":"simple world prayer map","tab.cities-internet":"Cities with Internet","sub.cities-internet":"connectivity of key cities","tab.gospel-resources":"Gospel Resources","sub.gospel-resources":"resources by place","tab.regions-dashboard":"Regions","sub.regions-dashboard":"regions and their countries","tab.upg-100":"UPG-100 List","sub.upg-100":"my unreached list + posters",navLabel:"Research maps",meta:"{n} maps",loading:"Loading {label}…",loadFailed:"Could not load {label}.",manifestHint:"This tab is composed from manifest.json — build the tree, or serve the built tree, to load it.",close:"Close",help:"About this map",desktopOnly:"desktop only",lab:"lab",experimentalSub:"experimental bundle",mobileNotBuilt:"not built for mobile",dismiss:"Dismiss",desktopOnly:"desktop only",lab:"lab",experimentalSub:"experimental bundle",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse","tab.prayer-walk-planner":"Prayer Walk Planner","tab.upg-neighbor":"UPG Neighbor","tab.key-cities":"Key Cities","tab.all-people-groups":"All People Groups","tab.pplr-data-maps":"PPLR Data Maps","tab.wall-of-people-groups":"Wall of People Groups","tab.country-posters":"Country Posters","tab.doxa-vision-card":"Doxa Vision Card"},es:{backToTop:"Volver arriba","sec.dashboards":"Paneles","sec.prayer":"Movilización de oración","sec.gospel":"Investigación del Evangelio","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Panorama general","sub.dashboard-plus-grid":"panel + cuadrícula de pueblos","tab.research-map":"Mapa de investigación","sub.research-map":"oración · compromiso · regiones","tab.research-map-plus-grid":"Investigación simple","sub.research-map-plus-grid":"mapa de investigación + cuadrícula de pueblos","tab.prayer-map":"Progreso de oración","sub.prayer-map":"mapa mundial de oración","tab.cities-internet":"Ciudades con Internet","sub.cities-internet":"conectividad de ciudades clave","tab.gospel-resources":"Recursos del Evangelio","sub.gospel-resources":"recursos por lugar","tab.regions-dashboard":"Regiones","sub.regions-dashboard":"regiones y sus países","tab.upg-100":"Lista UPG-100","sub.upg-100":"mi lista de no alcanzados + carteles",navLabel:"Mapas de investigación",meta:"{n} mapas",loading:"Cargando {label}…",loadFailed:"No se pudo cargar {label}.",manifestHint:"Esta pestaña se compone a partir de manifest.json: compila el árbol o sirve el árbol compilado para cargarla.",close:"Cerrar",help:"Acerca de este mapa",desktopOnly:"solo escritorio",lab:"beta",experimentalSub:"mapa experimental",mobileNotBuilt:"no diseñado para móvil",dismiss:"Cerrar",desktopOnly:"solo escritorio",lab:"beta",experimentalSub:"mapa experimental",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer","tab.prayer-walk-planner":"Caminatas de oración","tab.upg-neighbor":"Vecino UPG","tab.key-cities":"Ciudades clave","tab.all-people-groups":"Todos los pueblos","tab.pplr-data-maps":"Mapas de datos PPLR","tab.wall-of-people-groups":"Muro de los pueblos","tab.country-posters":"Carteles por país","tab.doxa-vision-card":"Tarjeta de visión Doxa"},fr:{backToTop:"Retour en haut","sec.dashboards":"Tableaux de bord","sec.prayer":"Mobilisation à la prière","sec.gospel":"Recherche sur l'Évangile","sec.experimental":"Expérimental","tab.dashboard-plus-grid":"Vue d'ensemble","sub.dashboard-plus-grid":"tableau de bord + grille des peuples","tab.research-map":"Carte de recherche","sub.research-map":"prière · engagement · régions","tab.research-map-plus-grid":"Recherche simple","sub.research-map-plus-grid":"carte de recherche + grille des peuples","tab.prayer-map":"Progression de la prière","sub.prayer-map":"carte mondiale de la prière","tab.cities-internet":"Villes avec Internet","sub.cities-internet":"connectivité des villes clés","tab.gospel-resources":"Ressources de l'Évangile","sub.gospel-resources":"ressources par lieu","tab.regions-dashboard":"Régions","sub.regions-dashboard":"régions et leurs pays","tab.upg-100":"Liste UPG-100","sub.upg-100":"ma liste des non atteints + affiches",navLabel:"Cartes de recherche",meta:"{n} cartes",loading:"Chargement de {label}…",loadFailed:"Impossible de charger {label}.",manifestHint:"Cet onglet est composé à partir de manifest.json : construisez l'arborescence ou servez l'arborescence construite pour le charger.",close:"Fermer",help:"À propos de cette carte",desktopOnly:"ordinateur uniquement",lab:"bêta",experimentalSub:"carte expérimentale",mobileNotBuilt:"pas conçu pour mobile",dismiss:"Fermer",desktopOnly:"ordinateur uniquement",lab:"bêta",experimentalSub:"carte expérimentale",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier","tab.prayer-walk-planner":"Marches de prière","tab.upg-neighbor":"Voisin UPG","tab.key-cities":"Villes clés","tab.all-people-groups":"Tous les peuples","tab.pplr-data-maps":"Cartes de données PPLR","tab.wall-of-people-groups":"Mur des peuples","tab.country-posters":"Affiches par pays","tab.doxa-vision-card":"Carte de vision Doxa"},de:{backToTop:"Nach oben","sec.dashboards":"Dashboards","sec.prayer":"Gebetsmobilisierung","sec.gospel":"Evangeliumsforschung","sec.experimental":"Experimentell","tab.dashboard-plus-grid":"Gesamtbild","sub.dashboard-plus-grid":"Dashboard + Raster der Volksgruppen","tab.research-map":"Forschungskarte","sub.research-map":"Gebet · Engagement · Regionen","tab.research-map-plus-grid":"Einfache Recherche","sub.research-map-plus-grid":"Forschungskarte + Raster der Volksgruppen","tab.prayer-map":"Gebetsfortschritt","sub.prayer-map":"einfache Weltkarte des Gebets","tab.cities-internet":"Städte mit Internet","sub.cities-internet":"Konnektivität wichtiger Städte","tab.gospel-resources":"Evangeliumsressourcen","sub.gospel-resources":"Ressourcen nach Ort","tab.regions-dashboard":"Regionen","sub.regions-dashboard":"Regionen und ihre Länder","tab.upg-100":"UPG-100-Liste","sub.upg-100":"meine Liste der Unerreichten + Poster",navLabel:"Forschungskarten",meta:"{n} Karten",loading:"{label} wird geladen…",loadFailed:"{label} konnte nicht geladen werden.",manifestHint:"Dieser Tab wird aus manifest.json zusammengesetzt – bauen Sie den Baum oder stellen Sie den gebauten Baum bereit, um ihn zu laden.",close:"Schließen",help:"Über diese Karte",desktopOnly:"nur Desktop",lab:"Beta",experimentalSub:"experimentelle Karte",mobileNotBuilt:"nicht für Mobilgeräte",dismiss:"Schließen",desktopOnly:"nur Desktop",lab:"Beta",experimentalSub:"experimentelle Karte",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen","tab.prayer-walk-planner":"Gebetsspaziergänge","tab.upg-neighbor":"UPG-Nachbar","tab.key-cities":"Schlüsselstädte","tab.all-people-groups":"Alle Volksgruppen","tab.pplr-data-maps":"PPLR-Datenkarten","tab.wall-of-people-groups":"Wand der Volksgruppen","tab.country-posters":"Länderposter","tab.doxa-vision-card":"Doxa-Visionskarte"},pt:{backToTop:"Voltar ao topo","sec.dashboards":"Painéis","sec.prayer":"Mobilização de oração","sec.gospel":"Pesquisa do Evangelho","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Visão geral","sub.dashboard-plus-grid":"painel + grade de povos","tab.research-map":"Mapa de pesquisa","sub.research-map":"oração · engajamento · regiões","tab.research-map-plus-grid":"Pesquisa simples","sub.research-map-plus-grid":"mapa de pesquisa + grade de povos","tab.prayer-map":"Progresso da oração","sub.prayer-map":"mapa mundial de oração","tab.cities-internet":"Cidades com Internet","sub.cities-internet":"conectividade das principais cidades","tab.gospel-resources":"Recursos do Evangelho","sub.gospel-resources":"recursos por lugar","tab.regions-dashboard":"Regiões","sub.regions-dashboard":"regiões e seus países","tab.upg-100":"Lista UPG-100","sub.upg-100":"minha lista de não alcançados + cartazes",navLabel:"Mapas de pesquisa",meta:"{n} mapas",loading:"Carregando {label}…",loadFailed:"Não foi possível carregar {label}.",manifestHint:"Esta aba é composta a partir do manifest.json — compile a árvore ou sirva a árvore compilada para carregá-la.",close:"Fechar",help:"Sobre este mapa",desktopOnly:"só no computador",lab:"beta",experimentalSub:"mapa experimental",mobileNotBuilt:"não feito para celular",dismiss:"Fechar",desktopOnly:"só no computador",lab:"beta",experimentalSub:"mapa experimental",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher","tab.prayer-walk-planner":"Caminhadas de oração","tab.upg-neighbor":"Vizinho UPG","tab.key-cities":"Cidades-chave","tab.all-people-groups":"Todos os povos","tab.pplr-data-maps":"Mapas de dados PPLR","tab.wall-of-people-groups":"Mural dos povos","tab.country-posters":"Cartazes por país","tab.doxa-vision-card":"Cartão de visão Doxa"},it:{backToTop:"Torna su","sec.dashboards":"Dashboard","sec.prayer":"Mobilitazione alla preghiera","sec.gospel":"Ricerca sul Vangelo","sec.experimental":"Sperimentale","tab.dashboard-plus-grid":"Quadro d'insieme","sub.dashboard-plus-grid":"dashboard + griglia dei popoli","tab.research-map":"Mappa di ricerca","sub.research-map":"preghiera · impegno · regioni","tab.research-map-plus-grid":"Ricerca semplice","sub.research-map-plus-grid":"mappa di ricerca + griglia dei popoli","tab.prayer-map":"Avanzamento preghiera","sub.prayer-map":"mappa mondiale della preghiera","tab.cities-internet":"Città con Internet","sub.cities-internet":"connettività delle città chiave","tab.gospel-resources":"Risorse del Vangelo","sub.gospel-resources":"risorse per luogo","tab.regions-dashboard":"Regioni","sub.regions-dashboard":"regioni e i loro paesi","tab.upg-100":"Lista UPG-100","sub.upg-100":"la mia lista dei non raggiunti + poster",navLabel:"Mappe di ricerca",meta:"{n} mappe",loading:"Caricamento di {label}…",loadFailed:"Impossibile caricare {label}.",manifestHint:"Questa scheda è composta da manifest.json: compila l'albero o pubblica l'albero compilato per caricarla.",close:"Chiudi",help:"Informazioni su questa mappa",desktopOnly:"solo desktop",lab:"beta",experimentalSub:"mappa sperimentale",mobileNotBuilt:"non pensato per mobile",dismiss:"Chiudi",desktopOnly:"solo desktop",lab:"beta",experimentalSub:"mappa sperimentale",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi","tab.prayer-walk-planner":"Passeggiate di preghiera","tab.upg-neighbor":"Vicino UPG","tab.key-cities":"Città chiave","tab.all-people-groups":"Tutti i popoli","tab.pplr-data-maps":"Mappe dati PPLR","tab.wall-of-people-groups":"Muro dei popoli","tab.country-posters":"Poster per paese","tab.doxa-vision-card":"Scheda visione Doxa"},ro:{backToTop:"Sus","sec.dashboards":"Panouri","sec.prayer":"Mobilizare la rugăciune","sec.gospel":"Cercetarea Evangheliei","sec.experimental":"Experimental","tab.dashboard-plus-grid":"Imaginea de ansamblu","sub.dashboard-plus-grid":"panou + grila popoarelor","tab.research-map":"Hartă de cercetare","sub.research-map":"rugăciune · implicare · regiuni","tab.research-map-plus-grid":"Cercetare simplă","sub.research-map-plus-grid":"hartă de cercetare + grila popoarelor","tab.prayer-map":"Progresul rugăciunii","sub.prayer-map":"hartă mondială a rugăciunii","tab.cities-internet":"Orașe cu internet","sub.cities-internet":"conectivitatea orașelor-cheie","tab.gospel-resources":"Resurse ale Evangheliei","sub.gospel-resources":"resurse după loc","tab.regions-dashboard":"Regiuni","sub.regions-dashboard":"regiunile și țările lor","tab.upg-100":"Lista UPG-100","sub.upg-100":"lista mea de neatinși + afișe",navLabel:"Hărți de cercetare",meta:"{n} hărți",loading:"Se încarcă {label}…",loadFailed:"{label} nu a putut fi încărcat.",manifestHint:"Această filă este compusă din manifest.json — construiți arborele sau serviți arborele construit pentru a o încărca.",close:"Închide",help:"Despre această hartă",desktopOnly:"doar pe desktop",lab:"beta",experimentalSub:"hartă experimentală",mobileNotBuilt:"nu e făcut pentru mobil",dismiss:"Închide",desktopOnly:"doar pe desktop",lab:"beta",experimentalSub:"hartă experimentală",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge","tab.prayer-walk-planner":"Plimbări de rugăciune","tab.upg-neighbor":"Vecin UPG","tab.key-cities":"Orașe-cheie","tab.all-people-groups":"Toate popoarele","tab.pplr-data-maps":"Hărți de date PPLR","tab.wall-of-people-groups":"Zidul popoarelor","tab.country-posters":"Afișe pe țări","tab.doxa-vision-card":"Card de viziune Doxa"},ru:{backToTop:"Наверх","sec.dashboards":"Панели","sec.prayer":"Молитвенная мобилизация","sec.gospel":"Исследование Евангелия","sec.experimental":"Экспериментальное","tab.dashboard-plus-grid":"Общая картина","sub.dashboard-plus-grid":"панель + таблица народов","tab.research-map":"Исследовательская карта","sub.research-map":"молитва · вовлечённость · регионы","tab.research-map-plus-grid":"Простое исследование","sub.research-map-plus-grid":"исследовательская карта + таблица народов","tab.prayer-map":"Прогресс молитвы","sub.prayer-map":"простая карта молитвы мира","tab.cities-internet":"Города с интернетом","sub.cities-internet":"подключённость ключевых городов","tab.gospel-resources":"Евангельские ресурсы","sub.gospel-resources":"ресурсы по местам","tab.regions-dashboard":"Регионы","sub.regions-dashboard":"регионы и их страны","tab.upg-100":"Список UPG-100","sub.upg-100":"мой список недостигнутых + плакаты",navLabel:"Исследовательские карты",meta:"Карт: {n}",loading:"Загрузка: {label}…",loadFailed:"Не удалось загрузить: {label}.",manifestHint:"Эта вкладка собирается из manifest.json — соберите дерево или разместите собранное дерево, чтобы загрузить её.",close:"Закрыть",help:"Об этой карте",desktopOnly:"только на компьютере",lab:"бета",experimentalSub:"экспериментальная карта",mobileNotBuilt:"не для телефона",dismiss:"Закрыть",desktopOnly:"только на компьютере",lab:"бета",experimentalSub:"экспериментальная карта",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть","tab.prayer-walk-planner":"Молитвенные прогулки","tab.upg-neighbor":"Сосед UPG","tab.key-cities":"Ключевые города","tab.all-people-groups":"Все народы","tab.pplr-data-maps":"Карты данных PPLR","tab.wall-of-people-groups":"Стена народов","tab.country-posters":"Плакаты по странам","tab.doxa-vision-card":"Карточка видения Doxa"},ar:{backToTop:"إلى الأعلى","sec.dashboards":"لوحات المعلومات","sec.prayer":"التعبئة للصلاة","sec.gospel":"أبحاث الإنجيل","sec.experimental":"تجريبي","tab.dashboard-plus-grid":"الصورة الكاملة","sub.dashboard-plus-grid":"لوحة معلومات + شبكة الشعوب","tab.research-map":"خريطة البحث","sub.research-map":"الصلاة · الانخراط · المناطق","tab.research-map-plus-grid":"بحث مبسّط","sub.research-map-plus-grid":"خريطة البحث + شبكة الشعوب","tab.prayer-map":"تقدم الصلاة","sub.prayer-map":"خريطة عالمية مبسّطة للصلاة","tab.cities-internet":"مدن متصلة بالإنترنت","sub.cities-internet":"اتصال المدن الرئيسية","tab.gospel-resources":"موارد الإنجيل","sub.gospel-resources":"الموارد حسب المكان","tab.regions-dashboard":"المناطق","sub.regions-dashboard":"المناطق ودولها","tab.upg-100":"قائمة UPG-100","sub.upg-100":"قائمتي لغير المُبشَّرين + ملصقات",navLabel:"خرائط البحث",meta:"عدد الخرائط: {n}",loading:"جارٍ تحميل {label}…",loadFailed:"تعذّر تحميل {label}.",manifestHint:"تُبنى علامة التبويب هذه من manifest.json — ابنِ الشجرة أو قدّم الشجرة المبنية لتحميلها.",close:"إغلاق",help:"عن هذه الخريطة",desktopOnly:"على الحاسوب فقط",lab:"تجريبي",experimentalSub:"خريطة تجريبية",mobileNotBuilt:"غير مُعدّ للهاتف",dismiss:"إغلاق",desktopOnly:"على الحاسوب فقط",lab:"تجريبي",experimentalSub:"خريطة تجريبية",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي","tab.prayer-walk-planner":"جولات الصلاة","tab.upg-neighbor":"جار UPG","tab.key-cities":"المدن الرئيسية","tab.all-people-groups":"جميع الشعوب","tab.pplr-data-maps":"خرائط بيانات PPLR","tab.wall-of-people-groups":"جدار الشعوب","tab.country-posters":"ملصقات الدول","tab.doxa-vision-card":"بطاقة رؤية Doxa"},hi:{backToTop:"ऊपर जाएँ","sec.dashboards":"डैशबोर्ड","sec.prayer":"प्रार्थना संचालन","sec.gospel":"सुसमाचार शोध","sec.experimental":"प्रायोगिक","tab.dashboard-plus-grid":"संपूर्ण चित्र","sub.dashboard-plus-grid":"डैशबोर्ड + जनसमूहों की ग्रिड","tab.research-map":"शोध मानचित्र","sub.research-map":"प्रार्थना · सहभागिता · क्षेत्र","tab.research-map-plus-grid":"सरल शोध","sub.research-map-plus-grid":"शोध मानचित्र + जनसमूहों की ग्रिड","tab.prayer-map":"प्रार्थना प्रगति","sub.prayer-map":"सरल विश्व प्रार्थना मानचित्र","tab.cities-internet":"इंटरनेट वाले शहर","sub.cities-internet":"प्रमुख शहरों की कनेक्टिविटी","tab.gospel-resources":"सुसमाचार संसाधन","sub.gospel-resources":"स्थान के अनुसार संसाधन","tab.regions-dashboard":"क्षेत्र","sub.regions-dashboard":"क्षेत्र और उनके देश","tab.upg-100":"UPG-100 सूची","sub.upg-100":"मेरी अप्राप्त सूची + पोस्टर",navLabel:"शोध मानचित्र",meta:"{n} मानचित्र",loading:"{label} लोड हो रहा है…",loadFailed:"{label} लोड नहीं हो सका।",manifestHint:"यह टैब manifest.json से बनता है — इसे लोड करने के लिए ट्री बनाएँ या बना हुआ ट्री सर्व करें।",close:"बंद करें",help:"इस नक्शे के बारे में",desktopOnly:"केवल डेस्कटॉप",lab:"बीटा",experimentalSub:"प्रायोगिक मानचित्र",mobileNotBuilt:"मोबाइल के लिए नहीं बना",dismiss:"बंद करें",desktopOnly:"केवल डेस्कटॉप",lab:"बीटा",experimentalSub:"प्रायोगिक मानचित्र",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें","tab.prayer-walk-planner":"प्रार्थना पदयात्रा","tab.upg-neighbor":"UPG पड़ोसी","tab.key-cities":"प्रमुख शहर","tab.all-people-groups":"सभी जनसमूह","tab.pplr-data-maps":"PPLR डेटा मानचित्र","tab.wall-of-people-groups":"जनसमूहों की दीवार","tab.country-posters":"देश पोस्टर","tab.doxa-vision-card":"Doxa दर्शन कार्ड"},zh:{backToTop:"回到顶部","sec.dashboards":"仪表板","sec.prayer":"祷告动员","sec.gospel":"福音研究","sec.experimental":"实验性","tab.dashboard-plus-grid":"全景","sub.dashboard-plus-grid":"仪表板 + 民族网格","tab.research-map":"研究地图","sub.research-map":"祷告 · 参与 · 区域","tab.research-map-plus-grid":"简易研究","sub.research-map-plus-grid":"研究地图 + 民族网格","tab.prayer-map":"祷告进度","sub.prayer-map":"简易世界祷告地图","tab.cities-internet":"有互联网的城市","sub.cities-internet":"主要城市的网络连接","tab.gospel-resources":"福音资源","sub.gospel-resources":"按地点划分的资源","tab.regions-dashboard":"区域","sub.regions-dashboard":"区域及其国家","tab.upg-100":"UPG-100 名单","sub.upg-100":"我的未得之民名单 + 海报",navLabel:"研究地图",meta:"{n} 张地图",loading:"正在加载{label}…",loadFailed:"无法加载{label}。",manifestHint:"此标签页由 manifest.json 组成——请构建目录树或提供已构建的目录树以加载它。",close:"关闭",help:"关于此地图",desktopOnly:"仅限桌面",lab:"测试版",experimentalSub:"实验性地图",mobileNotBuilt:"未针对手机设计",dismiss:"关闭",desktopOnly:"仅限桌面",lab:"测试版",experimentalSub:"实验性地图",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠","tab.prayer-walk-planner":"祷告行走","tab.upg-neighbor":"UPG 邻居","tab.key-cities":"重点城市","tab.all-people-groups":"所有民族","tab.pplr-data-maps":"PPLR 数据地图","tab.wall-of-people-groups":"民族之墙","tab.country-posters":"国家海报","tab.doxa-vision-card":"Doxa 异象卡"}},ss=Object.keys(on);function _g(e){return Object.prototype.hasOwnProperty.call(on.en,e)}function qn(e,t,o){let a=(on[e]||on.en)[t]??on.en[t]??t;if(o)for(const s in o)a=a.split("{"+s+"}").join(String(o[s]));return a}const $l={en:{"prayer-walk-planner":{what:"Plan a prayer walk: draw the areas your teams will cover and print each one as a one-page map.",how:"Draw a zone, name it, select the zones you need and press Print. Each zone prints on its own page with coordinates, one map per team."},"gospel-internet":{what:"See which of the ~2,000 people groups already have gospel resources in their language, and where the internet can carry those resources to them.",how:"Explore the language tree, the bounded and centered sets and the map. Pick a list on the side to narrow every view."},"country-posters":{what:"Printable prayer posters, one per country, showing its people groups.",how:"Pick a country from the poster list or on the map, then print it straight from your browser."},"all-people-groups":{what:"Every people group on earth on one map, colored by how reached it is, with the DOXA prayer set highlighted.",how:"Click a category in the legend to show only those groups. Click a dot for its details and prayer link."},"doxa-vision-card":{what:"The remaining task in one card: all people groups, then the unreached, then the frontier, then the DOXA prayer set.",how:"Read it from top to bottom. Every number is computed from the people-group data, not typed in."},"pplr-data-maps":{what:"People-group research data on maps: language families, people clusters, religions and data-source coverage.",how:"Choose a view from the tabs, then use the legend to highlight a family, cluster or religion on the map."},"wall-of-people-groups":{what:"Every DOXA people group on one wall, to bless them. In Bless mode the wall is the printable poster (5 × 8 ft by default), each group with a blessing verse; in Social mode it is a shared prayer wall.",how:"Bless: look around the poster exactly as it will print, pick a size and press Print HD poster. Social: pray for a group, read or leave comments, and share its prayer page."}},es:{"prayer-walk-planner":{what:"Planifique una caminata de oración: dibuje las zonas que recorrerán sus equipos e imprima cada una como un mapa de una página.",how:"Dibuje una zona, póngale nombre, seleccione las zonas que necesita y pulse Imprimir. Cada zona se imprime en su propia página con coordenadas: un mapa por equipo."},"gospel-internet":{what:"Vea cuáles de los ~2000 grupos de pueblos ya tienen recursos del evangelio en su idioma, y dónde internet puede llevárselos.",how:"Explore el árbol de idiomas, los conjuntos delimitado y centrado y el mapa. Elija una lista al lado para acotar cada vista."},"country-posters":{what:"Carteles de oración para imprimir, uno por país, con sus grupos de pueblos.",how:"Elija un país en la lista de carteles o en el mapa, e imprímalo directamente desde el navegador."},"all-people-groups":{what:"Todos los grupos de pueblos del mundo en un mapa, coloreados según lo alcanzados que están, con el conjunto de oración de DOXA resaltado.",how:"Haga clic en una categoría de la leyenda para ver solo esos grupos. Haga clic en un punto para ver sus datos y el enlace de oración."},"doxa-vision-card":{what:"La tarea pendiente en una tarjeta: todos los grupos de pueblos, luego los no alcanzados, luego la frontera y luego el conjunto de oración de DOXA.",how:"Léala de arriba abajo. Cada cifra se calcula a partir de los datos, no se escribe a mano."},"pplr-data-maps":{what:"Datos de investigación sobre grupos de pueblos en mapas: familias lingüísticas, agrupaciones de pueblos, religiones y cobertura de fuentes.",how:"Elija una vista en las pestañas y use la leyenda para resaltar una familia, agrupación o religión en el mapa."},"wall-of-people-groups":{what:"Todos los grupos de pueblos de DOXA en un muro, para bendecirlos. En el modo Bendecir el muro es el póster para imprimir (5 × 8 pies por defecto), cada grupo con un versículo de bendición; en el modo Social es un muro de oración compartido.",how:"Bendecir: recorra el póster tal como se imprimirá, elija un tamaño y pulse Imprimir póster HD. Social: ore por un grupo, lea o deje comentarios y comparta su página de oración."}},fr:{"prayer-walk-planner":{what:"Préparez une marche de prière : dessinez les zones que vos équipes parcourront et imprimez chacune sur une carte d’une page.",how:"Dessinez une zone, nommez-la, sélectionnez les zones voulues et cliquez sur Imprimer. Chaque zone s’imprime sur sa propre page avec ses coordonnées : une carte par équipe."},"gospel-internet":{what:"Voyez lesquels des ~2 000 groupes de peuples ont déjà des ressources de l’Évangile dans leur langue, et où internet peut les leur apporter.",how:"Explorez l’arbre des langues, les ensembles délimité et centré et la carte. Choisissez une liste sur le côté pour affiner chaque vue."},"country-posters":{what:"Des affiches de prière à imprimer, une par pays, avec ses groupes de peuples.",how:"Choisissez un pays dans la liste des affiches ou sur la carte, puis imprimez-le directement depuis le navigateur."},"all-people-groups":{what:"Tous les groupes de peuples du monde sur une carte, colorés selon leur degré d’atteinte, avec l’ensemble de prière DOXA mis en valeur.",how:"Cliquez sur une catégorie de la légende pour n’afficher que ces groupes. Cliquez sur un point pour ses détails et son lien de prière."},"doxa-vision-card":{what:"La tâche restante en une carte : tous les groupes de peuples, puis les non atteints, puis la frontière, puis l’ensemble de prière DOXA.",how:"Lisez-la de haut en bas. Chaque chiffre est calculé à partir des données, pas saisi à la main."},"pplr-data-maps":{what:"Des données de recherche sur les groupes de peuples, en cartes : familles de langues, grappes de peuples, religions et couverture des sources.",how:"Choisissez une vue dans les onglets, puis utilisez la légende pour mettre en valeur une famille, une grappe ou une religion."},"wall-of-people-groups":{what:"Tous les groupes de peuples DOXA sur un seul mur, pour les bénir. En mode Bénir, le mur est l’affiche à imprimer (5 × 8 pieds par défaut), chaque groupe avec un verset de bénédiction ; en mode Social, c’est un mur de prière partagé.",how:"Bénir : parcourez l’affiche telle qu’elle s’imprimera, choisissez une taille et appuyez sur Imprimer l’affiche HD. Social : priez pour un groupe, lisez ou laissez des commentaires et partagez sa page de prière."}},de:{"prayer-walk-planner":{what:"Einen Gebetsspaziergang planen: die Gebiete Ihrer Teams zeichnen und jedes als einseitige Karte drucken.",how:"Zeichnen Sie ein Gebiet, benennen Sie es, wählen Sie die nötigen Gebiete und drücken Sie auf Drucken. Jedes Gebiet wird mit Koordinaten auf einer eigenen Seite gedruckt: eine Karte pro Team."},"gospel-internet":{what:"Sehen, welche der ~2.000 Volksgruppen schon Evangeliumsressourcen in ihrer Sprache haben und wo das Internet sie zu ihnen bringen kann.",how:"Erkunden Sie den Sprachbaum, die begrenzte und die zentrierte Menge und die Karte. Wählen Sie seitlich eine Liste, um jede Ansicht einzugrenzen."},"country-posters":{what:"Druckbare Gebetsplakate, eines pro Land, mit seinen Volksgruppen.",how:"Wählen Sie ein Land in der Plakatliste oder auf der Karte und drucken Sie es direkt aus dem Browser."},"all-people-groups":{what:"Alle Volksgruppen der Welt auf einer Karte, nach Erreichtheit eingefärbt, mit dem DOXA-Gebetsset hervorgehoben.",how:"Klicken Sie auf eine Kategorie der Legende, um nur diese Gruppen zu zeigen. Klicken Sie auf einen Punkt für Details und den Gebetslink."},"doxa-vision-card":{what:"Die verbleibende Aufgabe auf einer Karte: alle Volksgruppen, dann die unerreichten, dann die Frontier-Gruppen, dann das DOXA-Gebetsset.",how:"Lesen Sie sie von oben nach unten. Jede Zahl wird aus den Daten berechnet, nicht eingetippt."},"pplr-data-maps":{what:"Forschungsdaten zu Volksgruppen auf Karten: Sprachfamilien, Volkscluster, Religionen und Quellenabdeckung.",how:"Wählen Sie oben eine Ansicht und heben Sie mit der Legende eine Familie, einen Cluster oder eine Religion hervor."},"wall-of-people-groups":{what:"Jede DOXA-Volksgruppe auf einer Wand, um sie zu segnen. Im Modus Segnen ist die Wand das druckbare Poster (standardmäßig 5 × 8 Fuß), jede Gruppe mit einem Segensvers; im Modus Sozial ist sie eine gemeinsame Gebetswand.",how:"Segnen: Sehen Sie sich das Poster genau so an, wie es gedruckt wird, wählen Sie eine Größe und drücken Sie HD-Poster drucken. Sozial: Beten Sie für eine Gruppe, lesen oder schreiben Sie Kommentare und teilen Sie ihre Gebetsseite."}},pt:{"prayer-walk-planner":{what:"Planeje uma caminhada de oração: desenhe as áreas que suas equipes vão cobrir e imprima cada uma como um mapa de uma página.",how:"Desenhe uma zona, dê um nome, selecione as zonas necessárias e clique em Imprimir. Cada zona sai em sua própria página com coordenadas: um mapa por equipe."},"gospel-internet":{what:"Veja quais dos ~2.000 grupos de povos já têm recursos do evangelho no seu idioma, e onde a internet pode levá-los até eles.",how:"Explore a árvore de idiomas, os conjuntos delimitado e centrado e o mapa. Escolha uma lista ao lado para filtrar cada vista."},"country-posters":{what:"Cartazes de oração para imprimir, um por país, com seus grupos de povos.",how:"Escolha um país na lista de cartazes ou no mapa e imprima direto do navegador."},"all-people-groups":{what:"Todos os grupos de povos do mundo num mapa, coloridos pelo grau de alcance, com o conjunto de oração da DOXA em destaque.",how:"Clique numa categoria da legenda para ver só esses grupos. Clique num ponto para ver detalhes e o link de oração."},"doxa-vision-card":{what:"A tarefa restante num cartão: todos os grupos de povos, depois os não alcançados, depois a fronteira, depois o conjunto de oração da DOXA.",how:"Leia de cima para baixo. Cada número é calculado a partir dos dados, não digitado."},"pplr-data-maps":{what:"Dados de pesquisa sobre grupos de povos em mapas: famílias linguísticas, agrupamentos de povos, religiões e cobertura das fontes.",how:"Escolha uma vista nas abas e use a legenda para destacar uma família, agrupamento ou religião no mapa."},"wall-of-people-groups":{what:"Todos os grupos de povos da DOXA num só mural, para abençoá-los. No modo Abençoar, o mural é o cartaz para imprimir (5 × 8 pés por padrão), cada grupo com um versículo de bênção; no modo Social, é um mural de oração partilhado.",how:"Abençoar: percorra o cartaz tal como será impresso, escolha um tamanho e prima Imprimir cartaz HD. Social: ore por um grupo, leia ou deixe comentários e partilhe a sua página de oração."}},it:{"prayer-walk-planner":{what:"Pianifica una camminata di preghiera: disegna le zone che le tue squadre percorreranno e stampa ognuna come mappa di una pagina.",how:"Disegna una zona, dalle un nome, seleziona le zone che servono e premi Stampa. Ogni zona si stampa su una pagina con le coordinate: una mappa per squadra."},"gospel-internet":{what:"Scopri quali dei ~2.000 gruppi etnici hanno già risorse del vangelo nella loro lingua, e dove internet può portargliele.",how:"Esplora l’albero delle lingue, gli insiemi delimitato e centrato e la mappa. Scegli un elenco a lato per restringere ogni vista."},"country-posters":{what:"Poster di preghiera da stampare, uno per paese, con i suoi gruppi etnici.",how:"Scegli un paese dall’elenco dei poster o sulla mappa e stampalo direttamente dal browser."},"all-people-groups":{what:"Tutti i gruppi etnici del mondo su una mappa, colorati secondo quanto sono raggiunti, con l’insieme di preghiera DOXA evidenziato.",how:"Clicca una categoria della legenda per mostrare solo quei gruppi. Clicca un punto per dettagli e link di preghiera."},"doxa-vision-card":{what:"Il compito rimanente in una scheda: tutti i gruppi etnici, poi i non raggiunti, poi la frontiera, poi l’insieme di preghiera DOXA.",how:"Leggila dall’alto in basso. Ogni numero è calcolato dai dati, non digitato."},"pplr-data-maps":{what:"Dati di ricerca sui gruppi etnici su mappa: famiglie linguistiche, cluster di popoli, religioni e copertura delle fonti.",how:"Scegli una vista dalle schede, poi usa la legenda per evidenziare una famiglia, un cluster o una religione."},"wall-of-people-groups":{what:"Tutti i gruppi etnici DOXA su un solo muro, per benedirli. In modalità Benedire il muro è il poster da stampare (5 × 8 piedi di default), ogni gruppo con un versetto di benedizione; in modalità Social è un muro di preghiera condiviso.",how:"Benedire: esplora il poster esattamente come verrà stampato, scegli una dimensione e premi Stampa poster HD. Social: prega per un gruppo, leggi o lascia commenti e condividi la sua pagina di preghiera."}},ro:{"prayer-walk-planner":{what:"Planificați o plimbare de rugăciune: desenați zonele pe care le vor parcurge echipele și tipăriți fiecare ca hartă de o pagină.",how:"Desenați o zonă, dați-i un nume, selectați zonele necesare și apăsați Tipărire. Fiecare zonă se tipărește pe o pagină, cu coordonate: câte o hartă pentru fiecare echipă."},"gospel-internet":{what:"Vedeți care dintre cele ~2.000 de grupuri de popoare au deja resurse ale Evangheliei în limba lor și unde le poate duce internetul.",how:"Explorați arborele limbilor, mulțimile delimitată și centrată și harta. Alegeți o listă din lateral pentru a restrânge fiecare vedere."},"country-posters":{what:"Afișe de rugăciune de tipărit, câte unul pentru fiecare țară, cu grupurile ei de popoare.",how:"Alegeți o țară din lista de afișe sau de pe hartă și tipăriți-o direct din browser."},"all-people-groups":{what:"Toate grupurile de popoare ale lumii pe o hartă, colorate după cât sunt de atinse, cu setul de rugăciune DOXA evidențiat.",how:"Faceți clic pe o categorie din legendă pentru a afișa doar acele grupuri. Faceți clic pe un punct pentru detalii și linkul de rugăciune."},"doxa-vision-card":{what:"Sarcina rămasă într-un card: toate grupurile de popoare, apoi cele neatinse, apoi cele de frontieră, apoi setul de rugăciune DOXA.",how:"Citiți-l de sus în jos. Fiecare număr este calculat din date, nu tastat."},"pplr-data-maps":{what:"Date de cercetare despre grupurile de popoare pe hărți: familii de limbi, grupuri de popoare, religii și acoperirea surselor.",how:"Alegeți o vedere din file, apoi folosiți legenda pentru a evidenția o familie, un grup sau o religie."},"wall-of-people-groups":{what:"Toate grupurile de popoare DOXA pe un singur perete, ca să le binecuvântăm. În modul Binecuvântare, peretele este afișul de tipărit (5 × 8 picioare implicit), fiecare grup cu un verset de binecuvântare; în modul Social este un perete de rugăciune comun.",how:"Binecuvântare: explorați afișul exact cum se va tipări, alegeți o dimensiune și apăsați Tipărește afișul HD. Social: rugați-vă pentru un grup, citiți sau lăsați comentarii și distribuiți pagina lui de rugăciune."}},ru:{"prayer-walk-planner":{what:"Спланируйте молитвенную прогулку: нарисуйте районы для ваших команд и распечатайте каждый как карту на одну страницу.",how:"Нарисуйте зону, назовите её, выберите нужные зоны и нажмите «Печать». Каждая зона печатается на отдельной странице с координатами — по карте на команду."},"gospel-internet":{what:"Узнайте, у каких из ~2000 народов уже есть евангельские материалы на их языке и где интернет может донести их до них.",how:"Исследуйте языковое дерево, ограниченное и центрированное множества и карту. Выберите список сбоку, чтобы сузить любой вид."},"country-posters":{what:"Молитвенные плакаты для печати, по одному на страну, с её народами.",how:"Выберите страну в списке плакатов или на карте и распечатайте прямо из браузера."},"all-people-groups":{what:"Все народы мира на одной карте, окрашенные по степени достигнутости, с выделенным молитвенным набором DOXA.",how:"Нажмите категорию в легенде, чтобы показать только эти группы. Нажмите точку, чтобы увидеть сведения и ссылку для молитвы."},"doxa-vision-card":{what:"Оставшаяся задача на одной карточке: все народы, затем недостигнутые, затем пограничные, затем молитвенный набор DOXA.",how:"Читайте сверху вниз. Каждое число вычислено из данных, а не введено вручную."},"pplr-data-maps":{what:"Исследовательские данные о народах на картах: языковые семьи, кластеры народов, религии и охват источников.",how:"Выберите вид во вкладках, затем выделите семью, кластер или религию с помощью легенды."},"wall-of-people-groups":{what:"Все народы DOXA на одной стене, чтобы благословлять их. В режиме «Благословение» стена — это плакат для печати (по умолчанию 5 × 8 футов), у каждого народа — стих благословения; в режиме «Соцсеть» это общая молитвенная стена.",how:"«Благословение»: просмотрите плакат точно таким, каким он будет напечатан, выберите размер и нажмите «Печать плаката HD». «Соцсеть»: молитесь о народе, читайте и оставляйте комментарии, делитесь его молитвенной страницей."}},ar:{"prayer-walk-planner":{what:"خطِّط لجولة صلاة: ارسم المناطق التي ستغطيها فرقك واطبع كل منطقة خريطةً من صفحة واحدة.",how:"ارسم منطقة وسمِّها، واختر المناطق التي تحتاجها ثم اضغط «طباعة». تُطبع كل منطقة في صفحة مستقلة مع إحداثياتها: خريطة لكل فريق."},"gospel-internet":{what:"اعرف أيَّ الشعوب الألفين تقريبًا لديها بالفعل موارد للإنجيل بلغتها، وأين يمكن للإنترنت أن يوصلها إليها.",how:"استكشف شجرة اللغات والمجموعتين المحدودة والمتمركزة والخريطة. اختر قائمة من الجانب لتضييق كل عرض."},"country-posters":{what:"ملصقات صلاة للطباعة، ملصق لكل بلد، تُظهر شعوبه.",how:"اختر بلدًا من قائمة الملصقات أو على الخريطة، ثم اطبعه مباشرة من المتصفح."},"all-people-groups":{what:"كل شعوب العالم على خريطة واحدة، ملوَّنة بحسب درجة وصول الإنجيل إليها، مع إبراز مجموعة صلاة DOXA.",how:"انقر فئة في مفتاح الخريطة لعرض تلك الشعوب فقط. انقر نقطة لترى تفاصيلها ورابط الصلاة."},"doxa-vision-card":{what:"المهمة المتبقية في بطاقة واحدة: كل الشعوب، ثم غير المُبشَّرة، ثم الحدودية، ثم مجموعة صلاة DOXA.",how:"اقرأها من الأعلى إلى الأسفل. كل رقم محسوب من البيانات، وليس مكتوبًا يدويًا."},"pplr-data-maps":{what:"بيانات بحثية عن الشعوب على خرائط: العائلات اللغوية والعناقيد الشعبية والأديان وتغطية المصادر.",how:"اختر عرضًا من التبويبات، ثم استخدم مفتاح الخريطة لإبراز عائلة أو عنقود أو دين."},"wall-of-people-groups":{what:"كل شعوب DOXA على جدار واحد لنباركها. في وضع «بركة» يكون الجدار هو الملصق الجاهز للطباعة (5 × 8 أقدام افتراضيًا)، ولكل شعب آية بركة؛ وفي وضع «تفاعلي» يكون جدار صلاة مشتركًا.",how:"«بركة»: تجوّل في الملصق كما سيُطبع تمامًا، واختر المقاس ثم اضغط «طباعة ملصق عالي الدقة». «تفاعلي»: صلِّ لأجل شعب، واقرأ التعليقات أو اكتب تعليقًا، وشارك صفحة الصلاة الخاصة به."}},hi:{"prayer-walk-planner":{what:"प्रार्थना-यात्रा की योजना बनाएँ: अपनी टीमों के क्षेत्र बनाएँ और हर क्षेत्र को एक पन्ने के नक्शे के रूप में छापें।",how:"एक क्षेत्र बनाएँ, उसे नाम दें, ज़रूरी क्षेत्र चुनें और प्रिंट दबाएँ। हर क्षेत्र निर्देशांकों के साथ अपने पन्ने पर छपता है: हर टीम के लिए एक नक्शा।"},"gospel-internet":{what:"देखें कि लगभग 2,000 जन-समूहों में से किनके पास उनकी भाषा में सुसमाचार के संसाधन पहले से हैं, और इंटरनेट उन्हें कहाँ तक पहुँचा सकता है।",how:"भाषा-वृक्ष, सीमित और केंद्रित समुच्चय और नक्शा देखें। हर दृश्य को सीमित करने के लिए बगल में एक सूची चुनें।"},"country-posters":{what:"छापने योग्य प्रार्थना-पोस्टर, हर देश के लिए एक, उसके जन-समूहों के साथ।",how:"पोस्टर सूची में या नक्शे पर कोई देश चुनें, फिर सीधे ब्राउज़र से छापें।"},"all-people-groups":{what:"दुनिया के सभी जन-समूह एक नक्शे पर, इस आधार पर रंगे हुए कि वे कितने पहुँचे हुए हैं, DOXA प्रार्थना-समूह उभारा हुआ।",how:"केवल वे समूह देखने के लिए लीजेंड में एक श्रेणी पर क्लिक करें। विवरण और प्रार्थना-लिंक के लिए किसी बिंदु पर क्लिक करें।"},"doxa-vision-card":{what:"बचा हुआ काम एक कार्ड में: सभी जन-समूह, फिर अपहुँचे, फिर सीमांत, फिर DOXA प्रार्थना-समूह।",how:"इसे ऊपर से नीचे पढ़ें। हर संख्या आँकड़ों से गणना की गई है, हाथ से नहीं लिखी गई।"},"pplr-data-maps":{what:"जन-समूहों पर शोध-आँकड़े नक्शों पर: भाषा-परिवार, जन-क्लस्टर, धर्म और स्रोतों की पहुँच।",how:"टैब से कोई दृश्य चुनें, फिर लीजेंड से किसी परिवार, क्लस्टर या धर्म को नक्शे पर उभारें।"},"wall-of-people-groups":{what:"हर DOXA जन-समूह एक ही दीवार पर, उन्हें आशीष देने के लिए। आशीष मोड में दीवार छापने योग्य पोस्टर है (डिफ़ॉल्ट 5 × 8 फ़ुट), हर समूह के साथ आशीष का एक पद; सामाजिक मोड में यह एक साझा प्रार्थना दीवार है।",how:"आशीष: पोस्टर को ठीक वैसा ही देखें जैसा वह छपेगा, आकार चुनें और HD पोस्टर छापें दबाएँ। सामाजिक: किसी समूह के लिए प्रार्थना करें, टिप्पणियाँ पढ़ें या लिखें, और उसका प्रार्थना पेज साझा करें।"}},zh:{"prayer-walk-planner":{what:"规划祷告行走:画出各小组要走的区域,把每个区域打印成一页地图。",how:"画一个区域并命名,选择需要的区域后点“打印”。每个区域连同坐标单独打印一页:每个小组一张地图。"},"gospel-internet":{what:"看看约 2,000 个族群中,哪些已经有母语的福音资源,以及互联网能把这些资源带到哪里。",how:"浏览语言树、有界集与中心集以及地图。在侧边选择一个名单,可缩小每个视图的范围。"},"country-posters":{what:"可打印的祷告海报,每个国家一张,列出其中的族群。",how:"在海报列表或地图上选择一个国家,然后直接从浏览器打印。"},"all-people-groups":{what:"世界上所有族群都在一张地图上,按福音进展着色,并突出显示 DOXA 祷告名单。",how:"点击图例中的类别,只显示这些族群。点击一个点,查看详情和祷告链接。"},"doxa-vision-card":{what:"一张卡片看清剩下的使命:所有族群,然后是未得之民,再是前沿族群,最后是 DOXA 祷告名单。",how:"从上往下读。每个数字都由数据计算得出,而不是手工填写。"},"pplr-data-maps":{what:"族群研究数据地图:语系、民族集群、宗教和数据来源覆盖情况。",how:"在标签页中选择一个视图,然后用图例在地图上突出显示某个语系、集群或宗教。"},"wall-of-people-groups":{what:"所有 DOXA 族群都在一面墙上,为要祝福他们。在“祝福”模式下,这面墙就是可打印的海报(默认 5 × 8 英尺),每个族群配一节祝福经文;在“社交”模式下,它是一面共同的祷告墙。",how:"祝福:按打印时的样子浏览海报,选择尺寸,然后点击“打印高清海报”。社交:为某个族群祷告,阅读或留下评论,并分享它的祷告页面。"}}};function _l(e,t){var n;const o=String(t||"en").toLowerCase().split(/[-_]/)[0];return((n=$l[o])==null?void 0:n[e])||$l.en[e]||null}const vl="previews/examples/middle-east-core",vg=Array.from({length:12},(e,t)=>`${vl}/packet-p${String(t+1).padStart(2,"0")}.webp`),yg=Array.from({length:70},(e,t)=>`${vl}/card-${String(t+1).padStart(2,"0")}.webp`),wg={"upg-100":{storageKey:"upg-100",pos:{side:"56px",narrow:{placement:"top-left",side:"12px"}},leadKey:"mapInfo.tab.upg-100.lead",takeawayKey:"mapInfo.tab.upg-100.takeaway",noteKey:"pins.approximate",examples:[{kind:"image",src:"previews/middle-east-core.webp",full:"posters/middle-east-core.html"},{kind:"pages",pages:vg},{kind:"deck",cards:yg}]},"regions-dashboard":{storageKey:"regions-dashboard",pos:{side:"56px",narrow:{placement:"top-left",side:"8px"}},leadKey:"mapInfo.tab.regions-dashboard.lead",takeawayKey:"mapInfo.tab.regions-dashboard.takeaway",noteKey:"mapInfo.tab.regions-dashboard.note",examples:[]},"dashboard-plus-grid":{storageKey:"dashboard-plus-grid",trigger:"control",pos:{top:"46px",raise:!0},leadKey:"mapInfo.tab.dashboard-plus-grid.lead",takeawayKey:"mapInfo.tab.dashboard-plus-grid.takeaway",examples:[{kind:"table",columns:[{key:"mapInfo.col.peopleGroup"},{key:"mapInfo.col.country"},{key:"mapInfo.col.region"},{key:"mapInfo.col.population"}],rows:[["Hararghe Oromo","Ethiopia","Africa",6355e3],["Gaaliin","Sudan","Middle East",452e4],["White Moor","Morocco","Middle East",312e4],["Baloch, Western","Iran","Middle East",3035e3],["Baloch, Eastern","Pakistan","Asia",298e4],["Bhuiyar","India","Asia",2925e3]],total:2107}]},"research-map-plus-grid":{storageKey:"research-map-plus-grid",trigger:"control",pos:{top:"56px",side:"56px"},leadKey:"mapInfo.tab.research-map-plus-grid.lead",noteKey:"pins.approximate",examples:[]},"prayer-map":{storageKey:"prayer-map",trigger:"control",pos:{side:"56px"},leadKey:"mapInfo.tab.prayer-map.lead",takeawayKey:"mapInfo.tab.prayer-map.takeaway",noteKey:"pins.approximate",examples:[]},"cities-internet":{storageKey:"cities-internet",trigger:"control",pos:{side:"56px",narrow:{side:"4px"}},leadKey:"mapInfo.tab.cities-internet.lead",takeawayKey:"mapInfo.tab.cities-internet.takeaway",noteKey:"pins.approximate",examples:[]},"gospel-resources":{storageKey:"gospel-resources",trigger:"control",pos:{side:"56px",narrow:{side:"4px"}},leadKey:"mapInfo.tab.gospel-resources.lead",takeawayKey:"mapInfo.tab.gospel-resources.takeaway",noteKey:"pins.approximate",examples:[]}};function yl(e,t){return t?String(e).replace(/\{(\w+)\}/g,(o,n)=>t[n]!=null?String(t[n]):o):String(e)}function wl(e,t,o=ns()){const n=String(e).split(/\s*\|\s*/);if(n.length<2||typeof t!="number")return String(e);const a=String(o||"en").split("-")[0].toLowerCase();if(a!=="en")return n[cl(t,n.length,a)];const s=Math.abs(t),r=n.length===2?s?s>1?1:0:1:s?Math.min(s,2):0;return n[Math.min(r,n.length-1)]}function rs(e,t){const o=String(t);return e&&!o.startsWith(`${e}.`)?`${e}.${o}`:o}function kg(e,t={}){const o=typeof t.fallback=="function"?(n,a,s)=>yl(wl(t.fallback(rs(e,n),a)??n,s),a):(n,a,s)=>yl(wl(wo(rs(e,n))??n,s),a);try{const n=Kn();return(a,s,r)=>{const i=rs(e,a),l=typeof r=="number"?n.t(i,s||{},r):n.t(i,s||{});return l===i?o(a,s,r):l}}catch{return o}}const xg=["dir","lang"],Lg=["aria-label","title","aria-expanded"],Tg={viewBox:"0 0 16 16",focusable:"false"},Sg={key:0,d:"M14 8H3M7 3.5 2.5 8 7 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Og={key:1,d:"M2 8h11M9 3.5 13.5 8 9 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Pg=["dir"],Eg={viewBox:"0 0 16 16",focusable:"false"},Mg={key:0,d:"M14 8H3M7 3.5 2.5 8 7 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ag={key:1,d:"M2 8h11M9 3.5 13.5 8 9 12.5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cg=["aria-labelledby"],Ig={class:"mi-head"},Ng=["id"],Fg=["aria-label"],Dg={class:"mi-body"},Rg={key:0,class:"mi-lead"},Wg={key:1,class:"mi-takeaway"},zg=["src","alt","onError"],Ug={key:0,class:"mi-center"},Hg=["href"],jg=["aria-label","onClick"],Vg=["src","alt","onError"],Bg={key:0,class:"mi-center"},Kg=["onClick"],qg={class:"mi-center"},Gg=["onClick"],Xg={class:"mi-pages"},Yg=["aria-label","onClick"],Jg=["src","alt"],Zg={class:"mi-center"},Qg=["onClick"],em=["aria-label","onClick"],tm=["src","onError"],om={class:"mi-center"},nm=["onClick"],am={class:"mi-center"},sm=["onClick"],rm={class:"mi-grid"},im=["src","alt"],lm={class:"mi-center"},cm=["onClick"],pm={class:"mi-table-wrap"},um={class:"mi-table"},dm={key:0,class:"mi-more"},fm={key:2,class:"mi-note"},hm={key:0,class:"mi-foot"},gm=["checked"],Gn=new Set,mm={__name:"MapInfo",props:{storageKey:{type:String,required:!0},leadKey:{type:String,default:""},lead:{type:String,default:""},takeawayKey:{type:String,default:""},takeaway:{type:String,default:""},noteKey:{type:String,default:""},note:{type:String,default:""},examples:{type:Array,default:()=>[]},assetsBase:{type:String,default:""},placement:{type:String,default:"top-right",validator:e=>["top-right","top-left"].includes(e)},locale:{type:String,default:""},trigger:{type:String,default:"floating",validator:e=>["floating","control"].includes(e)},popupOnly:{type:Boolean,default:!1}},setup(e){const t=e,o=()=>t.trigger==="control",n=Se(0);function a(){return n.value,String(t.locale||ns()||"en").split("-")[0].toLowerCase()}const s=kg("",{fallback:b=>wo(b,a())}),r=(b,I)=>b?s(b):I,i=b=>{try{return new Intl.NumberFormat(a()).format(b)}catch{return String(b)}},l=()=>a()==="ar",c="dxmaps.mapInfo.seen.",d="dxmaps.mapInfo.pointer",g="dxmaps:mapinfo-pointer-off";function _(b){try{return window.localStorage.getItem(b)}catch{return null}}function T(b,I){try{window.localStorage.setItem(b,I)}catch{}}const D=Se(!1),E=Se(!1);function j(){if(E.value=_(d)==="off",o()){D.value=!Gn.has(t.storageKey);return}D.value=!E.value&&_(c+t.storageKey)!=="1"}function U(){o()||j()}function K(b){o()||(!b||b.key===d||b.key===c+t.storageKey)&&j()}ho(()=>{j(),window.addEventListener(g,U),window.addEventListener("storage",K)}),Tn(()=>{window.removeEventListener(g,U),window.removeEventListener("storage",K)});function w(b){E.value=b,T(d,b?"off":"on"),D.value=!b&&_(c+t.storageKey)!=="1";try{window.dispatchEvent(new CustomEvent(g))}catch{}}const $=Se(!1),M=Se(null),O=Se(null),N=Eo({}),q=Eo({});async function B(){var b;n.value++,$.value=!0,o()&&Gn.add(t.storageKey),await yn(),(b=O.value)==null||b.focus()}async function ue(){$.value=!1,o()||T(c+t.storageKey,"1"),D.value=!1,await yn();const b=t.trigger==="control"&&_e.value&&J.value?J.value:M.value;b==null||b.focus()}const me=Se(null),J=Se(null),_e=Se(!1);let Te=null,Me=null,ne=null,re=null;function se(b){for(let I=b;I;I=I.parentNode||I.host)if(I.nodeType===1&&(I.hasAttribute("inert")||I.getAttribute("aria-hidden")==="true"))return!0;return!1}const Ve=3e4,at=9e4;let ke=!1;const we=Se(t.trigger==="control");let Ze=0;function dt(){const b=me.value&&me.value.parentElement,I=b&&b.getBoundingClientRect();return!!b&&!se(b)&&I.width>0&&I.height>0}function Rt(){if(we.value){if(!dt()){Ze=0;return}Ze?Date.now()-Ze>=(ke?at:Ve)&&(we.value=!1):Ze=Date.now()}}function Ae(){Rt(),o()&&D.value&&Gn.has(t.storageKey)&&!dt()&&(D.value=!1);const b=J.value;let I=!1;if(b&&b.isConnected&&!se(b)){const V=b.getBoundingClientRect();if(I=V.width>0&&V.height>0&&V.bottom>0&&V.right>0&&V.topQ+I.clientWidth/2?{side:"right",top:fe,right:Math.round(Q+I.clientWidth-b.left+st)}:{side:"left",top:fe,left:Math.round(b.right-Q+st)}}const ze=Se(null),Ge=()=>{const b=ze.value;return b.side==="right"?{top:b.top+"px",right:b.right+"px"}:{top:b.top+"px",left:b.left+"px"}},Wt=()=>Ae();function f(b){if(!b||b===J.value){Ae();return}try{Me==null||Me.disconnect(),ne==null||ne.disconnect()}catch{}J.value=b,we.value=!1;try{Me=new IntersectionObserver(Ae),Me.observe(b)}catch{Me=null}try{ne=new ResizeObserver(Ae),ne.observe(b)}catch{ne=null}b.setAttribute("aria-expanded",String($.value)),Ae()}const m=b=>!!Te&&typeof b.composedPath=="function"&&b.composedPath().includes(Te);function h(b){m(b)&&(b.stopPropagation(),b.detail&&(b.detail.ack=!0),f(b.detail&&b.detail.el))}function x(b){m(b)&&(b.stopPropagation(),ke=!!(b.detail&&b.detail.pending),!ke&&!J.value&&(we.value=!1))}function P(b){m(b)&&(b.stopPropagation(),f(b.detail&&b.detail.el),$.value||B())}ho(()=>{if(t.trigger==="control"&&(Te=me.value&&me.value.parentElement,!!Te)){Te.addEventListener("dxmaps:mapinfo-control",h),Te.addEventListener("dxmaps:mapinfo-open",P),Te.addEventListener("dxmaps:mapinfo-pending",x),re=window.setInterval(Ae,1500),window.addEventListener("resize",Wt);try{window.dispatchEvent(new CustomEvent("dxmaps:mapinfo-host",{detail:{local:t.popupOnly}}))}catch{}}}),Tn(()=>{Te&&(Te.removeEventListener("dxmaps:mapinfo-control",h),Te.removeEventListener("dxmaps:mapinfo-open",P),Te.removeEventListener("dxmaps:mapinfo-pending",x));try{Me==null||Me.disconnect(),ne==null||ne.disconnect()}catch{}re&&window.clearInterval(re),window.removeEventListener("resize",Wt)}),Ht($,b=>{var I;(I=J.value)==null||I.setAttribute("aria-expanded",String(b))});const S=()=>!t.popupOnly&&(t.trigger!=="control"||!we.value&&!_e.value);Ht(()=>o()&&D.value&&!$.value&&!S()&&!!ze.value,b=>{b&&Gn.add(t.storageKey)},{immediate:!0});const W=Se(null);function R(b){const I=W.value;if(!I)return;const V=[...I.querySelectorAll('button, a[href], input, [tabindex]:not([tabindex="-1"])')].filter(Qe=>!Qe.disabled&&Qe.offsetParent!==null);if(!V.length)return;const Q=I.getRootNode().activeElement,ee=V[0],fe=V[V.length-1];b.shiftKey&&(Q===ee||!I.contains(Q))?(b.preventDefault(),fe.focus()):!b.shiftKey&&(Q===fe||!I.contains(Q))&&(b.preventDefault(),ee.focus())}function u(b){b.key==="Escape"?(b.stopPropagation(),ue()):b.key==="Tab"&&R(b)}function p(b){N[b]=!N[b]}function y(b){const I=b&&b.target;I&&(I.style.display="none")}function k(b){const I=String(b||"");return!I||/^(?:[a-z]+:|\/)/i.test(I)||!t.assetsBase?I:t.assetsBase.replace(/\/+$/,"")+"/"+I.replace(/^\.?\//,"")}const H={image:"mapInfo.poster",pages:"mapInfo.packet",deck:"mapInfo.cards",table:"mapInfo.spreadsheet"};function A(b){return s(b.titleKey||H[b.kind]||"mapInfo.example")}const v=b=>(b.cards||[]).slice(0,5),L=b=>b&&typeof b=="object"?b.key?s(b.key):String(b.label||""):String(b??"");return pl(` .mi-btn{ position:absolute; z-index:20; top:var(--map-info-top, 12px); width:40px; height:40px; border-radius:50%; border:1px solid rgba(0,0,0,.18); background:#fff; color:#1f2a44; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; @@ -258,4 +258,4 @@ @media (prefers-reduced-motion: reduce){ .mi-pointer, .mi .mi-pointer.mi-ctl{ animation:none; } } -`,"map-info"),(b,I)=>(F(),z("div",{ref_key:"rootEl",ref:me,class:"mi",dir:l()?"rtl":"ltr",lang:a()},[Io(C("button",{ref_key:"btnEl",ref:M,type:"button",class:et(["mi-btn",e.placement==="top-left"?"mi-at-left":"mi-at-right"]),"aria-label":Te(s)("mapInfo.open"),title:Te(s)("mapInfo.open"),"aria-haspopup":"dialog","aria-expanded":String($.value),onClick:B},[...I[1]||(I[1]=[C("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"},[C("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),C("rect",{x:"11",y:"10",width:"2",height:"7",rx:"1",fill:"currentColor"}),C("circle",{cx:"12",cy:"7",r:"1.3",fill:"currentColor"})],-1)])],10,Tg),[[qo,S()]]),D.value&&!$.value&&S()?(F(),z("div",{key:0,class:et(["mi-pointer",e.placement==="top-left"?"mi-at-left":"mi-at-right"]),"aria-hidden":"true"},[C("span",null,X(Te(s)("mapInfo.pointer")),1),(F(),z("svg",Lg,[e.placement==="top-left"?(F(),z("path",Sg)):(F(),z("path",Og))]))],2)):pe("",!0),D.value&&!$.value&&!S()&&ze.value?(F(),z("div",{key:1,class:et(["mi-pointer mi-ctl","mi-ctl-"+ze.value.side]),style:ao(Ge()),"aria-hidden":"true"},[C("span",{dir:l()?"rtl":"ltr"},X(Te(s)("mapInfo.pointer")),9,Pg),(F(),z("svg",Eg,[ze.value.side==="left"?(F(),z("path",Mg)):(F(),z("path",Ag))]))],6)):pe("",!0),$.value?(F(),z("div",{key:2,class:"mi-scrim",onClick:Dn(ue,["self"]),onKeydown:u},[C("div",{ref_key:"dialogEl",ref:W,class:"mi-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"mi-title-"+e.storageKey},[C("div",Ig,[C("h2",{id:"mi-title-"+e.storageKey,class:"mi-title"},X(Te(s)("mapInfo.title")),9,Ng),C("button",{ref_key:"closeEl",ref:O,type:"button",class:"mi-close","aria-label":Te(s)("mapInfo.close"),onClick:ue},"×",8,Fg)]),C("div",Dg,[e.leadKey||e.lead?(F(),z("p",Rg,X(r(e.leadKey,e.lead)),1)):pe("",!0),e.takeawayKey||e.takeaway?(F(),z("p",Wg,[C("b",null,X(Te(s)("mapInfo.takeaway")),1),jt(" "+X(r(e.takeawayKey,e.takeaway)),1)])):pe("",!0),(F(!0),z(oe,null,Ye(e.examples,(V,Q)=>Io((F(),z("section",{key:Q,class:"mi-ex"},[C("h3",null,X(A(V)),1),V.kind==="image"?(F(),z(oe,{key:0},[C("img",{class:"mi-img mi-poster",src:k(V.src),alt:V.alt||A(V),decoding:"async",onError:ee=>q[Q]=!0},null,40,zg),V.full?(F(),z("div",Ug,[C("a",{class:"mi-full",href:k(V.full),target:"_blank",rel:"noopener"},X(Te(s)("mapInfo.openFull")),9,Hg)])):pe("",!0)],64)):V.kind==="pages"&&(V.pages||[]).length?(F(),z(oe,{key:1},[N[Q]?(F(),z(oe,{key:1},[C("div",qg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Te(s)("mapInfo.collapsePages")),9,Gg)]),C("div",Xg,[(F(!0),z(oe,null,Ye(V.pages,(ee,fe)=>(F(),z("button",{key:fe,type:"button",class:"mi-hit mi-open mi-page","aria-label":Te(s)("mapInfo.collapsePages"),onClick:Qe=>p(Q)},[C("img",{class:"mi-img",src:k(ee),alt:A(V)+" "+i(fe+1),loading:"lazy",decoding:"async",onError:y},null,40,Jg)],8,Yg))),128))]),C("div",Zg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Te(s)("mapInfo.collapsePages")),9,Qg)])],64)):(F(),z(oe,{key:0},[C("button",{type:"button",class:et(["mi-hit mi-page",{"mi-stack":V.pages.length>1}]),"aria-label":Te(s)("mapInfo.expandPages",{n:i(V.pages.length)}),"aria-expanded":"false",onClick:ee=>p(Q)},[C("img",{class:"mi-img",src:k(V.pages[0]),alt:A(V),decoding:"async",onError:ee=>q[Q]=!0},null,40,Vg)],10,jg),V.pages.length>1?(F(),z("div",Bg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"false",onClick:ee=>p(Q)},X(Te(s)("mapInfo.expandPages",{n:i(V.pages.length)})),9,Kg)])):pe("",!0)],64))],64)):V.kind==="deck"&&(V.cards||[]).length?(F(),z(oe,{key:2},[N[Q]?(F(),z(oe,{key:1},[C("div",am,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Te(s)("mapInfo.collapseDeck")),9,sm)]),C("div",rm,[(F(!0),z(oe,null,Ye(V.cards,(ee,fe)=>(F(),z("img",{key:fe,class:"mi-img",src:k(ee),alt:A(V)+" "+i(fe+1),loading:"lazy",decoding:"async",onError:y},null,40,im))),128))]),C("div",lm,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Te(s)("mapInfo.collapseDeck")),9,cm)])],64)):(F(),z(oe,{key:0},[C("button",{type:"button",class:"mi-hit mi-deck","aria-label":Te(s)("mapInfo.expandDeck",{n:i(V.cards.length)}),"aria-expanded":"false",onClick:ee=>p(Q)},[(F(!0),z(oe,null,Ye(v(V),(ee,fe)=>(F(),z("img",{key:fe,class:"mi-card",src:k(ee),alt:"",decoding:"async",onError:Qe=>fe===0?q[Q]=!0:y(Qe),style:ao({insetInlineStart:fe*36+"px",transform:"rotate("+(fe-2)*4+"deg)",zIndex:10-fe})},null,44,tm))),128))],8,em),C("div",om,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"false",onClick:ee=>p(Q)},X(Te(s)("mapInfo.expandDeck",{n:i(V.cards.length)})),9,nm)])],64))],64)):V.kind==="table"&&(V.columns||[]).length?(F(),z(oe,{key:3},[C("div",pm,[C("table",um,[C("thead",null,[C("tr",null,[(F(!0),z(oe,null,Ye(V.columns,(ee,fe)=>(F(),z("th",{key:fe,scope:"col"},X(T(ee)),1))),128))])]),C("tbody",null,[(F(!0),z(oe,null,Ye(V.rows||[],(ee,fe)=>(F(),z("tr",{key:fe},[(F(!0),z(oe,null,Ye(ee,(Qe,Be)=>(F(),z("td",{key:Be},X(typeof Qe=="number"?i(Qe):Qe),1))),128))]))),128))])])]),V.total&&V.total>(V.rows||[]).length?(F(),z("p",dm,X(Te(s)("mapInfo.moreRows",{n:i(V.total-(V.rows||[]).length)})),1)):pe("",!0)],64)):pe("",!0)])),[[qo,!q[Q]]])),128)),e.noteKey||e.note?(F(),z("p",fm,X(r(e.noteKey,e.note)),1)):pe("",!0)]),o()?pe("",!0):(F(),z("div",hm,[C("label",null,[C("input",{type:"checkbox",checked:E.value,onChange:I[0]||(I[0]=V=>w(V.target.checked))},null,40,gm),C("span",null,X(Te(s)("mapInfo.pointerOff")),1)])]))],8,Cg)],32)):pe("",!0)],8,xg))}},bm=":host{display:block;position:relative;height:var(--doxa-maps-spa-height, 85vh);min-height:480px}:host{font-size:16px;line-height:normal;font-weight:400;font-style:normal;font-variant:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;text-align:start;text-indent:0;text-shadow:none;white-space:normal;-webkit-hyphens:manual;hyphens:manual;visibility:visible;cursor:auto}:host([hidden]){display:none}.dms-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.mi.dms-info-raise .mi-btn{z-index:60}.dms-slot{position:relative;min-height:100%}.dms-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.dms-hint.err{color:#f87171}.dms-hint small{color:var(--dx-muted, #6d766e)}.dms-help-close:focus-visible{outline:2px solid #3f8f5a;outline-offset:2px}.dms-help-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000059;padding:16px}.dms-help{max-width:420px;width:100%;color:#3b463d;background:#fff;border-radius:12px;padding:18px 20px 14px;box-shadow:0 12px 32px #0003;font-size:14px;line-height:1.5}.dms-help-title{margin:0 0 8px;font-size:16px}.dms-help-what,.dms-help-how{margin:0 0 10px}.dms-help-close{float:right;font:inherit;padding:6px 14px;border-radius:8px;border:1px solid #d1d4cd;background:#f3f3f1;cursor:pointer}.dms-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;max-width:320px;text-align:center;font-size:13px;line-height:1.4;color:#3b463d;background:#fff;border:1px solid #d1d4cd;border-radius:10px;padding:10px 16px;box-shadow:0 8px 24px #0000001f}.dms-mobile-notice{position:sticky;top:0;z-index:30;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.4;color:#3b463d;background:#fff8e6;border-bottom:1px solid #f0d58c}.dms-mobile-notice span{flex:1}.dms-mobile-notice-x{flex:none;min-width:32px;min-height:32px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.dms-mobile-notice-x:focus-visible{outline:2px solid #3b463d;outline-offset:1px}.dms-logo{display:inline-flex;align-items:center}.dms-logo svg{display:block}.dms-locale{position:relative;padding:8px 12px 0;display:flex;justify-content:flex-end}.dms-locale-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.dms-locale-btn:hover{background:#d1d4cd}.dms-flag{font-size:14px;line-height:1}.dms-locale-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dms-dots{color:#6d766e;margin-left:2px}.dms-locale-menu{position:absolute;top:100%;right:12px;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.dms-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.dms-locale-opt:hover,.dms-locale-opt.active{background:#d1d4cd;color:#3b463d}.dms-locale-opt.active .dms-locale-name{color:#92b195}.dms-locale-en{margin-left:auto;font-size:11px;color:#6d766e}";function kl(){try{const e=new URLSearchParams(location.search),t=(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase();if(ss.includes(t))return t}catch{}try{const e=(document.documentElement.lang||"").split("-")[0].toLowerCase();if(ss.includes(e))return e}catch{}return""}const is=[{key:"dashboards",label:"Dashboards",i18n:"sec.dashboards",icon:"chart",tabs:[{id:"dashboard-plus-grid",icon:"chart"},{id:"research-map-plus-grid",icon:"map"},{id:"regions-dashboard",icon:"map"}]},{key:"prayer-mobilization",label:"Prayer Mobilization",i18n:"sec.prayer",icon:"heart",tabs:[{id:"prayer-map",icon:"embed"},{id:"upg-100",icon:"list"}]},{key:"gospel-research",label:"Gospel Research",i18n:"sec.gospel",icon:"search",tabs:[{id:"cities-internet",icon:"wifi"},{id:"gospel-resources",icon:"book"}]},{key:"experimental",label:"Experimental",i18n:"sec.experimental",icon:"flask",folder:!0,open:!1,tabs:[]}];function $m(e){const t={},o=e&&Array.isArray(e.bundles)?e.bundles:[];for(const n of o)for(const a of Array.isArray(n&&n.profiles)?n.profiles:[])a&&(a.mobile==="desktop-only"||a.mobile==="larger-screens")&&(t[n.bundle+"/"+a.profile]=a.mobile);return t}const _m=new Set(["doxa-maps-spa","plugin-studio","template-bundle","people-groups-grid","research-dashboard","big-picture","demo-map","golden-path-check","doxa-research-map","stack-demo"]),xl={"prayer-walk-planner":1,"gospel-internet":2,"upg-neighbor":3,"key-cities":4,"all-people-groups":5,"country-posters":6,"doxa-vision-card":7},ls=[{id:"dashboard-plus-grid",label:"Big Picture",sub:"dashboard + people-groups grid, stacked",emoji:"🌍",bundle:"dashboard-plus-grid",profile:"dashboard-plus-grid"},{id:"research-map",label:"Research Map",sub:"prayer · engagement · regions",emoji:"🗺️",bundle:"doxa-research-map",profile:"research-map"},{id:"research-map-plus-grid",label:"Simple Research",sub:"research map + people-groups grid",emoji:"🗺️",bundle:"research-map-plus-grid",profile:"research-map-plus-grid"},{id:"prayer-map",label:"Prayer Progress",sub:"simple world prayer map",emoji:"🙏",bundle:"doxa-simple-map",profile:"doxa-simple-map",instance:"prayer"},{id:"cities-internet",label:"Cities with Internet",sub:"connectivity of key cities",emoji:"📡",bundle:"cities-internet",profile:"connectivity-map"},{id:"gospel-resources",label:"Gospel Resources",sub:"resources by place",emoji:"📖",bundle:"gospel-resources",profile:"resources-map"},{id:"regions-dashboard",label:"Regions",sub:"regions and their countries",emoji:"🌐",bundle:"regions-dashboard",profile:"regions-mfe"},{id:"upg-100",label:"UPG-100 List",sub:"my unreached list + posters",emoji:"📋",bundle:"my-upg-100-list",profile:"upg-100-mfe"}];ym(is);const Xn=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid","gospel-internet-board"]),Yn=new Set(["dashboard-plus-grid","research-map-plus-grid"]);function vm(){const e=Object.fromEntries(ls.map(o=>[o.id,o])),t=new Set;for(const o of is)if(o.key!=="experimental")for(const n of o.tabs||[]){const a=e[n.id];a&&a.bundle&&t.add(a.bundle)}return t}function Tl(e,t){const o=[];for(const n of e)!n||t.has(n.key)||(t.add(n.key),o.push(n));return o}function ym(e){const t=new Map,o=[];for(const n of e)if(n.key!=="experimental")for(const a of n.tabs||[]){if(!a||!a.id)continue;const s=t.get(a.id);if(s===void 0){t.set(a.id,n.key);continue}(s!==n.key||o.indexOf(a.id)===-1)&&o.push(a.id+" ("+s+" + "+n.key+")")}return o.length&&typeof console<"u"&&console.error("[doxa-maps-spa] duplicate tab key(s) across NAV_MODEL sections: "+o.join(", ")+" — VerticalTabsLayout keys its tab-ref map and `active` highlight by id, so a row declared in two sections paints twice and stalls keyboard nav. See the duplicate-key trap in SPEC-the-six-map-product-and-its-tab-order.md."),o}function wm(e){return String(e).split(/[-_]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function km(e){const t=vm(),o=e&&Array.isArray(e.bundles)?e.bundles:[],n=[];for(const a of o){const s=a&&a.bundle;if(!s||t.has(s)||_m.has(s)||a.stage==="production")continue;const r=Array.isArray(a.profiles)?a.profiles:[];if(!r.length||r.every(d=>d.widget||Array.isArray(d.targets)&&!d.targets.includes("web")))continue;const i=r.find(d=>d.isMap)||r.find(d=>d.profile===s)||r[0],l=i.element||Array.isArray(a.elements)&&a.elements[0]||s,c=a.scriptUrl||i.scriptUrl||"";c&&n.push({id:s,label:i.title||wm(s),sub:(i.description||"").trim().replace(/[,;]\s*$/,"")||"experimental bundle",emoji:"🧪",tag:l,bundle:s,profile:i.profile||s,scriptUrl:c,heavy:Xn.has(l)||Xn.has(s),scroll:Yn.has(l)||Yn.has(s),discovered:!0})}return n.sort((a,s)=>{const r=xl[a.id]||999,i=xl[s.id]||999;return r!==i?r-i:a.label.localeCompare(s.label)}),n}function xm(e,t){const o=e&&Array.isArray(e.bundles)?e.bundles:[],n=Object.fromEntries(o.map(s=>[s.bundle,s])),a={};for(const s of t){const r=n[s.bundle];if(!r)continue;const i=Array.isArray(r.profiles)?r.profiles:[],l=i.find(L=>L.profile===s.profile)||i[0],c=l&&l.element||Array.isArray(r.elements)&&r.elements[0]||s.bundle,d=r.scriptUrl||l&&l.scriptUrl||"";if(!d)continue;const g=l&&Array.isArray(l.instances)?l.instances:[],_=!!(s.instance&&g.some(L=>(L&&(L.id||L.instance))===s.instance));a[s.id]={tag:c,scriptUrl:d,profile:l&&l.profile||s.profile,instance:_?s.instance:"",heavy:Xn.has(c)||Xn.has(s.bundle),scroll:Yn.has(c)||Yn.has(s.bundle)}}return a}const Tm=uo({name:"DoxaMapsSpa",inheritAttrs:!1,components:{VerticalTabsLayout:hg,BackToTopButton:ei,MapInfo:mm},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"Deep Research"},tokenUrl:{type:String,default:""},tk:{type:String,default:""},language:{type:String,default:""},apiBaseUrl:{type:String,default:""},provider:{type:String,default:""},tab:{type:String,default:""}},emits:["tab-change"],setup(){return{injectedBase:po("dmsTreeBase","")}},data(){return{paneEls:{},activeIndex:0,showHeader:!1,narrow:!1,_mql:null,_onMedia:null,disabledNotice:"",_noticeTimer:null,helpOpen:!1,mobileNoticeDismissed:{},mobileFlags:null,manifestError:"",manifestBase:"",runtime:{},locale:bg(),hostLang:kl(),localeOpen:!1,switcherLangs:gg,tabs:ls.map(e=>({...e,tag:"",scriptUrl:"",heavy:!1,scroll:!1,resolved:!1,mounted:!1,state:"idle",error:""}))}},computed:{largerScreenText(){return wo("messages.largerScreenNotice",this.uiLocale)||"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone."},activePaneEl(){return this.paneEls[this.activeIndex]||null},activeHelp(){const e=this.tabs[this.activeIndex];return e&&e.discovered?_l(e.id,this.uiLocale):null},cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},assetsBase(){const e=String(this.cfg.assetsBase||"").trim();return/^https?:\/\//i.test(e)||e.startsWith("/")?e.replace(/\/+$/,""):this.manifestBase?this.manifestBase.replace(/\/+$/,"")+"/assets":""},showInfo(){const e=this.cfg.info;return!(e===!1||e==="false"||e==="off")},headingText(){return String(this.cfg.heading||this.heading||"").trim()||"Deep Research"},showExperimental(){const e=this.cfg.experimental;return!(e===!1||e==="false"||e==="hidden"||e==="off")},navGroups(){const e=Object.fromEntries(this.tabs.map(o=>[o.id,o])),t=new Set;return is.map(o=>{let n=Tl((o.tabs||[]).filter(a=>e[a.id]).map(a=>{const s=e[a.id],r=this.isDesktopOnly(s.id),i=r||this.mobileFlagOf(s.id)==="desktop-only";return{key:s.id,label:this.tabLabel(s),sub:this.tabSub(s),icon:a.icon,badge:i?this.tr("desktopOnly"):a.badge,disabled:r}}),t);return o.key==="experimental"&&!this.showExperimental?{key:o.key,rows:[]}:(o.key==="experimental"&&(n=n.concat(Tl(this.tabs.filter(a=>a.discovered).map(a=>({key:a.id,label:this.tabLabel(a),sub:this.tabSub(a),icon:"flask",badge:this.narrow&&this.mobileFlagOf(a.id)==="larger-screens"?this.tr("mobileNotBuilt"):this.tr("lab")})),t))),{key:o.key,label:o.i18n?this.tr(o.i18n):o.label,icon:o.icon,folder:!!o.folder,open:o.open,rows:n})}).filter(o=>o.rows.length)},showLocaleSwitcher(){return this.showHeader},activeLang(){return mg(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},effectiveLocale(){const e=(this.language||this.cfg.language||this.cfg.locale||this.cfg.lang||"").trim(),t=this.showLocaleSwitcher?this.locale:"";return(e||t||this.hostLang||"en").split("-")[0].toLowerCase()},uiLocale(){return ss.includes(this.effectiveLocale)?this.effectiveLocale:"en"},uiDir(){return this.uiLocale==="ar"?"rtl":"ltr"},layoutLabels(){const e={};for(const t of["toggleList","openViews","expandList","collapseList","collapse"])e[t]=this.tr(t);return e},effectiveProvider(){const e=String(this.provider||this.cfg.provider||"").trim().toLowerCase();return e==="maplibre"||e==="mapbox"?e:""},activeKey(){const e=this.tabs[this.activeIndex];return e?e.id:""}},mounted(){this.watchWidth(),this.watchHostLang(),this.select(this.initialIndex()),this.loadManifest(),this._onHostedHelp=e=>this.onHostedHelp(e),this.$el.addEventListener("doxa:help",this._onHostedHelp)},beforeUnmount(){this._langObs&&(this._langObs.disconnect(),this._langObs=null),this._onHostedHelp&&(this.$el.removeEventListener("doxa:help",this._onHostedHelp),this._onHostedHelp=null),!(!this._mql||!this._onMedia)&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia),this._mql=null,this._onMedia=null)},watch:{activeIndex(){this.helpOpen=!1},effectiveLocale(){const e=(n,a)=>{try{const s=this._slots&&this._slots[n];s&&(s.innerHTML="")}catch{}a.mounted=!1,a.state="idle",a.error=""};this.tabs.forEach((n,a)=>{n.mounted&&a!==this.activeIndex&&e(a,n)});const t=this.activeIndex,o=this.tabs[t];!o||!o.mounted||(e(t,o),this.mountElement(t))},tab(e){e&&this.onSelect(e)}},methods:{openHelp(){this.helpOpen=!0,this.$nextTick(()=>this.$refs.helpClose&&this.$refs.helpClose.focus())},closeHelp(){this.helpOpen=!1;const e=this._helpReturn;this._helpReturn=null,this.$nextTick(()=>e&&e.focus&&e.focus())},infoProps(e){const{pos:t,...o}=this.infoFor(e)||{};return o},infoPos(e){const t=(this.infoFor(e)||{}).pos||{},{narrow:o,...n}=t;return this.narrow&&o?{...n,...o}:n},infoStyle(e){const t=this.infoPos(e),o={};return t.top&&(o["--map-info-top"]=t.top),t.side&&(o["--map-info-side"]=t.side),o},infoFor(e){const t=this.showInfo&&e&&wg[e.id];return t&&(!t.leadKey||wo(t.leadKey,"en"))?t:null},tabHasHelp(e){return!!(e&&e.discovered&&_l(e.id,this.uiLocale))},onHostedHelp(e){if(!this.activeHelp)return;e.stopPropagation();const t=e.composedPath?e.composedPath():[];this._helpReturn=t.find(o=>o&&o.tagName==="BUTTON")||null,this.openHelp()},setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},tr(e,t){return qn(this.uiLocale,e,t)},t(e,t){return qn(this.uiLocale,e,t)},tabLabel(e){return!e.discovered||_g("tab."+e.id)?qn(this.uiLocale,"tab."+e.id):e.label},tabSub(e){return e.discovered?this.uiLocale==="en"?e.sub:this.tr("experimentalSub"):qn(this.uiLocale,"sub."+e.id)},watchHostLang(){typeof MutationObserver>"u"||typeof document>"u"||(this._langObs=new MutationObserver(()=>{this.hostLang=kl()}),this._langObs.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]}))},watchWidth(){typeof window>"u"||!window.matchMedia||(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this._onMedia=e=>{const t=this.narrow;this.narrow=!!e.matches,t!==this.narrow&&this.isDesktopOnly(this.activeKey)&&this.select(this.firstVisibleIndex())},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))},mobileFlagOf(e){const t=this.tabs.find(o=>o.id===e);return t&&this.mobileFlags&&this.mobileFlags[t.bundle+"/"+t.profile]||null},isDesktopOnly(e){return this.narrow&&this.mobileFlagOf(e)==="desktop-only"},showsMobileNotice(e){return this.narrow&&this.mobileFlagOf(e)==="larger-screens"&&!this.mobileNoticeDismissed[e]},dismissMobileNotice(e){this.mobileNoticeDismissed={...this.mobileNoticeDismissed,[e]:!0}},firstVisibleIndex(){let e=-1;for(const t of this.navGroups)for(const o of t.rows){const n=this.tabs.findIndex(a=>a.id===o.key);if(!(n<0)&&(e<0&&(e=n),!o.disabled))return n}return e>=0?e:0},loadManifest(){const e=this.resolve("manifest.json"),t=c=>{try{return new URL(c,location.href).href.replace(/[^/]*$/,"")}catch{return""}},o={url:e,root:t(e)},n={url:this.resolve("doxa-maps-spa/manifest.json"),root:o.root};let a=!1;try{a=new URL(e,location.href).origin!==location.origin}catch{}const s=a?[n,o]:[o,n],r="/public/dx-maps/manifest.json";s.some(c=>c.url===r)||s.push({url:r,root:t(r)});const i=[],l=c=>{if(c>=s.length){this.manifestError="manifest.json not found (tried "+i.join(", ")+")",console.error("[doxa-maps-spa] "+this.manifestError+" — every tab except Big Picture is composed from it, so their panes cannot mount.");return}const{url:d,root:g}=s[c];return i.push(d),fetch(d,{credentials:"same-origin"}).then(_=>{if(!_||!_.ok)throw new Error(d+" → HTTP "+(_?_.status:"?"));return _.json()}).then(_=>{if(!_)throw new Error(d+" → empty");this.manifestError="",this.manifestBase=g||"",this.applyManifest(_)}).catch(()=>l(c+1))};try{l(0)}catch{}},applyManifest(e){this.runtime=e&&e.runtime&&typeof e.runtime=="object"?e.runtime:{},this.mobileFlags=$m(e),this.applyPageGlobals();const t=xm(e,ls),o=this.activeKey,n=[];for(const l of this.tabs){if(l.discovered){n.push(l);continue}const c=t[l.id];c&&(Object.assign(l,c,{resolved:!0}),n.push(l))}const a=new Set(n.map(l=>l.id));if(this.showExperimental)for(const l of km(e))a.has(l.id)||n.push({...l,resolved:!0,mounted:!1,state:"idle",error:""});this.tabs=n;const s=this.requestedTab(),r=s?this.tabs.findIndex(l=>l.id===s):-1,i=this.tabs.findIndex(l=>l.id===o);r>=0&&!this.isDesktopOnly(s)&&!this._honouredTab?this.select(r):this.select(i>=0&&!this.isDesktopOnly(o)?i:this.firstVisibleIndex()),this._honouredTab=!0},requestedTab(){let e="";try{e=new URLSearchParams(location.search).get("tab")||""}catch{}return String(this.tab||this.cfg.tab||e||"").trim()},initialIndex(){const e=this.requestedTab(),t=e?this.tabs.findIndex(o=>o.id===e):-1;return t>=0&&(this._honouredTab=!0),t>=0&&!this.isDesktopOnly(e)?t:this.firstVisibleIndex()},setLocale(e){this.locale=e,this.localeOpen=!1,$g(e)},onSelect(e){if(this.isDesktopOnly(e)){const o=this.tabs.find(n=>n.id===e);this.disabledNotice=(wo("messages.desktopOnlyNotice",this.uiLocale)||"{label} only supports desktop — open this page on a desktop to use it.").replace("{label}",o?this.tabLabel(o):e),clearTimeout(this._noticeTimer),this._noticeTimer=setTimeout(()=>{this.disabledNotice=""},4e3);return}const t=this.tabs.findIndex(o=>o.id===e);t!==-1&&this.select(t)},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const o=t.replace(/^\.\//,"");return this.manifestBase?this.manifestBase.replace(/\/+$/,"")+"/"+o:this.base?this.base.replace(/\/+$/,"")+"/"+o:"../"+o},select(e){const t=this.activeIndex;if(this.activeIndex=e,t!==e&&t>=0){const n=this.tabs[t];n&&n.heavy&&n.mounted&&this.releaseTab(t,n)}const o=this.tabs[e];o&&((t!==e||!this._announced)&&(this._announced=!0,this.$emit("tab-change",{id:o.id,label:o.label})),o.scriptUrl&&(this.narrow&&this.mobileFlags===null||this.isDesktopOnly(o.id)||o.mounted||this.$nextTick(()=>{this.activeIndex===e&&this.mountElement(e)})))},releaseTab(e,t){try{const o=this._slots&&this._slots[e];o&&(o.innerHTML="")}catch{}this._slots&&delete this._slots[e],t.mounted=!1,t.state="idle",t.error=""},childConfig(e){const t={profile:e.profile||e.id,instanceId:e.instance||"dms-"+e.id};this.effectiveLocale&&(t.locale=this.effectiveLocale);const o=this.tk||this.cfg.tk||this.runtime.token;return o&&(t.tk=o),(this.tokenUrl||this.cfg.tokenUrl)&&(t.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.effectiveProvider&&(t.provider=this.effectiveProvider),this.base&&(t.treeBase=this.base),this.assetsBase&&(t.assetsBase=this.assetsBase),t.urlSync=!1,t},applyPageGlobals(){if(typeof window>"u")return;const e=(this.apiBaseUrl||this.cfg.apiBaseUrl||this.runtime.apiBaseUrl||"").trim();e&&!window.MAP_APP_API_URL&&(window.MAP_APP_API_URL=e.replace(/\/+$/,""));const t=this.tk||this.cfg.tk||this.runtime.token;t&&!window.MAP_TOKEN&&(window.MAP_TOKEN=t),this.effectiveProvider&&!window.MAP_PROVIDER&&(window.MAP_PROVIDER=this.effectiveProvider)},mountElement(e){const t=this.tabs[e];t.mounted=!0,t.state="loading";const o=this.resolve(t.scriptUrl);gl(o).then(()=>gh(t.tag)).then(()=>{try{if(t.heavy&&this.activeIndex!==e){t.mounted=!1,t.state="idle";return}const n=this._slots&&this._slots[e];if(!n){t.state="error",t.error="no slot";return}n.innerHTML="";const a=document.createElement(t.tag);a.setAttribute("profile-config",JSON.stringify(this.childConfig(t))),this.base&&a.setAttribute("tree-base",this.base.replace(/\/+$/,"")),a.style.cssText=t.scroll?"display:block;position:static;width:100%;height:auto;":"display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;",n.appendChild(a),t.state="ready"}catch(n){t.state="error",t.error="mount failed: "+(n&&n.message||String(n))}}).catch(n=>{t.state="error",t.error=n&&n.message||String(n)})}}}),Lm={class:"dms-locale"},Sm=["aria-expanded"],Om={class:"dms-flag"},Pm={class:"dms-locale-name"},Em={key:0,class:"dms-locale-menu",role:"listbox"},Mm=["aria-selected"],Am=["onClick"],Cm={class:"dms-flag"},Im={class:"dms-locale-name"},Nm={class:"dms-locale-en"},Fm=["hidden","data-doxa-help"],Dm={key:0,class:"dms-mobile-notice",role:"status"},Rm=["aria-label","onClick"],Wm={key:2,class:"dms-hint"},zm={key:3,class:"dms-hint err"},Um={key:4,class:"dms-hint err"},Hm={key:0,class:"dms-notice",role:"status"},jm={id:"dms-help-title",class:"dms-help-title"},Vm={class:"dms-help-what"},Bm={class:"dms-help-how"};function Km(e,t,o,n,a,s){const r=Sn("MapInfo"),i=Sn("BackToTopButton"),l=Sn("VerticalTabsLayout");return F(),mo(l,{dir:e.uiDir,lang:e.uiLocale,labels:e.layoutLabels,title:e.headingText,"nav-label":e.t("navLabel"),header:e.showHeader,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.onSelect},Dc({brand:Co(()=>[t[5]||(t[5]=C("span",{class:"dms-logo","aria-hidden":"true"},[C("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C("circle",{cx:"12",cy:"12",r:"9"}),C("polygon",{points:"12 6 14 12 12 18 10 12",fill:"#92b195",stroke:"none"}),C("polygon",{points:"6 12 12 10 18 12 12 14",fill:"#92b195",opacity:"0.55",stroke:"none"})])],-1))]),meta:Co(()=>[jt(X(e.t("meta",{n:e.tabs.length})),1)]),default:Co(()=>[(F(!0),z(oe,null,Ye(e.tabs,(c,d)=>Io((F(),z("section",{key:c.id,class:"dms-pane",ref_for:!0,ref:g=>{g?e.paneEls[d]=g:delete e.paneEls[d]},hidden:d!==e.activeIndex,"data-doxa-help":e.tabHasHelp(c)?"":null,"data-doxa-gallery":""},[!c.heavy||d===e.activeIndex?(F(),z(oe,{key:0},[e.showsMobileNotice(c.id)?(F(),z("div",Dm,[C("span",null,X(e.largerScreenText),1),C("button",{type:"button",class:"dms-mobile-notice-x","aria-label":e.tr("dismiss"),onClick:g=>e.dismissMobileNotice(c.id)},"×",8,Rm)])):pe("",!0),C("div",{class:"dms-slot",ref_for:!0,ref:g=>e.setSlot(d,g)},null,512),e.infoFor(c)?(F(),mo(r,Mr({key:"info-"+c.id},{ref_for:!0},e.infoProps(c),{style:e.infoStyle(c),placement:e.infoPos(c).placement||"top-right",class:{"dms-info-raise":e.infoPos(c).raise},"assets-base":e.assetsBase,locale:e.effectiveLocale}),null,16,["style","placement","class","assets-base","locale"])):pe("",!0),c.state==="loading"?(F(),z("div",Wm,X(e.tr("loading",{label:e.tabLabel(c)})),1)):c.state==="error"?(F(),z("div",zm,[jt(X(e.tr("loadFailed",{label:e.tabLabel(c)})),1),t[7]||(t[7]=C("br",null,null,-1)),C("small",null,X(c.error),1)])):c.state==="idle"&&!c.scriptUrl&&e.manifestError?(F(),z("div",Um,[jt(X(e.tr("loadFailed",{label:e.tabLabel(c)})),1),t[8]||(t[8]=C("br",null,null,-1)),C("small",null,X(e.manifestError),1),t[9]||(t[9]=C("br",null,null,-1)),C("small",null,X(e.tr("manifestHint")),1)])):pe("",!0)],64)):pe("",!0)],8,Fm)),[[qo,d===e.activeIndex]])),128)),e.disabledNotice?(F(),z("div",Hm,X(e.disabledNotice),1)):pe("",!0),e.helpOpen&&e.activeHelp?(F(),z("div",{key:1,class:"dms-help-scrim",onClick:t[3]||(t[3]=Dn((...c)=>e.closeHelp&&e.closeHelp(...c),["self"])),onKeydown:t[4]||(t[4]=Yr(Dn((...c)=>e.closeHelp&&e.closeHelp(...c),["stop","prevent"]),["esc"]))},[C("div",{class:"dms-help",role:"dialog","aria-modal":"true","aria-labelledby":"dms-help-title",onKeydown:t[2]||(t[2]=Yr(Dn(c=>e.$refs.helpClose&&e.$refs.helpClose.focus(),["prevent"]),["tab"]))},[C("h2",jm,X(e.tabLabel(e.tabs[e.activeIndex])),1),C("p",Vm,[C("strong",null,X(e.activeHelp.what),1)]),C("p",Bm,X(e.activeHelp.how),1),C("button",{ref:"helpClose",type:"button",class:"dms-help-close",onClick:t[1]||(t[1]=(...c)=>e.closeHelp&&e.closeHelp(...c))},X(e.tr("close")),513)],32)],32)):pe("",!0),Fe(i,{target:e.activePaneEl,labels:{backToTop:e.tr("backToTop")}},null,8,["target","labels"])]),_:2},[e.showLocaleSwitcher?{name:"toolbar",fn:Co(()=>[C("div",Lm,[C("button",{type:"button",class:"dms-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=c=>e.localeOpen=!e.localeOpen)},[C("span",Om,X(e.activeLang.flag),1),C("span",Pm,X(e.activeLang.nativeName),1),t[6]||(t[6]=C("span",{class:"dms-dots","aria-hidden":"true"},"⋮",-1))],8,Sm),e.localeOpen?(F(),z("ul",Em,[(F(!0),z(oe,null,Ye(e.switcherLangs,c=>(F(),z("li",{key:c.code,role:"option","aria-selected":String(c.code===e.locale)},[C("button",{type:"button",class:et(["dms-locale-opt",{active:c.code===e.locale}]),onClick:d=>e.setLocale(c.code)},[C("span",Cm,X(c.flag),1),C("span",Im,X(c.nativeName),1),C("span",Nm,X(c.name),1)],10,Am)],8,Mm))),128))])):pe("",!0)])]),key:"0"}:void 0]),1032,["dir","lang","labels","title","nav-label","header","groups","active","onUpdate:active"])}const qm=Fa(Tm,[["render",Km],["styles",[bm]]]),Gm=mh(),Xm=Bp(qm,{configureApp(e){e.provide("dmsTreeBase",Gm)}});typeof customElements<"u"&&!customElements.get("doxa-maps-spa")&&customElements.define("doxa-maps-spa",Xm)})(); +`,"map-info"),(b,I)=>(F(),z("div",{ref_key:"rootEl",ref:me,class:"mi",dir:l()?"rtl":"ltr",lang:a()},[Io(C("button",{ref_key:"btnEl",ref:M,type:"button",class:et(["mi-btn",e.placement==="top-left"?"mi-at-left":"mi-at-right"]),"aria-label":Le(s)("mapInfo.open"),title:Le(s)("mapInfo.open"),"aria-haspopup":"dialog","aria-expanded":String($.value),onClick:B},[...I[1]||(I[1]=[C("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"},[C("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor","stroke-width":"2"}),C("rect",{x:"11",y:"10",width:"2",height:"7",rx:"1",fill:"currentColor"}),C("circle",{cx:"12",cy:"7",r:"1.3",fill:"currentColor"})],-1)])],10,Lg),[[qo,S()]]),D.value&&!$.value&&S()?(F(),z("div",{key:0,class:et(["mi-pointer",e.placement==="top-left"?"mi-at-left":"mi-at-right"]),"aria-hidden":"true"},[C("span",null,X(Le(s)("mapInfo.pointer")),1),(F(),z("svg",Tg,[e.placement==="top-left"?(F(),z("path",Sg)):(F(),z("path",Og))]))],2)):pe("",!0),D.value&&!$.value&&!S()&&ze.value?(F(),z("div",{key:1,class:et(["mi-pointer mi-ctl","mi-ctl-"+ze.value.side]),style:ao(Ge()),"aria-hidden":"true"},[C("span",{dir:l()?"rtl":"ltr"},X(Le(s)("mapInfo.pointer")),9,Pg),(F(),z("svg",Eg,[ze.value.side==="left"?(F(),z("path",Mg)):(F(),z("path",Ag))]))],6)):pe("",!0),$.value?(F(),z("div",{key:2,class:"mi-scrim",onClick:Dn(ue,["self"]),onKeydown:u},[C("div",{ref_key:"dialogEl",ref:W,class:"mi-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"mi-title-"+e.storageKey},[C("div",Ig,[C("h2",{id:"mi-title-"+e.storageKey,class:"mi-title"},X(Le(s)("mapInfo.title")),9,Ng),C("button",{ref_key:"closeEl",ref:O,type:"button",class:"mi-close","aria-label":Le(s)("mapInfo.close"),onClick:ue},"×",8,Fg)]),C("div",Dg,[e.leadKey||e.lead?(F(),z("p",Rg,X(r(e.leadKey,e.lead)),1)):pe("",!0),e.takeawayKey||e.takeaway?(F(),z("p",Wg,[C("b",null,X(Le(s)("mapInfo.takeaway")),1),jt(" "+X(r(e.takeawayKey,e.takeaway)),1)])):pe("",!0),(F(!0),z(oe,null,Ye(e.examples,(V,Q)=>Io((F(),z("section",{key:Q,class:"mi-ex"},[C("h3",null,X(A(V)),1),V.kind==="image"?(F(),z(oe,{key:0},[C("img",{class:"mi-img mi-poster",src:k(V.src),alt:V.alt||A(V),decoding:"async",onError:ee=>q[Q]=!0},null,40,zg),V.full?(F(),z("div",Ug,[C("a",{class:"mi-full",href:k(V.full),target:"_blank",rel:"noopener"},X(Le(s)("mapInfo.openFull")),9,Hg)])):pe("",!0)],64)):V.kind==="pages"&&(V.pages||[]).length?(F(),z(oe,{key:1},[N[Q]?(F(),z(oe,{key:1},[C("div",qg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Le(s)("mapInfo.collapsePages")),9,Gg)]),C("div",Xg,[(F(!0),z(oe,null,Ye(V.pages,(ee,fe)=>(F(),z("button",{key:fe,type:"button",class:"mi-hit mi-open mi-page","aria-label":Le(s)("mapInfo.collapsePages"),onClick:Qe=>p(Q)},[C("img",{class:"mi-img",src:k(ee),alt:A(V)+" "+i(fe+1),loading:"lazy",decoding:"async",onError:y},null,40,Jg)],8,Yg))),128))]),C("div",Zg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Le(s)("mapInfo.collapsePages")),9,Qg)])],64)):(F(),z(oe,{key:0},[C("button",{type:"button",class:et(["mi-hit mi-page",{"mi-stack":V.pages.length>1}]),"aria-label":Le(s)("mapInfo.expandPages",{n:i(V.pages.length)}),"aria-expanded":"false",onClick:ee=>p(Q)},[C("img",{class:"mi-img",src:k(V.pages[0]),alt:A(V),decoding:"async",onError:ee=>q[Q]=!0},null,40,Vg)],10,jg),V.pages.length>1?(F(),z("div",Bg,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"false",onClick:ee=>p(Q)},X(Le(s)("mapInfo.expandPages",{n:i(V.pages.length)})),9,Kg)])):pe("",!0)],64))],64)):V.kind==="deck"&&(V.cards||[]).length?(F(),z(oe,{key:2},[N[Q]?(F(),z(oe,{key:1},[C("div",am,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Le(s)("mapInfo.collapseDeck")),9,sm)]),C("div",rm,[(F(!0),z(oe,null,Ye(V.cards,(ee,fe)=>(F(),z("img",{key:fe,class:"mi-img",src:k(ee),alt:A(V)+" "+i(fe+1),loading:"lazy",decoding:"async",onError:y},null,40,im))),128))]),C("div",lm,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"true",onClick:ee=>p(Q)},X(Le(s)("mapInfo.collapseDeck")),9,cm)])],64)):(F(),z(oe,{key:0},[C("button",{type:"button",class:"mi-hit mi-deck","aria-label":Le(s)("mapInfo.expandDeck",{n:i(V.cards.length)}),"aria-expanded":"false",onClick:ee=>p(Q)},[(F(!0),z(oe,null,Ye(v(V),(ee,fe)=>(F(),z("img",{key:fe,class:"mi-card",src:k(ee),alt:"",decoding:"async",onError:Qe=>fe===0?q[Q]=!0:y(Qe),style:ao({insetInlineStart:fe*36+"px",transform:"rotate("+(fe-2)*4+"deg)",zIndex:10-fe})},null,44,tm))),128))],8,em),C("div",om,[C("button",{type:"button",class:"mi-toggle","aria-expanded":"false",onClick:ee=>p(Q)},X(Le(s)("mapInfo.expandDeck",{n:i(V.cards.length)})),9,nm)])],64))],64)):V.kind==="table"&&(V.columns||[]).length?(F(),z(oe,{key:3},[C("div",pm,[C("table",um,[C("thead",null,[C("tr",null,[(F(!0),z(oe,null,Ye(V.columns,(ee,fe)=>(F(),z("th",{key:fe,scope:"col"},X(L(ee)),1))),128))])]),C("tbody",null,[(F(!0),z(oe,null,Ye(V.rows||[],(ee,fe)=>(F(),z("tr",{key:fe},[(F(!0),z(oe,null,Ye(ee,(Qe,Be)=>(F(),z("td",{key:Be},X(typeof Qe=="number"?i(Qe):Qe),1))),128))]))),128))])])]),V.total&&V.total>(V.rows||[]).length?(F(),z("p",dm,X(Le(s)("mapInfo.moreRows",{n:i(V.total-(V.rows||[]).length)})),1)):pe("",!0)],64)):pe("",!0)])),[[qo,!q[Q]]])),128)),e.noteKey||e.note?(F(),z("p",fm,X(r(e.noteKey,e.note)),1)):pe("",!0)]),o()?pe("",!0):(F(),z("div",hm,[C("label",null,[C("input",{type:"checkbox",checked:E.value,onChange:I[0]||(I[0]=V=>w(V.target.checked))},null,40,gm),C("span",null,X(Le(s)("mapInfo.pointerOff")),1)])]))],8,Cg)],32)):pe("",!0)],8,xg))}},bm=":host{display:block;position:relative;height:var(--doxa-maps-spa-height, 85vh);min-height:480px}:host{font-size:16px;line-height:normal;font-weight:400;font-style:normal;font-variant:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;text-align:start;text-indent:0;text-shadow:none;white-space:normal;-webkit-hyphens:manual;hyphens:manual;visibility:visible;cursor:auto}:host([hidden]){display:none}.dms-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.mi.dms-info-raise .mi-btn{z-index:60}.dms-slot{position:relative;min-height:100%}.dms-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.dms-hint.err{color:#f87171}.dms-hint small{color:var(--dx-muted, #6d766e)}.dms-help-close:focus-visible{outline:2px solid #3f8f5a;outline-offset:2px}.dms-help-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000059;padding:16px}.dms-help{max-width:420px;width:100%;color:#3b463d;background:#fff;border-radius:12px;padding:18px 20px 14px;box-shadow:0 12px 32px #0003;font-size:14px;line-height:1.5}.dms-help-title{margin:0 0 8px;font-size:16px}.dms-help-what,.dms-help-how{margin:0 0 10px}.dms-help-close{float:right;font:inherit;padding:6px 14px;border-radius:8px;border:1px solid #d1d4cd;background:#f3f3f1;cursor:pointer}.dms-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;max-width:320px;text-align:center;font-size:13px;line-height:1.4;color:#3b463d;background:#fff;border:1px solid #d1d4cd;border-radius:10px;padding:10px 16px;box-shadow:0 8px 24px #0000001f}.dms-mobile-notice{position:sticky;top:0;z-index:30;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.4;color:#3b463d;background:#fff8e6;border-bottom:1px solid #f0d58c}.dms-mobile-notice span{flex:1}.dms-mobile-notice-x{flex:none;min-width:32px;min-height:32px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.dms-mobile-notice-x:focus-visible{outline:2px solid #3b463d;outline-offset:1px}.dms-logo{display:inline-flex;align-items:center}.dms-logo svg{display:block}.dms-locale{position:relative;padding:8px 12px 0;display:flex;justify-content:flex-end}.dms-locale-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.dms-locale-btn:hover{background:#d1d4cd}.dms-flag{font-size:14px;line-height:1}.dms-locale-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dms-dots{color:#6d766e;margin-left:2px}.dms-locale-menu{position:absolute;top:100%;right:12px;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.dms-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.dms-locale-opt:hover,.dms-locale-opt.active{background:#d1d4cd;color:#3b463d}.dms-locale-opt.active .dms-locale-name{color:#92b195}.dms-locale-en{margin-left:auto;font-size:11px;color:#6d766e}";function kl(){try{const e=new URLSearchParams(location.search),t=(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase();if(ss.includes(t))return t}catch{}try{const e=(document.documentElement.lang||"").split("-")[0].toLowerCase();if(ss.includes(e))return e}catch{}return""}const is=[{key:"dashboards",label:"Dashboards",i18n:"sec.dashboards",icon:"chart",tabs:[{id:"dashboard-plus-grid",icon:"chart"},{id:"research-map-plus-grid",icon:"map"},{id:"regions-dashboard",icon:"map"}]},{key:"prayer-mobilization",label:"Prayer Mobilization",i18n:"sec.prayer",icon:"heart",tabs:[{id:"prayer-map",icon:"embed"},{id:"upg-100",icon:"list"}]},{key:"gospel-research",label:"Gospel Research",i18n:"sec.gospel",icon:"search",tabs:[{id:"cities-internet",icon:"wifi"},{id:"gospel-resources",icon:"book"}]},{key:"experimental",label:"Experimental",i18n:"sec.experimental",icon:"flask",folder:!0,open:!1,tabs:[]}];function $m(e){const t={},o=e&&Array.isArray(e.bundles)?e.bundles:[];for(const n of o)for(const a of Array.isArray(n&&n.profiles)?n.profiles:[])a&&(a.mobile==="desktop-only"||a.mobile==="larger-screens")&&(t[n.bundle+"/"+a.profile]=a.mobile);return t}const _m=new Set(["doxa-maps-spa","plugin-studio","template-bundle","people-groups-grid","research-dashboard","big-picture","demo-map","golden-path-check","doxa-research-map","stack-demo"]),xl={"prayer-walk-planner":1,"gospel-internet":2,"upg-neighbor":3,"key-cities":4,"all-people-groups":5,"country-posters":6,"doxa-vision-card":7},ls=[{id:"dashboard-plus-grid",label:"Big Picture",sub:"dashboard + people-groups grid, stacked",emoji:"🌍",bundle:"dashboard-plus-grid",profile:"dashboard-plus-grid"},{id:"research-map",label:"Research Map",sub:"prayer · engagement · regions",emoji:"🗺️",bundle:"doxa-research-map",profile:"research-map"},{id:"research-map-plus-grid",label:"Simple Research",sub:"research map + people-groups grid",emoji:"🗺️",bundle:"research-map-plus-grid",profile:"research-map-plus-grid"},{id:"prayer-map",label:"Prayer Progress",sub:"simple world prayer map",emoji:"🙏",bundle:"doxa-simple-map",profile:"doxa-simple-map",instance:"prayer"},{id:"cities-internet",label:"Cities with Internet",sub:"connectivity of key cities",emoji:"📡",bundle:"cities-internet",profile:"connectivity-map"},{id:"gospel-resources",label:"Gospel Resources",sub:"resources by place",emoji:"📖",bundle:"gospel-resources",profile:"resources-map"},{id:"regions-dashboard",label:"Regions",sub:"regions and their countries",emoji:"🌐",bundle:"regions-dashboard",profile:"regions-mfe"},{id:"upg-100",label:"UPG-100 List",sub:"my unreached list + posters",emoji:"📋",bundle:"my-upg-100-list",profile:"upg-100-mfe"}];ym(is);const Xn=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid","gospel-internet-board"]),Yn=new Set(["dashboard-plus-grid","research-map-plus-grid"]);function vm(){const e=Object.fromEntries(ls.map(o=>[o.id,o])),t=new Set;for(const o of is)if(o.key!=="experimental")for(const n of o.tabs||[]){const a=e[n.id];a&&a.bundle&&t.add(a.bundle)}return t}function Ll(e,t){const o=[];for(const n of e)!n||t.has(n.key)||(t.add(n.key),o.push(n));return o}function ym(e){const t=new Map,o=[];for(const n of e)if(n.key!=="experimental")for(const a of n.tabs||[]){if(!a||!a.id)continue;const s=t.get(a.id);if(s===void 0){t.set(a.id,n.key);continue}(s!==n.key||o.indexOf(a.id)===-1)&&o.push(a.id+" ("+s+" + "+n.key+")")}return o.length&&typeof console<"u"&&console.error("[doxa-maps-spa] duplicate tab key(s) across NAV_MODEL sections: "+o.join(", ")+" — VerticalTabsLayout keys its tab-ref map and `active` highlight by id, so a row declared in two sections paints twice and stalls keyboard nav. See the duplicate-key trap in SPEC-the-six-map-product-and-its-tab-order.md."),o}function wm(e){return String(e).split(/[-_]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function km(e){const t=vm(),o=e&&Array.isArray(e.bundles)?e.bundles:[],n=[];for(const a of o){const s=a&&a.bundle;if(!s||t.has(s)||_m.has(s)||a.stage==="production")continue;const r=Array.isArray(a.profiles)?a.profiles:[];if(!r.length||r.every(d=>d.widget||Array.isArray(d.targets)&&!d.targets.includes("web")))continue;const i=r.find(d=>d.isMap)||r.find(d=>d.profile===s)||r[0],l=i.element||Array.isArray(a.elements)&&a.elements[0]||s,c=a.scriptUrl||i.scriptUrl||"";c&&n.push({id:s,label:i.title||wm(s),sub:(i.description||"").trim().replace(/[,;]\s*$/,"")||"experimental bundle",emoji:"🧪",tag:l,bundle:s,profile:i.profile||s,scriptUrl:c,heavy:Xn.has(l)||Xn.has(s),scroll:Yn.has(l)||Yn.has(s),discovered:!0})}return n.sort((a,s)=>{const r=xl[a.id]||999,i=xl[s.id]||999;return r!==i?r-i:a.label.localeCompare(s.label)}),n}function xm(e,t){const o=e&&Array.isArray(e.bundles)?e.bundles:[],n=Object.fromEntries(o.map(s=>[s.bundle,s])),a={};for(const s of t){const r=n[s.bundle];if(!r)continue;const i=Array.isArray(r.profiles)?r.profiles:[],l=i.find(T=>T.profile===s.profile)||i[0],c=l&&l.element||Array.isArray(r.elements)&&r.elements[0]||s.bundle,d=r.scriptUrl||l&&l.scriptUrl||"";if(!d)continue;const g=l&&Array.isArray(l.instances)?l.instances:[],_=!!(s.instance&&g.some(T=>(T&&(T.id||T.instance))===s.instance));a[s.id]={tag:c,scriptUrl:d,profile:l&&l.profile||s.profile,instance:_?s.instance:"",heavy:Xn.has(c)||Xn.has(s.bundle),scroll:Yn.has(c)||Yn.has(s.bundle)}}return a}const Lm=uo({name:"DoxaMapsSpa",inheritAttrs:!1,components:{VerticalTabsLayout:hg,BackToTopButton:ei,MapInfo:mm},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"Deep Research"},tokenUrl:{type:String,default:""},tk:{type:String,default:""},language:{type:String,default:""},apiBaseUrl:{type:String,default:""},provider:{type:String,default:""},tab:{type:String,default:""}},emits:["tab-change"],setup(){return{injectedBase:po("dmsTreeBase","")}},data(){return{paneEls:{},activeIndex:0,showHeader:!1,narrow:!1,_mql:null,_onMedia:null,disabledNotice:"",_noticeTimer:null,helpOpen:!1,mobileNoticeDismissed:{},mobileFlags:null,manifestError:"",manifestBase:"",runtime:{},locale:bg(),hostLang:kl(),localeOpen:!1,switcherLangs:gg,tabs:ls.map(e=>({...e,tag:"",scriptUrl:"",heavy:!1,scroll:!1,resolved:!1,mounted:!1,state:"idle",error:""}))}},computed:{largerScreenText(){return wo("messages.largerScreenNotice",this.uiLocale)||"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone."},activePaneEl(){return this.paneEls[this.activeIndex]||null},activeHelp(){const e=this.tabs[this.activeIndex];return e&&e.discovered?_l(e.id,this.uiLocale):null},cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},assetsBase(){const e=String(this.cfg.assetsBase||"").trim();return/^https?:\/\//i.test(e)||e.startsWith("/")?e.replace(/\/+$/,""):this.manifestBase?this.manifestBase.replace(/\/+$/,"")+"/assets":""},showInfo(){const e=this.cfg.info;return!(e===!1||e==="false"||e==="off")},headingText(){return String(this.cfg.heading||this.heading||"").trim()||"Deep Research"},showExperimental(){const e=this.cfg.experimental;return!(e===!1||e==="false"||e==="hidden"||e==="off")},navGroups(){const e=Object.fromEntries(this.tabs.map(o=>[o.id,o])),t=new Set;return is.map(o=>{let n=Ll((o.tabs||[]).filter(a=>e[a.id]).map(a=>{const s=e[a.id],r=this.isDesktopOnly(s.id),i=r||this.mobileFlagOf(s.id)==="desktop-only";return{key:s.id,label:this.tabLabel(s),sub:this.tabSub(s),icon:a.icon,badge:i?this.tr("desktopOnly"):a.badge,disabled:r}}),t);return o.key==="experimental"&&!this.showExperimental?{key:o.key,rows:[]}:(o.key==="experimental"&&(n=n.concat(Ll(this.tabs.filter(a=>a.discovered).map(a=>({key:a.id,label:this.tabLabel(a),sub:this.tabSub(a),icon:"flask",badge:this.narrow&&this.mobileFlagOf(a.id)==="larger-screens"?this.tr("mobileNotBuilt"):this.tr("lab")})),t))),{key:o.key,label:o.i18n?this.tr(o.i18n):o.label,icon:o.icon,folder:!!o.folder,open:o.open,rows:n})}).filter(o=>o.rows.length)},showLocaleSwitcher(){return this.showHeader},activeLang(){return mg(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},effectiveLocale(){const e=(this.language||this.cfg.language||this.cfg.locale||this.cfg.lang||"").trim(),t=this.showLocaleSwitcher?this.locale:"";return(e||t||this.hostLang||"en").split("-")[0].toLowerCase()},uiLocale(){return ss.includes(this.effectiveLocale)?this.effectiveLocale:"en"},uiDir(){return this.uiLocale==="ar"?"rtl":"ltr"},layoutLabels(){const e={};for(const t of["toggleList","openViews","expandList","collapseList","collapse"])e[t]=this.tr(t);return e},effectiveProvider(){const e=String(this.provider||this.cfg.provider||"").trim().toLowerCase();return e==="maplibre"||e==="mapbox"?e:""},activeKey(){const e=this.tabs[this.activeIndex];return e?e.id:""}},mounted(){this.watchWidth(),this.watchHostLang(),this.select(this.initialIndex()),this.loadManifest(),this._onHostedHelp=e=>this.onHostedHelp(e),this.$el.addEventListener("doxa:help",this._onHostedHelp)},beforeUnmount(){this._langObs&&(this._langObs.disconnect(),this._langObs=null),this._onHostedHelp&&(this.$el.removeEventListener("doxa:help",this._onHostedHelp),this._onHostedHelp=null),!(!this._mql||!this._onMedia)&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia),this._mql=null,this._onMedia=null)},watch:{activeIndex(){this.helpOpen=!1},effectiveLocale(){const e=(n,a)=>{try{const s=this._slots&&this._slots[n];s&&(s.innerHTML="")}catch{}a.mounted=!1,a.state="idle",a.error=""};this.tabs.forEach((n,a)=>{n.mounted&&a!==this.activeIndex&&e(a,n)});const t=this.activeIndex,o=this.tabs[t];!o||!o.mounted||(e(t,o),this.mountElement(t))},tab(e){e&&this.onSelect(e)}},methods:{openHelp(){this.helpOpen=!0,this.$nextTick(()=>this.$refs.helpClose&&this.$refs.helpClose.focus())},closeHelp(){this.helpOpen=!1;const e=this._helpReturn;this._helpReturn=null,this.$nextTick(()=>e&&e.focus&&e.focus())},infoProps(e){const{pos:t,...o}=this.infoFor(e)||{};return o},infoPos(e){const t=(this.infoFor(e)||{}).pos||{},{narrow:o,...n}=t;return this.narrow&&o?{...n,...o}:n},infoStyle(e){const t=this.infoPos(e),o={};return t.top&&(o["--map-info-top"]=t.top),t.side&&(o["--map-info-side"]=t.side),o},infoFor(e){const t=this.showInfo&&e&&wg[e.id];return t&&(!t.leadKey||wo(t.leadKey,"en"))?t:null},tabHasHelp(e){return!!(e&&e.discovered&&_l(e.id,this.uiLocale))},onHostedHelp(e){if(!this.activeHelp)return;e.stopPropagation();const t=e.composedPath?e.composedPath():[];this._helpReturn=t.find(o=>o&&o.tagName==="BUTTON")||null,this.openHelp()},setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},tr(e,t){return qn(this.uiLocale,e,t)},t(e,t){return qn(this.uiLocale,e,t)},tabLabel(e){return!e.discovered||_g("tab."+e.id)?qn(this.uiLocale,"tab."+e.id):e.label},tabSub(e){return e.discovered?this.uiLocale==="en"?e.sub:this.tr("experimentalSub"):qn(this.uiLocale,"sub."+e.id)},watchHostLang(){typeof MutationObserver>"u"||typeof document>"u"||(this._langObs=new MutationObserver(()=>{this.hostLang=kl()}),this._langObs.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]}))},watchWidth(){typeof window>"u"||!window.matchMedia||(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this._onMedia=e=>{const t=this.narrow;this.narrow=!!e.matches,t!==this.narrow&&this.isDesktopOnly(this.activeKey)&&this.select(this.firstVisibleIndex())},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))},mobileFlagOf(e){const t=this.tabs.find(o=>o.id===e);return t&&this.mobileFlags&&this.mobileFlags[t.bundle+"/"+t.profile]||null},isDesktopOnly(e){return this.narrow&&this.mobileFlagOf(e)==="desktop-only"},showsMobileNotice(e){return this.narrow&&this.mobileFlagOf(e)==="larger-screens"&&!this.mobileNoticeDismissed[e]},dismissMobileNotice(e){this.mobileNoticeDismissed={...this.mobileNoticeDismissed,[e]:!0}},firstVisibleIndex(){let e=-1;for(const t of this.navGroups)for(const o of t.rows){const n=this.tabs.findIndex(a=>a.id===o.key);if(!(n<0)&&(e<0&&(e=n),!o.disabled))return n}return e>=0?e:0},loadManifest(){const e=this.resolve("manifest.json"),t=c=>{try{return new URL(c,location.href).href.replace(/[^/]*$/,"")}catch{return""}},o={url:e,root:t(e)},n={url:this.resolve("doxa-maps-spa/manifest.json"),root:o.root};let a=!1;try{a=new URL(e,location.href).origin!==location.origin}catch{}const s=a?[n,o]:[o,n],r="/public/dx-maps/manifest.json";s.some(c=>c.url===r)||s.push({url:r,root:t(r)});const i=[],l=c=>{if(c>=s.length){this.manifestError="manifest.json not found (tried "+i.join(", ")+")",console.error("[doxa-maps-spa] "+this.manifestError+" — every tab except Big Picture is composed from it, so their panes cannot mount.");return}const{url:d,root:g}=s[c];return i.push(d),fetch(d,{credentials:"same-origin"}).then(_=>{if(!_||!_.ok)throw new Error(d+" → HTTP "+(_?_.status:"?"));return _.json()}).then(_=>{if(!_)throw new Error(d+" → empty");this.manifestError="",this.manifestBase=g||"",this.applyManifest(_)}).catch(()=>l(c+1))};try{l(0)}catch{}},applyManifest(e){this.runtime=e&&e.runtime&&typeof e.runtime=="object"?e.runtime:{},this.mobileFlags=$m(e),this.applyPageGlobals();const t=xm(e,ls),o=this.activeKey,n=[];for(const l of this.tabs){if(l.discovered){n.push(l);continue}const c=t[l.id];c&&(Object.assign(l,c,{resolved:!0}),n.push(l))}const a=new Set(n.map(l=>l.id));if(this.showExperimental)for(const l of km(e))a.has(l.id)||n.push({...l,resolved:!0,mounted:!1,state:"idle",error:""});this.tabs=n;const s=this.requestedTab(),r=s?this.tabs.findIndex(l=>l.id===s):-1,i=this.tabs.findIndex(l=>l.id===o);r>=0&&!this.isDesktopOnly(s)&&!this._honouredTab?this.select(r):this.select(i>=0&&!this.isDesktopOnly(o)?i:this.firstVisibleIndex()),this._honouredTab=!0},requestedTab(){let e="";try{e=new URLSearchParams(location.search).get("tab")||""}catch{}return String(this.tab||this.cfg.tab||e||"").trim()},initialIndex(){const e=this.requestedTab(),t=e?this.tabs.findIndex(o=>o.id===e):-1;return t>=0&&(this._honouredTab=!0),t>=0&&!this.isDesktopOnly(e)?t:this.firstVisibleIndex()},setLocale(e){this.locale=e,this.localeOpen=!1,$g(e)},onSelect(e){if(this.isDesktopOnly(e)){const o=this.tabs.find(n=>n.id===e);this.disabledNotice=(wo("messages.desktopOnlyNotice",this.uiLocale)||"{label} only supports desktop — open this page on a desktop to use it.").replace("{label}",o?this.tabLabel(o):e),clearTimeout(this._noticeTimer),this._noticeTimer=setTimeout(()=>{this.disabledNotice=""},4e3);return}const t=this.tabs.findIndex(o=>o.id===e);t!==-1&&this.select(t)},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const o=t.replace(/^\.\//,"");return this.manifestBase?this.manifestBase.replace(/\/+$/,"")+"/"+o:this.base?this.base.replace(/\/+$/,"")+"/"+o:"../"+o},select(e){const t=this.activeIndex;if(this.activeIndex=e,t!==e&&t>=0){const n=this.tabs[t];n&&n.heavy&&n.mounted&&this.releaseTab(t,n)}const o=this.tabs[e];o&&((t!==e||!this._announced)&&(this._announced=!0,this.$emit("tab-change",{id:o.id,label:o.label})),o.scriptUrl&&(this.narrow&&this.mobileFlags===null||this.isDesktopOnly(o.id)||o.mounted||this.$nextTick(()=>{this.activeIndex===e&&this.mountElement(e)})))},releaseTab(e,t){try{const o=this._slots&&this._slots[e];o&&(o.innerHTML="")}catch{}this._slots&&delete this._slots[e],t.mounted=!1,t.state="idle",t.error=""},childConfig(e){const t={profile:e.profile||e.id,instanceId:e.instance||"dms-"+e.id};this.effectiveLocale&&(t.locale=this.effectiveLocale);const o=this.tk||this.cfg.tk||this.runtime.token;return o&&(t.tk=o),(this.tokenUrl||this.cfg.tokenUrl)&&(t.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.effectiveProvider&&(t.provider=this.effectiveProvider),this.base&&(t.treeBase=this.base),this.assetsBase&&(t.assetsBase=this.assetsBase),t.urlSync=!1,t},applyPageGlobals(){if(typeof window>"u")return;const e=(this.apiBaseUrl||this.cfg.apiBaseUrl||this.runtime.apiBaseUrl||"").trim();e&&!window.MAP_APP_API_URL&&(window.MAP_APP_API_URL=e.replace(/\/+$/,""));const t=this.tk||this.cfg.tk||this.runtime.token;t&&!window.MAP_TOKEN&&(window.MAP_TOKEN=t),this.effectiveProvider&&!window.MAP_PROVIDER&&(window.MAP_PROVIDER=this.effectiveProvider)},mountElement(e){const t=this.tabs[e];t.mounted=!0,t.state="loading";const o=this.resolve(t.scriptUrl);gl(o).then(()=>gh(t.tag)).then(()=>{try{if(t.heavy&&this.activeIndex!==e){t.mounted=!1,t.state="idle";return}const n=this._slots&&this._slots[e];if(!n){t.state="error",t.error="no slot";return}n.innerHTML="";const a=document.createElement(t.tag);a.setAttribute("profile-config",JSON.stringify(this.childConfig(t))),this.base&&a.setAttribute("tree-base",this.base.replace(/\/+$/,"")),a.style.cssText=t.scroll?"display:block;position:static;width:100%;height:auto;":"display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;",n.appendChild(a),t.state="ready"}catch(n){t.state="error",t.error="mount failed: "+(n&&n.message||String(n))}}).catch(n=>{t.state="error",t.error=n&&n.message||String(n)})}}}),Tm={class:"dms-locale"},Sm=["aria-expanded"],Om={class:"dms-flag"},Pm={class:"dms-locale-name"},Em={key:0,class:"dms-locale-menu",role:"listbox"},Mm=["aria-selected"],Am=["onClick"],Cm={class:"dms-flag"},Im={class:"dms-locale-name"},Nm={class:"dms-locale-en"},Fm=["hidden","data-doxa-help"],Dm={key:0,class:"dms-mobile-notice",role:"status"},Rm=["aria-label","onClick"],Wm={key:2,class:"dms-hint"},zm={key:3,class:"dms-hint err"},Um={key:4,class:"dms-hint err"},Hm={key:0,class:"dms-notice",role:"status"},jm={id:"dms-help-title",class:"dms-help-title"},Vm={class:"dms-help-what"},Bm={class:"dms-help-how"};function Km(e,t,o,n,a,s){const r=Sn("MapInfo"),i=Sn("BackToTopButton"),l=Sn("VerticalTabsLayout");return F(),mo(l,{dir:e.uiDir,lang:e.uiLocale,labels:e.layoutLabels,title:e.headingText,"nav-label":e.t("navLabel"),header:e.showHeader,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.onSelect},Dc({brand:Co(()=>[t[5]||(t[5]=C("span",{class:"dms-logo","aria-hidden":"true"},[C("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C("circle",{cx:"12",cy:"12",r:"9"}),C("polygon",{points:"12 6 14 12 12 18 10 12",fill:"#92b195",stroke:"none"}),C("polygon",{points:"6 12 12 10 18 12 12 14",fill:"#92b195",opacity:"0.55",stroke:"none"})])],-1))]),meta:Co(()=>[jt(X(e.t("meta",{n:e.tabs.length})),1)]),default:Co(()=>[(F(!0),z(oe,null,Ye(e.tabs,(c,d)=>Io((F(),z("section",{key:c.id,class:"dms-pane",ref_for:!0,ref:g=>{g?e.paneEls[d]=g:delete e.paneEls[d]},hidden:d!==e.activeIndex,"data-doxa-help":e.tabHasHelp(c)?"":null,"data-doxa-gallery":""},[!c.heavy||d===e.activeIndex?(F(),z(oe,{key:0},[e.showsMobileNotice(c.id)?(F(),z("div",Dm,[C("span",null,X(e.largerScreenText),1),C("button",{type:"button",class:"dms-mobile-notice-x","aria-label":e.tr("dismiss"),onClick:g=>e.dismissMobileNotice(c.id)},"×",8,Rm)])):pe("",!0),C("div",{class:"dms-slot",ref_for:!0,ref:g=>e.setSlot(d,g)},null,512),e.infoFor(c)?(F(),mo(r,Mr({key:"info-"+c.id},{ref_for:!0},e.infoProps(c),{style:e.infoStyle(c),placement:e.infoPos(c).placement||"top-right",class:{"dms-info-raise":e.infoPos(c).raise},"assets-base":e.assetsBase,locale:e.effectiveLocale}),null,16,["style","placement","class","assets-base","locale"])):pe("",!0),c.state==="loading"?(F(),z("div",Wm,X(e.tr("loading",{label:e.tabLabel(c)})),1)):c.state==="error"?(F(),z("div",zm,[jt(X(e.tr("loadFailed",{label:e.tabLabel(c)})),1),t[7]||(t[7]=C("br",null,null,-1)),C("small",null,X(c.error),1)])):c.state==="idle"&&!c.scriptUrl&&e.manifestError?(F(),z("div",Um,[jt(X(e.tr("loadFailed",{label:e.tabLabel(c)})),1),t[8]||(t[8]=C("br",null,null,-1)),C("small",null,X(e.manifestError),1),t[9]||(t[9]=C("br",null,null,-1)),C("small",null,X(e.tr("manifestHint")),1)])):pe("",!0)],64)):pe("",!0)],8,Fm)),[[qo,d===e.activeIndex]])),128)),e.disabledNotice?(F(),z("div",Hm,X(e.disabledNotice),1)):pe("",!0),e.helpOpen&&e.activeHelp?(F(),z("div",{key:1,class:"dms-help-scrim",onClick:t[3]||(t[3]=Dn((...c)=>e.closeHelp&&e.closeHelp(...c),["self"])),onKeydown:t[4]||(t[4]=Yr(Dn((...c)=>e.closeHelp&&e.closeHelp(...c),["stop","prevent"]),["esc"]))},[C("div",{class:"dms-help",role:"dialog","aria-modal":"true","aria-labelledby":"dms-help-title",onKeydown:t[2]||(t[2]=Yr(Dn(c=>e.$refs.helpClose&&e.$refs.helpClose.focus(),["prevent"]),["tab"]))},[C("h2",jm,X(e.tabLabel(e.tabs[e.activeIndex])),1),C("p",Vm,[C("strong",null,X(e.activeHelp.what),1)]),C("p",Bm,X(e.activeHelp.how),1),C("button",{ref:"helpClose",type:"button",class:"dms-help-close",onClick:t[1]||(t[1]=(...c)=>e.closeHelp&&e.closeHelp(...c))},X(e.tr("close")),513)],32)],32)):pe("",!0),Fe(i,{target:e.activePaneEl,labels:{backToTop:e.tr("backToTop")}},null,8,["target","labels"])]),_:2},[e.showLocaleSwitcher?{name:"toolbar",fn:Co(()=>[C("div",Tm,[C("button",{type:"button",class:"dms-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=c=>e.localeOpen=!e.localeOpen)},[C("span",Om,X(e.activeLang.flag),1),C("span",Pm,X(e.activeLang.nativeName),1),t[6]||(t[6]=C("span",{class:"dms-dots","aria-hidden":"true"},"⋮",-1))],8,Sm),e.localeOpen?(F(),z("ul",Em,[(F(!0),z(oe,null,Ye(e.switcherLangs,c=>(F(),z("li",{key:c.code,role:"option","aria-selected":String(c.code===e.locale)},[C("button",{type:"button",class:et(["dms-locale-opt",{active:c.code===e.locale}]),onClick:d=>e.setLocale(c.code)},[C("span",Cm,X(c.flag),1),C("span",Im,X(c.nativeName),1),C("span",Nm,X(c.name),1)],10,Am)],8,Mm))),128))])):pe("",!0)])]),key:"0"}:void 0]),1032,["dir","lang","labels","title","nav-label","header","groups","active","onUpdate:active"])}const qm=Fa(Lm,[["render",Km],["styles",[bm]]]),Gm=mh(),Xm=Bp(qm,{configureApp(e){e.provide("dmsTreeBase",Gm)}});typeof customElements<"u"&&!customElements.get("doxa-maps-spa")&&customElements.define("doxa-maps-spa",Xm)})(); diff --git a/public/dx-maps/doxa-maps-spa/doxa-maps-spa/app/index.html b/public/dx-maps/doxa-maps-spa/doxa-maps-spa/app/index.html index 08a8eadb6..a3b8b9791 100644 --- a/public/dx-maps/doxa-maps-spa/doxa-maps-spa/app/index.html +++ b/public/dx-maps/doxa-maps-spa/doxa-maps-spa/app/index.html @@ -61,7 +61,7 @@ - + - + \n\n\n" + "script": "\n\n\n" }, "instances": [ { @@ -1010,7 +1010,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-WCptAbRVYUugWhAKOd4p9lYzxENxlsr2jmdTYHVycYRTSkQB8g3Yo6Nlduh90vED", + "integrity": "sha384-Vm9qU3mHUKKzRCz8NSAYnGoWmvXfAVhpnkqPdxES/SefZvszfT+FTCXRMMBRAz+v", "elements": [ "plugin-studio" ], @@ -1041,7 +1041,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { diff --git a/public/dx-maps/index.html b/public/dx-maps/index.html index ce44d3a12..4948a85f5 100644 --- a/public/dx-maps/index.html +++ b/public/dx-maps/index.html @@ -19,6 +19,6 @@ - + diff --git a/public/dx-maps/manifest.json b/public/dx-maps/manifest.json index 643bac0f6..c9af6e618 100644 --- a/public/dx-maps/manifest.json +++ b/public/dx-maps/manifest.json @@ -361,7 +361,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-lbuftua90fsOW52GDzgGtPwNkxAeIfCmbTYXEP4iP+mGaZNtxUNn0XSmzTeahH4t", + "integrity": "sha384-OMLL18bbuWbcPanAqSDf3Lzu9kcW450A+ocCWBnbaPaImmcqrnYDYouA6avtzAjA", "elements": [ "doxa-maps-spa" ], @@ -389,7 +389,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { @@ -1010,7 +1010,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-WCptAbRVYUugWhAKOd4p9lYzxENxlsr2jmdTYHVycYRTSkQB8g3Yo6Nlduh90vED", + "integrity": "sha384-Vm9qU3mHUKKzRCz8NSAYnGoWmvXfAVhpnkqPdxES/SefZvszfT+FTCXRMMBRAz+v", "elements": [ "plugin-studio" ], @@ -1041,7 +1041,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { diff --git a/public/dx-maps/plugin-studio/plugin-studio.js b/public/dx-maps/plugin-studio/plugin-studio.js index 87cff56f6..750dc4aea 100644 --- a/public/dx-maps/plugin-studio/plugin-studio.js +++ b/public/dx-maps/plugin-studio/plugin-studio.js @@ -2,36 +2,36 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function zo(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const j={},rt=[],we=()=>{},jn=()=>!1,Yt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Jt=e=>e.startsWith("onUpdate:"),Q=Object.assign,Bo=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},fa=Object.prototype.hasOwnProperty,H=(e,t)=>fa.call(e,t),A=Array.isArray,Ye=e=>_t(e)==="[object Map]",Xt=e=>_t(e)==="[object Set]",Vn=e=>_t(e)==="[object Date]",E=e=>typeof e=="function",J=e=>typeof e=="string",ke=e=>typeof e=="symbol",U=e=>e!==null&&typeof e=="object",Kn=e=>(U(e)||E(e))&&E(e.then)&&E(e.catch),qn=Object.prototype.toString,_t=e=>qn.call(e),ha=e=>_t(e).slice(8,-1),Zt=e=>_t(e)==="[object Object]",jo=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xt=zo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qt=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ga=/-\w/g,ne=Qt(e=>e.replace(ga,t=>t.slice(1).toUpperCase())),$a=/\B([A-Z])/g,me=Qt(e=>e.replace($a,"-$1").toLowerCase()),eo=Qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vo=Qt(e=>e?`on${eo(e)}`:""),Se=(e,t)=>!Object.is(e,t),to=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ko=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yn=e=>{const t=J(e)?Number(e):NaN;return isNaN(t)?e:t};let Jn;const oo=()=>Jn||(Jn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(A(e)){const t={};for(let o=0;o{if(o){const n=o.split(ba);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t="";if(J(e))t=e;else if(A(e))for(let o=0;o!!(e&&e.__v_isRef===!0),T=e=>J(e)?e:e==null?"":A(e)||U(e)&&(e.toString===qn||!E(e.toString))?Qn(e)?T(e.value):JSON.stringify(e,es,2):String(e),es=(e,t)=>Qn(t)?es(e,t.value):Ye(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,s],i)=>(o[qo(n,i)+" =>"]=s,o),{})}:Xt(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>qo(o))}:ke(t)?qo(t):U(t)&&!A(t)&&!Zt(t)?String(t):t,qo=(e,t="")=>{var o;return ke(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Uo(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const j={},rt=[],we=()=>{},jn=()=>!1,Yt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Jt=e=>e.startsWith("onUpdate:"),Q=Object.assign,Bo=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},fa=Object.prototype.hasOwnProperty,H=(e,t)=>fa.call(e,t),A=Array.isArray,Ye=e=>yt(e)==="[object Map]",Xt=e=>yt(e)==="[object Set]",Vn=e=>yt(e)==="[object Date]",E=e=>typeof e=="function",J=e=>typeof e=="string",ke=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",Kn=e=>(z(e)||E(e))&&E(e.then)&&E(e.catch),qn=Object.prototype.toString,yt=e=>qn.call(e),ha=e=>yt(e).slice(8,-1),Zt=e=>yt(e)==="[object Object]",jo=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xt=Uo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qt=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ga=/-\w/g,ne=Qt(e=>e.replace(ga,t=>t.slice(1).toUpperCase())),$a=/\B([A-Z])/g,me=Qt(e=>e.replace($a,"-$1").toLowerCase()),eo=Qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vo=Qt(e=>e?`on${eo(e)}`:""),Se=(e,t)=>!Object.is(e,t),to=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ko=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yn=e=>{const t=J(e)?Number(e):NaN;return isNaN(t)?e:t};let Jn;const oo=()=>Jn||(Jn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(A(e)){const t={};for(let o=0;o{if(o){const n=o.split(ba);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t="";if(J(e))t=e;else if(A(e))for(let o=0;o!!(e&&e.__v_isRef===!0),T=e=>J(e)?e:e==null?"":A(e)||z(e)&&(e.toString===qn||!E(e.toString))?Qn(e)?T(e.value):JSON.stringify(e,es,2):String(e),es=(e,t)=>Qn(t)?es(e,t.value):Ye(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,s],i)=>(o[qo(n,i)+" =>"]=s,o),{})}:Xt(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>qo(o))}:ke(t)?qo(t):z(t)&&!A(t)&&!Zt(t)?String(t):t,qo=(e,t="")=>{var o;return ke(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let se;class xa{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&&se&&(se.active?(this.parent=se,this.index=(se.scopes||(se.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(se===this)se=this.prevScope;else{let t=se;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(St){let t=St;for(St=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;wt;){let t=wt;for(wt=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 ss(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function is(e){let t,o=e.depsTail,n=o;for(;n;){const s=n.prevDep;n.version===-1?(n===o&&(o=s),Zo(n),Sa(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=o}function Xo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(as(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function as(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mt)||(e.globalVersion=Mt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xo(e))))return;e.flags|=2;const t=e.dep,o=q,n=ye;q=e,ye=!0;try{ss(e);const s=e.fn(e._value);(t.version===0||Se(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=o,ye=n,is(e),e.flags&=-3}}function Zo(e,t=!1){const{dep:o,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let i=o.computed.deps;i;i=i.nextDep)Zo(i,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Sa(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let ye=!0;const rs=[];function Me(){rs.push(ye),ye=!1}function Le(){const e=rs.pop();ye=e===void 0?!0:e}function ls(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=q;q=void 0;try{t()}finally{q=o}}}let Mt=0;class Ma{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 Qo{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(!q||!ye||q===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==q)o=this.activeLink=new Ma(q,this),q.deps?(o.prevDep=q.depsTail,q.depsTail.nextDep=o,q.depsTail=o):q.deps=q.depsTail=o,cs(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=q.depsTail,o.nextDep=void 0,q.depsTail.nextDep=o,q.depsTail=o,q.deps===o&&(q.deps=n)}return o}trigger(t){this.version++,Mt++,this.notify(t)}notify(t){Yo();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Jo()}}}function cs(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)cs(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const en=new WeakMap,Qe=Symbol(""),tn=Symbol(""),Lt=Symbol("");function le(e,t,o){if(ye&&q){let n=en.get(e);n||en.set(e,n=new Map);let s=n.get(o);s||(n.set(o,s=new Qo),s.map=n,s.key=o),s.track()}}function Ue(e,t,o,n,s,i){const a=en.get(e);if(!a){Mt++;return}const r=l=>{l&&l.trigger()};if(Yo(),t==="clear")a.forEach(r);else{const l=A(e),d=l&&jo(o);if(l&&o==="length"){const p=Number(n);a.forEach((f,k)=>{(k==="length"||k===Lt||!ke(k)&&k>=p)&&r(f)})}else switch((o!==void 0||a.has(void 0))&&r(a.get(o)),d&&r(a.get(Lt)),t){case"add":l?d&&r(a.get("length")):(r(a.get(Qe)),Ye(e)&&r(a.get(tn)));break;case"delete":l||(r(a.get(Qe)),Ye(e)&&r(a.get(tn)));break;case"set":Ye(e)&&r(a.get(Qe));break}}Jo()}function ct(e){const t=R(e);return t===e?t:(le(t,"iterate",Lt),be(e)?t:t.map(_e))}function so(e){return le(e=R(e),"iterate",Lt),e}function Te(e,t){return Be(e)?dt(et(e)?_e(t):t):_e(t)}const La={__proto__:null,[Symbol.iterator](){return on(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ct(this).concat(...e.map(t=>A(t)?ct(t):t))},entries(){return on(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return ze(this,"every",e,t,void 0,arguments)},filter(e,t){return ze(this,"filter",e,t,o=>o.map(n=>Te(this,n)),arguments)},find(e,t){return ze(this,"find",e,t,o=>Te(this,o),arguments)},findIndex(e,t){return ze(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ze(this,"findLast",e,t,o=>Te(this,o),arguments)},findLastIndex(e,t){return ze(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ze(this,"forEach",e,t,void 0,arguments)},includes(...e){return nn(this,"includes",e)},indexOf(...e){return nn(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return nn(this,"lastIndexOf",e)},map(e,t){return ze(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return ds(this,"reduce",e,t)},reduceRight(e,...t){return ds(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return ze(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return on(this,"values",e=>Te(this,e))}};function on(e,t,o){const n=so(e),s=n[t]();return n!==e&&!be(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=o(i.value)),i}),s}const Ta=Array.prototype;function ze(e,t,o,n,s,i){const a=so(e),r=a!==e&&!be(e),l=a[t];if(l!==Ta[t]){const f=l.apply(e,i);return r?_e(f):f}let d=o;a!==e&&(r?d=function(f,k){return o.call(this,Te(e,f),k,e)}:o.length>2&&(d=function(f,k){return o.call(this,f,k,e)}));const p=l.call(a,d,n);return r&&s?s(p):p}function ds(e,t,o,n){const s=so(e),i=s!==e&&!be(e);let a=o,r=!1;s!==e&&(i?(r=n.length===0,a=function(d,p,f){return r&&(r=!1,d=Te(e,d)),o.call(this,d,Te(e,p),f,e)}):o.length>3&&(a=function(d,p,f){return o.call(this,d,p,f,e)}));const l=s[t](a,...n);return r?Te(e,l):l}function nn(e,t,o){const n=R(e);le(n,"iterate",Lt);const s=n[t](...o);return(s===-1||s===!1)&&ln(o[0])?(o[0]=R(o[0]),n[t](...o)):s}function Tt(e,t,o=[]){Me(),Yo();const n=R(e)[t].apply(e,o);return Jo(),Le(),n}const Ca=zo("__proto__,__v_isRef,__isVue"),ps=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ke));function Oa(e){ke(e)||(e=String(e));const t=R(this);return le(t,"has",e),t.hasOwnProperty(e)}class us{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return i;if(o==="__v_raw")return n===(s?i?bs:ms:i?$s:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=A(t);if(!s){let l;if(a&&(l=La[o]))return l;if(o==="hasOwnProperty")return Oa}const r=Reflect.get(t,o,ie(t)?t:n);if((ke(o)?ps.has(o):Ca(o))||(s||le(t,"get",o),i))return r;if(ie(r)){const l=a&&jo(o)?r:r.value;return s&&U(l)?rn(l):l}return U(r)?s?rn(r):an(r):r}}class fs extends us{constructor(t=!1){super(!1,t)}set(t,o,n,s){let i=t[o];const a=A(t)&&jo(o);if(!this._isShallow){const d=Be(i);if(!be(n)&&!Be(n)&&(i=R(i),n=R(n)),!a&&ie(i)&&!ie(n))return d||(i.value=n),!0}const r=a?Number(o)e,io=e=>Reflect.getPrototypeOf(e);function Fa(e,t,o){return function(...n){const s=this.__v_raw,i=R(s),a=Ye(i),r=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,d=s[e](...n),p=o?sn:t?dt:_e;return!t&&le(i,"iterate",l?tn:Qe),Q(Object.create(d),{next(){const{value:f,done:k}=d.next();return k?{value:f,done:k}:{value:r?[p(f[0]),p(f[1])]:p(f),done:k}}})}}function ao(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ia(e,t){const o={get(s){const i=this.__v_raw,a=R(i),r=R(s);e||(Se(s,r)&&le(a,"get",s),le(a,"get",r));const{has:l}=io(a),d=t?sn:e?dt:_e;if(l.call(a,s))return d(i.get(s));if(l.call(a,r))return d(i.get(r));i!==a&&i.get(s)},get size(){const s=this.__v_raw;return!e&&le(R(s),"iterate",Qe),s.size},has(s){const i=this.__v_raw,a=R(i),r=R(s);return e||(Se(s,r)&&le(a,"has",s),le(a,"has",r)),s===r?i.has(s):i.has(s)||i.has(r)},forEach(s,i){const a=this,r=a.__v_raw,l=R(r),d=t?sn:e?dt:_e;return!e&&le(l,"iterate",Qe),r.forEach((p,f)=>s.call(i,d(p),d(f),a))}};return Q(o,e?{add:ao("add"),set:ao("set"),delete:ao("delete"),clear:ao("clear")}:{add(s){const i=R(this),a=io(i),r=R(s),l=!t&&!be(s)&&!Be(s)?r:s;return a.has.call(i,l)||Se(s,l)&&a.has.call(i,s)||Se(r,l)&&a.has.call(i,r)||(i.add(l),Ue(i,"add",l,l)),this},set(s,i){!t&&!be(i)&&!Be(i)&&(i=R(i));const a=R(this),{has:r,get:l}=io(a);let d=r.call(a,s);d||(s=R(s),d=r.call(a,s));const p=l.call(a,s);return a.set(s,i),d?Se(i,p)&&Ue(a,"set",s,i):Ue(a,"add",s,i),this},delete(s){const i=R(this),{has:a,get:r}=io(i);let l=a.call(i,s);l||(s=R(s),l=a.call(i,s)),r&&r.call(i,s);const d=i.delete(s);return l&&Ue(i,"delete",s,void 0),d},clear(){const s=R(this),i=s.size!==0,a=s.clear();return i&&Ue(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=Fa(s,e,t)}),o}function ro(e,t){const o=Ia(e,t);return(n,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(H(o,s)&&s in n?o:n,s,i)}const Ra={get:ro(!1,!1)},Da={get:ro(!1,!0)},Ha={get:ro(!0,!1)},Wa={get:ro(!0,!0)},gs=new WeakMap,$s=new WeakMap,ms=new WeakMap,bs=new WeakMap;function Ua(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function an(e){return Be(e)?e:lo(e,!1,Pa,Ra,gs)}function za(e){return lo(e,!1,Na,Da,$s)}function rn(e){return lo(e,!0,Aa,Ha,ms)}function tu(e){return lo(e,!0,Ea,Wa,bs)}function lo(e,t,o,n,s){if(!U(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=s.get(e);if(i)return i;const a=Ua(ha(e));if(a===0)return e;const r=new Proxy(e,a===2?n:o);return s.set(e,r),r}function et(e){return Be(e)?et(e.__v_raw):!!(e&&e.__v_isReactive)}function Be(e){return!!(e&&e.__v_isReadonly)}function be(e){return!!(e&&e.__v_isShallow)}function ln(e){return e?!!e.__v_raw:!1}function R(e){const t=e&&e.__v_raw;return t?R(t):e}function Ba(e){return!H(e,"__v_skip")&&Object.isExtensible(e)&&Gn(e,"__v_skip",!0),e}const _e=e=>U(e)?an(e):e,dt=e=>U(e)?rn(e):e;function ie(e){return e?e.__v_isRef===!0:!1}function vs(e){return ja(e,!1)}function ja(e,t){return ie(e)?e:new Va(e,t)}class Va{constructor(t,o){this.dep=new Qo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:R(t),this._value=o?t:_e(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||be(t)||Be(t);t=n?t:R(t),Se(t,o)&&(this._rawValue=t,this._value=n?t:_e(t),this.dep.trigger())}}function ks(e){return ie(e)?e.value:e}const Ka={get:(e,t,o)=>t==="__v_raw"?e:ks(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const s=e[t];return ie(s)&&!ie(o)?(s.value=o,!0):Reflect.set(e,t,o,n)}};function ys(e){return et(e)?e:new Proxy(e,Ka)}class qa{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Qo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return ns(this,!0),!0}get value(){const t=this.dep.track();return as(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ga(e,t,o=!1){let n,s;return E(e)?n=e:(n=e.get,s=e.set),new qa(n,s,o)}const co={},po=new WeakMap;let tt;function Ya(e,t=!1,o=tt){if(o){let n=po.get(o);n||po.set(o,n=[]),n.push(e)}}function Ja(e,t,o=j){const{immediate:n,deep:s,once:i,scheduler:a,augmentJob:r,call:l}=o,d=P=>s?P:be(P)||s===!1||s===0?je(P,1):je(P);let p,f,k,y,W=!1,F=!1;if(ie(e)?(f=()=>e.value,W=be(e)):et(e)?(f=()=>d(e),W=!0):A(e)?(F=!0,W=e.some(P=>et(P)||be(P)),f=()=>e.map(P=>{if(ie(P))return P.value;if(et(P))return d(P);if(E(P))return l?l(P,2):P()})):E(e)?t?f=l?()=>l(e,2):e:f=()=>{if(k){Me();try{k()}finally{Le()}}const P=tt;tt=p;try{return l?l(e,3,[y]):e(y)}finally{tt=P}}:f=we,t&&s){const P=f,oe=s===!0?1/0:s;f=()=>je(P(),oe)}const ee=wa(),X=()=>{p.stop(),ee&&ee.active&&Bo(ee.effects,p)};if(i&&t){const P=t;t=(...oe)=>{const Fe=P(...oe);return X(),Fe}}let D=F?new Array(e.length).fill(co):co;const z=P=>{if(!(!(p.flags&1)||!p.dirty&&!P))if(t){const oe=p.run();if(P||s||W||(F?oe.some((Fe,Ie)=>Se(Fe,D[Ie])):Se(oe,D))){k&&k();const Fe=tt;tt=p;try{const Ie=[oe,D===co?void 0:F&&D[0]===co?[]:D,y];D=oe,l?l(t,3,Ie):t(...Ie)}finally{tt=Fe}}}else p.run()};return r&&r(z),p=new ts(f),p.scheduler=a?()=>a(z,!1):z,y=P=>Ya(P,!1,p),k=p.onStop=()=>{const P=po.get(p);if(P){if(l)l(P,4);else for(const oe of P)oe();po.delete(p)}},t?n?z(!0):D=p.run():a?a(z.bind(null,!0),!0):p.run(),X.pause=p.pause.bind(p),X.resume=p.resume.bind(p),X.stop=X,X}function je(e,t=1/0,o){if(t<=0||!U(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ie(e))je(e.value,t,o);else if(A(e))for(let n=0;n{je(n,t,o)});else if(Zt(e)){for(const n in e)je(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&je(e[n],t,o)}return e}/** +**/let se;class xa{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&&se&&(se.active?(this.parent=se,this.index=(se.scopes||(se.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(se===this)se=this.prevScope;else{let t=se;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(St){let t=St;for(St=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;wt;){let t=wt;for(wt=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 ss(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function is(e){let t,o=e.depsTail,n=o;for(;n;){const s=n.prevDep;n.version===-1?(n===o&&(o=s),Zo(n),Sa(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=o}function Xo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(as(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function as(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Lt)||(e.globalVersion=Lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xo(e))))return;e.flags|=2;const t=e.dep,o=q,n=_e;q=e,_e=!0;try{ss(e);const s=e.fn(e._value);(t.version===0||Se(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{q=o,_e=n,is(e),e.flags&=-3}}function Zo(e,t=!1){const{dep:o,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let i=o.computed.deps;i;i=i.nextDep)Zo(i,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Sa(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let _e=!0;const rs=[];function Le(){rs.push(_e),_e=!1}function Me(){const e=rs.pop();_e=e===void 0?!0:e}function ls(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=q;q=void 0;try{t()}finally{q=o}}}let Lt=0;class La{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 Qo{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(!q||!_e||q===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==q)o=this.activeLink=new La(q,this),q.deps?(o.prevDep=q.depsTail,q.depsTail.nextDep=o,q.depsTail=o):q.deps=q.depsTail=o,cs(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=q.depsTail,o.nextDep=void 0,q.depsTail.nextDep=o,q.depsTail=o,q.deps===o&&(q.deps=n)}return o}trigger(t){this.version++,Lt++,this.notify(t)}notify(t){Yo();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Jo()}}}function cs(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)cs(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const en=new WeakMap,Qe=Symbol(""),tn=Symbol(""),Mt=Symbol("");function le(e,t,o){if(_e&&q){let n=en.get(e);n||en.set(e,n=new Map);let s=n.get(o);s||(n.set(o,s=new Qo),s.map=n,s.key=o),s.track()}}function ze(e,t,o,n,s,i){const a=en.get(e);if(!a){Lt++;return}const r=l=>{l&&l.trigger()};if(Yo(),t==="clear")a.forEach(r);else{const l=A(e),d=l&&jo(o);if(l&&o==="length"){const p=Number(n);a.forEach((f,k)=>{(k==="length"||k===Mt||!ke(k)&&k>=p)&&r(f)})}else switch((o!==void 0||a.has(void 0))&&r(a.get(o)),d&&r(a.get(Mt)),t){case"add":l?d&&r(a.get("length")):(r(a.get(Qe)),Ye(e)&&r(a.get(tn)));break;case"delete":l||(r(a.get(Qe)),Ye(e)&&r(a.get(tn)));break;case"set":Ye(e)&&r(a.get(Qe));break}}Jo()}function ct(e){const t=R(e);return t===e?t:(le(t,"iterate",Mt),be(e)?t:t.map(ye))}function so(e){return le(e=R(e),"iterate",Mt),e}function Te(e,t){return Be(e)?dt(et(e)?ye(t):t):ye(t)}const Ma={__proto__:null,[Symbol.iterator](){return on(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ct(this).concat(...e.map(t=>A(t)?ct(t):t))},entries(){return on(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return Ue(this,"every",e,t,void 0,arguments)},filter(e,t){return Ue(this,"filter",e,t,o=>o.map(n=>Te(this,n)),arguments)},find(e,t){return Ue(this,"find",e,t,o=>Te(this,o),arguments)},findIndex(e,t){return Ue(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ue(this,"findLast",e,t,o=>Te(this,o),arguments)},findLastIndex(e,t){return Ue(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ue(this,"forEach",e,t,void 0,arguments)},includes(...e){return nn(this,"includes",e)},indexOf(...e){return nn(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return nn(this,"lastIndexOf",e)},map(e,t){return Ue(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return ds(this,"reduce",e,t)},reduceRight(e,...t){return ds(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return Ue(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return on(this,"values",e=>Te(this,e))}};function on(e,t,o){const n=so(e),s=n[t]();return n!==e&&!be(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=o(i.value)),i}),s}const Ta=Array.prototype;function Ue(e,t,o,n,s,i){const a=so(e),r=a!==e&&!be(e),l=a[t];if(l!==Ta[t]){const f=l.apply(e,i);return r?ye(f):f}let d=o;a!==e&&(r?d=function(f,k){return o.call(this,Te(e,f),k,e)}:o.length>2&&(d=function(f,k){return o.call(this,f,k,e)}));const p=l.call(a,d,n);return r&&s?s(p):p}function ds(e,t,o,n){const s=so(e),i=s!==e&&!be(e);let a=o,r=!1;s!==e&&(i?(r=n.length===0,a=function(d,p,f){return r&&(r=!1,d=Te(e,d)),o.call(this,d,Te(e,p),f,e)}):o.length>3&&(a=function(d,p,f){return o.call(this,d,p,f,e)}));const l=s[t](a,...n);return r?Te(e,l):l}function nn(e,t,o){const n=R(e);le(n,"iterate",Mt);const s=n[t](...o);return(s===-1||s===!1)&&ln(o[0])?(o[0]=R(o[0]),n[t](...o)):s}function Tt(e,t,o=[]){Le(),Yo();const n=R(e)[t].apply(e,o);return Jo(),Me(),n}const Ca=Uo("__proto__,__v_isRef,__isVue"),ps=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ke));function Oa(e){ke(e)||(e=String(e));const t=R(this);return le(t,"has",e),t.hasOwnProperty(e)}class us{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return i;if(o==="__v_raw")return n===(s?i?bs:ms:i?$s:gs).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=A(t);if(!s){let l;if(a&&(l=Ma[o]))return l;if(o==="hasOwnProperty")return Oa}const r=Reflect.get(t,o,ie(t)?t:n);if((ke(o)?ps.has(o):Ca(o))||(s||le(t,"get",o),i))return r;if(ie(r)){const l=a&&jo(o)?r:r.value;return s&&z(l)?rn(l):l}return z(r)?s?rn(r):an(r):r}}class fs extends us{constructor(t=!1){super(!1,t)}set(t,o,n,s){let i=t[o];const a=A(t)&&jo(o);if(!this._isShallow){const d=Be(i);if(!be(n)&&!Be(n)&&(i=R(i),n=R(n)),!a&&ie(i)&&!ie(n))return d||(i.value=n),!0}const r=a?Number(o)e,io=e=>Reflect.getPrototypeOf(e);function Fa(e,t,o){return function(...n){const s=this.__v_raw,i=R(s),a=Ye(i),r=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,d=s[e](...n),p=o?sn:t?dt:ye;return!t&&le(i,"iterate",l?tn:Qe),Q(Object.create(d),{next(){const{value:f,done:k}=d.next();return k?{value:f,done:k}:{value:r?[p(f[0]),p(f[1])]:p(f),done:k}}})}}function ao(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ia(e,t){const o={get(s){const i=this.__v_raw,a=R(i),r=R(s);e||(Se(s,r)&&le(a,"get",s),le(a,"get",r));const{has:l}=io(a),d=t?sn:e?dt:ye;if(l.call(a,s))return d(i.get(s));if(l.call(a,r))return d(i.get(r));i!==a&&i.get(s)},get size(){const s=this.__v_raw;return!e&&le(R(s),"iterate",Qe),s.size},has(s){const i=this.__v_raw,a=R(i),r=R(s);return e||(Se(s,r)&&le(a,"has",s),le(a,"has",r)),s===r?i.has(s):i.has(s)||i.has(r)},forEach(s,i){const a=this,r=a.__v_raw,l=R(r),d=t?sn:e?dt:ye;return!e&&le(l,"iterate",Qe),r.forEach((p,f)=>s.call(i,d(p),d(f),a))}};return Q(o,e?{add:ao("add"),set:ao("set"),delete:ao("delete"),clear:ao("clear")}:{add(s){const i=R(this),a=io(i),r=R(s),l=!t&&!be(s)&&!Be(s)?r:s;return a.has.call(i,l)||Se(s,l)&&a.has.call(i,s)||Se(r,l)&&a.has.call(i,r)||(i.add(l),ze(i,"add",l,l)),this},set(s,i){!t&&!be(i)&&!Be(i)&&(i=R(i));const a=R(this),{has:r,get:l}=io(a);let d=r.call(a,s);d||(s=R(s),d=r.call(a,s));const p=l.call(a,s);return a.set(s,i),d?Se(i,p)&&ze(a,"set",s,i):ze(a,"add",s,i),this},delete(s){const i=R(this),{has:a,get:r}=io(i);let l=a.call(i,s);l||(s=R(s),l=a.call(i,s)),r&&r.call(i,s);const d=i.delete(s);return l&&ze(i,"delete",s,void 0),d},clear(){const s=R(this),i=s.size!==0,a=s.clear();return i&&ze(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=Fa(s,e,t)}),o}function ro(e,t){const o=Ia(e,t);return(n,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(H(o,s)&&s in n?o:n,s,i)}const Ra={get:ro(!1,!1)},Da={get:ro(!1,!0)},Ha={get:ro(!0,!1)},Wa={get:ro(!0,!0)},gs=new WeakMap,$s=new WeakMap,ms=new WeakMap,bs=new WeakMap;function za(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function an(e){return Be(e)?e:lo(e,!1,Pa,Ra,gs)}function Ua(e){return lo(e,!1,Na,Da,$s)}function rn(e){return lo(e,!0,Aa,Ha,ms)}function tu(e){return lo(e,!0,Ea,Wa,bs)}function lo(e,t,o,n,s){if(!z(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=s.get(e);if(i)return i;const a=za(ha(e));if(a===0)return e;const r=new Proxy(e,a===2?n:o);return s.set(e,r),r}function et(e){return Be(e)?et(e.__v_raw):!!(e&&e.__v_isReactive)}function Be(e){return!!(e&&e.__v_isReadonly)}function be(e){return!!(e&&e.__v_isShallow)}function ln(e){return e?!!e.__v_raw:!1}function R(e){const t=e&&e.__v_raw;return t?R(t):e}function Ba(e){return!H(e,"__v_skip")&&Object.isExtensible(e)&&Gn(e,"__v_skip",!0),e}const ye=e=>z(e)?an(e):e,dt=e=>z(e)?rn(e):e;function ie(e){return e?e.__v_isRef===!0:!1}function vs(e){return ja(e,!1)}function ja(e,t){return ie(e)?e:new Va(e,t)}class Va{constructor(t,o){this.dep=new Qo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:R(t),this._value=o?t:ye(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||be(t)||Be(t);t=n?t:R(t),Se(t,o)&&(this._rawValue=t,this._value=n?t:ye(t),this.dep.trigger())}}function ks(e){return ie(e)?e.value:e}const Ka={get:(e,t,o)=>t==="__v_raw"?e:ks(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const s=e[t];return ie(s)&&!ie(o)?(s.value=o,!0):Reflect.set(e,t,o,n)}};function _s(e){return et(e)?e:new Proxy(e,Ka)}class qa{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Qo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&q!==this)return ns(this,!0),!0}get value(){const t=this.dep.track();return as(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ga(e,t,o=!1){let n,s;return E(e)?n=e:(n=e.get,s=e.set),new qa(n,s,o)}const co={},po=new WeakMap;let tt;function Ya(e,t=!1,o=tt){if(o){let n=po.get(o);n||po.set(o,n=[]),n.push(e)}}function Ja(e,t,o=j){const{immediate:n,deep:s,once:i,scheduler:a,augmentJob:r,call:l}=o,d=P=>s?P:be(P)||s===!1||s===0?je(P,1):je(P);let p,f,k,_,W=!1,F=!1;if(ie(e)?(f=()=>e.value,W=be(e)):et(e)?(f=()=>d(e),W=!0):A(e)?(F=!0,W=e.some(P=>et(P)||be(P)),f=()=>e.map(P=>{if(ie(P))return P.value;if(et(P))return d(P);if(E(P))return l?l(P,2):P()})):E(e)?t?f=l?()=>l(e,2):e:f=()=>{if(k){Le();try{k()}finally{Me()}}const P=tt;tt=p;try{return l?l(e,3,[_]):e(_)}finally{tt=P}}:f=we,t&&s){const P=f,oe=s===!0?1/0:s;f=()=>je(P(),oe)}const ee=wa(),X=()=>{p.stop(),ee&&ee.active&&Bo(ee.effects,p)};if(i&&t){const P=t;t=(...oe)=>{const Fe=P(...oe);return X(),Fe}}let D=F?new Array(e.length).fill(co):co;const U=P=>{if(!(!(p.flags&1)||!p.dirty&&!P))if(t){const oe=p.run();if(P||s||W||(F?oe.some((Fe,Ie)=>Se(Fe,D[Ie])):Se(oe,D))){k&&k();const Fe=tt;tt=p;try{const Ie=[oe,D===co?void 0:F&&D[0]===co?[]:D,_];D=oe,l?l(t,3,Ie):t(...Ie)}finally{tt=Fe}}}else p.run()};return r&&r(U),p=new ts(f),p.scheduler=a?()=>a(U,!1):U,_=P=>Ya(P,!1,p),k=p.onStop=()=>{const P=po.get(p);if(P){if(l)l(P,4);else for(const oe of P)oe();po.delete(p)}},t?n?U(!0):D=p.run():a?a(U.bind(null,!0),!0):p.run(),X.pause=p.pause.bind(p),X.resume=p.resume.bind(p),X.stop=X,X}function je(e,t=1/0,o){if(t<=0||!z(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ie(e))je(e.value,t,o);else if(A(e))for(let n=0;n{je(n,t,o)});else if(Zt(e)){for(const n in e)je(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&je(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Ct=[];let cn=!1;function ou(e,...t){if(cn)return;cn=!0,Me();const o=Ct.length?Ct[Ct.length-1].component:null,n=o&&o.appContext.config.warnHandler,s=Xa();if(n)pt(n,o,11,[e+t.map(i=>{var a,r;return(r=(a=i.toString)==null?void 0:a.call(i))!=null?r:JSON.stringify(i)}).join(""),o&&o.proxy,s.map(({vnode:i})=>`at <${yi(o,i.type)}>`).join(` +**/const Ct=[];let cn=!1;function ou(e,...t){if(cn)return;cn=!0,Le();const o=Ct.length?Ct[Ct.length-1].component:null,n=o&&o.appContext.config.warnHandler,s=Xa();if(n)pt(n,o,11,[e+t.map(i=>{var a,r;return(r=(a=i.toString)==null?void 0:a.call(i))!=null?r:JSON.stringify(i)}).join(""),o&&o.proxy,s.map(({vnode:i})=>`at <${_i(o,i.type)}>`).join(` `),s]);else{const i=[`[Vue warn]: ${e}`,...t];s.length&&i.push(` -`,...Za(s)),console.warn(...i)}Le(),cn=!1}function Xa(){let e=Ct[Ct.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 Za(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Qa(o))}),t}function Qa({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${yi(e.component,e.type,n)}`,i=">"+o;return e.props?[s,...er(e.props),i]:[s+i]}function er(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(..._s(n,e[n]))}),o.length>3&&t.push(" ..."),t}function _s(e,t,o){return J(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ie(t)?(t=_s(e,R(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):E(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=R(t),o?t:[`${e}=`,t])}function pt(e,t,o,n){try{return n?e(...n):e()}catch(s){uo(s,t,o)}}function xe(e,t,o,n){if(E(e)){const s=pt(e,t,o,n);return s&&Kn(s)&&s.catch(i=>{uo(i,t,o)}),s}if(A(e)){const s=[];for(let i=0;i>>1,s=de[n],i=Ot(s);i=Ot(o)?de.push(e):de.splice(or(t),0,e),e.flags|=1,Ss()}}function Ss(){fo||(fo=xs.then(Ts))}function nr(e){if(!A(e))Je&&e.id===-1?Je.splice(ft+1,0,e):e.flags&1||(ut.push(e),e.flags|=1);else for(let t=0;tOt(o)-Ot(n));if(ut.length=0,Je){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ts(e){try{for(Ce=0;Ce{n._d&&ui(-1);const i=ho(t),a=Ke.length;let r;try{r=e(...s)}finally{for(let l=Ke.length;l>a;l--)Sn();ho(i),n._d&&ui(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function gt(e,t){if(ae===null)return e;const o=Mo(ae),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&E(t)?t.call(n&&n.proxy):t}}const ir=Symbol.for("v-scx"),ar=()=>Pt(ir);function go(e,t,o){return Os(e,t,o)}function Os(e,t,o=j){const{immediate:n,deep:s,flush:i,once:a}=o,r=Q({},o),l=t&&n||!t&&i!=="post";let d;if(Ut){if(i==="sync"){const y=ar();d=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=we,y.resume=we,y.pause=we,y}}const p=ce;r.call=(y,W,F)=>xe(y,p,W,F);let f=!1;i==="post"?r.scheduler=y=>{fe(y,p&&p.suspense)}:i!=="sync"&&(f=!0,r.scheduler=(y,W)=>{W?y():dn(y)}),r.augmentJob=y=>{t&&(y.flags|=4),f&&(y.flags|=2,p&&(y.id=p.uid,y.i=p))};const k=Ja(e,t,r);return Ut&&(d?d.push(k):l&&k()),k}function rr(e,t,o){const n=this.proxy,s=J(e)?e.includes(".")?Ps(n,e):()=>n[e]:e.bind(n,n);let i;E(t)?i=t:(i=t.handler,o=t);const a=Wt(this),r=Os(s,i.bind(n),o);return a(),r}function Ps(e,t){const o=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,pn=Symbol("_leaveCb");function cr(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Pe){t=o;break}}return t}function As(e){if(!fn(e))return $o(e.type)&&e.children?cr(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&&E(o.default))return o.default()}}function un(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;un($o(o.type)&&As(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 mo(e,t){return E(e)?Q({name:e.name},t,{setup:e}):e}function Ns(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Es(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const bo=new WeakMap;function At(e,t,o,n,s=!1){if(A(e)){e.forEach((F,ee)=>At(F,t&&(A(t)?t[ee]:t),o,n,s));return}if($t(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&At(e,t,o,n.component.subTree);return}const i=n.shapeFlag&4?Mo(n.component):n.el,a=s?null:i,{i:r,r:l}=e,d=t&&t.r,p=r.refs===j?r.refs={}:r.refs,f=r.setupState,k=R(f),y=f===j?jn:F=>Es(p,F)?!1:H(k,F),W=(F,ee)=>!(ee&&Es(p,ee));if(d!=null&&d!==l){if(Fs(t),J(d))p[d]=null,y(d)&&(f[d]=null);else if(ie(d)){const F=t;W(d,F.k)&&(d.value=null),F.k&&(p[F.k]=null)}}if(E(l))pt(l,r,12,[a,p]);else{const F=J(l),ee=ie(l);if(F||ee){const X=()=>{if(e.f){const D=F?y(l)?f[l]:p[l]:W()||!e.k?l.value:p[e.k];if(s)A(D)&&Bo(D,i);else if(A(D))D.includes(i)||D.push(i);else if(F)p[l]=[i],y(l)&&(f[l]=p[l]);else{const z=[i];W(l,e.k)&&(l.value=z),e.k&&(p[e.k]=z)}}else F?(p[l]=a,y(l)&&(f[l]=a)):ee&&(W(l,e.k)&&(l.value=a),e.k&&(p[e.k]=a))};if(a){const D=()=>{X(),bo.delete(e)};D.id=-1,bo.set(e,D),fe(D,o)}else Fs(e),X()}}}function Fs(e){const t=bo.get(e);t&&(t.flags|=8,bo.delete(e))}oo().requestIdleCallback,oo().cancelIdleCallback;const $t=e=>!!e.type.__asyncLoader,fn=e=>e.type.__isKeepAlive;function dr(e,t){Is(e,"a",t)}function pr(e,t){Is(e,"da",t)}function Is(e,t,o=ce){const n=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(vo(t,n,o),o){let s=o.parent;for(;s&&s.parent;)fn(s.parent.vnode)&&ur(n,t,o,s),s=s.parent}}function ur(e,t,o,n){const s=vo(t,e,n,!0);Ds(()=>{Bo(n[t],s)},o)}function vo(e,t,o=ce,n=!1){if(o){const s=o[e]||(o[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Me();const r=Wt(o),l=xe(t,o,e,a);return r(),Le(),l});return n?s.unshift(i):s.push(i),i}}const Ve=e=>(t,o=ce)=>{(!Ut||e==="sp")&&vo(e,(...n)=>t(...n),o)},fr=Ve("bm"),hn=Ve("m"),hr=Ve("bu"),gr=Ve("u"),Rs=Ve("bum"),Ds=Ve("um"),$r=Ve("sp"),mr=Ve("rtg"),br=Ve("rtc");function vr(e,t=ce){vo("ec",e,t)}const kr="components";function gn(e,t){return _r(kr,e,!0,t)||e}const yr=Symbol.for("v-ndc");function _r(e,t,o=!0,n=!1){const s=ae||ce;if(s){const i=s.type;{const r=ki(i,!1);if(r&&(r===t||r===ne(t)||r===eo(ne(t))))return i}const a=Hs(s[e]||i[e],t)||Hs(s.appContext[e],t);return!a&&n?i:a}}function Hs(e,t){return e&&(e[t]||e[ne(t)]||e[eo(ne(t))])}function Oe(e,t,o,n){let s;const i=o,a=A(e);if(a||J(e)){const r=a&&et(e);let l=!1,d=!1;r&&(l=!be(e),d=Be(e),e=so(e)),s=new Array(e.length);for(let p=0,f=e.length;pt(r,l,void 0,i));else{const r=Object.keys(e);s=new Array(r.length);for(let l=0,d=r.length;l0;return t!=="default"&&(d.name=t),M(),Rt(Y,null,[ve("slot",d,n)],p?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const r=Ke.length;M();let l;try{const d=a&&Ws(a(o)),p=o.key||i||d&&d.key;l=Rt(Y,{key:(p&&!ke(p)?p:`_${t}`)+(!d&&n?"_fb":"")},d||(n?n():[]),d&&e._===1?64:-2)}catch(d){for(let p=Ke.length;p>r;p--)Sn();throw d}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ws(e){return e.some(t=>Mn(t)?!(t.type===Pe||t.type===Y&&!Ws(t.children)):!0)?e:null}const $n=e=>e?mi(e)?Mo(e):$n(e.parent):null,Et=Q(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=>$n(e.parent),$root:e=>$n(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>js(e),$forceUpdate:e=>e.f||(e.f=()=>{dn(e.update)}),$nextTick:e=>e.n||(e.n=ws.bind(e.proxy)),$watch:e=>rr.bind(e)}),mn=(e,t)=>e!==j&&!e.__isScriptSetup&&H(e,t),xr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:s,props:i,accessCache:a,type:r,appContext:l}=e;if(t[0]!=="$"){const k=a[t];if(k!==void 0)switch(k){case 1:return n[t];case 2:return s[t];case 4:return o[t];case 3:return i[t]}else{if(mn(n,t))return a[t]=1,n[t];if(s!==j&&H(s,t))return a[t]=2,s[t];if(H(i,t))return a[t]=3,i[t];if(o!==j&&H(o,t))return a[t]=4,o[t];bn&&(a[t]=0)}}const d=Et[t];let p,f;if(d)return t==="$attrs"&&le(e.attrs,"get",""),d(e);if((p=r.__cssModules)&&(p=p[t]))return p;if(o!==j&&H(o,t))return a[t]=4,o[t];if(f=l.config.globalProperties,H(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:s,ctx:i}=e;return mn(s,t)?(s[t]=o,!0):n!==j&&H(n,t)?(n[t]=o,!0):H(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:s,props:i,type:a}},r){let l;return!!(o[r]||e!==j&&r[0]!=="$"&&H(e,r)||mn(t,r)||H(i,r)||H(n,r)||H(Et,r)||H(s.config.globalProperties,r)||(l=a.__cssModules)&&l[r])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:H(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Us(e){return A(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let bn=!0;function wr(e){const t=js(e),o=e.proxy,n=e.ctx;bn=!1,t.beforeCreate&&zs(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:a,watch:r,provide:l,inject:d,created:p,beforeMount:f,mounted:k,beforeUpdate:y,updated:W,activated:F,deactivated:ee,beforeDestroy:X,beforeUnmount:D,destroyed:z,unmounted:P,render:oe,renderTracked:Fe,renderTriggered:Ie,errorCaptured:Ze,serverPrefetch:Ro,expose:st,inheritAttrs:Vt,components:Do,directives:Ho,filters:zn}=t;if(d&&Sr(d,n,null),a)for(const Z in a){const G=a[Z];E(G)&&(n[Z]=G.bind(o))}if(s){const Z=s.call(o,o);U(Z)&&(e.data=an(Z))}if(bn=!0,i)for(const Z in i){const G=i[Z],it=E(G)?G.bind(o,o):E(G.get)?G.get.bind(o,o):we,Wo=!E(G)&&E(G.set)?G.set.bind(o):we,at=_i({get:it,set:Wo});Object.defineProperty(n,Z,{enumerable:!0,configurable:!0,get:()=>at.value,set:Re=>at.value=Re})}if(r)for(const Z in r)Bs(r[Z],n,o,Z);if(l){const Z=E(l)?l.call(o):l;Reflect.ownKeys(Z).forEach(G=>{sr(G,Z[G])})}p&&zs(p,e,"c");function ue(Z,G){A(G)?G.forEach(it=>Z(it.bind(o))):G&&Z(G.bind(o))}if(ue(fr,f),ue(hn,k),ue(hr,y),ue(gr,W),ue(dr,F),ue(pr,ee),ue(vr,Ze),ue(br,Fe),ue(mr,Ie),ue(Rs,D),ue(Ds,P),ue($r,Ro),A(st))if(st.length){const Z=e.exposed||(e.exposed={});st.forEach(G=>{Object.defineProperty(Z,G,{get:()=>o[G],set:it=>o[G]=it,enumerable:!0})})}else e.exposed||(e.exposed={});oe&&e.render===we&&(e.render=oe),Vt!=null&&(e.inheritAttrs=Vt),Do&&(e.components=Do),Ho&&(e.directives=Ho),Ro&&Ns(e)}function Sr(e,t,o=we){A(e)&&(e=vn(e));for(const n in e){const s=e[n];let i;U(s)?"default"in s?i=Pt(s.from||n,s.default,!0):i=Pt(s.from||n):i=Pt(s),ie(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[n]=i}}function zs(e,t,o){xe(A(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Bs(e,t,o,n){let s=n.includes(".")?Ps(o,n):()=>o[n];if(J(e)){const i=t[e];E(i)&&go(s,i)}else if(E(e))go(s,e.bind(o));else if(U(e))if(A(e))e.forEach(i=>Bs(i,t,o,n));else{const i=E(e.handler)?e.handler.bind(o):t[e.handler];E(i)&&go(s,i,e)}}function js(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,r=i.get(t);let l;return r?l=r:!s.length&&!o&&!n?l=t:(l={},s.length&&s.forEach(d=>ko(l,d,a,!0)),ko(l,t,a)),U(t)&&i.set(t,l),l}function ko(e,t,o,n=!1){const{mixins:s,extends:i}=t;i&&ko(e,i,o,!0),s&&s.forEach(a=>ko(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const r=Mr[a]||o&&o[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const Mr={data:Vs,props:Ks,emits:Ks,methods:Ft,computed:Ft,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Ft,directives:Ft,watch:Tr,provide:Vs,inject:Lr};function Vs(e,t){return t?e?function(){return Q(E(e)?e.call(this,this):e,E(t)?t.call(this,this):t)}:t:e}function Lr(e,t){return Ft(vn(e),vn(t))}function vn(e){if(A(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ne(t)}Modifiers`]||e[`${me(t)}Modifiers`];function Ar(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||j;let s=o;const i=t.startsWith("update:"),a=i&&Pr(n,t.slice(7));a&&(a.trim&&(s=o.map(p=>J(p)?p.trim():p)),a.number&&(s=s.map(Ko)));let r,l=n[r=Vo(t)]||n[r=Vo(ne(t))];!l&&i&&(l=n[r=Vo(me(t))]),l&&xe(l,e,6,s);const d=n[r+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,xe(d,e,6,s)}}const Nr=new WeakMap;function Gs(e,t,o=!1){const n=o?Nr:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const i=e.emits;let a={},r=!1;if(!E(e)){const l=d=>{const p=Gs(d,t,!0);p&&(r=!0,Q(a,p))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!r?(U(e)&&n.set(e,null),null):(A(i)?i.forEach(l=>a[l]=null):Q(a,i),U(e)&&n.set(e,a),a)}function yo(e,t){return!e||!Yt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),H(e,t[0].toLowerCase()+t.slice(1))||H(e,me(t))||H(e,t))}function nu(){}function Ys(e){const{type:t,vnode:o,proxy:n,withProxy:s,propsOptions:[i],slots:a,attrs:r,emit:l,render:d,renderCache:p,props:f,data:k,setupState:y,ctx:W,inheritAttrs:F}=e,ee=ho(e);let X,D;try{if(o.shapeFlag&4){const P=s||n,oe=P;X=Ne(d.call(oe,P,p,f,y,k,W)),D=r}else{const P=t;X=Ne(P.length>1?P(f,{attrs:r,slots:a,emit:l}):P(f,null)),D=t.props?r:Er(r)}}catch(P){Ke.length=0,uo(P,e,1),X=ve(Pe)}let z=X;if(D&&F!==!1){const P=Object.keys(D),{shapeFlag:oe}=z;P.length&&oe&7&&(i&&P.some(Jt)&&(D=Fr(D,i)),z=bt(z,D,!1,!0))}if(o.dirs&&(z=bt(z,null,!1,!0),z.dirs=z.dirs?z.dirs.concat(o.dirs):o.dirs),o.transition){const P=$o(z.type)&&As(z)||z;un(P,o.transition)}return X=z,ho(ee),X}const Er=e=>{let t;for(const o in e)(o==="class"||o==="style"||Yt(o))&&((t||(t={}))[o]=e[o]);return t},Fr=(e,t)=>{const o={};for(const n in e)(!Jt(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Ir(e,t,o){const{props:n,children:s,component:i}=e,{props:a,children:r,patchFlag:l}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Js(n,a,d):!!a;if(l&8){const p=t.dynamicProps;for(let f=0;fObject.create(Zs),ei=e=>Object.getPrototypeOf(e)===Zs;function Dr(e,t,o,n=!1){const s={},i=Qs();e.propsDefaults=Object.create(null),ti(e,t,s,i);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=n?s:za(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Hr(e,t,o,n){const{props:s,attrs:i,vnode:{patchFlag:a}}=e,r=R(s),[l]=e.propsOptions;let d=!1;if((n||a>0)&&!(a&16)){if(a&8){const p=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[k,y]=oi(f,t,!0);Q(a,k),y&&r.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!i&&!l)return U(e)&&n.set(e,rt),rt;if(A(i))for(let p=0;pe==="_"||e==="_ctx"||e==="$stable",_n=e=>A(e)?e.map(Ne):[Ne(e)],Ur=(e,t,o)=>{if(t._n)return t;const n=ht((...s)=>_n(t(...s)),o);return n._c=!1,n},si=(e,t,o)=>{const n=e._ctx;for(const s in e){if(yn(s))continue;const i=e[s];if(E(i))t[s]=Ur(s,i,n);else if(i!=null){const a=_n(i);t[s]=()=>a}}},ii=(e,t)=>{const o=_n(t);e.slots.default=()=>o},ai=(e,t,o)=>{for(const n in t)(o||!yn(n))&&(e[n]=t[n])},zr=(e,t,o)=>{const n=e.slots=Qs();if(e.vnode.shapeFlag&32){const s=t._;s?(ai(n,t,o),o&&Gn(n,"_",s,!0)):si(t,n)}else t&&ii(e,t)},Br=(e,t,o)=>{const{vnode:n,slots:s}=e;let i=!0,a=j;if(n.shapeFlag&32){const r=t._;r?o&&r===1?i=!1:ai(s,t,o):(i=!t.$stable,si(t,s)),a=t}else t&&(ii(e,t),a={default:1});if(i)for(const r in s)!yn(r)&&a[r]==null&&delete s[r]},fe=Gr;function jr(e){return Vr(e)}function Vr(e,t){const o=oo();o.__VUE__=!0;const{insert:n,remove:s,patchProp:i,createElement:a,createText:r,createComment:l,setText:d,setElementText:p,parentNode:f,nextSibling:k,setScopeId:y=we,insertStaticContent:W}=e,F=(c,u,h,v=null,m=null,g=null,w=void 0,x=null,_=!!u.dynamicChildren)=>{if(c===u)return;c&&!Dt(c,u)&&(v=Uo(c),Re(c,m,g,!0),c=null),u.patchFlag===-2&&(_=!1,u.dynamicChildren=null);const{type:$,ref:O,shapeFlag:S}=u;switch($){case _o:ee(c,u,h,v);break;case Pe:X(c,u,h,v);break;case wn:c==null&&D(u,h,v,w);break;case Y:Do(c,u,h,v,m,g,w,x,_);break;default:S&1?oe(c,u,h,v,m,g,w,x,_):S&6?Ho(c,u,h,v,m,g,w,x,_):(S&64||S&128)&&$.process(c,u,h,v,m,g,w,x,_,qt)}O!=null&&m?At(O,c&&c.ref,g,u||c,!u):O==null&&c&&c.ref!=null&&At(c.ref,null,g,c,!0)},ee=(c,u,h,v)=>{if(c==null)n(u.el=r(u.children),h,v);else{const m=u.el=c.el;u.children!==c.children&&d(m,u.children)}},X=(c,u,h,v)=>{c==null?n(u.el=l(u.children||""),h,v):u.el=c.el},D=(c,u,h,v)=>{[c.el,c.anchor]=W(c.children,u,h,v,c.el,c.anchor)},z=({el:c,anchor:u},h,v)=>{let m;for(;c&&c!==u;)m=k(c),n(c,h,v),c=m;n(u,h,v)},P=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=k(c),s(c),c=h;s(u)},oe=(c,u,h,v,m,g,w,x,_)=>{if(u.type==="svg"?w="svg":u.type==="math"&&(w="mathml"),c==null)Fe(u,h,v,m,g,w,x,_);else{const $=c.el&&c.el._isVueCE?c.el:null;try{$&&$._beginPatch(),Ro(c,u,m,g,w,x,_)}finally{$&&$._endPatch()}}},Fe=(c,u,h,v,m,g,w,x)=>{let _,$;const{props:O,shapeFlag:S,transition:C,dirs:N}=c;if(_=c.el=a(c.type,g,O&&O.is,O),S&8?p(_,c.children):S&16&&Ze(c.children,_,null,v,m,xn(c,g),w,x),N&&ot(c,null,v,"created"),Ie(_,c,c.scopeId,w,v),O){for(const K in O)K!=="value"&&!xt(K)&&i(_,K,null,O[K],g,v);"value"in O&&i(_,"value",null,O.value,g),($=O.onVnodeBeforeMount)&&Ee($,v,c)}N&&ot(c,null,v,"beforeMount");const I=Kr(m,C);I&&C.beforeEnter(_),n(_,u,h),(($=O&&O.onVnodeMounted)||I||N)&&fe(()=>{try{$&&Ee($,v,c),I&&C.enter(_),N&&ot(c,null,v,"mounted")}finally{}},m)},Ie=(c,u,h,v,m)=>{if(h&&y(c,h),v)for(let g=0;g{for(let $=_;${const x=u.el=c.el;let{patchFlag:_,dynamicChildren:$,dirs:O}=u;_|=c.patchFlag&16;const S=c.props||j,C=u.props||j;let N;if(h&&nt(h,!1),(N=C.onVnodeBeforeUpdate)&&Ee(N,h,u,c),O&&ot(u,c,h,"beforeUpdate"),h&&nt(h,!0),$&&(!c.dynamicChildren||c.dynamicChildren.length!==$.length)&&(_=0,w=!1,$=null),(S.innerHTML&&C.innerHTML==null||S.textContent&&C.textContent==null)&&p(x,""),$?st(c.dynamicChildren,$,x,h,v,xn(u,m),g):w||G(c,u,x,null,h,v,xn(u,m),g,!1),_>0){if(_&16)Vt(x,S,C,h,m);else if(_&2&&S.class!==C.class&&i(x,"class",null,C.class,m),_&4&&i(x,"style",S.style,C.style,m),_&8){const I=u.dynamicProps;for(let K=0;K{N&&Ee(N,h,u,c),O&&ot(u,c,h,"updated")},v)},st=(c,u,h,v,m,g,w)=>{for(let x=0;x{if(u!==h){if(u!==j)for(const g in u)!xt(g)&&!(g in h)&&i(c,g,u[g],null,m,v);for(const g in h){if(xt(g))continue;const w=h[g],x=u[g];w!==x&&g!=="value"&&i(c,g,x,w,m,v)}"value"in h&&i(c,"value",u.value,h.value,m)}},Do=(c,u,h,v,m,g,w,x,_)=>{const $=u.el=c?c.el:r(""),O=u.anchor=c?c.anchor:r("");let{patchFlag:S,dynamicChildren:C,slotScopeIds:N}=u;N&&(x=x?x.concat(N):N),c==null?(n($,h,v),n(O,h,v),Ze(u.children||[],h,O,m,g,w,x,_)):S>0&&S&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(st(c.dynamicChildren,C,h,m,g,w,x),(u.key!=null||m&&u===m.subTree)&&ri(c,u,!0)):G(c,u,h,O,m,g,w,x,_)},Ho=(c,u,h,v,m,g,w,x,_)=>{u.slotScopeIds=x,c==null?u.shapeFlag&512?m.ctx.activate(u,h,v,w,_):zn(u,h,v,m,g,w,_):ra(c,u,_)},zn=(c,u,h,v,m,g,w)=>{const x=c.component=el(c,v,m);if(fn(c)&&(x.ctx.renderer=qt),tl(x,!1,w),x.asyncDep){if(m&&m.registerDep(x,ue,w),!c.el){const _=x.subTree=ve(Pe);X(null,_,u,h),c.placeholder=_.el}}else ue(x,c,u,h,m,g,w)},ra=(c,u,h)=>{const v=u.component=c.component;if(Ir(c,u,h))if(v.asyncDep&&!v.asyncResolved){Z(v,u,h);return}else v.next=u,v.update();else u.el=c.el,v.vnode=u},ue=(c,u,h,v,m,g,w)=>{const x=()=>{if(c.isMounted){let{next:S,bu:C,u:N,parent:I,vnode:K}=c;{const He=li(c);if(He){S&&(S.el=K.el,Z(c,S,w)),He.asyncDep.then(()=>{fe(()=>{c.isUnmounted||$()},m)});return}}let B=S,te;nt(c,!1),S?(S.el=K.el,Z(c,S,w)):S=K,C&&to(C),(te=S.props&&S.props.onVnodeBeforeUpdate)&&Ee(te,I,S,K),nt(c,!0);const re=Ys(c),De=c.subTree;c.subTree=re,F(De,re,f(De.el),Uo(De),c,m,g),S.el=re.el,B===null&&Rr(c,re.el),N&&fe(N,m),(te=S.props&&S.props.onVnodeUpdated)&&fe(()=>Ee(te,I,S,K),m)}else{let S;const{el:C,props:N}=u,{bm:I,m:K,parent:B,root:te,type:re}=c,De=$t(u);nt(c,!1),I&&to(I),!De&&(S=N&&N.onVnodeBeforeMount)&&Ee(S,B,u),nt(c,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(re,c.parent?c.parent.type:void 0);const He=c.subTree=Ys(c);F(null,He,h,v,c,m,g),u.el=He.el}if(K&&fe(K,m),!De&&(S=N&&N.onVnodeMounted)){const He=u;fe(()=>Ee(S,B,He),m)}(u.shapeFlag&256||B&&$t(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&fe(c.a,m),c.isMounted=!0,u=h=v=null}};c.scope.on();const _=c.effect=new ts(x);c.scope.off();const $=c.update=_.run.bind(_),O=c.job=_.runIfDirty.bind(_);O.i=c,O.id=c.uid,_.scheduler=()=>dn(O),nt(c,!0),$()},Z=(c,u,h)=>{u.component=c;const v=c.vnode.props;c.vnode=u,c.next=null,Hr(c,u.props,v,h),Br(c,u.children,h),Me(),Ms(c),Le()},G=(c,u,h,v,m,g,w,x,_=!1)=>{const $=c&&c.children,O=c?c.shapeFlag:0,S=u.children,{patchFlag:C,shapeFlag:N}=u;if(C>0){if(C&128){Wo($,S,h,v,m,g,w,x,_);return}else if(C&256){it($,S,h,v,m,g,w,x,_);return}}N&8?(O&16&&Kt($,m,g),S!==$&&p(h,S)):O&16?N&16?Wo($,S,h,v,m,g,w,x,_):Kt($,m,g,!0):(O&8&&p(h,""),N&16&&Ze(S,h,v,m,g,w,x,_))},it=(c,u,h,v,m,g,w,x,_)=>{c=c||rt,u=u||rt;const $=c.length,O=u.length,S=Math.min($,O);let C;for(C=0;CO?Kt(c,m,g,!0,!1,S):Ze(u,h,v,m,g,w,x,_,S)},Wo=(c,u,h,v,m,g,w,x,_)=>{let $=0;const O=u.length;let S=c.length-1,C=O-1;for(;$<=S&&$<=C;){const N=c[$],I=u[$]=_?qe(u[$]):Ne(u[$]);if(Dt(N,I))F(N,I,h,null,m,g,w,x,_);else break;$++}for(;$<=S&&$<=C;){const N=c[S],I=u[C]=_?qe(u[C]):Ne(u[C]);if(Dt(N,I))F(N,I,h,null,m,g,w,x,_);else break;S--,C--}if($>S){if($<=C){const N=C+1,I=NC)for(;$<=S;)Re(c[$],m,g,!0),$++;else{const N=$,I=$,K=new Map;for($=I;$<=C;$++){const $e=u[$]=_?qe(u[$]):Ne(u[$]);$e.key!=null&&K.set($e.key,$)}let B,te=0;const re=C-I+1;let De=!1,He=0;const Gt=new Array(re);for($=0;$=re){Re($e,m,g,!0);continue}let We;if($e.key!=null)We=K.get($e.key);else for(B=I;B<=C;B++)if(Gt[B-I]===0&&Dt($e,u[B])){We=B;break}We===void 0?Re($e,m,g,!0):(Gt[We-I]=$+1,We>=He?He=We:De=!0,F($e,u[We],h,null,m,g,w,x,_),te++)}const da=De?qr(Gt):rt;for(B=da.length-1,$=re-1;$>=0;$--){const $e=I+$,We=u[$e],pa=u[$e+1],ua=$e+1{const{el:g,type:w,transition:x,children:_,shapeFlag:$}=c;if($&6){at(c.component.subTree,u,h,v);return}if($&128){c.suspense.move(u,h,v);return}if($&64){w.move(c,u,h,qt);return}if(w===Y){n(g,u,h);for(let S=0;S<_.length;S++)at(_[S],u,h,v);n(c.anchor,u,h);return}if(w===wn){z(c,u,h);return}if(v!==2&&$&1&&x)if(v===0)x.persisted&&!g[pn]?n(g,u,h):(x.beforeEnter(g),n(g,u,h),fe(()=>x.enter(g),m));else{const{leave:S,delayLeave:C,afterLeave:N}=x,I=()=>{c.ctx.isUnmounted?s(g):n(g,u,h)},K=()=>{const B=g._isLeaving||!!g[pn];g._isLeaving&&g[pn](!0),x.persisted&&!B?I():S(g,()=>{I(),N&&N()})};C?C(g,I,K):K()}else n(g,u,h)},Re=(c,u,h,v=!1,m=!1)=>{const{type:g,props:w,ref:x,children:_,dynamicChildren:$,shapeFlag:O,patchFlag:S,dirs:C,cacheIndex:N,memo:I}=c;if(S===-2&&(m=!1),x!=null&&(Me(),At(x,null,h,c,!0),Le()),N!=null&&(u.renderCache[N]=void 0),O&256){u.ctx.deactivate(c);return}const K=O&1&&C,B=!$t(c);let te;if(B&&(te=w&&w.onVnodeBeforeUnmount)&&Ee(te,u,c),O&6)Qp(c.component,h,v);else{if(O&128){c.suspense.unmount(h,v);return}K&&ot(c,null,u,"beforeUnmount"),O&64?c.type.remove(c,u,h,qt,v):$&&!$.hasOnce&&(g!==Y||S>0&&S&64)?Kt($,u,h,!1,!0):(g===Y&&S&384||!m&&O&16)&&Kt(_,u,h),v&&la(c)}const re=I!=null&&N==null;(B&&(te=w&&w.onVnodeUnmounted)||K||re)&&fe(()=>{te&&Ee(te,u,c),K&&ot(c,null,u,"unmounted"),re&&(c.el=null)},h)},la=c=>{const{type:u,el:h,anchor:v,transition:m}=c;if(u===Y){Zp(h,v);return}if(u===wn){P(c);return}const g=()=>{s(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:w,delayLeave:x}=m,_=()=>w(h,g);x?x(c.el,g,_):_()}else g()},Zp=(c,u)=>{let h;for(;c!==u;)h=k(c),s(c),c=h;s(u)},Qp=(c,u,h)=>{const{bum:v,scope:m,job:g,subTree:w,um:x,m:_,a:$}=c;ci(_),ci($),v&&to(v),m.stop(),g&&(g.flags|=8,Re(w,c,u,h)),x&&fe(x,u),fe(()=>{c.isUnmounted=!0},u)},Kt=(c,u,h,v=!1,m=!1,g=0)=>{for(let w=g;w{if(c.shapeFlag&6)return Uo(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=k(c.anchor||c.el),h=u&&u[lr];return h?k(h):u};let Bn=!1;const ca=(c,u,h)=>{let v;c==null?u._vnode&&(Re(u._vnode,null,null,!0),v=u._vnode.component):F(u._vnode||null,c,u,null,null,null,h),u._vnode=c,Bn||(Bn=!0,Ms(v),Ls(),Bn=!1)},qt={p:F,um:Re,m:at,r:la,mt:zn,mc:Ze,pc:G,pbc:st,n:Uo,o:e};return{render:ca,hydrate:void 0,createApp:Or(ca)}}function xn({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 nt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Kr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ri(e,t,o=!1){const n=e.children,s=t.children;if(A(n)&&A(s))for(let i=0;i>1,e[o[r]]0&&(t[n]=o[i-1]),o[i]=n)}}for(i=o.length,a=o[i-1];i-- >0;)o[i]=a,a=t[a];return o}function li(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:li(t)}function ci(e){if(e)for(let t=0;te.__isSuspense;function Gr(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):nr(e)}const Y=Symbol.for("v-fgt"),_o=Symbol.for("v-txt"),Pe=Symbol.for("v-cmt"),wn=Symbol.for("v-stc"),Ke=[];let ge=null;function M(e=!1){Ke.push(ge=e?null:[])}function Sn(){Ke.pop(),ge=Ke[Ke.length-1]||null}let It=1;function ui(e,t=!1){It+=e,e<0&&ge&&t&&(ge.hasOnce=!0)}function fi(e){return e.dynamicChildren=It>0?ge||rt:null,Sn(),It>0&&ge&&ge.push(e),e}function L(e,t,o,n,s,i){return fi(b(e,t,o,n,s,i,!0))}function Rt(e,t,o,n,s){return fi(ve(e,t,o,n,s,!0))}function Mn(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const hi=({key:e})=>e??null,xo=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?J(e)||ie(e)||E(e)?{i:ae,r:e,k:t,f:!!o}:e:null);function b(e,t=null,o=null,n=0,s=null,i=e===Y?0:1,a=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hi(t),ref:t&&xo(t),scopeId:Cs,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:i,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ae};return r?(wo(l,o),i&128&&e.normalize(l)):o&&(l.shapeFlag|=J(o)?8:16),It>0&&!a&&ge&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&ge.push(l),l}const ve=Yr;function Yr(e,t=null,o=null,n=0,s=null,i=!1){if((!e||e===yr)&&(e=Pe),Mn(e)){const r=bt(e,t,!0);return o&&wo(r,o),It>0&&!i&&ge&&(r.shapeFlag&6?ge[ge.indexOf(e)]=r:ge.push(r)),r.patchFlag=-2,r}if(rl(e)&&(e=e.__vccOpts),t){t=Jr(t);let{class:r,style:l}=t;r&&!J(r)&&(t.class=he(r)),U(l)&&(ln(l)&&!A(l)&&(l=Q({},l)),t.style=lt(l))}const a=J(e)?1:pi(e)?128:$o(e)?64:U(e)?4:E(e)?2:0;return b(e,t,o,n,s,a,i,!0)}function Jr(e){return e?ln(e)||ei(e)?Q({},e):e:null}function bt(e,t,o=!1,n=!1){const{props:s,ref:i,patchFlag:a,children:r,transition:l}=e,d=t?Xr(s||{},t):s,p={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&hi(d),ref:t&&t.ref?o&&i?A(i)?i.concat(xo(t)):[i,xo(t)]:xo(t):i,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!==Y?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bt(e.ssContent),ssFallback:e.ssFallback&&bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&un(p,l.clone(p)),p}function Ae(e=" ",t=0){return ve(_o,null,e,t)}function V(e="",t=!1){return t?(M(),Rt(Pe,null,e)):ve(Pe,null,e)}function Ne(e){return e==null||typeof e=="boolean"?ve(Pe):A(e)?ve(Y,null,e.slice()):Mn(e)?qe(e):ve(_o,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bt(e)}function wo(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(A(t))o=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),wo(e,s()),s._c&&(s._d=!0));return}else{o=32;const s=t._;!s&&!ei(t)?t._ctx=ae:s===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(E(t)){if(n&65){wo(e,{default:t});return}t={default:t,_ctx:ae},o=32}else t=String(t),n&64?(o=16,t=[Ae(t)]):o=8;e.children=t,e.shapeFlag|=o}function Xr(...e){const t={};for(let o=0;oce||ae;let So,Ht;{const e=oo(),t=(o,n)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(n),i=>{s.length>1?s.forEach(a=>a(i)):s[0](i)}};So=t("__VUE_INSTANCE_SETTERS__",o=>ce=o),Ht=t("__VUE_SSR_SETTERS__",o=>Ut=o)}const Wt=e=>{const t=ce;return So(e),e.scope.on(),()=>{e.scope.off(),So(t)}},$i=()=>{ce&&ce.scope.off(),So(null)};function mi(e){return e.vnode.shapeFlag&4}let Ut=!1;function tl(e,t=!1,o=!1){t&&Ht(t);const{props:n,children:s}=e.vnode,i=mi(e);Dr(e,n,i,t),zr(e,s,o||t);const a=i?ol(e,t):void 0;return t&&Ht(!1),a}function ol(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,xr);const{setup:n}=o;if(n){Me();const s=e.setupContext=n.length>1?sl(e):null,i=Wt(e),a=pt(n,e,0,[e.props,s]),r=Kn(a);if(Le(),i(),(r||e.sp)&&!$t(e)&&Ns(e),r){if(a.then($i,$i),t)return a.then(l=>{Ht(!0);try{bi(e,l,t)}finally{Ht(!1)}}).catch(l=>{uo(l,e,0)});e.asyncDep=a}else bi(e,a)}else vi(e)}function bi(e,t,o){E(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:U(t)&&(e.setupState=ys(t)),vi(e)}function vi(e,t,o){const n=e.type;e.render||(e.render=n.render||we);{const s=Wt(e);Me();try{wr(e)}finally{Le(),s()}}}const nl={get(e,t){return le(e,"get",""),e[t]}};function sl(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,nl),slots:e.slots,emit:e.emit,expose:t}}function Mo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ys(Ba(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Et)return Et[o](e)},has(t,o){return o in t||o in Et}})):e.proxy}const il=/(?:^|[-_])\w/g,al=e=>e.replace(il,t=>t.toUpperCase()).replace(/[-_]/g,"");function ki(e,t=!0){return E(e)?e.displayName||e.name:e.name||t&&e.__name}function yi(e,t,o=!1){let n=ki(t);if(!n&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=i=>{for(const a in i)if(i[a]===t)return a};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?al(n):o?"App":"Anonymous"}function rl(e){return E(e)&&"__vccOpts"in e}const _i=(e,t)=>Ga(e,t,Ut),ll="3.5.42";/** +`,...Za(s)),console.warn(...i)}Me(),cn=!1}function Xa(){let e=Ct[Ct.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 Za(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Qa(o))}),t}function Qa({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${_i(e.component,e.type,n)}`,i=">"+o;return e.props?[s,...er(e.props),i]:[s+i]}function er(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...ys(n,e[n]))}),o.length>3&&t.push(" ..."),t}function ys(e,t,o){return J(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ie(t)?(t=ys(e,R(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):E(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=R(t),o?t:[`${e}=`,t])}function pt(e,t,o,n){try{return n?e(...n):e()}catch(s){uo(s,t,o)}}function xe(e,t,o,n){if(E(e)){const s=pt(e,t,o,n);return s&&Kn(s)&&s.catch(i=>{uo(i,t,o)}),s}if(A(e)){const s=[];for(let i=0;i>>1,s=de[n],i=Ot(s);i=Ot(o)?de.push(e):de.splice(or(t),0,e),e.flags|=1,Ss()}}function Ss(){fo||(fo=xs.then(Ts))}function nr(e){if(!A(e))Je&&e.id===-1?Je.splice(ft+1,0,e):e.flags&1||(ut.push(e),e.flags|=1);else for(let t=0;tOt(o)-Ot(n));if(ut.length=0,Je){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ts(e){try{for(Ce=0;Ce{n._d&&ui(-1);const i=ho(t),a=Ke.length;let r;try{r=e(...s)}finally{for(let l=Ke.length;l>a;l--)Sn();ho(i),n._d&&ui(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function gt(e,t){if(ae===null)return e;const o=Lo(ae),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&E(t)?t.call(n&&n.proxy):t}}const ir=Symbol.for("v-scx"),ar=()=>Pt(ir);function go(e,t,o){return Os(e,t,o)}function Os(e,t,o=j){const{immediate:n,deep:s,flush:i,once:a}=o,r=Q({},o),l=t&&n||!t&&i!=="post";let d;if(zt){if(i==="sync"){const _=ar();d=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=we,_.resume=we,_.pause=we,_}}const p=ce;r.call=(_,W,F)=>xe(_,p,W,F);let f=!1;i==="post"?r.scheduler=_=>{fe(_,p&&p.suspense)}:i!=="sync"&&(f=!0,r.scheduler=(_,W)=>{W?_():dn(_)}),r.augmentJob=_=>{t&&(_.flags|=4),f&&(_.flags|=2,p&&(_.id=p.uid,_.i=p))};const k=Ja(e,t,r);return zt&&(d?d.push(k):l&&k()),k}function rr(e,t,o){const n=this.proxy,s=J(e)?e.includes(".")?Ps(n,e):()=>n[e]:e.bind(n,n);let i;E(t)?i=t:(i=t.handler,o=t);const a=Wt(this),r=Os(s,i.bind(n),o);return a(),r}function Ps(e,t){const o=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,pn=Symbol("_leaveCb");function cr(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Pe){t=o;break}}return t}function As(e){if(!fn(e))return $o(e.type)&&e.children?cr(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&&E(o.default))return o.default()}}function un(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;un($o(o.type)&&As(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 mo(e,t){return E(e)?Q({name:e.name},t,{setup:e}):e}function Ns(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Es(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const bo=new WeakMap;function At(e,t,o,n,s=!1){if(A(e)){e.forEach((F,ee)=>At(F,t&&(A(t)?t[ee]:t),o,n,s));return}if($t(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&At(e,t,o,n.component.subTree);return}const i=n.shapeFlag&4?Lo(n.component):n.el,a=s?null:i,{i:r,r:l}=e,d=t&&t.r,p=r.refs===j?r.refs={}:r.refs,f=r.setupState,k=R(f),_=f===j?jn:F=>Es(p,F)?!1:H(k,F),W=(F,ee)=>!(ee&&Es(p,ee));if(d!=null&&d!==l){if(Fs(t),J(d))p[d]=null,_(d)&&(f[d]=null);else if(ie(d)){const F=t;W(d,F.k)&&(d.value=null),F.k&&(p[F.k]=null)}}if(E(l))pt(l,r,12,[a,p]);else{const F=J(l),ee=ie(l);if(F||ee){const X=()=>{if(e.f){const D=F?_(l)?f[l]:p[l]:W()||!e.k?l.value:p[e.k];if(s)A(D)&&Bo(D,i);else if(A(D))D.includes(i)||D.push(i);else if(F)p[l]=[i],_(l)&&(f[l]=p[l]);else{const U=[i];W(l,e.k)&&(l.value=U),e.k&&(p[e.k]=U)}}else F?(p[l]=a,_(l)&&(f[l]=a)):ee&&(W(l,e.k)&&(l.value=a),e.k&&(p[e.k]=a))};if(a){const D=()=>{X(),bo.delete(e)};D.id=-1,bo.set(e,D),fe(D,o)}else Fs(e),X()}}}function Fs(e){const t=bo.get(e);t&&(t.flags|=8,bo.delete(e))}oo().requestIdleCallback,oo().cancelIdleCallback;const $t=e=>!!e.type.__asyncLoader,fn=e=>e.type.__isKeepAlive;function dr(e,t){Is(e,"a",t)}function pr(e,t){Is(e,"da",t)}function Is(e,t,o=ce){const n=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(vo(t,n,o),o){let s=o.parent;for(;s&&s.parent;)fn(s.parent.vnode)&&ur(n,t,o,s),s=s.parent}}function ur(e,t,o,n){const s=vo(t,e,n,!0);Ds(()=>{Bo(n[t],s)},o)}function vo(e,t,o=ce,n=!1){if(o){const s=o[e]||(o[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Le();const r=Wt(o),l=xe(t,o,e,a);return r(),Me(),l});return n?s.unshift(i):s.push(i),i}}const Ve=e=>(t,o=ce)=>{(!zt||e==="sp")&&vo(e,(...n)=>t(...n),o)},fr=Ve("bm"),hn=Ve("m"),hr=Ve("bu"),gr=Ve("u"),Rs=Ve("bum"),Ds=Ve("um"),$r=Ve("sp"),mr=Ve("rtg"),br=Ve("rtc");function vr(e,t=ce){vo("ec",e,t)}const kr="components";function gn(e,t){return yr(kr,e,!0,t)||e}const _r=Symbol.for("v-ndc");function yr(e,t,o=!0,n=!1){const s=ae||ce;if(s){const i=s.type;{const r=ki(i,!1);if(r&&(r===t||r===ne(t)||r===eo(ne(t))))return i}const a=Hs(s[e]||i[e],t)||Hs(s.appContext[e],t);return!a&&n?i:a}}function Hs(e,t){return e&&(e[t]||e[ne(t)]||e[eo(ne(t))])}function Oe(e,t,o,n){let s;const i=o,a=A(e);if(a||J(e)){const r=a&&et(e);let l=!1,d=!1;r&&(l=!be(e),d=Be(e),e=so(e)),s=new Array(e.length);for(let p=0,f=e.length;pt(r,l,void 0,i));else{const r=Object.keys(e);s=new Array(r.length);for(let l=0,d=r.length;l0;return t!=="default"&&(d.name=t),L(),Rt(Y,null,[ve("slot",d,n)],p?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const r=Ke.length;L();let l;try{const d=a&&Ws(a(o)),p=o.key||i||d&&d.key;l=Rt(Y,{key:(p&&!ke(p)?p:`_${t}`)+(!d&&n?"_fb":"")},d||(n?n():[]),d&&e._===1?64:-2)}catch(d){for(let p=Ke.length;p>r;p--)Sn();throw d}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ws(e){return e.some(t=>Ln(t)?!(t.type===Pe||t.type===Y&&!Ws(t.children)):!0)?e:null}const $n=e=>e?mi(e)?Lo(e):$n(e.parent):null,Et=Q(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=>$n(e.parent),$root:e=>$n(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>js(e),$forceUpdate:e=>e.f||(e.f=()=>{dn(e.update)}),$nextTick:e=>e.n||(e.n=ws.bind(e.proxy)),$watch:e=>rr.bind(e)}),mn=(e,t)=>e!==j&&!e.__isScriptSetup&&H(e,t),xr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:s,props:i,accessCache:a,type:r,appContext:l}=e;if(t[0]!=="$"){const k=a[t];if(k!==void 0)switch(k){case 1:return n[t];case 2:return s[t];case 4:return o[t];case 3:return i[t]}else{if(mn(n,t))return a[t]=1,n[t];if(s!==j&&H(s,t))return a[t]=2,s[t];if(H(i,t))return a[t]=3,i[t];if(o!==j&&H(o,t))return a[t]=4,o[t];bn&&(a[t]=0)}}const d=Et[t];let p,f;if(d)return t==="$attrs"&&le(e.attrs,"get",""),d(e);if((p=r.__cssModules)&&(p=p[t]))return p;if(o!==j&&H(o,t))return a[t]=4,o[t];if(f=l.config.globalProperties,H(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:s,ctx:i}=e;return mn(s,t)?(s[t]=o,!0):n!==j&&H(n,t)?(n[t]=o,!0):H(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:s,props:i,type:a}},r){let l;return!!(o[r]||e!==j&&r[0]!=="$"&&H(e,r)||mn(t,r)||H(i,r)||H(n,r)||H(Et,r)||H(s.config.globalProperties,r)||(l=a.__cssModules)&&l[r])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:H(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function zs(e){return A(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let bn=!0;function wr(e){const t=js(e),o=e.proxy,n=e.ctx;bn=!1,t.beforeCreate&&Us(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:a,watch:r,provide:l,inject:d,created:p,beforeMount:f,mounted:k,beforeUpdate:_,updated:W,activated:F,deactivated:ee,beforeDestroy:X,beforeUnmount:D,destroyed:U,unmounted:P,render:oe,renderTracked:Fe,renderTriggered:Ie,errorCaptured:Ze,serverPrefetch:Ro,expose:st,inheritAttrs:Vt,components:Do,directives:Ho,filters:Un}=t;if(d&&Sr(d,n,null),a)for(const Z in a){const G=a[Z];E(G)&&(n[Z]=G.bind(o))}if(s){const Z=s.call(o,o);z(Z)&&(e.data=an(Z))}if(bn=!0,i)for(const Z in i){const G=i[Z],it=E(G)?G.bind(o,o):E(G.get)?G.get.bind(o,o):we,Wo=!E(G)&&E(G.set)?G.set.bind(o):we,at=yi({get:it,set:Wo});Object.defineProperty(n,Z,{enumerable:!0,configurable:!0,get:()=>at.value,set:Re=>at.value=Re})}if(r)for(const Z in r)Bs(r[Z],n,o,Z);if(l){const Z=E(l)?l.call(o):l;Reflect.ownKeys(Z).forEach(G=>{sr(G,Z[G])})}p&&Us(p,e,"c");function ue(Z,G){A(G)?G.forEach(it=>Z(it.bind(o))):G&&Z(G.bind(o))}if(ue(fr,f),ue(hn,k),ue(hr,_),ue(gr,W),ue(dr,F),ue(pr,ee),ue(vr,Ze),ue(br,Fe),ue(mr,Ie),ue(Rs,D),ue(Ds,P),ue($r,Ro),A(st))if(st.length){const Z=e.exposed||(e.exposed={});st.forEach(G=>{Object.defineProperty(Z,G,{get:()=>o[G],set:it=>o[G]=it,enumerable:!0})})}else e.exposed||(e.exposed={});oe&&e.render===we&&(e.render=oe),Vt!=null&&(e.inheritAttrs=Vt),Do&&(e.components=Do),Ho&&(e.directives=Ho),Ro&&Ns(e)}function Sr(e,t,o=we){A(e)&&(e=vn(e));for(const n in e){const s=e[n];let i;z(s)?"default"in s?i=Pt(s.from||n,s.default,!0):i=Pt(s.from||n):i=Pt(s),ie(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[n]=i}}function Us(e,t,o){xe(A(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Bs(e,t,o,n){let s=n.includes(".")?Ps(o,n):()=>o[n];if(J(e)){const i=t[e];E(i)&&go(s,i)}else if(E(e))go(s,e.bind(o));else if(z(e))if(A(e))e.forEach(i=>Bs(i,t,o,n));else{const i=E(e.handler)?e.handler.bind(o):t[e.handler];E(i)&&go(s,i,e)}}function js(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,r=i.get(t);let l;return r?l=r:!s.length&&!o&&!n?l=t:(l={},s.length&&s.forEach(d=>ko(l,d,a,!0)),ko(l,t,a)),z(t)&&i.set(t,l),l}function ko(e,t,o,n=!1){const{mixins:s,extends:i}=t;i&&ko(e,i,o,!0),s&&s.forEach(a=>ko(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const r=Lr[a]||o&&o[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const Lr={data:Vs,props:Ks,emits:Ks,methods:Ft,computed:Ft,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Ft,directives:Ft,watch:Tr,provide:Vs,inject:Mr};function Vs(e,t){return t?e?function(){return Q(E(e)?e.call(this,this):e,E(t)?t.call(this,this):t)}:t:e}function Mr(e,t){return Ft(vn(e),vn(t))}function vn(e){if(A(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ne(t)}Modifiers`]||e[`${me(t)}Modifiers`];function Ar(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||j;let s=o;const i=t.startsWith("update:"),a=i&&Pr(n,t.slice(7));a&&(a.trim&&(s=o.map(p=>J(p)?p.trim():p)),a.number&&(s=s.map(Ko)));let r,l=n[r=Vo(t)]||n[r=Vo(ne(t))];!l&&i&&(l=n[r=Vo(me(t))]),l&&xe(l,e,6,s);const d=n[r+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,xe(d,e,6,s)}}const Nr=new WeakMap;function Gs(e,t,o=!1){const n=o?Nr:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const i=e.emits;let a={},r=!1;if(!E(e)){const l=d=>{const p=Gs(d,t,!0);p&&(r=!0,Q(a,p))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!r?(z(e)&&n.set(e,null),null):(A(i)?i.forEach(l=>a[l]=null):Q(a,i),z(e)&&n.set(e,a),a)}function _o(e,t){return!e||!Yt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),H(e,t[0].toLowerCase()+t.slice(1))||H(e,me(t))||H(e,t))}function nu(){}function Ys(e){const{type:t,vnode:o,proxy:n,withProxy:s,propsOptions:[i],slots:a,attrs:r,emit:l,render:d,renderCache:p,props:f,data:k,setupState:_,ctx:W,inheritAttrs:F}=e,ee=ho(e);let X,D;try{if(o.shapeFlag&4){const P=s||n,oe=P;X=Ne(d.call(oe,P,p,f,_,k,W)),D=r}else{const P=t;X=Ne(P.length>1?P(f,{attrs:r,slots:a,emit:l}):P(f,null)),D=t.props?r:Er(r)}}catch(P){Ke.length=0,uo(P,e,1),X=ve(Pe)}let U=X;if(D&&F!==!1){const P=Object.keys(D),{shapeFlag:oe}=U;P.length&&oe&7&&(i&&P.some(Jt)&&(D=Fr(D,i)),U=bt(U,D,!1,!0))}if(o.dirs&&(U=bt(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(o.dirs):o.dirs),o.transition){const P=$o(U.type)&&As(U)||U;un(P,o.transition)}return X=U,ho(ee),X}const Er=e=>{let t;for(const o in e)(o==="class"||o==="style"||Yt(o))&&((t||(t={}))[o]=e[o]);return t},Fr=(e,t)=>{const o={};for(const n in e)(!Jt(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Ir(e,t,o){const{props:n,children:s,component:i}=e,{props:a,children:r,patchFlag:l}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Js(n,a,d):!!a;if(l&8){const p=t.dynamicProps;for(let f=0;fObject.create(Zs),ei=e=>Object.getPrototypeOf(e)===Zs;function Dr(e,t,o,n=!1){const s={},i=Qs();e.propsDefaults=Object.create(null),ti(e,t,s,i);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=n?s:Ua(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Hr(e,t,o,n){const{props:s,attrs:i,vnode:{patchFlag:a}}=e,r=R(s),[l]=e.propsOptions;let d=!1;if((n||a>0)&&!(a&16)){if(a&8){const p=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[k,_]=oi(f,t,!0);Q(a,k),_&&r.push(..._)};!o&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!i&&!l)return z(e)&&n.set(e,rt),rt;if(A(i))for(let p=0;pe==="_"||e==="_ctx"||e==="$stable",yn=e=>A(e)?e.map(Ne):[Ne(e)],zr=(e,t,o)=>{if(t._n)return t;const n=ht((...s)=>yn(t(...s)),o);return n._c=!1,n},si=(e,t,o)=>{const n=e._ctx;for(const s in e){if(_n(s))continue;const i=e[s];if(E(i))t[s]=zr(s,i,n);else if(i!=null){const a=yn(i);t[s]=()=>a}}},ii=(e,t)=>{const o=yn(t);e.slots.default=()=>o},ai=(e,t,o)=>{for(const n in t)(o||!_n(n))&&(e[n]=t[n])},Ur=(e,t,o)=>{const n=e.slots=Qs();if(e.vnode.shapeFlag&32){const s=t._;s?(ai(n,t,o),o&&Gn(n,"_",s,!0)):si(t,n)}else t&&ii(e,t)},Br=(e,t,o)=>{const{vnode:n,slots:s}=e;let i=!0,a=j;if(n.shapeFlag&32){const r=t._;r?o&&r===1?i=!1:ai(s,t,o):(i=!t.$stable,si(t,s)),a=t}else t&&(ii(e,t),a={default:1});if(i)for(const r in s)!_n(r)&&a[r]==null&&delete s[r]},fe=Gr;function jr(e){return Vr(e)}function Vr(e,t){const o=oo();o.__VUE__=!0;const{insert:n,remove:s,patchProp:i,createElement:a,createText:r,createComment:l,setText:d,setElementText:p,parentNode:f,nextSibling:k,setScopeId:_=we,insertStaticContent:W}=e,F=(c,u,h,v=null,m=null,g=null,w=void 0,x=null,y=!!u.dynamicChildren)=>{if(c===u)return;c&&!Dt(c,u)&&(v=zo(c),Re(c,m,g,!0),c=null),u.patchFlag===-2&&(y=!1,u.dynamicChildren=null);const{type:$,ref:O,shapeFlag:S}=u;switch($){case yo:ee(c,u,h,v);break;case Pe:X(c,u,h,v);break;case wn:c==null&&D(u,h,v,w);break;case Y:Do(c,u,h,v,m,g,w,x,y);break;default:S&1?oe(c,u,h,v,m,g,w,x,y):S&6?Ho(c,u,h,v,m,g,w,x,y):(S&64||S&128)&&$.process(c,u,h,v,m,g,w,x,y,qt)}O!=null&&m?At(O,c&&c.ref,g,u||c,!u):O==null&&c&&c.ref!=null&&At(c.ref,null,g,c,!0)},ee=(c,u,h,v)=>{if(c==null)n(u.el=r(u.children),h,v);else{const m=u.el=c.el;u.children!==c.children&&d(m,u.children)}},X=(c,u,h,v)=>{c==null?n(u.el=l(u.children||""),h,v):u.el=c.el},D=(c,u,h,v)=>{[c.el,c.anchor]=W(c.children,u,h,v,c.el,c.anchor)},U=({el:c,anchor:u},h,v)=>{let m;for(;c&&c!==u;)m=k(c),n(c,h,v),c=m;n(u,h,v)},P=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=k(c),s(c),c=h;s(u)},oe=(c,u,h,v,m,g,w,x,y)=>{if(u.type==="svg"?w="svg":u.type==="math"&&(w="mathml"),c==null)Fe(u,h,v,m,g,w,x,y);else{const $=c.el&&c.el._isVueCE?c.el:null;try{$&&$._beginPatch(),Ro(c,u,m,g,w,x,y)}finally{$&&$._endPatch()}}},Fe=(c,u,h,v,m,g,w,x)=>{let y,$;const{props:O,shapeFlag:S,transition:C,dirs:N}=c;if(y=c.el=a(c.type,g,O&&O.is,O),S&8?p(y,c.children):S&16&&Ze(c.children,y,null,v,m,xn(c,g),w,x),N&&ot(c,null,v,"created"),Ie(y,c,c.scopeId,w,v),O){for(const K in O)K!=="value"&&!xt(K)&&i(y,K,null,O[K],g,v);"value"in O&&i(y,"value",null,O.value,g),($=O.onVnodeBeforeMount)&&Ee($,v,c)}N&&ot(c,null,v,"beforeMount");const I=Kr(m,C);I&&C.beforeEnter(y),n(y,u,h),(($=O&&O.onVnodeMounted)||I||N)&&fe(()=>{try{$&&Ee($,v,c),I&&C.enter(y),N&&ot(c,null,v,"mounted")}finally{}},m)},Ie=(c,u,h,v,m)=>{if(h&&_(c,h),v)for(let g=0;g{for(let $=y;${const x=u.el=c.el;let{patchFlag:y,dynamicChildren:$,dirs:O}=u;y|=c.patchFlag&16;const S=c.props||j,C=u.props||j;let N;if(h&&nt(h,!1),(N=C.onVnodeBeforeUpdate)&&Ee(N,h,u,c),O&&ot(u,c,h,"beforeUpdate"),h&&nt(h,!0),$&&(!c.dynamicChildren||c.dynamicChildren.length!==$.length)&&(y=0,w=!1,$=null),(S.innerHTML&&C.innerHTML==null||S.textContent&&C.textContent==null)&&p(x,""),$?st(c.dynamicChildren,$,x,h,v,xn(u,m),g):w||G(c,u,x,null,h,v,xn(u,m),g,!1),y>0){if(y&16)Vt(x,S,C,h,m);else if(y&2&&S.class!==C.class&&i(x,"class",null,C.class,m),y&4&&i(x,"style",S.style,C.style,m),y&8){const I=u.dynamicProps;for(let K=0;K{N&&Ee(N,h,u,c),O&&ot(u,c,h,"updated")},v)},st=(c,u,h,v,m,g,w)=>{for(let x=0;x{if(u!==h){if(u!==j)for(const g in u)!xt(g)&&!(g in h)&&i(c,g,u[g],null,m,v);for(const g in h){if(xt(g))continue;const w=h[g],x=u[g];w!==x&&g!=="value"&&i(c,g,x,w,m,v)}"value"in h&&i(c,"value",u.value,h.value,m)}},Do=(c,u,h,v,m,g,w,x,y)=>{const $=u.el=c?c.el:r(""),O=u.anchor=c?c.anchor:r("");let{patchFlag:S,dynamicChildren:C,slotScopeIds:N}=u;N&&(x=x?x.concat(N):N),c==null?(n($,h,v),n(O,h,v),Ze(u.children||[],h,O,m,g,w,x,y)):S>0&&S&64&&C&&c.dynamicChildren&&c.dynamicChildren.length===C.length?(st(c.dynamicChildren,C,h,m,g,w,x),(u.key!=null||m&&u===m.subTree)&&ri(c,u,!0)):G(c,u,h,O,m,g,w,x,y)},Ho=(c,u,h,v,m,g,w,x,y)=>{u.slotScopeIds=x,c==null?u.shapeFlag&512?m.ctx.activate(u,h,v,w,y):Un(u,h,v,m,g,w,y):ra(c,u,y)},Un=(c,u,h,v,m,g,w)=>{const x=c.component=el(c,v,m);if(fn(c)&&(x.ctx.renderer=qt),tl(x,!1,w),x.asyncDep){if(m&&m.registerDep(x,ue,w),!c.el){const y=x.subTree=ve(Pe);X(null,y,u,h),c.placeholder=y.el}}else ue(x,c,u,h,m,g,w)},ra=(c,u,h)=>{const v=u.component=c.component;if(Ir(c,u,h))if(v.asyncDep&&!v.asyncResolved){Z(v,u,h);return}else v.next=u,v.update();else u.el=c.el,v.vnode=u},ue=(c,u,h,v,m,g,w)=>{const x=()=>{if(c.isMounted){let{next:S,bu:C,u:N,parent:I,vnode:K}=c;{const He=li(c);if(He){S&&(S.el=K.el,Z(c,S,w)),He.asyncDep.then(()=>{fe(()=>{c.isUnmounted||$()},m)});return}}let B=S,te;nt(c,!1),S?(S.el=K.el,Z(c,S,w)):S=K,C&&to(C),(te=S.props&&S.props.onVnodeBeforeUpdate)&&Ee(te,I,S,K),nt(c,!0);const re=Ys(c),De=c.subTree;c.subTree=re,F(De,re,f(De.el),zo(De),c,m,g),S.el=re.el,B===null&&Rr(c,re.el),N&&fe(N,m),(te=S.props&&S.props.onVnodeUpdated)&&fe(()=>Ee(te,I,S,K),m)}else{let S;const{el:C,props:N}=u,{bm:I,m:K,parent:B,root:te,type:re}=c,De=$t(u);nt(c,!1),I&&to(I),!De&&(S=N&&N.onVnodeBeforeMount)&&Ee(S,B,u),nt(c,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(re,c.parent?c.parent.type:void 0);const He=c.subTree=Ys(c);F(null,He,h,v,c,m,g),u.el=He.el}if(K&&fe(K,m),!De&&(S=N&&N.onVnodeMounted)){const He=u;fe(()=>Ee(S,B,He),m)}(u.shapeFlag&256||B&&$t(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&fe(c.a,m),c.isMounted=!0,u=h=v=null}};c.scope.on();const y=c.effect=new ts(x);c.scope.off();const $=c.update=y.run.bind(y),O=c.job=y.runIfDirty.bind(y);O.i=c,O.id=c.uid,y.scheduler=()=>dn(O),nt(c,!0),$()},Z=(c,u,h)=>{u.component=c;const v=c.vnode.props;c.vnode=u,c.next=null,Hr(c,u.props,v,h),Br(c,u.children,h),Le(),Ls(c),Me()},G=(c,u,h,v,m,g,w,x,y=!1)=>{const $=c&&c.children,O=c?c.shapeFlag:0,S=u.children,{patchFlag:C,shapeFlag:N}=u;if(C>0){if(C&128){Wo($,S,h,v,m,g,w,x,y);return}else if(C&256){it($,S,h,v,m,g,w,x,y);return}}N&8?(O&16&&Kt($,m,g),S!==$&&p(h,S)):O&16?N&16?Wo($,S,h,v,m,g,w,x,y):Kt($,m,g,!0):(O&8&&p(h,""),N&16&&Ze(S,h,v,m,g,w,x,y))},it=(c,u,h,v,m,g,w,x,y)=>{c=c||rt,u=u||rt;const $=c.length,O=u.length,S=Math.min($,O);let C;for(C=0;CO?Kt(c,m,g,!0,!1,S):Ze(u,h,v,m,g,w,x,y,S)},Wo=(c,u,h,v,m,g,w,x,y)=>{let $=0;const O=u.length;let S=c.length-1,C=O-1;for(;$<=S&&$<=C;){const N=c[$],I=u[$]=y?qe(u[$]):Ne(u[$]);if(Dt(N,I))F(N,I,h,null,m,g,w,x,y);else break;$++}for(;$<=S&&$<=C;){const N=c[S],I=u[C]=y?qe(u[C]):Ne(u[C]);if(Dt(N,I))F(N,I,h,null,m,g,w,x,y);else break;S--,C--}if($>S){if($<=C){const N=C+1,I=NC)for(;$<=S;)Re(c[$],m,g,!0),$++;else{const N=$,I=$,K=new Map;for($=I;$<=C;$++){const $e=u[$]=y?qe(u[$]):Ne(u[$]);$e.key!=null&&K.set($e.key,$)}let B,te=0;const re=C-I+1;let De=!1,He=0;const Gt=new Array(re);for($=0;$=re){Re($e,m,g,!0);continue}let We;if($e.key!=null)We=K.get($e.key);else for(B=I;B<=C;B++)if(Gt[B-I]===0&&Dt($e,u[B])){We=B;break}We===void 0?Re($e,m,g,!0):(Gt[We-I]=$+1,We>=He?He=We:De=!0,F($e,u[We],h,null,m,g,w,x,y),te++)}const da=De?qr(Gt):rt;for(B=da.length-1,$=re-1;$>=0;$--){const $e=I+$,We=u[$e],pa=u[$e+1],ua=$e+1{const{el:g,type:w,transition:x,children:y,shapeFlag:$}=c;if($&6){at(c.component.subTree,u,h,v);return}if($&128){c.suspense.move(u,h,v);return}if($&64){w.move(c,u,h,qt);return}if(w===Y){n(g,u,h);for(let S=0;Sx.enter(g),m));else{const{leave:S,delayLeave:C,afterLeave:N}=x,I=()=>{c.ctx.isUnmounted?s(g):n(g,u,h)},K=()=>{const B=g._isLeaving||!!g[pn];g._isLeaving&&g[pn](!0),x.persisted&&!B?I():S(g,()=>{I(),N&&N()})};C?C(g,I,K):K()}else n(g,u,h)},Re=(c,u,h,v=!1,m=!1)=>{const{type:g,props:w,ref:x,children:y,dynamicChildren:$,shapeFlag:O,patchFlag:S,dirs:C,cacheIndex:N,memo:I}=c;if(S===-2&&(m=!1),x!=null&&(Le(),At(x,null,h,c,!0),Me()),N!=null&&(u.renderCache[N]=void 0),O&256){u.ctx.deactivate(c);return}const K=O&1&&C,B=!$t(c);let te;if(B&&(te=w&&w.onVnodeBeforeUnmount)&&Ee(te,u,c),O&6)Qp(c.component,h,v);else{if(O&128){c.suspense.unmount(h,v);return}K&&ot(c,null,u,"beforeUnmount"),O&64?c.type.remove(c,u,h,qt,v):$&&!$.hasOnce&&(g!==Y||S>0&&S&64)?Kt($,u,h,!1,!0):(g===Y&&S&384||!m&&O&16)&&Kt(y,u,h),v&&la(c)}const re=I!=null&&N==null;(B&&(te=w&&w.onVnodeUnmounted)||K||re)&&fe(()=>{te&&Ee(te,u,c),K&&ot(c,null,u,"unmounted"),re&&(c.el=null)},h)},la=c=>{const{type:u,el:h,anchor:v,transition:m}=c;if(u===Y){Zp(h,v);return}if(u===wn){P(c);return}const g=()=>{s(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:w,delayLeave:x}=m,y=()=>w(h,g);x?x(c.el,g,y):y()}else g()},Zp=(c,u)=>{let h;for(;c!==u;)h=k(c),s(c),c=h;s(u)},Qp=(c,u,h)=>{const{bum:v,scope:m,job:g,subTree:w,um:x,m:y,a:$}=c;ci(y),ci($),v&&to(v),m.stop(),g&&(g.flags|=8,Re(w,c,u,h)),x&&fe(x,u),fe(()=>{c.isUnmounted=!0},u)},Kt=(c,u,h,v=!1,m=!1,g=0)=>{for(let w=g;w{if(c.shapeFlag&6)return zo(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=k(c.anchor||c.el),h=u&&u[lr];return h?k(h):u};let Bn=!1;const ca=(c,u,h)=>{let v;c==null?u._vnode&&(Re(u._vnode,null,null,!0),v=u._vnode.component):F(u._vnode||null,c,u,null,null,null,h),u._vnode=c,Bn||(Bn=!0,Ls(v),Ms(),Bn=!1)},qt={p:F,um:Re,m:at,r:la,mt:Un,mc:Ze,pc:G,pbc:st,n:zo,o:e};return{render:ca,hydrate:void 0,createApp:Or(ca)}}function xn({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 nt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Kr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ri(e,t,o=!1){const n=e.children,s=t.children;if(A(n)&&A(s))for(let i=0;i>1,e[o[r]]0&&(t[n]=o[i-1]),o[i]=n)}}for(i=o.length,a=o[i-1];i-- >0;)o[i]=a,a=t[a];return o}function li(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:li(t)}function ci(e){if(e)for(let t=0;te.__isSuspense;function Gr(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):nr(e)}const Y=Symbol.for("v-fgt"),yo=Symbol.for("v-txt"),Pe=Symbol.for("v-cmt"),wn=Symbol.for("v-stc"),Ke=[];let ge=null;function L(e=!1){Ke.push(ge=e?null:[])}function Sn(){Ke.pop(),ge=Ke[Ke.length-1]||null}let It=1;function ui(e,t=!1){It+=e,e<0&&ge&&t&&(ge.hasOnce=!0)}function fi(e){return e.dynamicChildren=It>0?ge||rt:null,Sn(),It>0&&ge&&ge.push(e),e}function M(e,t,o,n,s,i){return fi(b(e,t,o,n,s,i,!0))}function Rt(e,t,o,n,s){return fi(ve(e,t,o,n,s,!0))}function Ln(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const hi=({key:e})=>e??null,xo=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?J(e)||ie(e)||E(e)?{i:ae,r:e,k:t,f:!!o}:e:null);function b(e,t=null,o=null,n=0,s=null,i=e===Y?0:1,a=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hi(t),ref:t&&xo(t),scopeId:Cs,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:i,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ae};return r?(wo(l,o),i&128&&e.normalize(l)):o&&(l.shapeFlag|=J(o)?8:16),It>0&&!a&&ge&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&ge.push(l),l}const ve=Yr;function Yr(e,t=null,o=null,n=0,s=null,i=!1){if((!e||e===_r)&&(e=Pe),Ln(e)){const r=bt(e,t,!0);return o&&wo(r,o),It>0&&!i&&ge&&(r.shapeFlag&6?ge[ge.indexOf(e)]=r:ge.push(r)),r.patchFlag=-2,r}if(rl(e)&&(e=e.__vccOpts),t){t=Jr(t);let{class:r,style:l}=t;r&&!J(r)&&(t.class=he(r)),z(l)&&(ln(l)&&!A(l)&&(l=Q({},l)),t.style=lt(l))}const a=J(e)?1:pi(e)?128:$o(e)?64:z(e)?4:E(e)?2:0;return b(e,t,o,n,s,a,i,!0)}function Jr(e){return e?ln(e)||ei(e)?Q({},e):e:null}function bt(e,t,o=!1,n=!1){const{props:s,ref:i,patchFlag:a,children:r,transition:l}=e,d=t?Xr(s||{},t):s,p={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&hi(d),ref:t&&t.ref?o&&i?A(i)?i.concat(xo(t)):[i,xo(t)]:xo(t):i,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!==Y?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bt(e.ssContent),ssFallback:e.ssFallback&&bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&un(p,l.clone(p)),p}function Ae(e=" ",t=0){return ve(yo,null,e,t)}function V(e="",t=!1){return t?(L(),Rt(Pe,null,e)):ve(Pe,null,e)}function Ne(e){return e==null||typeof e=="boolean"?ve(Pe):A(e)?ve(Y,null,e.slice()):Ln(e)?qe(e):ve(yo,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bt(e)}function wo(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(A(t))o=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),wo(e,s()),s._c&&(s._d=!0));return}else{o=32;const s=t._;!s&&!ei(t)?t._ctx=ae:s===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(E(t)){if(n&65){wo(e,{default:t});return}t={default:t,_ctx:ae},o=32}else t=String(t),n&64?(o=16,t=[Ae(t)]):o=8;e.children=t,e.shapeFlag|=o}function Xr(...e){const t={};for(let o=0;oce||ae;let So,Ht;{const e=oo(),t=(o,n)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(n),i=>{s.length>1?s.forEach(a=>a(i)):s[0](i)}};So=t("__VUE_INSTANCE_SETTERS__",o=>ce=o),Ht=t("__VUE_SSR_SETTERS__",o=>zt=o)}const Wt=e=>{const t=ce;return So(e),e.scope.on(),()=>{e.scope.off(),So(t)}},$i=()=>{ce&&ce.scope.off(),So(null)};function mi(e){return e.vnode.shapeFlag&4}let zt=!1;function tl(e,t=!1,o=!1){t&&Ht(t);const{props:n,children:s}=e.vnode,i=mi(e);Dr(e,n,i,t),Ur(e,s,o||t);const a=i?ol(e,t):void 0;return t&&Ht(!1),a}function ol(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,xr);const{setup:n}=o;if(n){Le();const s=e.setupContext=n.length>1?sl(e):null,i=Wt(e),a=pt(n,e,0,[e.props,s]),r=Kn(a);if(Me(),i(),(r||e.sp)&&!$t(e)&&Ns(e),r){if(a.then($i,$i),t)return a.then(l=>{Ht(!0);try{bi(e,l,t)}finally{Ht(!1)}}).catch(l=>{uo(l,e,0)});e.asyncDep=a}else bi(e,a)}else vi(e)}function bi(e,t,o){E(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)&&(e.setupState=_s(t)),vi(e)}function vi(e,t,o){const n=e.type;e.render||(e.render=n.render||we);{const s=Wt(e);Le();try{wr(e)}finally{Me(),s()}}}const nl={get(e,t){return le(e,"get",""),e[t]}};function sl(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,nl),slots:e.slots,emit:e.emit,expose:t}}function Lo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_s(Ba(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Et)return Et[o](e)},has(t,o){return o in t||o in Et}})):e.proxy}const il=/(?:^|[-_])\w/g,al=e=>e.replace(il,t=>t.toUpperCase()).replace(/[-_]/g,"");function ki(e,t=!0){return E(e)?e.displayName||e.name:e.name||t&&e.__name}function _i(e,t,o=!1){let n=ki(t);if(!n&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=i=>{for(const a in i)if(i[a]===t)return a};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?al(n):o?"App":"Anonymous"}function rl(e){return E(e)&&"__vccOpts"in e}const yi=(e,t)=>Ga(e,t,zt),ll="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ln;const xi=typeof window<"u"&&window.trustedTypes;if(xi)try{Ln=xi.createPolicy("vue",{createHTML:e=>e})}catch{}const wi=Ln?e=>Ln.createHTML(e):e=>e,cl="http://www.w3.org/2000/svg",dl="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,Si=Ge&&Ge.createElement("template"),pl={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const s=t==="svg"?Ge.createElementNS(cl,e):t==="mathml"?Ge.createElementNS(dl,e):o?Ge.createElement(e,{is:o}):Ge.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,s,i){const a=o?o.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===i||!(s=s.nextSibling)););else{Si.innerHTML=wi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const r=Si.content;if(n==="svg"||n==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ul=Symbol("_vtc");function fl(e,t,o){const n=e[ul];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Lo=Symbol("_vod"),Mi=Symbol("_vsh"),Tn={name:"show",beforeMount(e,{value:t},{transition:o}){e[Lo]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),zt(e,!0),n.enter(e)):n.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[Lo]:"none",e[Mi]=!t}const hl=Symbol(""),gl=/(?:^|;)\s*display\s*:/;function $l(e,t,o){const n=e.style,s=J(o);let i=!1;if(o&&!s){if(t)if(J(t))for(const a of t.split(";")){const r=a.slice(0,a.indexOf(":")).trim();o[r]==null&&Bt(n,r,"")}else for(const a in t)o[a]==null&&Bt(n,a,"");for(const a in o){a==="display"&&(i=!0);const r=o[a];r!=null?bl(e,a,!J(t)&&t?t[a]:void 0,r)||Bt(n,a,r):Bt(n,a,"")}}else if(s){if(t!==o){const a=n[hl];a&&(o+=";"+a),n.cssText=o,i=gl.test(o)}}else t&&e.removeAttribute("style");Lo in e&&(e[Lo]=i?n.display:"",e[Mi]&&(n.display="none"))}const To=/\s*!important$/;function Bt(e,t,o){if(A(o))o.forEach(n=>Bt(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))To.test(o)?e.setProperty(t,o.replace(To,""),"important"):e.setProperty(t,o);else{const n=ml(e,t);To.test(o)?e.setProperty(me(n),o.replace(To,""),"important"):e[n]=o}}const Li=["Webkit","Moz","ms"],Cn={};function ml(e,t){const o=Cn[t];if(o)return o;let n=ne(t);if(n!=="filter"&&n in e)return Cn[t]=n;n=eo(n);for(let s=0;sOn||(wl.then(()=>On=0),On=Date.now());function Ml(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const s=o.value;if(A(s)){const i=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0};const a=s.slice(),r=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ll=(e,t,o,n,s,i)=>{const a=s==="svg";t==="class"?fl(e,n,a):t==="style"?$l(e,o,n):Yt(t)?Jt(t)||kl(e,t,o,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tl(e,t,n,a))?(Oi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ci(e,t,n,a,i,t!=="value")):e._isVueCE&&(Cl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!J(n)))?Oi(e,ne(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Ci(e,t,n,a))};function Tl(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ai(t)&&E(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ai(t)&&J(o)?!1:t in e}function Cl(e,t){const o=e._def.props;if(!o)return!1;const n=ne(t);return Array.isArray(o)?o.some(s=>ne(s)===n):Object.keys(o).some(s=>ne(s)===n)}const Ni={};function Ol(e,t,o){let n=mo(e,t);Zt(n)&&(n=Q({},n,t));class s extends Pn{constructor(a){super(n,a,o)}}return s.def=n,s}const Pl=typeof HTMLElement<"u"?HTMLElement:class{};class Pn extends Pl{constructor(t,o={},n=Hi){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Hi?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Q({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Pn){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,ws(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:a}=n;let r;if(i&&!A(i))for(const l in i){const d=i[l];(d===Number||d&&d.type===Number)&&(l in this._props&&(this._props[l]=Yn(this._props[l])),(r||(r=Object.create(null)))[ne(l)]=!0)}this._numberProps=r,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)H(this,n)||Object.defineProperty(this,n,{get:()=>ks(o[n])})}_resolveProps(t){const{props:o}=t,n=A(o)?o:Object.keys(o||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.map(ne))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ni;const s=ne(t);o&&this._numberProps&&this._numberProps[s]&&(n=Yn(n)),this._setProp(s,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,s=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ni?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),s&&this._instance&&this._update(),n)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),o===!0?this.setAttribute(me(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(me(t),o+""):o||this.removeAttribute(me(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Il(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=ve(this._def,Q(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(i,a)=>{this.dispatchEvent(new CustomEvent(i,Zt(a[0])?Q({detail:a},a[0]):{detail:a}))};n.emit=(i,...a)=>{s(i,a),me(i)!==i&&s(me(i),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const s=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let r=null;for(let l=t.length-1;l>=0;l--){const d=document.createElement("style");s&&d.setAttribute("nonce",s),d.textContent=t[l],i.insertBefore(d,r||a),r=d,l===0&&(n||this._styleAnchors.set(this._def,d),o&&this._styleAnchors.set(o,d))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return A(t)?o=>to(t,o):t};function Al(e){e.target.composing=!0}function Fi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Co=Symbol("_assign"),Oo=Symbol("_initialValue");function An(e,t,o){return t&&(e=e.trim()),o&&(e=Ko(e)),e}const Nn={created(e,{modifiers:{lazy:t,trim:o,number:n}},s){e.parentNode&&(e.type==="text"?e[Oo]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Oo]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Co]=Ei(s);const i=n||s.props&&s.props.type==="number";vt(e,t?"change":"input",a=>{a.target.composing||e[Co](An(e.value,o,i))}),(o||i)&&vt(e,"change",()=>{e.value=An(e.value,o,i)}),t||(vt(e,"compositionstart",Al),vt(e,"compositionend",Fi),vt(e,"change",Fi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const s=t??"",i=e[Oo];delete e[Oo],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[Co](An(e.value,o,n)):e.value=s},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:s,number:i}},a){if(e[Co]=Ei(a),e.composing)return;const r=(i||e.type==="number")&&!/^0\d/.test(e.value)?Ko(e.value):e.value,l=t??"";if(r===l)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(n&&t===o||s&&e.value.trim()===l)||(e.value=l)}},Nl=["ctrl","shift","alt","meta"],El={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Nl.some(o=>e[`${o}Key`]&&!t.includes(o))},Ii=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(s,...i)=>{for(let a=0;a{Di().render(...e)},Hi=(...e)=>{const t=Di().createApp(...e),{mount:o}=t;return t.mount=n=>{const s=Dl(n);if(!s)return;const i=t._component;!E(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=o(s,!1,Rl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function Rl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dl(e){return J(e)?document.querySelector(e):e}const Hl={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",stageExperimental:"تجريبي","widget:rudder-voice/rudder-voice":"Rudder · تحويل الصوت إلى نص",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",mapboxToken:"رمز Mapbox",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox",hideHeader:"إخفاء الشريط العلوي",showHeader:"إظهار الشريط العلوي",elementsCount:"{n} عناصر",elements:"عناصر"},Wl={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",stageExperimental:"Experimentell","widget:rudder-voice/rudder-voice":"Rudder · Sprache zu Text",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",mapboxToken:"Mapbox-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token",hideHeader:"Kopfzeile ausblenden",showHeader:"Kopfzeile einblenden",elementsCount:"{n} Elemente",elements:"Elemente"},Ul={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voice to text",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",mapboxToken:"Mapbox token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token",hideHeader:"Hide header",showHeader:"Show header",elementsCount:"{n} elements",elements:"elements"},zl={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz a texto",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",mapboxToken:"Token de Mapbox",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox",hideHeader:"Ocultar encabezado",showHeader:"Mostrar encabezado",elementsCount:"{n} elementos",elements:"elementos"},Bl={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",stageExperimental:"Expérimental","widget:rudder-voice/rudder-voice":"Rudder · voix vers texte",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",mapboxToken:"Jeton Mapbox",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox",hideHeader:"Masquer l'en-tête",showHeader:"Afficher l'en-tête",elementsCount:"{n} éléments",elements:"éléments"},jl={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",stageExperimental:"प्रायोगिक","widget:rudder-voice/rudder-voice":"Rudder · आवाज़ से टेक्स्ट",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",mapboxToken:"Mapbox टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए",hideHeader:"हेडर छिपाएँ",showHeader:"हेडर दिखाएँ",elementsCount:"{n} तत्व",elements:"तत्व"},Vl={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",stageExperimental:"Sperimentale","widget:rudder-voice/rudder-voice":"Rudder · voce in testo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",mapboxToken:"Token Mapbox",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox",hideHeader:"Nascondi intestazione",showHeader:"Mostra intestazione",elementsCount:"{n} elementi",elements:"elementi"},Kl={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz para texto",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",mapboxToken:"Token do Mapbox",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox",hideHeader:"Ocultar cabeçalho",showHeader:"Mostrar cabeçalho",elementsCount:"{n} elementos",elements:"elementos"},ql={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voce în text",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",mapboxToken:"Token Mapbox",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox",hideHeader:"Ascunde antetul",showHeader:"Afișează antetul",elementsCount:"{n} elemente",elements:"elemente"},Gl={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",stageExperimental:"Экспериментальные","widget:rudder-voice/rudder-voice":"Rudder · голос в текст",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",mapboxToken:"Токен Mapbox",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox",hideHeader:"Скрыть заголовок",showHeader:"Показать заголовок",elementsCount:"{n} элементов",elements:"элементов"},Yl={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",stageExperimental:"实验性","widget:rudder-voice/rudder-voice":"Rudder · 语音转文字",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",mapboxToken:"Mapbox 令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌",hideHeader:"隐藏标题栏",showHeader:"显示标题栏",elementsCount:"{n} 个元素",elements:"元素"};function En(e,t){const o=gi(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:Xl(e));hn(()=>{var l;if(!o)return;const s=(l=o.proxy)==null?void 0:l.$el;if(!s)return;const i=s.getRootNode();if(!(i instanceof ShadowRoot))return;if(!i.querySelector('style[data-shadow-styles="reduced-motion"]')){const d=document.createElement("style");d.setAttribute("data-shadow-styles","reduced-motion"),d.textContent=Jl,i.appendChild(d)}const a=i.querySelector(`style[data-shadow-styles="${n}"]`);if(a){a.textContent!==e&&(a.textContent=e);return}const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,i.appendChild(r)})}const Jl=`@media (prefers-reduced-motion: reduce) { +**/let Mn;const xi=typeof window<"u"&&window.trustedTypes;if(xi)try{Mn=xi.createPolicy("vue",{createHTML:e=>e})}catch{}const wi=Mn?e=>Mn.createHTML(e):e=>e,cl="http://www.w3.org/2000/svg",dl="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,Si=Ge&&Ge.createElement("template"),pl={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const s=t==="svg"?Ge.createElementNS(cl,e):t==="mathml"?Ge.createElementNS(dl,e):o?Ge.createElement(e,{is:o}):Ge.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,s,i){const a=o?o.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===i||!(s=s.nextSibling)););else{Si.innerHTML=wi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const r=Si.content;if(n==="svg"||n==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ul=Symbol("_vtc");function fl(e,t,o){const n=e[ul];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Mo=Symbol("_vod"),Li=Symbol("_vsh"),Tn={name:"show",beforeMount(e,{value:t},{transition:o}){e[Mo]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ut(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Ut(e,!0),n.enter(e)):n.leave(e,()=>{Ut(e,!1)}):Ut(e,t))},beforeUnmount(e,{value:t}){Ut(e,t)}};function Ut(e,t){e.style.display=t?e[Mo]:"none",e[Li]=!t}const hl=Symbol(""),gl=/(?:^|;)\s*display\s*:/;function $l(e,t,o){const n=e.style,s=J(o);let i=!1;if(o&&!s){if(t)if(J(t))for(const a of t.split(";")){const r=a.slice(0,a.indexOf(":")).trim();o[r]==null&&Bt(n,r,"")}else for(const a in t)o[a]==null&&Bt(n,a,"");for(const a in o){a==="display"&&(i=!0);const r=o[a];r!=null?bl(e,a,!J(t)&&t?t[a]:void 0,r)||Bt(n,a,r):Bt(n,a,"")}}else if(s){if(t!==o){const a=n[hl];a&&(o+=";"+a),n.cssText=o,i=gl.test(o)}}else t&&e.removeAttribute("style");Mo in e&&(e[Mo]=i?n.display:"",e[Li]&&(n.display="none"))}const To=/\s*!important$/;function Bt(e,t,o){if(A(o))o.forEach(n=>Bt(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))To.test(o)?e.setProperty(t,o.replace(To,""),"important"):e.setProperty(t,o);else{const n=ml(e,t);To.test(o)?e.setProperty(me(n),o.replace(To,""),"important"):e[n]=o}}const Mi=["Webkit","Moz","ms"],Cn={};function ml(e,t){const o=Cn[t];if(o)return o;let n=ne(t);if(n!=="filter"&&n in e)return Cn[t]=n;n=eo(n);for(let s=0;sOn||(wl.then(()=>On=0),On=Date.now());function Ll(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const s=o.value;if(A(s)){const i=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0};const a=s.slice(),r=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ml=(e,t,o,n,s,i)=>{const a=s==="svg";t==="class"?fl(e,n,a):t==="style"?$l(e,o,n):Yt(t)?Jt(t)||kl(e,t,o,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tl(e,t,n,a))?(Oi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ci(e,t,n,a,i,t!=="value")):e._isVueCE&&(Cl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!J(n)))?Oi(e,ne(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Ci(e,t,n,a))};function Tl(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ai(t)&&E(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ai(t)&&J(o)?!1:t in e}function Cl(e,t){const o=e._def.props;if(!o)return!1;const n=ne(t);return Array.isArray(o)?o.some(s=>ne(s)===n):Object.keys(o).some(s=>ne(s)===n)}const Ni={};function Ol(e,t,o){let n=mo(e,t);Zt(n)&&(n=Q({},n,t));class s extends Pn{constructor(a){super(n,a,o)}}return s.def=n,s}const Pl=typeof HTMLElement<"u"?HTMLElement:class{};class Pn extends Pl{constructor(t,o={},n=Hi){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Hi?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Q({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Pn){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,ws(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:a}=n;let r;if(i&&!A(i))for(const l in i){const d=i[l];(d===Number||d&&d.type===Number)&&(l in this._props&&(this._props[l]=Yn(this._props[l])),(r||(r=Object.create(null)))[ne(l)]=!0)}this._numberProps=r,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)H(this,n)||Object.defineProperty(this,n,{get:()=>ks(o[n])})}_resolveProps(t){const{props:o}=t,n=A(o)?o:Object.keys(o||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.map(ne))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ni;const s=ne(t);o&&this._numberProps&&this._numberProps[s]&&(n=Yn(n)),this._setProp(s,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,s=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ni?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),s&&this._instance&&this._update(),n)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),o===!0?this.setAttribute(me(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(me(t),o+""):o||this.removeAttribute(me(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Il(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=ve(this._def,Q(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(i,a)=>{this.dispatchEvent(new CustomEvent(i,Zt(a[0])?Q({detail:a},a[0]):{detail:a}))};n.emit=(i,...a)=>{s(i,a),me(i)!==i&&s(me(i),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const s=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let r=null;for(let l=t.length-1;l>=0;l--){const d=document.createElement("style");s&&d.setAttribute("nonce",s),d.textContent=t[l],i.insertBefore(d,r||a),r=d,l===0&&(n||this._styleAnchors.set(this._def,d),o&&this._styleAnchors.set(o,d))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return A(t)?o=>to(t,o):t};function Al(e){e.target.composing=!0}function Fi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Co=Symbol("_assign"),Oo=Symbol("_initialValue");function An(e,t,o){return t&&(e=e.trim()),o&&(e=Ko(e)),e}const Nn={created(e,{modifiers:{lazy:t,trim:o,number:n}},s){e.parentNode&&(e.type==="text"?e[Oo]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Oo]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Co]=Ei(s);const i=n||s.props&&s.props.type==="number";vt(e,t?"change":"input",a=>{a.target.composing||e[Co](An(e.value,o,i))}),(o||i)&&vt(e,"change",()=>{e.value=An(e.value,o,i)}),t||(vt(e,"compositionstart",Al),vt(e,"compositionend",Fi),vt(e,"change",Fi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const s=t??"",i=e[Oo];delete e[Oo],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[Co](An(e.value,o,n)):e.value=s},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:s,number:i}},a){if(e[Co]=Ei(a),e.composing)return;const r=(i||e.type==="number")&&!/^0\d/.test(e.value)?Ko(e.value):e.value,l=t??"";if(r===l)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(n&&t===o||s&&e.value.trim()===l)||(e.value=l)}},Nl=["ctrl","shift","alt","meta"],El={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Nl.some(o=>e[`${o}Key`]&&!t.includes(o))},Ii=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(s,...i)=>{for(let a=0;a{Di().render(...e)},Hi=(...e)=>{const t=Di().createApp(...e),{mount:o}=t;return t.mount=n=>{const s=Dl(n);if(!s)return;const i=t._component;!E(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=o(s,!1,Rl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function Rl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dl(e){return J(e)?document.querySelector(e):e}const Hl={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",stageExperimental:"تجريبي","widget:rudder-voice/rudder-voice":"Rudder · تحويل الصوت إلى نص",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",mapboxToken:"رمز Mapbox",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox",hideHeader:"إخفاء الشريط العلوي",showHeader:"إظهار الشريط العلوي",elementsCount:"{n} عناصر",elements:"عناصر"},Wl={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",stageExperimental:"Experimentell","widget:rudder-voice/rudder-voice":"Rudder · Sprache zu Text",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",mapboxToken:"Mapbox-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token",hideHeader:"Kopfzeile ausblenden",showHeader:"Kopfzeile einblenden",elementsCount:"{n} Elemente",elements:"Elemente"},zl={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voice to text",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",mapboxToken:"Mapbox token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token",hideHeader:"Hide header",showHeader:"Show header",elementsCount:"{n} elements",elements:"elements"},Ul={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz a texto",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",mapboxToken:"Token de Mapbox",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox",hideHeader:"Ocultar encabezado",showHeader:"Mostrar encabezado",elementsCount:"{n} elementos",elements:"elementos"},Bl={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",stageExperimental:"Expérimental","widget:rudder-voice/rudder-voice":"Rudder · voix vers texte",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",mapboxToken:"Jeton Mapbox",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox",hideHeader:"Masquer l'en-tête",showHeader:"Afficher l'en-tête",elementsCount:"{n} éléments",elements:"éléments"},jl={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",stageExperimental:"प्रायोगिक","widget:rudder-voice/rudder-voice":"Rudder · आवाज़ से टेक्स्ट",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",mapboxToken:"Mapbox टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए",hideHeader:"हेडर छिपाएँ",showHeader:"हेडर दिखाएँ",elementsCount:"{n} तत्व",elements:"तत्व"},Vl={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",stageExperimental:"Sperimentale","widget:rudder-voice/rudder-voice":"Rudder · voce in testo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",mapboxToken:"Token Mapbox",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox",hideHeader:"Nascondi intestazione",showHeader:"Mostra intestazione",elementsCount:"{n} elementi",elements:"elementi"},Kl={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voz para texto",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",mapboxToken:"Token do Mapbox",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox",hideHeader:"Ocultar cabeçalho",showHeader:"Mostrar cabeçalho",elementsCount:"{n} elementos",elements:"elementos"},ql={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",stageExperimental:"Experimental","widget:rudder-voice/rudder-voice":"Rudder · voce în text",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",mapboxToken:"Token Mapbox",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox",hideHeader:"Ascunde antetul",showHeader:"Afișează antetul",elementsCount:"{n} elemente",elements:"elemente"},Gl={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",stageExperimental:"Экспериментальные","widget:rudder-voice/rudder-voice":"Rudder · голос в текст",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",mapboxToken:"Токен Mapbox",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox",hideHeader:"Скрыть заголовок",showHeader:"Показать заголовок",elementsCount:"{n} элементов",elements:"элементов"},Yl={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",stageExperimental:"实验性","widget:rudder-voice/rudder-voice":"Rudder · 语音转文字",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",mapboxToken:"Mapbox 令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌",hideHeader:"隐藏标题栏",showHeader:"显示标题栏",elementsCount:"{n} 个元素",elements:"元素"};function En(e,t){const o=gi(),n=t||(o&&o.type&&o.type.__hmrId?"hmr-"+o.type.__hmrId:Xl(e));hn(()=>{var l;if(!o)return;const s=(l=o.proxy)==null?void 0:l.$el;if(!s)return;const i=s.getRootNode();if(!(i instanceof ShadowRoot))return;if(!i.querySelector('style[data-shadow-styles="reduced-motion"]')){const d=document.createElement("style");d.setAttribute("data-shadow-styles","reduced-motion"),d.textContent=Jl,i.appendChild(d)}const a=i.querySelector(`style[data-shadow-styles="${n}"]`);if(a){a.textContent!==e&&(a.textContent=e);return}const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,i.appendChild(r)})}const Jl=`@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } -}`;function Xl(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},Ql=["aria-label","title"],ec=Po({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=vs(0),n=vs(!1);function s(){const d=t.target;if(!d){o.value=0,n.value=!1;return}o.value=d.scrollTop||0,n.value=(d.scrollHeight||0)-(d.clientHeight||0)>t.threshold}const i=_i(()=>n.value&&o.value>t.threshold);function a(){const d=t.target;if(!d)return;const p=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;d.scrollTo({top:0,behavior:p?"auto":"smooth"})}let r=null;function l(d){r&&(r.removeEventListener("scroll",s),r=null),d&&(d.addEventListener("scroll",s,{passive:!0}),r=d),s()}return hn(()=>l(t.target)),go(()=>t.target,d=>l(d)),Rs(()=>l(null)),(d,p)=>i.value?(M(),L("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:a},"↑",8,Ql)):V("",!0)}},[["styles",[Zl]],["__scopeId","data-v-6a25802e"]]),tc=Object.assign({"./locales/ar/buttons.json":{prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف",packetVariantAria:"تفاصيل حزمة الصلاة",packetFull:"تفاصيل كاملة",packetLightweight:"مختصرة",working:"جارٍ العمل…",postersPerRowAuto:"تلقائي"},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},"./locales/de/buttons.json":{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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile",packetVariantAria:"Detailgrad des Gebetspakets",packetFull:"Vollständig",packetLightweight:"Kompakt",working:"Wird bearbeitet…",postersPerRowAuto:"Automatisch"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},"./locales/en/buttons.json":{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",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",working:"Working…",packetVariantAria:"Prayer packet detail",packetFull:"Full detail",packetLightweight:"Lightweight",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row",postersPerRowAuto:"Auto"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},"./locales/es/buttons.json":{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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila",packetVariantAria:"Detalle del paquete de oración",packetFull:"Detalle completo",packetLightweight:"Ligero",working:"Procesando…",postersPerRowAuto:"Automático"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},"./locales/fr/buttons.json":{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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne",packetVariantAria:"Niveau de détail du dossier de prière",packetFull:"Détail complet",packetLightweight:"Allégé",working:"Traitement…",postersPerRowAuto:"Auto"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},"./locales/hi/buttons.json":{prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर",packetVariantAria:"प्रार्थना पैकेट विवरण",packetFull:"पूर्ण विवरण",packetLightweight:"संक्षिप्त",working:"कार्य जारी…",postersPerRowAuto:"स्वतः"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},"./locales/it/buttons.json":{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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga",packetVariantAria:"Dettaglio del pacchetto di preghiera",packetFull:"Dettaglio completo",packetLightweight:"Leggero",working:"Elaborazione…",postersPerRowAuto:"Automatico"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},"./locales/pt/buttons.json":{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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha",packetVariantAria:"Detalhe do pacote de oração",packetFull:"Detalhe completo",packetLightweight:"Leve",working:"Processando…",postersPerRowAuto:"Automático"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},"./locales/ro/buttons.json":{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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând",packetVariantAria:"Nivelul de detaliu al pachetului de rugăciune",packetFull:"Detaliu complet",packetLightweight:"Redus",working:"Se procesează…",postersPerRowAuto:"Automat"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},"./locales/ru/buttons.json":{prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду",packetVariantAria:"Детализация молитвенного пакета",packetFull:"Полная версия",packetLightweight:"Краткая версия",working:"Выполняется…",postersPerRowAuto:"Авто"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},"./locales/zh/buttons.json":{prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"祷告名单",cardDeck:"祷告卡组",printOptions:"打印选项",showOnMap:"在地图上显示",close:"关闭",showOnMapAria:"在地图上显示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把这张地图嵌入你的网站","列出你城市里的网站","教他们也嵌入这张地图","教他们去教别人嵌入","为耶稣让地图遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数",packetVariantAria:"祷告手册详细程度",packetFull:"完整版",packetLightweight:"精简版",working:"处理中…",postersPerRowAuto:"自动"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"}}),Xe={};for(const[e,t]of Object.entries(tc)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,s]=o;Xe[n]??(Xe[n]={}),Xe[n][s]=t}const Wi=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),Ui=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},Fn=new Map;let zi=null;function oc(e,t){const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!In.includes(o))return Promise.resolve(o==="en");if(Xe[o])return Promise.resolve(!0);if(Fn.has(o))return Fn.get(o).then(s=>s);if(!Ui[o])return Promise.resolve(!!Xe[o]);const n=(async()=>{var s,i;try{if(!Wi)return!1;const a=new URL(`locales/${o}.json`,Wi).href,r=await fetch(a,{integrity:Ui[o]});if(!r.ok)return!1;const l=await r.json();return!l||typeof l!="object"?!1:(Xe[o]=l,(i=(s=e==null?void 0:e.global)==null?void 0:s.setLocaleMessage)==null||i.call(s,o,l),!0)}catch{return!1}})();return Fn.set(o,n),n}const In=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function nc(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Bi(){var n;const e=nc();if(In.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return In.includes(o)?o:"en"}try{zi=oc(null,Bi())}catch{zi=null}const sc="__DOXA_PAGE_LOCALE",ic=["zero","one","two","few","many","other"];function ac(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const s=n.select(e),i=n.resolvedOptions().pluralCategories,a=ic.filter(l=>i.includes(l));let r=a.indexOf(s);if(r<0&&(r=a.indexOf("other")),r>=t){const l=a.indexOf("other");r=l>=0&&l[e,(t,o)=>ac(t,o,e)]));function rc(){try{return typeof window<"u"&&window[sc]||""}catch{return""}}function lc(e,t){const o=s=>{let i=Xe[s];for(const a of String(e).split(".")){if(!i||typeof i!="object")return;i=i[a]}return typeof i=="string"?i:void 0},n=rc()||Bi();return o(n)??o("en")}const ji={menu:'',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',folder:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function Vi(e,t=""){const o=ji[e]||ji.map;return``}const Ki="__dxMapsScriptRegistry1";function qi(){const e=typeof globalThis<"u"?globalThis:self;return e[Ki]||(e[Ki]={loaded:Object.create(null),owners:Object.create(null)})}function Gi(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function cc(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const a=document.createElement("script");a.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(a.type="module"),a.onload=()=>s(),a.onerror=()=>{delete o.loaded[n],i(new Error("failed to load "+e))},document.head.appendChild(a)}),o.loaded[n])}function dc(e,t){if(!e)return;const o=qi(),n=t?Gi(t):"";if(!n)return;const s=o.owners[e];if(!s){o.owners[e]=n;return}s!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+s+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function Yi(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function pc(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const uc=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",fc=(e,t)=>lc(e)||t,hc=e=>Rn(e);function gc(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const $c=` +}`;function Xl(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},Ql=["aria-label","title"],ec=Po({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=vs(0),n=vs(!1);function s(){const d=t.target;if(!d){o.value=0,n.value=!1;return}o.value=d.scrollTop||0,n.value=(d.scrollHeight||0)-(d.clientHeight||0)>t.threshold}const i=yi(()=>n.value&&o.value>t.threshold);function a(){const d=t.target;if(!d)return;const p=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;d.scrollTo({top:0,behavior:p?"auto":"smooth"})}let r=null;function l(d){r&&(r.removeEventListener("scroll",s),r=null),d&&(d.addEventListener("scroll",s,{passive:!0}),r=d),s()}return hn(()=>l(t.target)),go(()=>t.target,d=>l(d)),Rs(()=>l(null)),(d,p)=>i.value?(L(),M("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:a},"↑",8,Ql)):V("",!0)}},[["styles",[Zl]],["__scopeId","data-v-6a25802e"]]),tc=Object.assign({"./locales/ar/buttons.json":{prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف",packetVariantAria:"تفاصيل حزمة الصلاة",packetFull:"تفاصيل كاملة",packetLightweight:"مختصرة",working:"جارٍ العمل…",postersPerRowAuto:"تلقائي"},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},"./locales/de/buttons.json":{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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile",packetVariantAria:"Detailgrad des Gebetspakets",packetFull:"Vollständig",packetLightweight:"Kompakt",working:"Wird bearbeitet…",postersPerRowAuto:"Automatisch"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},"./locales/en/buttons.json":{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",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",working:"Working…",packetVariantAria:"Prayer packet detail",packetFull:"Full detail",packetLightweight:"Lightweight",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row",postersPerRowAuto:"Auto"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},"./locales/es/buttons.json":{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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila",packetVariantAria:"Detalle del paquete de oración",packetFull:"Detalle completo",packetLightweight:"Ligero",working:"Procesando…",postersPerRowAuto:"Automático"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},"./locales/fr/buttons.json":{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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne",packetVariantAria:"Niveau de détail du dossier de prière",packetFull:"Détail complet",packetLightweight:"Allégé",working:"Traitement…",postersPerRowAuto:"Auto"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},"./locales/hi/buttons.json":{prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर",packetVariantAria:"प्रार्थना पैकेट विवरण",packetFull:"पूर्ण विवरण",packetLightweight:"संक्षिप्त",working:"कार्य जारी…",postersPerRowAuto:"स्वतः"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},"./locales/it/buttons.json":{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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga",packetVariantAria:"Dettaglio del pacchetto di preghiera",packetFull:"Dettaglio completo",packetLightweight:"Leggero",working:"Elaborazione…",postersPerRowAuto:"Automatico"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},"./locales/pt/buttons.json":{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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha",packetVariantAria:"Detalhe do pacote de oração",packetFull:"Detalhe completo",packetLightweight:"Leve",working:"Processando…",postersPerRowAuto:"Automático"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},"./locales/ro/buttons.json":{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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând",packetVariantAria:"Nivelul de detaliu al pachetului de rugăciune",packetFull:"Detaliu complet",packetLightweight:"Redus",working:"Se procesează…",postersPerRowAuto:"Automat"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},"./locales/ru/buttons.json":{prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду",packetVariantAria:"Детализация молитвенного пакета",packetFull:"Полная версия",packetLightweight:"Краткая версия",working:"Выполняется…",postersPerRowAuto:"Авто"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},"./locales/zh/buttons.json":{prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"祷告名单",cardDeck:"祷告卡组",printOptions:"打印选项",showOnMap:"在地图上显示",close:"关闭",showOnMapAria:"在地图上显示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把这张地图嵌入你的网站","列出你城市里的网站","教他们也嵌入这张地图","教他们去教别人嵌入","为耶稣让地图遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数",packetVariantAria:"祷告手册详细程度",packetFull:"完整版",packetLightweight:"精简版",working:"处理中…",postersPerRowAuto:"自动"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"}}),Xe={};for(const[e,t]of Object.entries(tc)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,s]=o;Xe[n]??(Xe[n]={}),Xe[n][s]=t}const Wi=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),zi=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},Fn=new Map;let Ui=null;function oc(e,t){const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!In.includes(o))return Promise.resolve(o==="en");if(Xe[o])return Promise.resolve(!0);if(Fn.has(o))return Fn.get(o).then(s=>s);if(!zi[o])return Promise.resolve(!!Xe[o]);const n=(async()=>{var s,i;try{if(!Wi)return!1;const a=new URL(`locales/${o}.json`,Wi).href,r=await fetch(a,{integrity:zi[o]});if(!r.ok)return!1;const l=await r.json();return!l||typeof l!="object"?!1:(Xe[o]=l,(i=(s=e==null?void 0:e.global)==null?void 0:s.setLocaleMessage)==null||i.call(s,o,l),!0)}catch{return!1}})();return Fn.set(o,n),n}const In=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function nc(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Bi(){var n;const e=nc();if(In.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return In.includes(o)?o:"en"}try{Ui=oc(null,Bi())}catch{Ui=null}const sc="__DOXA_PAGE_LOCALE",ic=["zero","one","two","few","many","other"];function ac(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const s=n.select(e),i=n.resolvedOptions().pluralCategories,a=ic.filter(l=>i.includes(l));let r=a.indexOf(s);if(r<0&&(r=a.indexOf("other")),r>=t){const l=a.indexOf("other");r=l>=0&&l[e,(t,o)=>ac(t,o,e)]));function rc(){try{return typeof window<"u"&&window[sc]||""}catch{return""}}function lc(e,t){const o=s=>{let i=Xe[s];for(const a of String(e).split(".")){if(!i||typeof i!="object")return;i=i[a]}return typeof i=="string"?i:void 0},n=rc()||Bi();return o(n)??o("en")}const ji={menu:'',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',folder:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function Vi(e,t=""){const o=ji[e]||ji.map;return``}const Ki="__dxMapsScriptRegistry1";function qi(){const e=typeof globalThis<"u"?globalThis:self;return e[Ki]||(e[Ki]={loaded:Object.create(null),owners:Object.create(null)})}function Gi(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function cc(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const a=document.createElement("script");a.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(a.type="module"),a.onload=()=>s(),a.onerror=()=>{delete o.loaded[n],i(new Error("failed to load "+e))},document.head.appendChild(a)}),o.loaded[n])}function dc(e,t){if(!e)return;const o=qi(),n=t?Gi(t):"";if(!n)return;const s=o.owners[e];if(!s){o.owners[e]=n;return}s!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+s+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function Yi(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function pc(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const uc=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px)));transition:transform .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",fc=(e,t)=>lc(e)||t,hc=e=>Rn(e);function gc(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const $c=` .vtl { position:absolute; inset:0; display:grid !important; grid-template-rows:auto 1fr; height:100%; width:100%; min-height:420px; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --vtl-accent:#92b195; --vtl-border:#d1d4cd; --vtl-elevated:#ffffff; --vtl-accented:#d1d4cd; --vtl-muted:#6d766e; --vtl-rail:256px; } .vtl.no-header { grid-template-rows:1fr; } .vtl-top { flex:0 0 auto; display:flex; align-items:center; gap:10px; box-sizing:border-box; min-height:64px; padding:8px 16px; border-bottom:1px solid var(--vtl-border); background:#ffffff; } .vtl-menu { display:none; font:16px/1 system-ui; color:#3b463d; background:#d1d4cd; border:1px solid #d1d4cd; border-radius:8px; padding:5px 10px; cursor:pointer; } -.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } +.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px))); transition:transform .2s ease; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; } .vtl-fab:hover { background:#d1d4cd; } .vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; } .vtl-menu:hover { background:#d1d4cd; } @@ -149,7 +149,7 @@ @media (prefers-reduced-motion: reduce) { .vtl-nav, .vtl-collapse-ic, .vtl-tab, .vtl-tier, .vtl-fab, .vtl-scrim { transition: none !important; animation: none !important; } } -`,mc=mo({name:"VerticalTabsLayout",components:{BackToTopButton:ec},props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},labels:{type:Object,default:()=>({})},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){return En($c,"vertical-tabs-layout"),{T:fc}},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{},hostEls:{}}},computed:{fabShown(){return this.narrow&&!this.header&&!this.navOpen},activeHostEl(){return this.hostEls[this.active]||null},railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const o of t.rows||[])e.push(o);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},label(e){const t={toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse"};return this.labels&&this.labels[e]||t[e]},expandRail(){!this.narrow&&this.railCollapsed&&(this.railCollapsed=!1)},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(o=>o.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.$nextTick(()=>this.watchContextLoss(e)),this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},deepCanvases(e,t=[]){if(!e)return t;for(const o of e.querySelectorAll("*"))o.tagName==="CANVAS"&&t.push(o),o.shadowRoot&&this.deepCanvases(o.shadowRoot,t);return t},watchContextLoss(e){const t=this._hostSlots[e];if(t)for(const o of this.deepCanvases(t))o.__vtlLossBound||(o.__vtlLossBound=!0,o.addEventListener("webglcontextlost",()=>{this.hostState={...this.hostState,[e]:"lost"}},{once:!0}))},reloadHostElement(e){const t=this._hostSlots[e];t&&(t.innerHTML=""),this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"loading"},this.$nextTick(()=>this.mountHostElement(e))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(n=>n.key===e),o=this._hostSlots[e];!t||!o||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},hc(t.src).then(()=>gc(t.element)).then(()=>{dc(t.element,t.src),o.innerHTML="";const n=document.createElement(t.element),s=t.attrs||{};for(const i in s){const a=s[i],r=a!=null&&typeof a=="object"?JSON.stringify(a):String(a);try{n[i]=a}catch{}try{n.setAttribute(i,r)}catch{}}n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n);for(const i of[0,250,1500])setTimeout(()=>this.watchContextLoss(e),i);this.hostState={...this.hostState,[e]:"ready"}}).catch(n=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:n&&n.message||String(n)}}))},iconSvg(e){return e?Vi(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],o=(this.groups||[]).find(s=>s.key===e),n=t??(o&&o.open===!0);this.folderOverride={...this.folderOverride,[e]:!n}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const o=t.indexOf(this.active);let n=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")n=(o+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")n=(o-1+t.length)%t.length;else if(e.key==="Home")n=0;else if(e.key==="End")n=t.length-1;else return;e.preventDefault();const s=t[n];this.pick(s),this.$nextTick(()=>{const i=this._tabEls[s];i&&i.focus&&i.focus()})}}}),bc={key:0,class:"vtl-top"},vc=["aria-expanded","aria-label"],kc={class:"vtl-brand"},yc={class:"vtl-title"},_c={class:"vtl-meta"},xc=["aria-expanded","aria-label"],wc={class:"vtl-body"},Sc=["aria-label","aria-hidden","role","aria-orientation"],Mc=["aria-expanded","aria-label"],Lc=["innerHTML"],Tc={class:"vtl-collapse-tx"},Cc=["aria-expanded","onClick"],Oc={key:0,class:"vtl-cap"},Pc={class:"vtl-tl"},Ac={key:1,class:"vtl-td"},Nc=["innerHTML"],Ec={key:1,class:"vtl-tier"},Fc={key:0,class:"vtl-cap"},Ic={class:"vtl-tl"},Rc={key:1,class:"vtl-td"},Dc={class:"vtl-rows"},Hc=["aria-selected","aria-disabled","tabindex","onClick"],Wc=["innerHTML"],Uc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},zc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Bc={class:"vtl-tab-text"},jc={class:"vtl-tab-label"},Vc={key:0,class:"vtl-tab-badge"},Kc={key:0,class:"vtl-tab-sub"},qc=["innerHTML"],Gc=["aria-selected","aria-disabled","tabindex","onClick"],Yc=["innerHTML"],Jc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Xc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Zc={class:"vtl-tab-text"},Qc={class:"vtl-tab-label"},ed={key:0,class:"vtl-tab-sub"},td={class:"vtl-main"},od={class:"vtl-content"},nd=["hidden"],sd={key:0,class:"vtl-host-hint"},id={key:1,class:"vtl-host-hint"},ad=["onClick"],rd={key:2,class:"vtl-host-hint err"};function ld(e,t,o,n,s,i){const a=gn("BackToTopButton");return M(),L("div",{class:he(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}]),style:lt(e.fabShown?{"--map-fab-clearance":"calc(56px + env(safe-area-inset-bottom))","--map-fab-beside":"calc(64px + env(safe-area-inset-left))"}:null)},[e.header?(M(),L("header",bc,[b("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=r=>e.navOpen=!e.navOpen),"aria-label":e.label("toggleList")},"☰",8,vc),b("span",kc,[Nt(e.$slots,"brand")]),b("b",yc,T(e.title),1),b("span",_c,[Nt(e.$slots,"meta")])])):V("",!0),e.fabShown?(M(),L("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=r=>e.navOpen=!0),"aria-label":e.label("openViews")},"☰",8,xc)):V("",!0),e.narrow?(M(),Rt(a,{key:2,target:e.activeHostEl,labels:{backToTop:e.T("actions.backToTop","Back to top")}},null,8,["target","labels"])):V("",!0),b("div",wc,[b("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:e.$slots.rail?null:"tablist","aria-orientation":e.$slots.rail?null:"vertical"},[b("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?e.label("expandList"):e.label("collapseList"),onClick:t[2]||(t[2]=(...r)=>e.toggleRail&&e.toggleRail(...r))},[b("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,Lc),b("span",Tc,T(e.label("collapse")),1)],8,Mc),e.$slots.rail?Nt(e.$slots,"rail",{collapsed:e.railCollapsed&&!e.narrow,expand:e.expandRail,pick:e.pick},void 0,void 0,0):e.groups&&e.groups.length?(M(!0),L(Y,{key:1},Oe(e.groups,r=>(M(),L("div",{class:"vtl-grp",key:r.key},[r.folder?(M(),L("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(r)),onClick:l=>e.toggleFolder(r.key)},[r.badge?(M(),L("span",Oc,T(r.badge),1)):V("",!0),b("span",Pc,T(r.label),1),r.count!=null?(M(),L("span",Ac,T(r.count),1)):V("",!0),b("span",{class:he(["vtl-chev",{open:!e.isFolderClosed(r)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,Nc)],8,Cc)):(M(),L("div",Ec,[r.badge?(M(),L("span",Fc,T(r.badge),1)):V("",!0),b("span",Ic,T(r.label),1),r.count!=null?(M(),L("span",Rc,T(r.count),1)):V("",!0)])),gt(b("div",Dc,[(M(!0),L(Y,null,Oe(r.rows,l=>(M(),L("button",{key:l.key,type:"button",role:"tab",class:he(["vtl-tab",{active:l.key===e.active,disabled:l.disabled}]),"aria-selected":String(l.key===e.active),"aria-disabled":l.disabled?"true":null,tabindex:l.key===e.active?0:-1,ref_for:!0,ref:d=>e.registerTab(l.key,d),onClick:d=>e.pick(l.key),onKeydown:t[3]||(t[3]=d=>e.onKey(d))},[l.icon?(M(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Wc)):l.emoji?(M(),L("span",Uc,T(l.emoji),1)):(M(),L("span",zc,T(e.initial(l.label)),1)),b("span",Bc,[b("span",jc,[Ae(T(l.label),1),l.badge?(M(),L("span",Vc,T(l.badge),1)):V("",!0)]),l.sub?(M(),L("span",Kc,[b("span",{innerHTML:l.sub},null,8,qc)])):V("",!0)])],42,Hc))),128))],512),[[Tn,!r.folder||!e.isFolderClosed(r)]])]))),128)):(M(!0),L(Y,{key:2},Oe(e.items,r=>(M(),L("button",{key:r.key,type:"button",role:"tab",class:he(["vtl-tab",{active:r.key===e.active,disabled:r.disabled}]),"aria-selected":String(r.key===e.active),"aria-disabled":r.disabled?"true":null,tabindex:r.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(r.key,l),onClick:l=>e.pick(r.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[r.icon?(M(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Yc)):r.emoji?(M(),L("span",Jc,T(r.emoji),1)):(M(),L("span",Xc,T(e.initial(r.label)),1)),b("span",Zc,[b("span",Qc,T(r.label),1),r.sub?(M(),L("span",ed,T(r.sub),1)):V("",!0)])],42,Gc))),128))],8,Sc),b("main",td,[e.header?Nt(e.$slots,"toolbar",{},void 0,void 0,0):V("",!0),b("div",od,[(M(!0),L(Y,null,Oe(e.mountedElementRows,r=>gt((M(),L("section",{key:r.key,class:"vtl-host",hidden:r.key!==e.active,ref_for:!0,ref:l=>{l?e.hostEls[r.key]=l:delete e.hostEls[r.key]}},[b("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(r.key,l)},null,512),e.hostState[r.key]==="loading"?(M(),L("div",sd,T(e.T("messages.loadingNamed","Loading {name}…").replace("{name}",r.label)),1)):e.hostState[r.key]==="lost"?(M(),L("div",id,[Ae(T(e.T("messages.mapContextLost","This map was unloaded to free graphics memory."))+" ",1),b("button",{type:"button",class:"vtl-host-reload",onClick:l=>e.reloadHostElement(r.key)},T(e.T("buttons.reloadMap","Reload Map")),9,ad)])):e.hostState[r.key]==="error"?(M(),L("div",rd,[Ae(T(e.T("messages.couldNotLoadNamed","Could not load {name}.").replace("{name}",r.label)),1),t[5]||(t[5]=b("br",null,null,-1)),b("small",null,T(e.hostError[r.key]),1)])):V("",!0)],8,nd)),[[Tn,r.key===e.active]])),128)),Nt(e.$slots,"default")])])])],6)}const cd=Po(mc,[["render",ld],["styles",[uc]]]),dd='.st{display:flex;flex-direction:column;margin:0 -12px}.st-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff}.st-find{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1;color:#6d766e}.st-find:focus-within{border-color:#92b195;background:#fff}.st-find-ic{display:inline-flex}.st-find-ic svg{width:14px;height:14px}.st-find-in{flex:1 1 auto;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:13px;color:#3b463d}.st-tool{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:none;color:#6d766e;cursor:pointer}.st-tool:hover{background:#f3f3f1;color:#3b463d}.st-tool:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-tool svg{width:16px;height:16px}.st-tree{display:flex;flex-direction:column;padding:0 0 8px;outline:0}.st-row{position:relative;display:flex;align-items:center;gap:6px;height:28px;box-sizing:border-box;padding-block:0;padding-inline:calc(8px + var(--st-depth) * 14px) 10px;font-size:13px;color:#3b463d;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:0}.st-row:hover{background:#f3f3f1}.st-row:focus-visible{box-shadow:inset 0 0 0 1px #92b195}.st-row.active{background:#92b1953d}.st-row.active:after{content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:3px;border-start-end-radius:3px;border-end-end-radius:3px;background:#92b195}.st-row.alias.active{background:#92b1951f}.st-sec{position:sticky;top:46px;z-index:2;height:30px;margin-top:6px;background:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6d766e;border-top:1px solid #eceee9}.st-sec:first-child{margin-top:0;border-top:0}.st-sec:hover{background:#fff;color:#3b463d}.st-cap{flex:0 0 auto;font:700 10px/1 system-ui,sans-serif;letter-spacing:.3px;padding:3px 6px;border-radius:999px;background:#92b195;color:#1d2a1f}.st-sec-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-twisty,.st-twisty-sp{flex:0 0 16px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6d766e}.st-twisty svg{width:14px;height:14px;transition:transform .12s ease}.st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st:dir(rtl) .st-twisty svg{transform:scaleX(-1)}.st:dir(rtl) .st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st-ic{flex:0 0 16px;display:inline-flex;color:#6d766e}.st-ic svg{width:16px;height:16px}.st-row.active .st-ic{color:#5f8a63}.st-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-desc{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;font:11px/1 ui-monospace,Menlo,monospace;color:#8a928b}.st-part{flex:0 0 auto;font:600 9px/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;border:1px solid #92b195;border-radius:4px;color:#5f8a63}.st-count{flex:0 0 auto;margin-inline-start:auto;min-width:18px;text-align:right;font-size:11px;font-weight:500;letter-spacing:0;color:#6d766e}.st-guide{position:absolute;top:0;bottom:0;inset-inline-start:calc(15px + var(--st-g) * 14px);border-inline-start:1px solid #dfe2db;pointer-events:none}.st-row:hover>.st-guide{border-inline-start-color:#c4c8c0}.st-empty{margin:12px;font-size:13px;color:#6d766e}.st-activity{display:flex;flex-direction:column;gap:4px}.st-act{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:44px;margin-inline-start:172px;padding:0;border:0;border-radius:10px;background:none;color:#6d766e;cursor:pointer}.st-act:hover,.st-act.active{background:#f3f3f1;color:#3b463d}.st-act:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-act-ic{display:inline-flex}.st-act-ic svg{width:20px;height:20px}.st-act-n{position:absolute;right:6px;bottom:5px;font:700 9px/1 system-ui,sans-serif;color:#5f8a63}',pd='.st { display:flex; flex-direction:column; margin:0 -12px; }.st-bar { position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:6px; padding:8px 12px 8px; background:#ffffff; }.st-find { flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; border:1px solid #d1d4cd; border-radius:8px; background:#f3f3f1; color:#6d766e; }.st-find:focus-within { border-color:#92b195; background:#ffffff; }.st-find-ic { display:inline-flex; } .st-find-ic svg { width:14px; height:14px; }.st-find-in { flex:1 1 auto; min-width:0; border:0; outline:0; background:none; font:inherit; font-size:13px; color:#3b463d; }.st-tool { flex:0 0 auto; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:8px; background:none; color:#6d766e; cursor:pointer; }.st-tool:hover { background:#f3f3f1; color:#3b463d; } .st-tool:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-tool svg { width:16px; height:16px; }.st-tree { display:flex; flex-direction:column; padding:0 0 8px; outline:0; }.st-row { position:relative; display:flex; align-items:center; gap:6px; height:28px; box-sizing:border-box; padding-block:0; padding-inline:calc(8px + var(--st-depth) * 14px) 10px; font-size:13px; color:#3b463d; cursor:pointer; white-space:nowrap; user-select:none; outline:0; }.st-row:hover { background:#f3f3f1; }.st-row:focus-visible { box-shadow:inset 0 0 0 1px #92b195; }.st-row.active { background:rgba(146,177,149,.24); }.st-row.active::after { content:""; position:absolute; inset-inline-start:0; top:4px; bottom:4px; width:3px; border-start-end-radius:3px; border-end-end-radius:3px; background:#92b195; }.st-row.alias.active { background:rgba(146,177,149,.12); }.st-sec { position:sticky; top:46px; z-index:2; height:30px; margin-top:6px; background:#ffffff; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#6d766e; border-top:1px solid #eceee9; }.st-sec:first-child { margin-top:0; border-top:0; }.st-sec:hover { background:#ffffff; color:#3b463d; }.st-cap { flex:0 0 auto; font:700 10px/1 system-ui,sans-serif; letter-spacing:.3px; padding:3px 6px; border-radius:999px; background:#92b195; color:#1d2a1f; }.st-sec-label { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-twisty, .st-twisty-sp { flex:0 0 16px; width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; color:#6d766e; }.st-twisty svg { width:14px; height:14px; transition:transform .12s ease; }.st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st:dir(rtl) .st-twisty svg { transform:scaleX(-1); } .st:dir(rtl) .st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st-ic { flex:0 0 16px; display:inline-flex; color:#6d766e; } .st-ic svg { width:16px; height:16px; }.st-row.active .st-ic { color:#5f8a63; }.st-label { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-desc { flex:1 1 0; min-width:0; overflow:hidden; text-overflow:ellipsis; font:11px/1 ui-monospace,Menlo,monospace; color:#8a928b; }.st-part { flex:0 0 auto; font:600 9px/1 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.3px; padding:2px 4px; border:1px solid #92b195; border-radius:4px; color:#5f8a63; }.st-count { flex:0 0 auto; margin-inline-start:auto; min-width:18px; text-align:right; font-size:11px; font-weight:500; letter-spacing:0; color:#6d766e; }.st-guide { position:absolute; top:0; bottom:0; inset-inline-start:calc(15px + var(--st-g) * 14px); border-inline-start:1px solid #dfe2db; pointer-events:none; }.st-row:hover > .st-guide { border-inline-start-color:#c4c8c0; }.st-empty { margin:12px; font-size:13px; color:#6d766e; }.st-activity { display:flex; flex-direction:column; gap:4px; }.st-act { position:relative; display:flex; align-items:center; justify-content:center; width:48px; height:44px; margin-inline-start:172px; padding:0; border:0; border-radius:10px; background:none; color:#6d766e; cursor:pointer; }.st-act:hover, .st-act.active { background:#f3f3f1; color:#3b463d; }.st-act:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-act-ic { display:inline-flex; } .st-act-ic svg { width:20px; height:20px; }.st-act-n { position:absolute; right:6px; bottom:5px; font:700 9px/1 system-ui,sans-serif; color:#5f8a63; }',ud='',fd={filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",treeLabel:"Plugins by capability",openSection:"Open {cap}, {label}",part:"part"},hd='',Dn=e=>e.canonical!==void 0?!!e.canonical:e.depth===0,gd=e=>e.canonical!==void 0?!e.canonical&&!e.folder:e.depth>0,$d=mo({name:"StudioTree",props:{sections:{type:Array,default:()=>[]},active:{type:String,default:""},collapsed:{type:Boolean,default:!1},pick:{type:Function,default:null},expand:{type:Function,default:null},strings:{type:Object,default:()=>({})}},emits:["select"],setup(){En(pd,"studio-tree")},data(){const e=this.readState();return{query:"",focusId:"",secClosed:e.sec||{},nodeOpen:e.node||{},chev:hd,collapseAllSvg:ud}},computed:{byId(){const e=new Map;for(const t of this.sections)for(const o of t.nodes)e.set(o.id,o);return e},q(){return this.query.trim().toLowerCase()},kept(){if(!this.q)return null;const e=new Set;for(const t of this.sections)for(const o of t.nodes){if(!(o.label.toLowerCase().includes(this.q)||String(o.desc||"").toLowerCase().includes(this.q)))continue;e.add(o.id);let s=o.parent;for(;s;)e.add(s),s=this.byId.get(s)&&this.byId.get(s).parent}return e},visible(){const e=[];for(const t of this.sections){const o=this.kept?t.nodes.filter(n=>this.kept.has(n.id)):t.nodes;if(!(this.kept&&!o.length)&&(e.push({id:"sec:"+t.id,section:!0,sectionId:t.id,level:1,depth:0,expandable:!0,cap:t.cap,badge:t.badge||"CAP "+t.cap,label:t.label,title:t.title||"",count:t.nodes.filter(n=>n.depth===0).length}),!(!this.kept&&this.secClosed[t.id])))for(const n of o)!this.kept&&!this.ancestorsOpen(n)||e.push({...n,sectionId:t.id,level:n.depth+2,expandable:!!n.kids,alias:gd(n)})}return e},activeSectionId(){for(const e of this.sections)if(e.nodes.some(t=>Dn(t)&&t.target===this.active))return e.id;return""}},watch:{active:{handler(){this.reveal()},immediate:!0},sections(){this.reveal()},query(e){e&&this.visible.length&&(this.focusId=this.visible[0].id)}},methods:{svg(e){return e?Vi(e):""},str(e,t){let o=this.strings[e]||fd[e]||e;if(t)for(const n in t)o=o.split("{"+n+"}").join(String(t[n]));return o},storageKey(){return"dx-studio-tree:"+(typeof location<"u"&&location.pathname||"")},readState(){try{return JSON.parse(window.localStorage.getItem(this.storageKey())||"{}")||{}}catch{return{}}},saveState(){try{window.localStorage.setItem(this.storageKey(),JSON.stringify({sec:this.secClosed,node:this.nodeOpen}))}catch{}},ancestorsOpen(e){let t=e.parent;for(;t;){if(!this.nodeOpen[t])return!1;t=this.byId.get(t)&&this.byId.get(t).parent}return!0},isOpen(e){return this.kept?!0:e.section?!this.secClosed[e.sectionId]:!!this.nodeOpen[e.id]},setOpen(e,t){e.section?this.secClosed={...this.secClosed,[e.sectionId]:!t}:this.nodeOpen={...this.nodeOpen,[e.id]:t},this.saveState()},toggle(e){e.expandable&&this.setOpen(e,!this.isOpen(e))},collapseAll(){this.nodeOpen={},this.saveState();const e=this.visible.find(t=>!t.section&&t.target===this.active&&Dn(t));e&&(this.focusId=e.id)},rowClass(e){return{"st-row":!0,"st-sec":!!e.section,active:!e.section&&e.target===this.active,alias:!!e.alias}},setRow(e,t){this._rows||(this._rows={}),t?this._rows[e]=t:delete this._rows[e]},activate(e){if(e.section){this.toggle(e);return}e.target&&(this.pick?this.pick(e.target):this.$emit("select",e.target))},onRowClick(e){this.focusId=e.id,this.activate(e)},focusRow(e){e&&(this.focusId=e,this.$nextTick(()=>{const t=this._rows&&this._rows[e];t&&(t.focus({preventScroll:!0}),t.scrollIntoView({block:"nearest"}))}))},onTreeKey(e){const t=this.visible;if(!t.length)return;const o=Math.max(0,t.findIndex(i=>i.id===this.focusId)),n=t[o],s=i=>i.section?"":i.parent||"sec:"+i.sectionId;switch(e.key){case"ArrowDown":this.focusRow((t[o+1]||n).id);break;case"ArrowUp":this.focusRow((t[o-1]||n).id);break;case"Home":this.focusRow(t[0].id);break;case"End":this.focusRow(t[t.length-1].id);break;case"ArrowRight":if(!n.expandable)break;this.isOpen(n)?t[o+1]&&t[o+1].level>n.level&&this.focusRow(t[o+1].id):this.setOpen(n,!0);break;case"ArrowLeft":n.expandable&&this.isOpen(n)&&!this.kept?this.setOpen(n,!1):this.focusRow(s(n));break;case"Enter":case" ":this.activate(n);break;default:if(e.key.length===1&&/\S/.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey){const i=e.key.toLowerCase(),r=t.slice(o+1).concat(t.slice(0,o+1)).find(l=>String(l.label).toLowerCase().startsWith(i));r&&this.focusRow(r.id);break}return}e.preventDefault()},onFindKey(e){e.key==="Escape"?(this.query="",e.preventDefault()):e.key==="ArrowDown"&&this.visible.length&&(this.focusRow(this.visible[0].id),e.preventDefault())},reveal(){if(!this.active||!this.sections.length)return;let e=null;for(const t of this.sections)if(e=t.nodes.find(o=>Dn(o)&&o.target===this.active),e){this.secClosed[t.id]&&(this.secClosed={...this.secClosed,[t.id]:!1},this.saveState());break}if(e)for(let t=e.parent;t;){const o=this.byId.get(t);if(!o)break;if(o.target===this.active&&!this.nodeOpen[t]){e=o;break}t=o.parent}if(e){let t=e.parent,o=!1;for(;t;)this.nodeOpen[t]||(this.nodeOpen={...this.nodeOpen,[t]:!0},o=!0),t=this.byId.get(t)&&this.byId.get(t).parent;o&&this.saveState()}e&&((!this.focusId||!this.byId.has(this.focusId)||this.byId.get(this.focusId).target!==this.active)&&(this.focusId=e.id),this.$nextTick(()=>{const t=this._rows&&this._rows[e.id];t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest"})}))},openSectionFromActivity(e){this.secClosed[e]&&(this.secClosed={...this.secClosed,[e]:!1},this.saveState()),this.expand&&this.expand(),this.$nextTick(()=>this.focusRow("sec:"+e))}}}),md={key:0,class:"st-activity"},bd=["aria-label","onClick"],vd=["innerHTML"],kd={class:"st-act-n","aria-hidden":"true"},yd={key:1,class:"st"},_d={class:"st-bar"},xd={class:"st-find"},wd=["innerHTML"],Sd=["placeholder","aria-label"],Md=["aria-label","title"],Ld=["innerHTML"],Td=["aria-label"],Cd=["aria-level","aria-expanded","aria-selected","tabindex","title","onClick","onFocus"],Od=["innerHTML"],Pd={class:"st-cap"},Ad={class:"st-sec-label"},Nd={class:"st-count"},Ed=["innerHTML","onClick"],Fd={key:1,class:"st-twisty-sp","aria-hidden":"true"},Id=["innerHTML"],Rd={class:"st-label"},Dd={key:2,class:"st-part"},Hd={class:"st-desc"},Wd={key:3,class:"st-count"},Ud={key:0,class:"st-empty"};function zd(e,t,o,n,s,i){return e.collapsed?(M(),L("div",md,[(M(!0),L(Y,null,Oe(e.sections,a=>(M(),L("button",{key:a.id,type:"button",class:he(["st-act",{active:a.id===e.activeSectionId}]),"aria-label":e.str("openSection",{cap:a.badge||"CAP "+a.cap,label:a.label}),onClick:r=>e.openSectionFromActivity(a.id)},[b("span",{class:"st-act-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,vd),b("span",kd,T(a.short||a.cap),1)],10,bd))),128))])):(M(),L("div",yd,[b("div",_d,[b("label",xd,[b("span",{class:"st-find-ic","aria-hidden":"true",innerHTML:e.svg("search")},null,8,wd),gt(b("input",{ref:"find",type:"search",class:"st-find-in","onUpdate:modelValue":t[0]||(t[0]=a=>e.query=a),placeholder:e.str("filterPlaceholder"),"aria-label":e.str("filterPlaceholder"),onKeydown:t[1]||(t[1]=(...a)=>e.onFindKey&&e.onFindKey(...a))},null,40,Sd),[[Nn,e.query]])]),b("button",{type:"button",class:"st-tool","aria-label":e.str("collapseAll"),title:e.str("collapseAll"),onClick:t[2]||(t[2]=(...a)=>e.collapseAll&&e.collapseAll(...a))},[b("span",{"aria-hidden":"true",innerHTML:e.collapseAllSvg},null,8,Ld)],8,Md)]),b("div",{class:"st-tree",role:"tree","aria-label":e.str("treeLabel"),onKeydown:t[3]||(t[3]=(...a)=>e.onTreeKey&&e.onTreeKey(...a))},[(M(!0),L(Y,null,Oe(e.visible,a=>(M(),L("div",{key:a.id,ref_for:!0,ref:r=>e.setRow(a.id,r),role:"treeitem","aria-level":a.level,"aria-expanded":a.expandable?String(e.isOpen(a)):null,"aria-selected":a.section?null:String(a.target===e.active),tabindex:a.id===e.focusId?0:-1,class:he(e.rowClass(a)),style:lt({"--st-depth":a.depth}),title:a.title||null,onClick:r=>e.onRowClick(a),onFocus:r=>e.focusId=a.id},[a.section?(M(),L(Y,{key:0},[b("span",{class:"st-twisty","aria-hidden":"true",innerHTML:e.chev},null,8,Od),b("span",Pd,T(a.badge),1),b("span",Ad,T(a.label),1),b("span",Nd,T(a.count),1)],64)):(M(),L(Y,{key:1},[(M(!0),L(Y,null,Oe(a.depth,r=>(M(),L("span",{key:r,class:"st-guide",style:lt({"--st-g":r-1}),"aria-hidden":"true"},null,4))),128)),a.expandable?(M(),L("span",{key:0,class:"st-twisty","aria-hidden":"true",innerHTML:e.chev,onClick:Ii(r=>e.toggle(a),["stop"])},null,8,Ed)):(M(),L("span",Fd)),b("span",{class:"st-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,Id),b("span",Rd,T(a.label),1),a.part?(M(),L("span",Dd,T(e.str("part")),1)):V("",!0),b("span",Hd,T(a.desc),1),a.expandable?(M(),L("span",Wd,T(a.kids),1)):V("",!0)],64))],46,Cd))),128)),e.query&&!e.visible.length?(M(),L("p",Ud,T(e.str("noMatch",{query:e.query})),1)):V("",!0)],40,Td)]))}const Bd=Po($d,[["render",zd],["styles",[dd]]]),Ao=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",hideFromSwitcher:!0},{code:"ro",name:"Romanian",nativeName:"Română",flag:"🇷🇴",hideFromSwitcher:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",hideFromSwitcher:!0}];Ao.filter(e=>!e.hideFromSwitcher);function jd(e){return Ao.find(t=>t.code===e)}function Hn(e){const t=String(e||"").split("-")[0].toLowerCase();return Ao.some(o=>o.code===t)?t:"en"}const Ji="doxa-maps:locale";function Vd(){try{const e=localStorage.getItem(Ji);if(e)return Hn(e)}catch{}return Hn(navigator==null?void 0:navigator.language)}function Kd(e){try{localStorage.setItem(Ji,e)}catch{}}const No="__doxaMapToken",Xi="doxa:map-token",Zi="__doxaMapTokenBridge",jt=()=>{if(typeof window>"u")return"";const e=window[No];return typeof e=="string"?e:""};function Qi(e){if(typeof window>"u")return"";ea();const t=typeof e=="string"?e.trim():"";if(!t||t===jt())return jt();window[No]=t;try{window.dispatchEvent(new CustomEvent(Xi,{detail:t}))}catch{}return t}function qd(){var t;if(typeof window>"u")return;const e=jt()||typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN;if(ea(),window[No]="",!((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))try{window.MAP_TOKEN=""}catch{}if(e)try{window.dispatchEvent(new CustomEvent(Xi,{detail:""}))}catch{}}function ea(){var t;if(typeof window>"u"||window[Zi]&&((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!jt()&&(window[No]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return jt()},set(o){Qi(o)}}),window[Zi]=!0}catch{}}const Gd=":host{display:block;position:relative;height:var(--plugin-studio-height, 85vh);min-height:480px}:host([hidden]){display:none}.ps-logo{display:inline-flex;align-items:center}.ps-logo svg{display:block}.ps-count{color:#6d766e}.vtl-top{position:relative;z-index:3}.vtl-body{isolation:isolate}.ps-token{position:relative;display:inline-flex}.ps-show-header{position:fixed;top:8px;inset-inline-end:8px;z-index:2147483000;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d1d4cd;border-radius:999px;background:#fffffff0;color:#3b463d;font:600 12px system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 14px #0000002e}.ps-show-header:hover,.ps-show-header:focus-visible{background:#fff;outline:2px solid #92b195}.ps-hide-header-phone{display:none}@media (max-width:760px){.ps-hide-header-phone{display:inline-flex;position:fixed;top:6px;inset-inline-end:8px;z-index:4;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #d1d4cd;border-radius:var(--vtl-radius,8px);background:#d1d4cd;color:#3b463d;font:18px/1 system-ui,sans-serif;cursor:pointer}}.ps-token-dot{width:8px;height:8px;border-radius:50%;background:#b8bdb4}.ps-token-dot.is-yours,.ps-token-dot.is-url{background:#92b195}.ps-token-dot.is-built{background:#c9b36a}.ps-token-dot.is-none{background:#d27a6a}.ps-token-panel{position:absolute;top:100%;inset-inline-end:0;margin-top:4px;z-index:30;width:min(340px,90vw);display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000040;color:#3b463d;font-size:12px}.ps-token-label{display:flex;flex-direction:column;gap:4px}.ps-token-input{font:inherit;font-size:12px;padding:6px 8px;border:1px solid #d1d4cd;border-radius:7px;background:#f8f8f6;color:#3b463d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ps-token-row{display:flex;gap:8px}.ps-token-apply,.ps-token-clear{font:inherit;font-size:12px;padding:5px 12px;border-radius:7px;border:1px solid #d1d4cd;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-token-apply{background:#92b195;border-color:#92b195;color:#fff}.ps-token-apply:disabled{opacity:.6;cursor:progress}.ps-token-status{margin:0}.ps-token-head{margin:0;font-weight:600;font-size:12px}.ps-token-status.err{color:#b3412f}.ps-token-note{margin:0;color:#6d766e}.ps-locale{position:relative;display:inline-flex}.ps-locale-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;padding:4px 9px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-locale-btn:hover{background:#d1d4cd}.ps-flag{font-size:13px;line-height:1}.ps-locale-name{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-token-btn .ps-locale-name{max-width:none}.ps-dots{color:#6d766e}.ps-locale-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.ps-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.ps-locale-opt:hover,.ps-locale-opt.active{background:#d1d4cd;color:#3b463d}.ps-locale-opt.active .ps-locale-name{color:#92b195}.ps-locale-en{margin-left:auto;font-size:11px;color:#6d766e}.ps-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0}.ps-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-bar-t{flex:1 1 auto;min-width:0}.ps-bar-t b{font-size:15px;color:#3b463d}.ps-bar-sub{display:block;font-size:12px;color:#6d766e}.ps-btn{font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer;white-space:nowrap}.ps-btn:hover{background:#d1d4cd}.ps-embed{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1}.ps-embed label{font-size:12px;color:#6d766e;display:flex;justify-content:space-between;align-items:center}.ps-embed textarea{width:100%;height:58px;font:11px/1.35 ui-monospace,Menlo,monospace;border:1px solid #d1d4cd;border-radius:6px;background:#fff;color:#3b463d;padding:6px;resize:vertical}.ps-stage{position:absolute;top:10px;right:12px;bottom:12px;left:12px;border:1px solid #d1d4cd;border-radius:10px;overflow:hidden;background:#f3f3f1}.ps-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.ps-slot{position:relative;min-height:100%}.ps-slot>*{min-height:0;max-height:none}.ps-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.ps-hint.err{color:#f87171}.ps-hint small{color:#6d766e}",Eo="plugin-studio:mapbox-token",Fo="plugin-studio:mapbox-token-url",ta="plugin-studio:header-hidden",oa="plugin-studio:map-provider";function kt(e){try{return typeof window<"u"&&window.localStorage.getItem(e)||""}catch{return""}}function yt(e,t){try{t?window.localStorage.setItem(e,t):window.localStorage.removeItem(e)}catch{}}const Yd=` +`,mc=mo({name:"VerticalTabsLayout",components:{BackToTopButton:ec},props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},labels:{type:Object,default:()=>({})},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){return En($c,"vertical-tabs-layout"),{T:fc}},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{},hostEls:{},sheetLift:0}},computed:{fabShown(){return this.narrow&&!this.header&&!this.navOpen},fabLift(){return this.sheetLift},activeHostEl(){return this.hostEls[this.active]||null},railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const o of t.rows||[])e.push(o);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e),this.$nextTick(()=>this.recomputeLift())}}},mounted(){var e,t;try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=o=>{this.narrow=o.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active)),this._onSheet=o=>this.onLegendSheet(o),(e=this.$refs.vtlRoot)==null||e.addEventListener("dxmaps:legend-sheet",this._onSheet),this._onLiftMove=()=>{this._sheets&&this._sheets.size&&this.scheduleLift()},(t=this.$refs.vtlRoot)==null||t.addEventListener("scroll",this._onLiftMove,{capture:!0,passive:!0}),window.addEventListener("resize",this._onLiftMove,{passive:!0})},beforeUnmount(){var e,t,o;try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null,this._onSheet&&((e=this.$refs.vtlRoot)==null||e.removeEventListener("dxmaps:legend-sheet",this._onSheet)),this._onLiftMove&&((t=this.$refs.vtlRoot)==null||t.removeEventListener("scroll",this._onLiftMove,{capture:!0}),window.removeEventListener("resize",this._onLiftMove)),this._liftRaf&&cancelAnimationFrame(this._liftRaf),this._liftTimer&&clearTimeout(this._liftTimer),(o=this._sheetRO)==null||o.disconnect(),this._sheetRO=null,this._onSheet=null,this._onLiftMove=null,this._sheets=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},onLegendSheet(e){var n,s;const t=e.composedPath&&e.composedPath()[0]||e.target,o=e&&e.detail||{};this._sheets||(this._sheets=new Set),!this._sheetRO&&typeof ResizeObserver=="function"&&(this._sheetRO=new ResizeObserver(()=>this.scheduleLift())),o.state==="gone"?(this._sheets.delete(t),(n=this._sheetRO)==null||n.unobserve(t)):this._sheets.has(t)||(this._sheets.add(t),(s=this._sheetRO)==null||s.observe(t)),this.recomputeLift(),this.scheduleLift()},scheduleLift(){if(this._liftRaf||this._liftTimer)return;const e=()=>{this._liftRaf&&cancelAnimationFrame(this._liftRaf),this._liftTimer&&clearTimeout(this._liftTimer),this._liftRaf=0,this._liftTimer=0,this.recomputeLift()};this._liftRaf=requestAnimationFrame(e),this._liftTimer=setTimeout(e,100)},recomputeLift(){var o;const e=this.$refs.vtlRoot;let t=0;if(e&&this._sheets&&this._sheets.size){const n=e.getBoundingClientRect(),s=e.querySelector(".vtl-fab"),i=s?parseFloat(getComputedStyle(s).bottom)||0:12;for(const a of this._sheets){if(!a||!a.isConnected){this._sheets.delete(a),(o=this._sheetRO)==null||o.unobserve(a);continue}if(!this.isShown(a))continue;const r=a.getBoundingClientRect();r.height>0&&r.topn.top&&(t=Math.max(t,Math.round(n.bottom-i-r.top+8)))}}this.sheetLift=t},isShown(e){if(typeof e.checkVisibility=="function"&&!e.checkVisibility())return!1;for(let t=e;t;t=t.parentNode||t.host)if(t.nodeType===1&&(t.hasAttribute("hidden")||t.hasAttribute("inert")))return!1;return!0},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},label(e){const t={toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse"};return this.labels&&this.labels[e]||t[e]},expandRail(){!this.narrow&&this.railCollapsed&&(this.railCollapsed=!1)},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(o=>o.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.$nextTick(()=>this.watchContextLoss(e)),this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},deepCanvases(e,t=[]){if(!e)return t;for(const o of e.querySelectorAll("*"))o.tagName==="CANVAS"&&t.push(o),o.shadowRoot&&this.deepCanvases(o.shadowRoot,t);return t},watchContextLoss(e){const t=this._hostSlots[e];if(t)for(const o of this.deepCanvases(t))o.__vtlLossBound||(o.__vtlLossBound=!0,o.addEventListener("webglcontextlost",()=>{this.hostState={...this.hostState,[e]:"lost"}},{once:!0}))},reloadHostElement(e){const t=this._hostSlots[e];t&&(t.innerHTML=""),this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"loading"},this.$nextTick(()=>this.mountHostElement(e))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(n=>n.key===e),o=this._hostSlots[e];!t||!o||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},hc(t.src).then(()=>gc(t.element)).then(()=>{dc(t.element,t.src),o.innerHTML="";const n=document.createElement(t.element),s=t.attrs||{};for(const i in s){const a=s[i],r=a!=null&&typeof a=="object"?JSON.stringify(a):String(a);try{n[i]=a}catch{}try{n.setAttribute(i,r)}catch{}}n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n);for(const i of[0,250,1500])setTimeout(()=>this.watchContextLoss(e),i);this.hostState={...this.hostState,[e]:"ready"}}).catch(n=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:n&&n.message||String(n)}}))},iconSvg(e){return e?Vi(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],o=(this.groups||[]).find(s=>s.key===e),n=t??(o&&o.open===!0);this.folderOverride={...this.folderOverride,[e]:!n}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const o=t.indexOf(this.active);let n=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")n=(o+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")n=(o-1+t.length)%t.length;else if(e.key==="Home")n=0;else if(e.key==="End")n=t.length-1;else return;e.preventDefault();const s=t[n];this.pick(s),this.$nextTick(()=>{const i=this._tabEls[s];i&&i.focus&&i.focus()})}}}),bc={key:0,class:"vtl-top"},vc=["aria-expanded","aria-label"],kc={class:"vtl-brand"},_c={class:"vtl-title"},yc={class:"vtl-meta"},xc=["aria-expanded","aria-label"],wc={class:"vtl-body"},Sc=["aria-label","aria-hidden","role","aria-orientation"],Lc=["aria-expanded","aria-label"],Mc=["innerHTML"],Tc={class:"vtl-collapse-tx"},Cc=["aria-expanded","onClick"],Oc={key:0,class:"vtl-cap"},Pc={class:"vtl-tl"},Ac={key:1,class:"vtl-td"},Nc=["innerHTML"],Ec={key:1,class:"vtl-tier"},Fc={key:0,class:"vtl-cap"},Ic={class:"vtl-tl"},Rc={key:1,class:"vtl-td"},Dc={class:"vtl-rows"},Hc=["aria-selected","aria-disabled","tabindex","onClick"],Wc=["innerHTML"],zc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Uc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Bc={class:"vtl-tab-text"},jc={class:"vtl-tab-label"},Vc={key:0,class:"vtl-tab-badge"},Kc={key:0,class:"vtl-tab-sub"},qc=["innerHTML"],Gc=["aria-selected","aria-disabled","tabindex","onClick"],Yc=["innerHTML"],Jc={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Xc={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Zc={class:"vtl-tab-text"},Qc={class:"vtl-tab-label"},ed={key:0,class:"vtl-tab-sub"},td={class:"vtl-main"},od={class:"vtl-content"},nd=["hidden"],sd={key:0,class:"vtl-host-hint"},id={key:1,class:"vtl-host-hint"},ad=["onClick"],rd={key:2,class:"vtl-host-hint err"};function ld(e,t,o,n,s,i){const a=gn("BackToTopButton");return L(),M("div",{ref:"vtlRoot",class:he(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}]),style:lt(e.fabShown?{"--map-fab-clearance":"calc(56px + env(safe-area-inset-bottom) + "+e.fabLift+"px)","--map-fab-beside":"calc(64px + env(safe-area-inset-left))","--vtl-fab-lift":e.fabLift+"px",...e.fabLift>0?{"--map-fab-sheet-inset":"0px"}:{}}:null)},[e.header?(L(),M("header",bc,[b("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=r=>e.navOpen=!e.navOpen),"aria-label":e.label("toggleList")},"☰",8,vc),b("span",kc,[Nt(e.$slots,"brand")]),b("b",_c,T(e.title),1),b("span",yc,[Nt(e.$slots,"meta")])])):V("",!0),e.fabShown?(L(),M("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=r=>e.navOpen=!0),"aria-label":e.label("openViews")},"☰",8,xc)):V("",!0),e.narrow?(L(),Rt(a,{key:2,target:e.activeHostEl,labels:{backToTop:e.T("actions.backToTop","Back to top")}},null,8,["target","labels"])):V("",!0),b("div",wc,[b("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:e.$slots.rail?null:"tablist","aria-orientation":e.$slots.rail?null:"vertical"},[b("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?e.label("expandList"):e.label("collapseList"),onClick:t[2]||(t[2]=(...r)=>e.toggleRail&&e.toggleRail(...r))},[b("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,Mc),b("span",Tc,T(e.label("collapse")),1)],8,Lc),e.$slots.rail?Nt(e.$slots,"rail",{collapsed:e.railCollapsed&&!e.narrow,expand:e.expandRail,pick:e.pick},void 0,void 0,0):e.groups&&e.groups.length?(L(!0),M(Y,{key:1},Oe(e.groups,r=>(L(),M("div",{class:"vtl-grp",key:r.key},[r.folder?(L(),M("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(r)),onClick:l=>e.toggleFolder(r.key)},[r.badge?(L(),M("span",Oc,T(r.badge),1)):V("",!0),b("span",Pc,T(r.label),1),r.count!=null?(L(),M("span",Ac,T(r.count),1)):V("",!0),b("span",{class:he(["vtl-chev",{open:!e.isFolderClosed(r)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,Nc)],8,Cc)):(L(),M("div",Ec,[r.badge?(L(),M("span",Fc,T(r.badge),1)):V("",!0),b("span",Ic,T(r.label),1),r.count!=null?(L(),M("span",Rc,T(r.count),1)):V("",!0)])),gt(b("div",Dc,[(L(!0),M(Y,null,Oe(r.rows,l=>(L(),M("button",{key:l.key,type:"button",role:"tab",class:he(["vtl-tab",{active:l.key===e.active,disabled:l.disabled}]),"aria-selected":String(l.key===e.active),"aria-disabled":l.disabled?"true":null,tabindex:l.key===e.active?0:-1,ref_for:!0,ref:d=>e.registerTab(l.key,d),onClick:d=>e.pick(l.key),onKeydown:t[3]||(t[3]=d=>e.onKey(d))},[l.icon?(L(),M("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Wc)):l.emoji?(L(),M("span",zc,T(l.emoji),1)):(L(),M("span",Uc,T(e.initial(l.label)),1)),b("span",Bc,[b("span",jc,[Ae(T(l.label),1),l.badge?(L(),M("span",Vc,T(l.badge),1)):V("",!0)]),l.sub?(L(),M("span",Kc,[b("span",{innerHTML:l.sub},null,8,qc)])):V("",!0)])],42,Hc))),128))],512),[[Tn,!r.folder||!e.isFolderClosed(r)]])]))),128)):(L(!0),M(Y,{key:2},Oe(e.items,r=>(L(),M("button",{key:r.key,type:"button",role:"tab",class:he(["vtl-tab",{active:r.key===e.active,disabled:r.disabled}]),"aria-selected":String(r.key===e.active),"aria-disabled":r.disabled?"true":null,tabindex:r.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(r.key,l),onClick:l=>e.pick(r.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[r.icon?(L(),M("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Yc)):r.emoji?(L(),M("span",Jc,T(r.emoji),1)):(L(),M("span",Xc,T(e.initial(r.label)),1)),b("span",Zc,[b("span",Qc,T(r.label),1),r.sub?(L(),M("span",ed,T(r.sub),1)):V("",!0)])],42,Gc))),128))],8,Sc),b("main",td,[e.header?Nt(e.$slots,"toolbar",{},void 0,void 0,0):V("",!0),b("div",od,[(L(!0),M(Y,null,Oe(e.mountedElementRows,r=>gt((L(),M("section",{key:r.key,class:"vtl-host",hidden:r.key!==e.active,ref_for:!0,ref:l=>{l?e.hostEls[r.key]=l:delete e.hostEls[r.key]}},[b("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(r.key,l)},null,512),e.hostState[r.key]==="loading"?(L(),M("div",sd,T(e.T("messages.loadingNamed","Loading {name}…").replace("{name}",r.label)),1)):e.hostState[r.key]==="lost"?(L(),M("div",id,[Ae(T(e.T("messages.mapContextLost","This map was unloaded to free graphics memory."))+" ",1),b("button",{type:"button",class:"vtl-host-reload",onClick:l=>e.reloadHostElement(r.key)},T(e.T("buttons.reloadMap","Reload Map")),9,ad)])):e.hostState[r.key]==="error"?(L(),M("div",rd,[Ae(T(e.T("messages.couldNotLoadNamed","Could not load {name}.").replace("{name}",r.label)),1),t[5]||(t[5]=b("br",null,null,-1)),b("small",null,T(e.hostError[r.key]),1)])):V("",!0)],8,nd)),[[Tn,r.key===e.active]])),128)),Nt(e.$slots,"default")])])])],6)}const cd=Po(mc,[["render",ld],["styles",[uc]]]),dd='.st{display:flex;flex-direction:column;margin:0 -12px}.st-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff}.st-find{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1;color:#6d766e}.st-find:focus-within{border-color:#92b195;background:#fff}.st-find-ic{display:inline-flex}.st-find-ic svg{width:14px;height:14px}.st-find-in{flex:1 1 auto;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:13px;color:#3b463d}.st-tool{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:none;color:#6d766e;cursor:pointer}.st-tool:hover{background:#f3f3f1;color:#3b463d}.st-tool:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-tool svg{width:16px;height:16px}.st-tree{display:flex;flex-direction:column;padding:0 0 8px;outline:0}.st-row{position:relative;display:flex;align-items:center;gap:6px;height:28px;box-sizing:border-box;padding-block:0;padding-inline:calc(8px + var(--st-depth) * 14px) 10px;font-size:13px;color:#3b463d;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:0}.st-row:hover{background:#f3f3f1}.st-row:focus-visible{box-shadow:inset 0 0 0 1px #92b195}.st-row.active{background:#92b1953d}.st-row.active:after{content:"";position:absolute;inset-inline-start:0;top:4px;bottom:4px;width:3px;border-start-end-radius:3px;border-end-end-radius:3px;background:#92b195}.st-row.alias.active{background:#92b1951f}.st-sec{position:sticky;top:46px;z-index:2;height:30px;margin-top:6px;background:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6d766e;border-top:1px solid #eceee9}.st-sec:first-child{margin-top:0;border-top:0}.st-sec:hover{background:#fff;color:#3b463d}.st-cap{flex:0 0 auto;font:700 10px/1 system-ui,sans-serif;letter-spacing:.3px;padding:3px 6px;border-radius:999px;background:#92b195;color:#1d2a1f}.st-sec-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-twisty,.st-twisty-sp{flex:0 0 16px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:#6d766e}.st-twisty svg{width:14px;height:14px;transition:transform .12s ease}.st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st:dir(rtl) .st-twisty svg{transform:scaleX(-1)}.st:dir(rtl) .st-row[aria-expanded=true]>.st-twisty svg{transform:rotate(90deg)}.st-ic{flex:0 0 16px;display:inline-flex;color:#6d766e}.st-ic svg{width:16px;height:16px}.st-row.active .st-ic{color:#5f8a63}.st-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.st-desc{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;font:11px/1 ui-monospace,Menlo,monospace;color:#8a928b}.st-part{flex:0 0 auto;font:600 9px/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.3px;padding:2px 4px;border:1px solid #92b195;border-radius:4px;color:#5f8a63}.st-count{flex:0 0 auto;margin-inline-start:auto;min-width:18px;text-align:right;font-size:11px;font-weight:500;letter-spacing:0;color:#6d766e}.st-guide{position:absolute;top:0;bottom:0;inset-inline-start:calc(15px + var(--st-g) * 14px);border-inline-start:1px solid #dfe2db;pointer-events:none}.st-row:hover>.st-guide{border-inline-start-color:#c4c8c0}.st-empty{margin:12px;font-size:13px;color:#6d766e}.st-activity{display:flex;flex-direction:column;gap:4px}.st-act{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:44px;margin-inline-start:172px;padding:0;border:0;border-radius:10px;background:none;color:#6d766e;cursor:pointer}.st-act:hover,.st-act.active{background:#f3f3f1;color:#3b463d}.st-act:focus-visible{outline:2px solid #92b195;outline-offset:-2px}.st-act-ic{display:inline-flex}.st-act-ic svg{width:20px;height:20px}.st-act-n{position:absolute;right:6px;bottom:5px;font:700 9px/1 system-ui,sans-serif;color:#5f8a63}',pd='.st { display:flex; flex-direction:column; margin:0 -12px; }.st-bar { position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:6px; padding:8px 12px 8px; background:#ffffff; }.st-find { flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; border:1px solid #d1d4cd; border-radius:8px; background:#f3f3f1; color:#6d766e; }.st-find:focus-within { border-color:#92b195; background:#ffffff; }.st-find-ic { display:inline-flex; } .st-find-ic svg { width:14px; height:14px; }.st-find-in { flex:1 1 auto; min-width:0; border:0; outline:0; background:none; font:inherit; font-size:13px; color:#3b463d; }.st-tool { flex:0 0 auto; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:8px; background:none; color:#6d766e; cursor:pointer; }.st-tool:hover { background:#f3f3f1; color:#3b463d; } .st-tool:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-tool svg { width:16px; height:16px; }.st-tree { display:flex; flex-direction:column; padding:0 0 8px; outline:0; }.st-row { position:relative; display:flex; align-items:center; gap:6px; height:28px; box-sizing:border-box; padding-block:0; padding-inline:calc(8px + var(--st-depth) * 14px) 10px; font-size:13px; color:#3b463d; cursor:pointer; white-space:nowrap; user-select:none; outline:0; }.st-row:hover { background:#f3f3f1; }.st-row:focus-visible { box-shadow:inset 0 0 0 1px #92b195; }.st-row.active { background:rgba(146,177,149,.24); }.st-row.active::after { content:""; position:absolute; inset-inline-start:0; top:4px; bottom:4px; width:3px; border-start-end-radius:3px; border-end-end-radius:3px; background:#92b195; }.st-row.alias.active { background:rgba(146,177,149,.12); }.st-sec { position:sticky; top:46px; z-index:2; height:30px; margin-top:6px; background:#ffffff; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#6d766e; border-top:1px solid #eceee9; }.st-sec:first-child { margin-top:0; border-top:0; }.st-sec:hover { background:#ffffff; color:#3b463d; }.st-cap { flex:0 0 auto; font:700 10px/1 system-ui,sans-serif; letter-spacing:.3px; padding:3px 6px; border-radius:999px; background:#92b195; color:#1d2a1f; }.st-sec-label { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-twisty, .st-twisty-sp { flex:0 0 16px; width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; color:#6d766e; }.st-twisty svg { width:14px; height:14px; transition:transform .12s ease; }.st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st:dir(rtl) .st-twisty svg { transform:scaleX(-1); } .st:dir(rtl) .st-row[aria-expanded="true"] > .st-twisty svg { transform:rotate(90deg); }.st-ic { flex:0 0 16px; display:inline-flex; color:#6d766e; } .st-ic svg { width:16px; height:16px; }.st-row.active .st-ic { color:#5f8a63; }.st-label { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.st-desc { flex:1 1 0; min-width:0; overflow:hidden; text-overflow:ellipsis; font:11px/1 ui-monospace,Menlo,monospace; color:#8a928b; }.st-part { flex:0 0 auto; font:600 9px/1 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.3px; padding:2px 4px; border:1px solid #92b195; border-radius:4px; color:#5f8a63; }.st-count { flex:0 0 auto; margin-inline-start:auto; min-width:18px; text-align:right; font-size:11px; font-weight:500; letter-spacing:0; color:#6d766e; }.st-guide { position:absolute; top:0; bottom:0; inset-inline-start:calc(15px + var(--st-g) * 14px); border-inline-start:1px solid #dfe2db; pointer-events:none; }.st-row:hover > .st-guide { border-inline-start-color:#c4c8c0; }.st-empty { margin:12px; font-size:13px; color:#6d766e; }.st-activity { display:flex; flex-direction:column; gap:4px; }.st-act { position:relative; display:flex; align-items:center; justify-content:center; width:48px; height:44px; margin-inline-start:172px; padding:0; border:0; border-radius:10px; background:none; color:#6d766e; cursor:pointer; }.st-act:hover, .st-act.active { background:#f3f3f1; color:#3b463d; }.st-act:focus-visible { outline:2px solid #92b195; outline-offset:-2px; }.st-act-ic { display:inline-flex; } .st-act-ic svg { width:20px; height:20px; }.st-act-n { position:absolute; right:6px; bottom:5px; font:700 9px/1 system-ui,sans-serif; color:#5f8a63; }',ud='',fd={filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",treeLabel:"Plugins by capability",openSection:"Open {cap}, {label}",part:"part"},hd='',Dn=e=>e.canonical!==void 0?!!e.canonical:e.depth===0,gd=e=>e.canonical!==void 0?!e.canonical&&!e.folder:e.depth>0,$d=mo({name:"StudioTree",props:{sections:{type:Array,default:()=>[]},active:{type:String,default:""},collapsed:{type:Boolean,default:!1},pick:{type:Function,default:null},expand:{type:Function,default:null},strings:{type:Object,default:()=>({})}},emits:["select"],setup(){En(pd,"studio-tree")},data(){const e=this.readState();return{query:"",focusId:"",secClosed:e.sec||{},nodeOpen:e.node||{},chev:hd,collapseAllSvg:ud}},computed:{byId(){const e=new Map;for(const t of this.sections)for(const o of t.nodes)e.set(o.id,o);return e},q(){return this.query.trim().toLowerCase()},kept(){if(!this.q)return null;const e=new Set;for(const t of this.sections)for(const o of t.nodes){if(!(o.label.toLowerCase().includes(this.q)||String(o.desc||"").toLowerCase().includes(this.q)))continue;e.add(o.id);let s=o.parent;for(;s;)e.add(s),s=this.byId.get(s)&&this.byId.get(s).parent}return e},visible(){const e=[];for(const t of this.sections){const o=this.kept?t.nodes.filter(n=>this.kept.has(n.id)):t.nodes;if(!(this.kept&&!o.length)&&(e.push({id:"sec:"+t.id,section:!0,sectionId:t.id,level:1,depth:0,expandable:!0,cap:t.cap,badge:t.badge||"CAP "+t.cap,label:t.label,title:t.title||"",count:t.nodes.filter(n=>n.depth===0).length}),!(!this.kept&&this.secClosed[t.id])))for(const n of o)!this.kept&&!this.ancestorsOpen(n)||e.push({...n,sectionId:t.id,level:n.depth+2,expandable:!!n.kids,alias:gd(n)})}return e},activeSectionId(){for(const e of this.sections)if(e.nodes.some(t=>Dn(t)&&t.target===this.active))return e.id;return""}},watch:{active:{handler(){this.reveal()},immediate:!0},sections(){this.reveal()},query(e){e&&this.visible.length&&(this.focusId=this.visible[0].id)}},methods:{svg(e){return e?Vi(e):""},str(e,t){let o=this.strings[e]||fd[e]||e;if(t)for(const n in t)o=o.split("{"+n+"}").join(String(t[n]));return o},storageKey(){return"dx-studio-tree:"+(typeof location<"u"&&location.pathname||"")},readState(){try{return JSON.parse(window.localStorage.getItem(this.storageKey())||"{}")||{}}catch{return{}}},saveState(){try{window.localStorage.setItem(this.storageKey(),JSON.stringify({sec:this.secClosed,node:this.nodeOpen}))}catch{}},ancestorsOpen(e){let t=e.parent;for(;t;){if(!this.nodeOpen[t])return!1;t=this.byId.get(t)&&this.byId.get(t).parent}return!0},isOpen(e){return this.kept?!0:e.section?!this.secClosed[e.sectionId]:!!this.nodeOpen[e.id]},setOpen(e,t){e.section?this.secClosed={...this.secClosed,[e.sectionId]:!t}:this.nodeOpen={...this.nodeOpen,[e.id]:t},this.saveState()},toggle(e){e.expandable&&this.setOpen(e,!this.isOpen(e))},collapseAll(){this.nodeOpen={},this.saveState();const e=this.visible.find(t=>!t.section&&t.target===this.active&&Dn(t));e&&(this.focusId=e.id)},rowClass(e){return{"st-row":!0,"st-sec":!!e.section,active:!e.section&&e.target===this.active,alias:!!e.alias}},setRow(e,t){this._rows||(this._rows={}),t?this._rows[e]=t:delete this._rows[e]},activate(e){if(e.section){this.toggle(e);return}e.target&&(this.pick?this.pick(e.target):this.$emit("select",e.target))},onRowClick(e){this.focusId=e.id,this.activate(e)},focusRow(e){e&&(this.focusId=e,this.$nextTick(()=>{const t=this._rows&&this._rows[e];t&&(t.focus({preventScroll:!0}),t.scrollIntoView({block:"nearest"}))}))},onTreeKey(e){const t=this.visible;if(!t.length)return;const o=Math.max(0,t.findIndex(i=>i.id===this.focusId)),n=t[o],s=i=>i.section?"":i.parent||"sec:"+i.sectionId;switch(e.key){case"ArrowDown":this.focusRow((t[o+1]||n).id);break;case"ArrowUp":this.focusRow((t[o-1]||n).id);break;case"Home":this.focusRow(t[0].id);break;case"End":this.focusRow(t[t.length-1].id);break;case"ArrowRight":if(!n.expandable)break;this.isOpen(n)?t[o+1]&&t[o+1].level>n.level&&this.focusRow(t[o+1].id):this.setOpen(n,!0);break;case"ArrowLeft":n.expandable&&this.isOpen(n)&&!this.kept?this.setOpen(n,!1):this.focusRow(s(n));break;case"Enter":case" ":this.activate(n);break;default:if(e.key.length===1&&/\S/.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey){const i=e.key.toLowerCase(),r=t.slice(o+1).concat(t.slice(0,o+1)).find(l=>String(l.label).toLowerCase().startsWith(i));r&&this.focusRow(r.id);break}return}e.preventDefault()},onFindKey(e){e.key==="Escape"?(this.query="",e.preventDefault()):e.key==="ArrowDown"&&this.visible.length&&(this.focusRow(this.visible[0].id),e.preventDefault())},reveal(){if(!this.active||!this.sections.length)return;let e=null;for(const t of this.sections)if(e=t.nodes.find(o=>Dn(o)&&o.target===this.active),e){this.secClosed[t.id]&&(this.secClosed={...this.secClosed,[t.id]:!1},this.saveState());break}if(e)for(let t=e.parent;t;){const o=this.byId.get(t);if(!o)break;if(o.target===this.active&&!this.nodeOpen[t]){e=o;break}t=o.parent}if(e){let t=e.parent,o=!1;for(;t;)this.nodeOpen[t]||(this.nodeOpen={...this.nodeOpen,[t]:!0},o=!0),t=this.byId.get(t)&&this.byId.get(t).parent;o&&this.saveState()}e&&((!this.focusId||!this.byId.has(this.focusId)||this.byId.get(this.focusId).target!==this.active)&&(this.focusId=e.id),this.$nextTick(()=>{const t=this._rows&&this._rows[e.id];t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest"})}))},openSectionFromActivity(e){this.secClosed[e]&&(this.secClosed={...this.secClosed,[e]:!1},this.saveState()),this.expand&&this.expand(),this.$nextTick(()=>this.focusRow("sec:"+e))}}}),md={key:0,class:"st-activity"},bd=["aria-label","onClick"],vd=["innerHTML"],kd={class:"st-act-n","aria-hidden":"true"},_d={key:1,class:"st"},yd={class:"st-bar"},xd={class:"st-find"},wd=["innerHTML"],Sd=["placeholder","aria-label"],Ld=["aria-label","title"],Md=["innerHTML"],Td=["aria-label"],Cd=["aria-level","aria-expanded","aria-selected","tabindex","title","onClick","onFocus"],Od=["innerHTML"],Pd={class:"st-cap"},Ad={class:"st-sec-label"},Nd={class:"st-count"},Ed=["innerHTML","onClick"],Fd={key:1,class:"st-twisty-sp","aria-hidden":"true"},Id=["innerHTML"],Rd={class:"st-label"},Dd={key:2,class:"st-part"},Hd={class:"st-desc"},Wd={key:3,class:"st-count"},zd={key:0,class:"st-empty"};function Ud(e,t,o,n,s,i){return e.collapsed?(L(),M("div",md,[(L(!0),M(Y,null,Oe(e.sections,a=>(L(),M("button",{key:a.id,type:"button",class:he(["st-act",{active:a.id===e.activeSectionId}]),"aria-label":e.str("openSection",{cap:a.badge||"CAP "+a.cap,label:a.label}),onClick:r=>e.openSectionFromActivity(a.id)},[b("span",{class:"st-act-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,vd),b("span",kd,T(a.short||a.cap),1)],10,bd))),128))])):(L(),M("div",_d,[b("div",yd,[b("label",xd,[b("span",{class:"st-find-ic","aria-hidden":"true",innerHTML:e.svg("search")},null,8,wd),gt(b("input",{ref:"find",type:"search",class:"st-find-in","onUpdate:modelValue":t[0]||(t[0]=a=>e.query=a),placeholder:e.str("filterPlaceholder"),"aria-label":e.str("filterPlaceholder"),onKeydown:t[1]||(t[1]=(...a)=>e.onFindKey&&e.onFindKey(...a))},null,40,Sd),[[Nn,e.query]])]),b("button",{type:"button",class:"st-tool","aria-label":e.str("collapseAll"),title:e.str("collapseAll"),onClick:t[2]||(t[2]=(...a)=>e.collapseAll&&e.collapseAll(...a))},[b("span",{"aria-hidden":"true",innerHTML:e.collapseAllSvg},null,8,Md)],8,Ld)]),b("div",{class:"st-tree",role:"tree","aria-label":e.str("treeLabel"),onKeydown:t[3]||(t[3]=(...a)=>e.onTreeKey&&e.onTreeKey(...a))},[(L(!0),M(Y,null,Oe(e.visible,a=>(L(),M("div",{key:a.id,ref_for:!0,ref:r=>e.setRow(a.id,r),role:"treeitem","aria-level":a.level,"aria-expanded":a.expandable?String(e.isOpen(a)):null,"aria-selected":a.section?null:String(a.target===e.active),tabindex:a.id===e.focusId?0:-1,class:he(e.rowClass(a)),style:lt({"--st-depth":a.depth}),title:a.title||null,onClick:r=>e.onRowClick(a),onFocus:r=>e.focusId=a.id},[a.section?(L(),M(Y,{key:0},[b("span",{class:"st-twisty","aria-hidden":"true",innerHTML:e.chev},null,8,Od),b("span",Pd,T(a.badge),1),b("span",Ad,T(a.label),1),b("span",Nd,T(a.count),1)],64)):(L(),M(Y,{key:1},[(L(!0),M(Y,null,Oe(a.depth,r=>(L(),M("span",{key:r,class:"st-guide",style:lt({"--st-g":r-1}),"aria-hidden":"true"},null,4))),128)),a.expandable?(L(),M("span",{key:0,class:"st-twisty","aria-hidden":"true",innerHTML:e.chev,onClick:Ii(r=>e.toggle(a),["stop"])},null,8,Ed)):(L(),M("span",Fd)),b("span",{class:"st-ic","aria-hidden":"true",innerHTML:e.svg(a.icon)},null,8,Id),b("span",Rd,T(a.label),1),a.part?(L(),M("span",Dd,T(e.str("part")),1)):V("",!0),b("span",Hd,T(a.desc),1),a.expandable?(L(),M("span",Wd,T(a.kids),1)):V("",!0)],64))],46,Cd))),128)),e.query&&!e.visible.length?(L(),M("p",zd,T(e.str("noMatch",{query:e.query})),1)):V("",!0)],40,Td)]))}const Bd=Po($d,[["render",Ud],["styles",[dd]]]),Ao=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",hideFromSwitcher:!0},{code:"ro",name:"Romanian",nativeName:"Română",flag:"🇷🇴",hideFromSwitcher:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",hideFromSwitcher:!0}];Ao.filter(e=>!e.hideFromSwitcher);function jd(e){return Ao.find(t=>t.code===e)}function Hn(e){const t=String(e||"").split("-")[0].toLowerCase();return Ao.some(o=>o.code===t)?t:"en"}const Ji="doxa-maps:locale";function Vd(){try{const e=localStorage.getItem(Ji);if(e)return Hn(e)}catch{}return Hn(navigator==null?void 0:navigator.language)}function Kd(e){try{localStorage.setItem(Ji,e)}catch{}}const No="__doxaMapToken",Xi="doxa:map-token",Zi="__doxaMapTokenBridge",jt=()=>{if(typeof window>"u")return"";const e=window[No];return typeof e=="string"?e:""};function Qi(e){if(typeof window>"u")return"";ea();const t=typeof e=="string"?e.trim():"";if(!t||t===jt())return jt();window[No]=t;try{window.dispatchEvent(new CustomEvent(Xi,{detail:t}))}catch{}return t}function qd(){var t;if(typeof window>"u")return;const e=jt()||typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN;if(ea(),window[No]="",!((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))try{window.MAP_TOKEN=""}catch{}if(e)try{window.dispatchEvent(new CustomEvent(Xi,{detail:""}))}catch{}}function ea(){var t;if(typeof window>"u"||window[Zi]&&((t=Object.getOwnPropertyDescriptor(window,"MAP_TOKEN"))!=null&&t.get))return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!jt()&&(window[No]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return jt()},set(o){Qi(o)}}),window[Zi]=!0}catch{}}const Gd=":host{display:block;position:relative;height:var(--plugin-studio-height, 85vh);min-height:480px}:host([hidden]){display:none}.ps-logo{display:inline-flex;align-items:center}.ps-logo svg{display:block}.ps-count{color:#6d766e}.vtl-top{position:relative;z-index:3}.vtl-body{isolation:isolate}.ps-token{position:relative;display:inline-flex}.ps-show-header{position:fixed;top:8px;inset-inline-end:8px;z-index:2147483000;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d1d4cd;border-radius:999px;background:#fffffff0;color:#3b463d;font:600 12px system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 14px #0000002e}.ps-show-header:hover,.ps-show-header:focus-visible{background:#fff;outline:2px solid #92b195}.ps-hide-header-phone{display:none}@media (max-width:760px){.ps-hide-header-phone{display:inline-flex;position:fixed;top:6px;inset-inline-end:8px;z-index:4;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #d1d4cd;border-radius:var(--vtl-radius,8px);background:#d1d4cd;color:#3b463d;font:18px/1 system-ui,sans-serif;cursor:pointer}}.ps-token-dot{width:8px;height:8px;border-radius:50%;background:#b8bdb4}.ps-token-dot.is-yours,.ps-token-dot.is-url{background:#92b195}.ps-token-dot.is-built{background:#c9b36a}.ps-token-dot.is-none{background:#d27a6a}.ps-token-panel{position:absolute;top:100%;inset-inline-end:0;margin-top:4px;z-index:30;width:min(340px,90vw);display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000040;color:#3b463d;font-size:12px}.ps-token-label{display:flex;flex-direction:column;gap:4px}.ps-token-input{font:inherit;font-size:12px;padding:6px 8px;border:1px solid #d1d4cd;border-radius:7px;background:#f8f8f6;color:#3b463d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ps-token-row{display:flex;gap:8px}.ps-token-apply,.ps-token-clear{font:inherit;font-size:12px;padding:5px 12px;border-radius:7px;border:1px solid #d1d4cd;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-token-apply{background:#92b195;border-color:#92b195;color:#fff}.ps-token-apply:disabled{opacity:.6;cursor:progress}.ps-token-status{margin:0}.ps-token-head{margin:0;font-weight:600;font-size:12px}.ps-token-status.err{color:#b3412f}.ps-token-note{margin:0;color:#6d766e}.ps-locale{position:relative;display:inline-flex}.ps-locale-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;padding:4px 9px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-locale-btn:hover{background:#d1d4cd}.ps-flag{font-size:13px;line-height:1}.ps-locale-name{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-token-btn .ps-locale-name{max-width:none}.ps-dots{color:#6d766e}.ps-locale-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.ps-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.ps-locale-opt:hover,.ps-locale-opt.active{background:#d1d4cd;color:#3b463d}.ps-locale-opt.active .ps-locale-name{color:#92b195}.ps-locale-en{margin-left:auto;font-size:11px;color:#6d766e}.ps-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0}.ps-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-bar-t{flex:1 1 auto;min-width:0}.ps-bar-t b{font-size:15px;color:#3b463d}.ps-bar-sub{display:block;font-size:12px;color:#6d766e}.ps-btn{font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer;white-space:nowrap}.ps-btn:hover{background:#d1d4cd}.ps-embed{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1}.ps-embed label{font-size:12px;color:#6d766e;display:flex;justify-content:space-between;align-items:center}.ps-embed textarea{width:100%;height:58px;font:11px/1.35 ui-monospace,Menlo,monospace;border:1px solid #d1d4cd;border-radius:6px;background:#fff;color:#3b463d;padding:6px;resize:vertical}.ps-stage{position:absolute;top:10px;right:12px;bottom:12px;left:12px;border:1px solid #d1d4cd;border-radius:10px;overflow:hidden;background:#f3f3f1}.ps-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.ps-slot{position:relative;min-height:100%}.ps-slot>*{min-height:0;max-height:none}.ps-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.ps-hint.err{color:#f87171}.ps-hint small{color:#6d766e}",Eo="plugin-studio:mapbox-token",Fo="plugin-studio:mapbox-token-url",ta="plugin-studio:header-hidden",oa="plugin-studio:map-provider";function kt(e){try{return typeof window<"u"&&window.localStorage.getItem(e)||""}catch{return""}}function _t(e,t){try{t?window.localStorage.setItem(e,t):window.localStorage.removeItem(e)}catch{}}const Yd=` :host { display:block; position:relative; height:var(--plugin-studio-height, 85vh); min-height:480px; } :host([hidden]) { display:none; } .ps-logo { display:inline-flex; align-items:center; } @@ -207,7 +207,7 @@ .ps-hint { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:#6d766e; font-size:13px; padding:20px; } .ps-hint.err { color:#f87171; } .ps-hint small { color:#6d766e; } -`,Jd={5:"App shell · nested-mfe-spa",4:"Composite element",3:"Multi-view element",2:"Preset element",1:"Single element"},na={"nested-mfe-spa":0,"nested-elements-mfe":1,monolithic:2,parameterized:3,single:4},Xd=e=>na[e]!=null?5-na[e]:1,Zd={5:"nested-mfe-spa",4:"nested-elements-mfe",3:"monolithic",2:"parameterized",1:"single"},Wn={5:"monitor",4:"tree",3:"layers",2:"grid",1:"embed"},sa=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid","gospel-internet-board"]),ia=new Set(["big-picture"]),Io={};for(const[e,t]of Object.entries(Object.assign({"../../library/i18n/locales/ar/studio.json":Hl,"../../library/i18n/locales/de/studio.json":Wl,"../../library/i18n/locales/en/studio.json":Ul,"../../library/i18n/locales/es/studio.json":zl,"../../library/i18n/locales/fr/studio.json":Bl,"../../library/i18n/locales/hi/studio.json":jl,"../../library/i18n/locales/it/studio.json":Vl,"../../library/i18n/locales/pt/studio.json":Kl,"../../library/i18n/locales/ro/studio.json":ql,"../../library/i18n/locales/ru/studio.json":Gl,"../../library/i18n/locales/zh/studio.json":Yl}))){const o=e.match(/locales\/([^/]+)\/studio\.json$/);o&&(Io[o[1]]=t)}const aa={},Un=e=>String(e).split(/[-_]+/).filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" ");function Qd(e,t){const o=e+"/"+t.profile;if(aa[o])return aa[o];const n=typeof t.label=="string"?t.label.replace(/\s*\([^()]*\)\s*$/,"").trim():"";return n||(t.profile===e?Un(e):Un(e)+" · "+Un(t.profile))}const ep=` +`,Jd={5:"App shell · nested-mfe-spa",4:"Composite element",3:"Multi-view element",2:"Preset element",1:"Single element"},na={"nested-mfe-spa":0,"nested-elements-mfe":1,monolithic:2,parameterized:3,single:4},Xd=e=>na[e]!=null?5-na[e]:1,Zd={5:"nested-mfe-spa",4:"nested-elements-mfe",3:"monolithic",2:"parameterized",1:"single"},Wn={5:"monitor",4:"tree",3:"layers",2:"grid",1:"embed"},sa=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid","gospel-internet-board"]),ia=new Set(["big-picture"]),Io={};for(const[e,t]of Object.entries(Object.assign({"../../library/i18n/locales/ar/studio.json":Hl,"../../library/i18n/locales/de/studio.json":Wl,"../../library/i18n/locales/en/studio.json":zl,"../../library/i18n/locales/es/studio.json":Ul,"../../library/i18n/locales/fr/studio.json":Bl,"../../library/i18n/locales/hi/studio.json":jl,"../../library/i18n/locales/it/studio.json":Vl,"../../library/i18n/locales/pt/studio.json":Kl,"../../library/i18n/locales/ro/studio.json":ql,"../../library/i18n/locales/ru/studio.json":Gl,"../../library/i18n/locales/zh/studio.json":Yl}))){const o=e.match(/locales\/([^/]+)\/studio\.json$/);o&&(Io[o[1]]=t)}const aa={},zn=e=>String(e).split(/[-_]+/).filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" ");function Qd(e,t){const o=e+"/"+t.profile;if(aa[o])return aa[o];const n=typeof t.label=="string"?t.label.replace(/\s*\([^()]*\)\s*$/,"").trim():"";return n||(t.profile===e?zn(e):zn(e)+" · "+zn(t.profile))}const ep=` [data-studio-widgets]{position:fixed;z-index:2147483647;display:flex;flex-direction:column;gap:10px;pointer-events:none} [data-studio-widgets] > *{pointer-events:auto} [data-studio-widgets="bottom-right"]{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));align-items:flex-end} @@ -242,4 +242,4 @@ [data-widget-panel]{width:calc(100vw - 16px);max-width:none;height:60vh;height:60dvh} [data-widget-bubble]{max-width:calc(100vw - 16px)} [data-widget-bubble][data-listening="true"]{width:min(300px,calc(100vw - 16px));min-width:min(300px,calc(100vw - 16px));max-width:min(300px,calc(100vw - 16px))} -}`,tp=''+''+""+''+"",op=mo({name:"PluginStudio",inheritAttrs:!1,components:{VerticalTabsLayout:cd,StudioTree:Bd},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},provider:{type:String,default:""},heading:{type:String,default:""},tokenUrl:{type:String,default:""},tk:{type:String,default:""}},setup(){return En(Yd,"plugin-studio"),{injectedBase:Pt("psTreeBase","")}},data(){return{activeKey:"",embedOpen:!1,locale:this.initialLocale(),localeOpen:!1,settingsOpen:!1,headerHidden:kt(ta)==="1",engineOpen:!1,userProvider:kt(oa),tokenBusy:!1,tokenErr:"",tokenDraft:kt(Eo),urlDraft:kt(Fo),userTk:kt(Eo),userTokenUrl:kt(Fo),fetchedTk:"",bakedTk:"",hostProvider:"",switcherLangs:Ao,rows:[],manifestBundles:[]}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},flatRows(){return this.rows},groups(){const e={};for(const t of this.rows)(e[t.cap]=e[t.cap]||[]).push(t);return[5,4,3,2,1].filter(t=>e[t]&&e[t].length).map(t=>({cap:t,label:Jd[t]||"capability "+t,rows:e[t]}))},treeSections(){const e=new Map(this.compositionTrees.map(s=>[s.nodes[0].selects,s])),t=new Map;for(const s of this.rows)t.has(s.bundle)||t.set(s.bundle,[]),t.get(s.bundle).push(s);const o=[...t.entries()].map(([s,i])=>({bundle:s,rows:i,cap:Math.max(...i.map(a=>a.cap))}));return[5,4,3,2,1].map(s=>({cap:s,group:o.filter(i=>i.cap===s).sort((i,a)=>i.bundle.localeCompare(a.bundle))})).map(({cap:s,group:i})=>{if(!i.length)return null;const a=[],r=(l,d,p)=>{const f=e.get(l.key);if(a.push({id:l.key,parent:p,depth:d,label:l.label,desc:(l.stage==="production"?"":this.tr("stageExperimental")+" · ")+"cap "+l.cap+" · "+l.tag,icon:l.icon,target:l.key,canonical:!0,kids:f?f.nodes[0].kids:0,title:l.label+" · <"+l.tag+"> · CAP "+l.cap+" "+this.tr("cap"+l.cap)}),!f)return;const k=y=>y===0?l.key:l.key+">"+y;for(const y of f.nodes.slice(1))a.push({id:k(y.id),parent:k(y.ancestors[y.ancestors.length-1]),depth:d+y.depth,label:y.label,part:!!y.part,target:y.selects||"",canonical:!1,icon:y.part?"dots":Wn[y.cap]||"embed",desc:y.part?this.tr("noStandalone"):"cap "+y.cap+" · "+y.tag,kids:y.kids||0,title:y.part?y.label+" · "+this.tr("partOf",{name:l.label}):y.label+" · <"+y.tag+"> · CAP "+y.cap+" "+this.tr("cap"+y.cap)})};for(const l of i){const d=[...l.rows].sort((f,k)=>k.cap-f.cap||f.label.localeCompare(k.label));if(d.length===1){r(d[0],0,"");continue}const p="bundle:"+l.bundle;a.push({id:p,parent:"",depth:0,label:l.bundle,desc:this.tr("elementsCount",{n:d.length}),icon:"folder",target:d[0].key,canonical:!1,folder:!0,kids:d.length,title:l.bundle+" · plugin-designs/"+l.bundle+"/ · "+d.length+" "+this.tr("elements")});for(const f of d)r(f,1,p)}return{id:"cap-"+s,cap:s,label:this.tr("cap"+s),title:this.tr("cap"+s)+" · "+(Zd[s]||""),icon:Wn[s]||"embed",nodes:a}}).filter(Boolean)},compositionTrees(){const e=[],t=(o,n,s,i,a)=>{const r=this.manifestBundles.find(k=>k.bundle===o.bundle),l=o.cap>=4&&r&&r.composes||[],d=[],p=[],f=new Set;for(const k of l){const y=this.resolveRef(k,o.bundle);if(!y){p.push(k);continue}y.key===o.key||f.has(y.key)||(f.add(y.key),d.push(y))}d.sort((k,y)=>y.cap-k.cap||k.label.localeCompare(y.label));for(const k of d){const y={id:i.length,label:k.label,tag:k.tag,cap:k.cap,selects:k.key,depth:n+1,ancestors:a,kids:0};i.push(y);const W=i.length;s.has(k.key)||t(k,n+1,new Set([...s,k.key]),i,[...a,y.id]),y.kids=i.filter((F,ee)=>ee>=W&&F.depth===n+2).length}for(const k of p)i.push({id:i.length,label:k,part:!0,selects:o.key,depth:n+1,ancestors:a,kids:0})};for(const o of this.manifestBundles){if(!o.composes||!o.composes.length||ia.has(o.bundle))continue;const n=this.rows.find(i=>i.bundle===o.bundle);if(!n)continue;const s=[{id:0,label:n.label,tag:n.tag,cap:n.cap,selects:n.key,depth:0,ancestors:[]}];t(n,0,new Set([n.key]),s,[0]),s[0].kids=s.filter(i=>i.depth===1).length,s.length>1&&e.push({bundle:o.bundle,nodes:s})}return e},active(){return this.rows.find(e=>e.key===this.activeKey)||null},effectiveTk(){return this.userTk||this.fetchedTk||this.tk||this.cfg.tk||this.bakedTk||""},effectiveProvider(){const e=String(this.userProvider||this.provider||this.cfg.provider||"").toLowerCase().trim();return e==="maplibre"||e==="mapbox"?e:""},engines(){return[{id:"",label:this.tr("engineDefault"),note:""},{id:"mapbox",label:"Mapbox",note:this.tr("engineMapboxNote")},{id:"maplibre",label:"MapLibre",note:this.tr("engineMaplibreNote")}]},engineLabel(){return this.userProvider==="mapbox"?"Mapbox":this.userProvider==="maplibre"?"MapLibre":this.tr("engineDefault")},tokenSource(){return this.userTk?"yours":this.fetchedTk?"url":this.tk||this.cfg.tk||this.bakedTk?"built":"none"},tokenStatus(){return this.effectiveProvider==="maplibre"?this.tr("tokenNotNeeded"):this.tokenSource==="yours"?this.tr("tokenSourceYours"):this.tokenSource==="url"?this.tr("tokenSourceUrl",{url:this.userTokenUrl}):this.tokenSource==="built"?this.tr("tokenSourceBuilt"):this.tr("tokenSourceNone")},countLabel(){const e=new Set(this.rows.map(t=>t.bundle)).size;return this.tr("countLabel",{bundles:e,elements:this.rows.length})},activeLang(){return jd(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},uiDir(){return(this.activeLang&&this.activeLang.dir)==="rtl"?"rtl":"ltr"}},mounted(){this.bakedTk=typeof window<"u"&&window.MAP_TOKEN||"",this.hostProvider=typeof window<"u"&&typeof window.MAP_PROVIDER=="string"?window.MAP_PROVIDER:"",this.publishProvider(),this.userTk?this.publishToken():(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl)&&this.fetchToken(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl).then(e=>{e&&e!==this.fetchedTk&&(this.fetchedTk=e,this.publishToken(),this.remountPanes())}).catch(()=>{}),this.loadManifest()},beforeUnmount(){const e=window.__doxaStudioWidgets;if(e&&e.hosts)for(const t of Object.values(e.hosts))try{t.remove()}catch{}delete window.__doxaStudioWidgets},methods:{async fetchToken(e){if(!/^https?:\/\//i.test(e))throw new Error("not an http(s) URL");let t;try{t=await fetch(e,{cache:"no-store",credentials:"same-origin"})}catch{throw new Error("the request was blocked or the server did not answer (cross-origin rules can do this)")}if(!t.ok)throw new Error("HTTP "+t.status);const o=(await t.text()).trim();let n=o;try{const s=JSON.parse(o);n=s&&(s.token||s.tk||s.accessToken)||(typeof s=="string"?s:"")}catch{}if(n=String(n||"").trim(),n.startsWith("sk."))throw new Error(this.tr("tokenSecret"));if(!n.startsWith("pk."))throw new Error(this.tr("tokenNotPk"));return n},async applyToken(){this.tokenErr="";const e=this.tokenDraft,t=this.urlDraft;if(e.startsWith("sk.")){this.tokenErr=this.tr("tokenSecret");return}if(e&&!e.startsWith("pk.")){this.tokenErr=this.tr("tokenNotPk");return}this.tokenBusy=!0;try{let o="";if(!e&&t)try{o=await this.fetchToken(t)}catch(n){this.tokenErr=this.tr("tokenUrlFailed",{why:n.message});return}this.userTk=e,this.userTokenUrl=e?"":t,this.fetchedTk=o,yt(Eo,this.userTk),yt(Fo,this.userTokenUrl),this.publishToken(),this.remountPanes(),this.settingsOpen=!1}finally{this.tokenBusy=!1}},setHeaderHidden(e){this.headerHidden=!!e,this.settingsOpen=!1,this.engineOpen=!1,this.localeOpen=!1,yt(ta,e?"1":"")},setProvider(e){this.engineOpen=!1,e!==this.userProvider&&(this.userProvider=e,yt(oa,e),this.publishProvider(),this.remountPanes())},publishProvider(){typeof window>"u"||(this.effectiveProvider?window.MAP_PROVIDER=this.effectiveProvider:this.hostProvider?window.MAP_PROVIDER=this.hostProvider:"MAP_PROVIDER"in window&&delete window.MAP_PROVIDER)},clearToken(){this.tokenDraft="",this.urlDraft="",this.tokenErr="",this.userTk="",this.userTokenUrl="",this.fetchedTk="",yt(Eo,""),yt(Fo,""),this.publishToken(),this.remountPanes()},publishToken(){typeof window>"u"||(this.effectiveTk?(Qi(this.effectiveTk),window.MAP_TOKEN!==this.effectiveTk&&(window.MAP_TOKEN=this.effectiveTk)):qd())},remountPanes(){for(const t of this.rows)t.mounted&&this.releaseRow(t);const e=this.active;e&&this.$nextTick(()=>{this.activeKey===e.key&&this.mountElement(e)})},tr(e,t){const o=(this.locale||"en").split("-")[0];let n=(Io[this.locale]||{})[e]||(Io[o]||{})[e]||(Io.en||{})[e]||e;if(t)for(const s in t)n=n.split("{"+s+"}").join(String(t[s]));return n},resolveRef(e,t){return t&&this.rows.find(o=>o.key===t+"/"+e)||this.rows.find(o=>o.key===e)||this.rows.find(o=>o.tag===e)||this.rows.find(o=>o.bundle===e)||null},setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},initialLocale(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}let t="";try{const n=new URLSearchParams(window.location.search);t=n.get("lang")||n.get("locale")||""}catch{}const o=e&&(e.locale||e.lang)||t;return o?Hn(o):Vd()},paneConfig(e,t){const o={profile:e.profile,instanceId:"ps-"+e.key.replace(/\//g,"-"),locale:t};this.effectiveTk&&(o.tk=this.effectiveTk);const n=this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl;return n&&(o.tokenUrl=n),this.effectiveProvider&&(o.provider=this.effectiveProvider),this.base&&(o.treeBase=this.base),o},setLocale(e){this.locale=e,this.localeOpen=!1,Kd(e);try{for(const t of this.rows){if(!t.mounted)continue;const o=this._slots&&this._slots[t.key],n=o&&o.firstElementChild;n&&n.setAttribute&&n.setAttribute("profile-config",JSON.stringify(this.paneConfig(t,e)))}}catch{}},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const o=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+o:"../"+o},loadManifest(){const e=o=>{this.manifestBundles=o&&o.bundles||[],this.rows=this.rowsFromManifest(o),this.setupWidgets(),this.route()},t=typeof window<"u"&&window.__psBaked||null;if(typeof fetch=="function"&&typeof location<"u"&&location.protocol!=="file:"){const o=this.base?this.resolve("manifest.json"):"../manifest.json";fetch(o,{cache:"no-cache"}).then(n=>n.ok?n.json():null).then(n=>e(n||t||{bundles:[]})).catch(()=>e(t||{bundles:[]}))}else e(t||{bundles:[]})},rowsFromManifest(e){const t=[];for(const o of e.bundles||[])if(!(o.bundle==="plugin-studio"||ia.has(o.bundle)))for(const n of o.profiles||[]){const s=o.elements&&o.elements.length?o.elements:null,i=(n.element&&(!s||s.includes(n.element))?n.element:null)||s&&s[0]||n.element||o.bundle,a=Xd(n.type||"single"),r=sa.has(i)||sa.has(o.bundle)||n.heavy===!0;t.push({key:o.bundle+"/"+n.profile,bundle:o.bundle,stage:o.stage==="production"?"production":"experimental",label:Qd(o.bundle,n),profile:n.profile,tag:i,cap:a,icon:Wn[a]||"embed",description:n.description||"",widget:n.widget&&["bottom-right","bottom-left","top-right","top-left"].includes(n.widget.corner)?n.widget.corner:"",heavy:r,bundleJs:o.scriptUrl||o.bundle+"/"+o.bundle+".js",embed:n.embed&&n.embed.script||"",mounted:!1,state:"idle",error:""})}return t.sort((o,n)=>n.cap-o.cap||o.bundle.localeCompare(n.bundle)||o.label.localeCompare(n.label)),t},route(){const e=(typeof location<"u"&&location.hash||"").replace(/^#\/?/,"");if(e&&this.rows.some(o=>o.key===e)){this.select(e);return}const t=this.readLastTab();if(t&&this.rows.some(o=>o.key===t)){this.select(t);return}this.rows.length&&this.select(this.rows[0].key)},storageKey(){return"dx-studio-tab:"+(typeof location<"u"&&location.pathname||"")},readLastTab(){try{return window.localStorage.getItem(this.storageKey())||""}catch{return""}},writeLastTab(e){try{window.localStorage.setItem(this.storageKey(),e)}catch{}},select(e){if(!this.rows.some(s=>s.key===e))return;const t=this.rows.find(s=>s.key===e);if(t&&t.widget){this.openWidget(t,!0);return}const o=this.activeKey;if(this.activeKey=e,this.embedOpen=!1,o&&o!==e){const s=this.rows.find(i=>i.key===o);s&&s.heavy&&s.mounted&&this.releaseRow(s)}const n=this.rows.find(s=>s.key===e);n&&(this.writeLastTab(e),n.mounted||this.$nextTick(()=>{this.activeKey===n.key&&this.mountElement(n)}))},releaseRow(e){try{const t=this._slots&&this._slots[e.key];t&&(t.innerHTML="")}catch{}this._slots&&delete this._slots[e.key],e.mounted=!1,e.state="idle",e.error=""},widgetStore(){return window.__doxaStudioWidgets||(window.__doxaStudioWidgets={hosts:{},els:{}}),window.__doxaStudioWidgets},widgetHost(e){const t=this.widgetStore();if(!document.getElementById("studio-widget-css")){const n=document.createElement("style");n.id="studio-widget-css",n.textContent=ep,document.head.appendChild(n)}if(t.hosts[e]&&t.hosts[e].isConnected)return t.hosts[e];const o=document.createElement("div");return o.setAttribute("data-studio-widgets",e),document.body.appendChild(o),t.hosts[e]=o,o},setupWidgets(){for(const e of this.rows.filter(t=>t.widget)){const t=this.widgetStore(),o=this.widgetHost(e.widget);let n=o.querySelector(`[data-widget="${e.key}"]`);if(!n){n=document.createElement("div"),n.setAttribute("data-widget",e.key);const i=document.createElement("div");i.setAttribute("data-widget-panel","");const a=document.createElement("button");a.type="button",a.setAttribute("data-widget-bubble","");const r="widget:"+e.key,l=this.tr(r);a.setAttribute("aria-label",l!==r?l:e.label),a.title=a.getAttribute("aria-label"),a.setAttribute("aria-expanded","false"),a.innerHTML=tp,a.querySelector("[data-wb-text]").textContent=a.getAttribute("aria-label"),a.addEventListener("click",()=>this.openWidget(e,!i.hasAttribute("data-open"))),n.appendChild(i),n.appendChild(a),o.appendChild(n)}t.els[e.key]&&!n.querySelector(e.tag)&&n.querySelector("[data-widget-panel]").appendChild(t.els[e.key]);let s=!1;try{s=localStorage.getItem("plugin-studio:widget-open:"+e.key)==="1"}catch{}s&&this.openWidget(e,!0)}},openWidget(e,t){const n=this.widgetHost(e.widget).querySelector(`[data-widget="${e.key}"]`);if(!n){this.setupWidgets();return}const s=n.querySelector("[data-widget-panel]"),i=n.querySelector("[data-widget-bubble]");t?s.setAttribute("data-open",""):s.removeAttribute("data-open"),i.setAttribute("aria-expanded",t?"true":"false");try{localStorage.setItem("plugin-studio:widget-open:"+e.key,t?"1":"0")}catch{}const a=this.widgetStore();!t||a.els[e.key]||Rn(this.resolve(e.bundleJs)).then(()=>Yi(e.tag)).then(()=>{if(a.els[e.key])return;const r=document.createElement(e.tag);r.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),r.setAttribute("variant","widget"),this.base&&r.setAttribute("tree-base",this.base.replace(/\/+$/,"")),r.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;";const l=n.querySelector("[data-widget-bubble]"),d=l.querySelector("[data-wb-text]");r.addEventListener("recording",p=>{const f=!!(Array.isArray(p.detail)?p.detail[0]:p.detail);l.setAttribute("data-listening",f?"true":"false"),f?d.textContent="":(l.setAttribute("data-speaking","false"),d.textContent=l.getAttribute("aria-label"))}),r.addEventListener("activity",p=>{const f=(Array.isArray(p.detail)?p.detail[0]:p.detail)||{};if(l.getAttribute("data-listening")!=="true")return;l.setAttribute("data-speaking",f.speaking?"true":"false");const k=f.words||"";d.textContent=k.length>34?"…"+k.slice(-33):k}),a.els[e.key]=r,s.appendChild(r)}).catch(r=>{s.textContent=r&&r.message||String(r)})},mountElement(e){e.mounted=!0,e.state="loading";const t=this.resolve(e.bundleJs);Rn(t).then(()=>Yi(e.tag)).then(()=>{try{if(e.heavy&&this.activeKey!==e.key){e.mounted=!1,e.state="idle";return}const o=this._slots&&this._slots[e.key];if(!o){e.state="error",e.error="no slot";return}o.innerHTML="";const n=document.createElement(e.tag);n.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),this.base&&n.setAttribute("tree-base",this.base.replace(/\/+$/,"")),n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n),e.state="ready"}catch(o){e.state="error",e.error="mount failed: "+(o&&o.message||String(o))}}).catch(o=>{e.state="error",e.error=o&&o.message||String(o)})},copyText(e,t){const o=()=>{const n=t.textContent;t.textContent=this.tr("copied"),setTimeout(()=>{t.textContent=n},1200)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(o,()=>{});else try{const n=document.createElement("textarea");n.value=e,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),o()}catch{}}}}),np=["title","aria-label"],sp={class:"ps-count"},ip={class:"ps-locale"},ap=["aria-expanded","aria-label"],rp={class:"ps-flag"},lp={class:"ps-locale-name"},cp={key:0,class:"ps-locale-menu",role:"listbox"},dp=["aria-selected"],pp=["onClick"],up={class:"ps-flag"},fp={class:"ps-locale-name"},hp={class:"ps-locale-en"},gp={class:"ps-locale ps-engine"},$p=["aria-expanded","aria-label","title"],mp={class:"ps-locale-name"},bp=["aria-label"],vp=["aria-selected"],kp=["onClick"],yp={class:"ps-locale-name"},_p={class:"ps-locale-en"},xp={class:"ps-token"},wp=["aria-expanded","title"],Sp={class:"ps-locale-name"},Mp={class:"ps-token-head"},Lp={class:"ps-token-label"},Tp={class:"ps-token-label"},Cp={class:"ps-token-row"},Op=["disabled"],Pp={class:"ps-token-note"},Ap=["title","aria-label"],Np={class:"ps-locale-name"},Ep={key:0,class:"ps-toolbar"},Fp={class:"ps-bar"},Ip={class:"ps-bar-t"},Rp={class:"ps-bar-sub"},Dp={key:0},Hp=["aria-expanded"],Wp={key:0,class:"ps-embed"},Up=["value"],zp=["title","aria-label"],Bp={class:"ps-stage"},jp=["hidden"],Vp={key:0,class:"ps-hint"},Kp={key:1,class:"ps-hint err"},qp={key:0,class:"ps-hint"};function Gp(e,t,o,n,s,i){const a=gn("StudioTree"),r=gn("VerticalTabsLayout");return M(),Rt(r,{title:e.heading||e.tr("title"),dir:e.uiDir,"nav-label":e.tr("navLabel"),labels:{toggleList:e.tr("toggleList"),openViews:e.tr("openViews"),expandList:e.tr("expandList"),collapseList:e.tr("collapseList"),collapse:e.tr("collapse")},header:!e.headerHidden,active:e.activeKey,"onUpdate:active":e.select},{rail:ht(({collapsed:l,expand:d,pick:p})=>[ve(a,{sections:e.treeSections,active:e.activeKey,collapsed:l,expand:d,pick:p,strings:{filterPlaceholder:e.tr("filterPlaceholder"),collapseAll:e.tr("collapseAll"),noMatch:e.tr("noMatch"),treeLabel:e.tr("navLabel"),openSection:e.tr("openSection"),part:e.tr("part")}},null,8,["sections","active","collapsed","expand","pick","strings"])]),brand:ht(()=>[t[13]||(t[13]=b("span",{class:"ps-logo","aria-hidden":"true"},[b("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[b("path",{d:"M10 3v3M14 3v3M7 6h10v5a5 5 0 0 1-10 0V6Z"}),b("path",{d:"M12 16v5"})])],-1)),b("button",{type:"button",class:"ps-hide-header-phone",title:e.tr("hideHeader"),"aria-label":e.tr("hideHeader"),onClick:t[0]||(t[0]=l=>e.setHeaderHidden(!0))},[...t[12]||(t[12]=[b("span",{"aria-hidden":"true"},"⌃",-1)])],8,np)]),meta:ht(()=>[b("span",sp,T(e.countLabel),1),b("span",ip,[b("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":e.tr("changeLanguage"),onClick:t[1]||(t[1]=l=>{e.localeOpen=!e.localeOpen,e.engineOpen=!1,e.settingsOpen=!1})},[b("span",rp,T(e.activeLang.flag),1),b("span",lp,T(e.activeLang.nativeName),1),t[14]||(t[14]=b("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,ap),e.localeOpen?(M(),L("ul",cp,[(M(!0),L(Y,null,Oe(e.switcherLangs,l=>(M(),L("li",{key:l.code,role:"option","aria-selected":String(l.code===e.locale)},[b("button",{type:"button",class:he(["ps-locale-opt",{active:l.code===e.locale}]),onClick:d=>e.setLocale(l.code)},[b("span",up,T(l.flag),1),b("span",fp,T(l.nativeName),1),b("span",hp,T(l.name),1)],10,pp)],8,dp))),128))])):V("",!0)]),b("span",gp,[b("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.engineOpen),"aria-label":e.tr("mapEngine"),title:e.tr("mapEngine"),onClick:t[2]||(t[2]=l=>{e.engineOpen=!e.engineOpen,e.localeOpen=!1,e.settingsOpen=!1})},[t[15]||(t[15]=b("span",{"aria-hidden":"true"},"🗺",-1)),b("span",mp,T(e.engineLabel),1),t[16]||(t[16]=b("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,$p),e.engineOpen?(M(),L("ul",{key:0,class:"ps-locale-menu",role:"listbox","aria-label":e.tr("mapEngine")},[(M(!0),L(Y,null,Oe(e.engines,l=>(M(),L("li",{key:l.id||"default",role:"option","aria-selected":String(l.id===e.userProvider)},[b("button",{type:"button",class:he(["ps-locale-opt",{active:l.id===e.userProvider}]),onClick:d=>e.setProvider(l.id)},[b("span",yp,T(l.label),1),b("span",_p,T(l.note),1)],10,kp)],8,vp))),128))],8,bp)):V("",!0)]),b("span",xp,[b("button",{type:"button",class:"ps-locale-btn ps-token-btn","aria-expanded":String(e.settingsOpen),title:e.tokenStatus,onClick:t[3]||(t[3]=l=>{e.settingsOpen=!e.settingsOpen,e.localeOpen=!1,e.engineOpen=!1})},[b("span",Sp,T(e.tr("mapboxToken")),1),b("span",{class:he(["ps-token-dot","is-"+e.tokenSource]),"aria-hidden":"true"},null,2)],8,wp),e.settingsOpen?(M(),L("form",{key:0,class:"ps-token-panel",onSubmit:t[7]||(t[7]=Ii((...l)=>e.applyToken&&e.applyToken(...l),["prevent"]))},[b("p",Mp,T(e.tr("mapToken")),1),b("label",Lp,[Ae(T(e.tr("tokenPaste"))+" ",1),gt(b("input",{class:"ps-token-input","onUpdate:modelValue":t[4]||(t[4]=l=>e.tokenDraft=l),placeholder:"pk.eyJ…",autocomplete:"off",spellcheck:"false"},null,512),[[Nn,e.tokenDraft,void 0,{trim:!0}]])]),b("label",Tp,[Ae(T(e.tr("tokenUrlLabel"))+" ",1),gt(b("input",{class:"ps-token-input","onUpdate:modelValue":t[5]||(t[5]=l=>e.urlDraft=l),type:"url",placeholder:"https://doxa.life/api/maps/token",autocomplete:"off",spellcheck:"false"},null,512),[[Nn,e.urlDraft,void 0,{trim:!0}]])]),b("div",Cp,[b("button",{type:"submit",class:"ps-token-apply",disabled:e.tokenBusy},T(e.tr("tokenApply")),9,Op),b("button",{type:"button",class:"ps-token-clear",onClick:t[6]||(t[6]=(...l)=>e.clearToken&&e.clearToken(...l))},T(e.tr("tokenClear")),1)]),b("p",{class:he(["ps-token-status",{err:!!e.tokenErr}]),role:"status"},T(e.tokenErr||e.tokenStatus),3),b("p",Pp,T(e.tr("tokenStoredHere")),1)],32)):V("",!0)]),b("button",{type:"button",class:"ps-locale-btn ps-hide-header",title:e.tr("hideHeader"),"aria-label":e.tr("hideHeader"),onClick:t[8]||(t[8]=l=>e.setHeaderHidden(!0))},[t[17]||(t[17]=b("span",{"aria-hidden":"true"},"⌃",-1)),b("span",Np,T(e.tr("hideHeader")),1)],8,Ap)]),toolbar:ht(()=>[e.active?(M(),L("div",Ep,[b("div",Fp,[b("div",Ip,[b("b",null,T(e.active.label),1),b("span",Rp,[Ae(T(e.active.bundle)+" · <"+T(e.active.tag)+">",1),e.active.description?(M(),L("span",Dp," · "+T(e.active.description),1)):V("",!0)])]),e.active.embed?(M(),L("button",{key:0,type:"button",class:"ps-btn","aria-expanded":String(e.embedOpen),onClick:t[9]||(t[9]=l=>e.embedOpen=!e.embedOpen)},T(e.tr("copyEmbed")),9,Hp)):V("",!0)]),e.embedOpen&&e.active.embed?(M(),L("div",Wp,[b("label",null,[Ae(T(e.tr("scriptEmbed"))+" ",1),b("button",{type:"button",class:"ps-btn",onClick:t[10]||(t[10]=l=>e.copyText(e.active.embed,l.target))},T(e.tr("copy")),1)]),b("textarea",{readonly:"",value:e.active.embed},null,8,Up)])):V("",!0)])):V("",!0)]),default:ht(()=>[e.headerHidden?(M(),L("button",{key:0,type:"button",class:"ps-show-header",title:e.tr("showHeader"),"aria-label":e.tr("showHeader"),onClick:t[11]||(t[11]=l=>e.setHeaderHidden(!1))},[t[18]||(t[18]=b("span",{"aria-hidden":"true"},"⌄",-1)),Ae(" "+T(e.tr("showHeader")),1)],8,zp)):V("",!0),b("div",Bp,[(M(!0),L(Y,null,Oe(e.flatRows,l=>gt((M(),L("section",{key:l.key,class:"ps-pane",hidden:l.key!==e.activeKey},[!l.heavy||l.key===e.activeKey?(M(),L(Y,{key:0},[b("div",{class:"ps-slot",ref_for:!0,ref:d=>e.setSlot(l.key,d)},null,512),l.state==="loading"?(M(),L("div",Vp,T(e.tr("loading",{name:l.label})),1)):l.state==="error"?(M(),L("div",Kp,[Ae(T(e.tr("couldNotLoad",{name:l.label})),1),t[19]||(t[19]=b("br",null,null,-1)),b("small",null,T(l.error),1)])):V("",!0)],64)):V("",!0)],8,jp)),[[Tn,l.key===e.activeKey]])),128)),e.activeKey?V("",!0):(M(),L("div",qp,T(e.tr("chooseElement")),1))])]),_:1},8,["title","dir","nav-label","labels","header","active","onUpdate:active"])}const Yp=Po(op,[["render",Gp],["styles",[Gd]]]),Jp=pc(),Xp=Ol(Yp,{configureApp(e){e.provide("psTreeBase",Jp)}});typeof customElements<"u"&&!customElements.get("plugin-studio")&&customElements.define("plugin-studio",Xp)})(); +}`,tp=''+''+""+''+"",op=mo({name:"PluginStudio",inheritAttrs:!1,components:{VerticalTabsLayout:cd,StudioTree:Bd},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},provider:{type:String,default:""},heading:{type:String,default:""},tokenUrl:{type:String,default:""},tk:{type:String,default:""}},setup(){return En(Yd,"plugin-studio"),{injectedBase:Pt("psTreeBase","")}},data(){return{activeKey:"",embedOpen:!1,locale:this.initialLocale(),localeOpen:!1,settingsOpen:!1,headerHidden:kt(ta)==="1",engineOpen:!1,userProvider:kt(oa),tokenBusy:!1,tokenErr:"",tokenDraft:kt(Eo),urlDraft:kt(Fo),userTk:kt(Eo),userTokenUrl:kt(Fo),fetchedTk:"",bakedTk:"",hostProvider:"",switcherLangs:Ao,rows:[],manifestBundles:[]}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},flatRows(){return this.rows},groups(){const e={};for(const t of this.rows)(e[t.cap]=e[t.cap]||[]).push(t);return[5,4,3,2,1].filter(t=>e[t]&&e[t].length).map(t=>({cap:t,label:Jd[t]||"capability "+t,rows:e[t]}))},treeSections(){const e=new Map(this.compositionTrees.map(s=>[s.nodes[0].selects,s])),t=new Map;for(const s of this.rows)t.has(s.bundle)||t.set(s.bundle,[]),t.get(s.bundle).push(s);const o=[...t.entries()].map(([s,i])=>({bundle:s,rows:i,cap:Math.max(...i.map(a=>a.cap))}));return[5,4,3,2,1].map(s=>({cap:s,group:o.filter(i=>i.cap===s).sort((i,a)=>i.bundle.localeCompare(a.bundle))})).map(({cap:s,group:i})=>{if(!i.length)return null;const a=[],r=(l,d,p)=>{const f=e.get(l.key);if(a.push({id:l.key,parent:p,depth:d,label:l.label,desc:(l.stage==="production"?"":this.tr("stageExperimental")+" · ")+"cap "+l.cap+" · "+l.tag,icon:l.icon,target:l.key,canonical:!0,kids:f?f.nodes[0].kids:0,title:l.label+" · <"+l.tag+"> · CAP "+l.cap+" "+this.tr("cap"+l.cap)}),!f)return;const k=_=>_===0?l.key:l.key+">"+_;for(const _ of f.nodes.slice(1))a.push({id:k(_.id),parent:k(_.ancestors[_.ancestors.length-1]),depth:d+_.depth,label:_.label,part:!!_.part,target:_.selects||"",canonical:!1,icon:_.part?"dots":Wn[_.cap]||"embed",desc:_.part?this.tr("noStandalone"):"cap "+_.cap+" · "+_.tag,kids:_.kids||0,title:_.part?_.label+" · "+this.tr("partOf",{name:l.label}):_.label+" · <"+_.tag+"> · CAP "+_.cap+" "+this.tr("cap"+_.cap)})};for(const l of i){const d=[...l.rows].sort((f,k)=>k.cap-f.cap||f.label.localeCompare(k.label));if(d.length===1){r(d[0],0,"");continue}const p="bundle:"+l.bundle;a.push({id:p,parent:"",depth:0,label:l.bundle,desc:this.tr("elementsCount",{n:d.length}),icon:"folder",target:d[0].key,canonical:!1,folder:!0,kids:d.length,title:l.bundle+" · plugin-designs/"+l.bundle+"/ · "+d.length+" "+this.tr("elements")});for(const f of d)r(f,1,p)}return{id:"cap-"+s,cap:s,label:this.tr("cap"+s),title:this.tr("cap"+s)+" · "+(Zd[s]||""),icon:Wn[s]||"embed",nodes:a}}).filter(Boolean)},compositionTrees(){const e=[],t=(o,n,s,i,a)=>{const r=this.manifestBundles.find(k=>k.bundle===o.bundle),l=o.cap>=4&&r&&r.composes||[],d=[],p=[],f=new Set;for(const k of l){const _=this.resolveRef(k,o.bundle);if(!_){p.push(k);continue}_.key===o.key||f.has(_.key)||(f.add(_.key),d.push(_))}d.sort((k,_)=>_.cap-k.cap||k.label.localeCompare(_.label));for(const k of d){const _={id:i.length,label:k.label,tag:k.tag,cap:k.cap,selects:k.key,depth:n+1,ancestors:a,kids:0};i.push(_);const W=i.length;s.has(k.key)||t(k,n+1,new Set([...s,k.key]),i,[...a,_.id]),_.kids=i.filter((F,ee)=>ee>=W&&F.depth===n+2).length}for(const k of p)i.push({id:i.length,label:k,part:!0,selects:o.key,depth:n+1,ancestors:a,kids:0})};for(const o of this.manifestBundles){if(!o.composes||!o.composes.length||ia.has(o.bundle))continue;const n=this.rows.find(i=>i.bundle===o.bundle);if(!n)continue;const s=[{id:0,label:n.label,tag:n.tag,cap:n.cap,selects:n.key,depth:0,ancestors:[]}];t(n,0,new Set([n.key]),s,[0]),s[0].kids=s.filter(i=>i.depth===1).length,s.length>1&&e.push({bundle:o.bundle,nodes:s})}return e},active(){return this.rows.find(e=>e.key===this.activeKey)||null},effectiveTk(){return this.userTk||this.fetchedTk||this.tk||this.cfg.tk||this.bakedTk||""},effectiveProvider(){const e=String(this.userProvider||this.provider||this.cfg.provider||"").toLowerCase().trim();return e==="maplibre"||e==="mapbox"?e:""},engines(){return[{id:"",label:this.tr("engineDefault"),note:""},{id:"mapbox",label:"Mapbox",note:this.tr("engineMapboxNote")},{id:"maplibre",label:"MapLibre",note:this.tr("engineMaplibreNote")}]},engineLabel(){return this.userProvider==="mapbox"?"Mapbox":this.userProvider==="maplibre"?"MapLibre":this.tr("engineDefault")},tokenSource(){return this.userTk?"yours":this.fetchedTk?"url":this.tk||this.cfg.tk||this.bakedTk?"built":"none"},tokenStatus(){return this.effectiveProvider==="maplibre"?this.tr("tokenNotNeeded"):this.tokenSource==="yours"?this.tr("tokenSourceYours"):this.tokenSource==="url"?this.tr("tokenSourceUrl",{url:this.userTokenUrl}):this.tokenSource==="built"?this.tr("tokenSourceBuilt"):this.tr("tokenSourceNone")},countLabel(){const e=new Set(this.rows.map(t=>t.bundle)).size;return this.tr("countLabel",{bundles:e,elements:this.rows.length})},activeLang(){return jd(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},uiDir(){return(this.activeLang&&this.activeLang.dir)==="rtl"?"rtl":"ltr"}},mounted(){this.bakedTk=typeof window<"u"&&window.MAP_TOKEN||"",this.hostProvider=typeof window<"u"&&typeof window.MAP_PROVIDER=="string"?window.MAP_PROVIDER:"",this.publishProvider(),this.userTk?this.publishToken():(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl)&&this.fetchToken(this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl).then(e=>{e&&e!==this.fetchedTk&&(this.fetchedTk=e,this.publishToken(),this.remountPanes())}).catch(()=>{}),this.loadManifest()},beforeUnmount(){const e=window.__doxaStudioWidgets;if(e&&e.hosts)for(const t of Object.values(e.hosts))try{t.remove()}catch{}delete window.__doxaStudioWidgets},methods:{async fetchToken(e){if(!/^https?:\/\//i.test(e))throw new Error("not an http(s) URL");let t;try{t=await fetch(e,{cache:"no-store",credentials:"same-origin"})}catch{throw new Error("the request was blocked or the server did not answer (cross-origin rules can do this)")}if(!t.ok)throw new Error("HTTP "+t.status);const o=(await t.text()).trim();let n=o;try{const s=JSON.parse(o);n=s&&(s.token||s.tk||s.accessToken)||(typeof s=="string"?s:"")}catch{}if(n=String(n||"").trim(),n.startsWith("sk."))throw new Error(this.tr("tokenSecret"));if(!n.startsWith("pk."))throw new Error(this.tr("tokenNotPk"));return n},async applyToken(){this.tokenErr="";const e=this.tokenDraft,t=this.urlDraft;if(e.startsWith("sk.")){this.tokenErr=this.tr("tokenSecret");return}if(e&&!e.startsWith("pk.")){this.tokenErr=this.tr("tokenNotPk");return}this.tokenBusy=!0;try{let o="";if(!e&&t)try{o=await this.fetchToken(t)}catch(n){this.tokenErr=this.tr("tokenUrlFailed",{why:n.message});return}this.userTk=e,this.userTokenUrl=e?"":t,this.fetchedTk=o,_t(Eo,this.userTk),_t(Fo,this.userTokenUrl),this.publishToken(),this.remountPanes(),this.settingsOpen=!1}finally{this.tokenBusy=!1}},setHeaderHidden(e){this.headerHidden=!!e,this.settingsOpen=!1,this.engineOpen=!1,this.localeOpen=!1,_t(ta,e?"1":"")},setProvider(e){this.engineOpen=!1,e!==this.userProvider&&(this.userProvider=e,_t(oa,e),this.publishProvider(),this.remountPanes())},publishProvider(){typeof window>"u"||(this.effectiveProvider?window.MAP_PROVIDER=this.effectiveProvider:this.hostProvider?window.MAP_PROVIDER=this.hostProvider:"MAP_PROVIDER"in window&&delete window.MAP_PROVIDER)},clearToken(){this.tokenDraft="",this.urlDraft="",this.tokenErr="",this.userTk="",this.userTokenUrl="",this.fetchedTk="",_t(Eo,""),_t(Fo,""),this.publishToken(),this.remountPanes()},publishToken(){typeof window>"u"||(this.effectiveTk?(Qi(this.effectiveTk),window.MAP_TOKEN!==this.effectiveTk&&(window.MAP_TOKEN=this.effectiveTk)):qd())},remountPanes(){for(const t of this.rows)t.mounted&&this.releaseRow(t);const e=this.active;e&&this.$nextTick(()=>{this.activeKey===e.key&&this.mountElement(e)})},tr(e,t){const o=(this.locale||"en").split("-")[0];let n=(Io[this.locale]||{})[e]||(Io[o]||{})[e]||(Io.en||{})[e]||e;if(t)for(const s in t)n=n.split("{"+s+"}").join(String(t[s]));return n},resolveRef(e,t){return t&&this.rows.find(o=>o.key===t+"/"+e)||this.rows.find(o=>o.key===e)||this.rows.find(o=>o.tag===e)||this.rows.find(o=>o.bundle===e)||null},setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},initialLocale(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}let t="";try{const n=new URLSearchParams(window.location.search);t=n.get("lang")||n.get("locale")||""}catch{}const o=e&&(e.locale||e.lang)||t;return o?Hn(o):Vd()},paneConfig(e,t){const o={profile:e.profile,instanceId:"ps-"+e.key.replace(/\//g,"-"),locale:t};this.effectiveTk&&(o.tk=this.effectiveTk);const n=this.userTokenUrl||this.tokenUrl||this.cfg.tokenUrl;return n&&(o.tokenUrl=n),this.effectiveProvider&&(o.provider=this.effectiveProvider),this.base&&(o.treeBase=this.base),o},setLocale(e){this.locale=e,this.localeOpen=!1,Kd(e);try{for(const t of this.rows){if(!t.mounted)continue;const o=this._slots&&this._slots[t.key],n=o&&o.firstElementChild;n&&n.setAttribute&&n.setAttribute("profile-config",JSON.stringify(this.paneConfig(t,e)))}}catch{}},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const o=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+o:"../"+o},loadManifest(){const e=o=>{this.manifestBundles=o&&o.bundles||[],this.rows=this.rowsFromManifest(o),this.setupWidgets(),this.route()},t=typeof window<"u"&&window.__psBaked||null;if(typeof fetch=="function"&&typeof location<"u"&&location.protocol!=="file:"){const o=this.base?this.resolve("manifest.json"):"../manifest.json";fetch(o,{cache:"no-cache"}).then(n=>n.ok?n.json():null).then(n=>e(n||t||{bundles:[]})).catch(()=>e(t||{bundles:[]}))}else e(t||{bundles:[]})},rowsFromManifest(e){const t=[];for(const o of e.bundles||[])if(!(o.bundle==="plugin-studio"||ia.has(o.bundle)))for(const n of o.profiles||[]){const s=o.elements&&o.elements.length?o.elements:null,i=(n.element&&(!s||s.includes(n.element))?n.element:null)||s&&s[0]||n.element||o.bundle,a=Xd(n.type||"single"),r=sa.has(i)||sa.has(o.bundle)||n.heavy===!0;t.push({key:o.bundle+"/"+n.profile,bundle:o.bundle,stage:o.stage==="production"?"production":"experimental",label:Qd(o.bundle,n),profile:n.profile,tag:i,cap:a,icon:Wn[a]||"embed",description:n.description||"",widget:n.widget&&["bottom-right","bottom-left","top-right","top-left"].includes(n.widget.corner)?n.widget.corner:"",heavy:r,bundleJs:o.scriptUrl||o.bundle+"/"+o.bundle+".js",embed:n.embed&&n.embed.script||"",mounted:!1,state:"idle",error:""})}return t.sort((o,n)=>n.cap-o.cap||o.bundle.localeCompare(n.bundle)||o.label.localeCompare(n.label)),t},route(){const e=(typeof location<"u"&&location.hash||"").replace(/^#\/?/,"");if(e&&this.rows.some(o=>o.key===e)){this.select(e);return}const t=this.readLastTab();if(t&&this.rows.some(o=>o.key===t)){this.select(t);return}this.rows.length&&this.select(this.rows[0].key)},storageKey(){return"dx-studio-tab:"+(typeof location<"u"&&location.pathname||"")},readLastTab(){try{return window.localStorage.getItem(this.storageKey())||""}catch{return""}},writeLastTab(e){try{window.localStorage.setItem(this.storageKey(),e)}catch{}},select(e){if(!this.rows.some(s=>s.key===e))return;const t=this.rows.find(s=>s.key===e);if(t&&t.widget){this.openWidget(t,!0);return}const o=this.activeKey;if(this.activeKey=e,this.embedOpen=!1,o&&o!==e){const s=this.rows.find(i=>i.key===o);s&&s.heavy&&s.mounted&&this.releaseRow(s)}const n=this.rows.find(s=>s.key===e);n&&(this.writeLastTab(e),n.mounted||this.$nextTick(()=>{this.activeKey===n.key&&this.mountElement(n)}))},releaseRow(e){try{const t=this._slots&&this._slots[e.key];t&&(t.innerHTML="")}catch{}this._slots&&delete this._slots[e.key],e.mounted=!1,e.state="idle",e.error=""},widgetStore(){return window.__doxaStudioWidgets||(window.__doxaStudioWidgets={hosts:{},els:{}}),window.__doxaStudioWidgets},widgetHost(e){const t=this.widgetStore();if(!document.getElementById("studio-widget-css")){const n=document.createElement("style");n.id="studio-widget-css",n.textContent=ep,document.head.appendChild(n)}if(t.hosts[e]&&t.hosts[e].isConnected)return t.hosts[e];const o=document.createElement("div");return o.setAttribute("data-studio-widgets",e),document.body.appendChild(o),t.hosts[e]=o,o},setupWidgets(){for(const e of this.rows.filter(t=>t.widget)){const t=this.widgetStore(),o=this.widgetHost(e.widget);let n=o.querySelector(`[data-widget="${e.key}"]`);if(!n){n=document.createElement("div"),n.setAttribute("data-widget",e.key);const i=document.createElement("div");i.setAttribute("data-widget-panel","");const a=document.createElement("button");a.type="button",a.setAttribute("data-widget-bubble","");const r="widget:"+e.key,l=this.tr(r);a.setAttribute("aria-label",l!==r?l:e.label),a.title=a.getAttribute("aria-label"),a.setAttribute("aria-expanded","false"),a.innerHTML=tp,a.querySelector("[data-wb-text]").textContent=a.getAttribute("aria-label"),a.addEventListener("click",()=>this.openWidget(e,!i.hasAttribute("data-open"))),n.appendChild(i),n.appendChild(a),o.appendChild(n)}t.els[e.key]&&!n.querySelector(e.tag)&&n.querySelector("[data-widget-panel]").appendChild(t.els[e.key]);let s=!1;try{s=localStorage.getItem("plugin-studio:widget-open:"+e.key)==="1"}catch{}s&&this.openWidget(e,!0)}},openWidget(e,t){const n=this.widgetHost(e.widget).querySelector(`[data-widget="${e.key}"]`);if(!n){this.setupWidgets();return}const s=n.querySelector("[data-widget-panel]"),i=n.querySelector("[data-widget-bubble]");t?s.setAttribute("data-open",""):s.removeAttribute("data-open"),i.setAttribute("aria-expanded",t?"true":"false");try{localStorage.setItem("plugin-studio:widget-open:"+e.key,t?"1":"0")}catch{}const a=this.widgetStore();!t||a.els[e.key]||Rn(this.resolve(e.bundleJs)).then(()=>Yi(e.tag)).then(()=>{if(a.els[e.key])return;const r=document.createElement(e.tag);r.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),r.setAttribute("variant","widget"),this.base&&r.setAttribute("tree-base",this.base.replace(/\/+$/,"")),r.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;";const l=n.querySelector("[data-widget-bubble]"),d=l.querySelector("[data-wb-text]");r.addEventListener("recording",p=>{const f=!!(Array.isArray(p.detail)?p.detail[0]:p.detail);l.setAttribute("data-listening",f?"true":"false"),f?d.textContent="":(l.setAttribute("data-speaking","false"),d.textContent=l.getAttribute("aria-label"))}),r.addEventListener("activity",p=>{const f=(Array.isArray(p.detail)?p.detail[0]:p.detail)||{};if(l.getAttribute("data-listening")!=="true")return;l.setAttribute("data-speaking",f.speaking?"true":"false");const k=f.words||"";d.textContent=k.length>34?"…"+k.slice(-33):k}),a.els[e.key]=r,s.appendChild(r)}).catch(r=>{s.textContent=r&&r.message||String(r)})},mountElement(e){e.mounted=!0,e.state="loading";const t=this.resolve(e.bundleJs);Rn(t).then(()=>Yi(e.tag)).then(()=>{try{if(e.heavy&&this.activeKey!==e.key){e.mounted=!1,e.state="idle";return}const o=this._slots&&this._slots[e.key];if(!o){e.state="error",e.error="no slot";return}o.innerHTML="";const n=document.createElement(e.tag);n.setAttribute("profile-config",JSON.stringify(this.paneConfig(e,this.locale))),this.base&&n.setAttribute("tree-base",this.base.replace(/\/+$/,"")),n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",o.appendChild(n),e.state="ready"}catch(o){e.state="error",e.error="mount failed: "+(o&&o.message||String(o))}}).catch(o=>{e.state="error",e.error=o&&o.message||String(o)})},copyText(e,t){const o=()=>{const n=t.textContent;t.textContent=this.tr("copied"),setTimeout(()=>{t.textContent=n},1200)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(o,()=>{});else try{const n=document.createElement("textarea");n.value=e,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),o()}catch{}}}}),np=["title","aria-label"],sp={class:"ps-count"},ip={class:"ps-locale"},ap=["aria-expanded","aria-label"],rp={class:"ps-flag"},lp={class:"ps-locale-name"},cp={key:0,class:"ps-locale-menu",role:"listbox"},dp=["aria-selected"],pp=["onClick"],up={class:"ps-flag"},fp={class:"ps-locale-name"},hp={class:"ps-locale-en"},gp={class:"ps-locale ps-engine"},$p=["aria-expanded","aria-label","title"],mp={class:"ps-locale-name"},bp=["aria-label"],vp=["aria-selected"],kp=["onClick"],_p={class:"ps-locale-name"},yp={class:"ps-locale-en"},xp={class:"ps-token"},wp=["aria-expanded","title"],Sp={class:"ps-locale-name"},Lp={class:"ps-token-head"},Mp={class:"ps-token-label"},Tp={class:"ps-token-label"},Cp={class:"ps-token-row"},Op=["disabled"],Pp={class:"ps-token-note"},Ap=["title","aria-label"],Np={class:"ps-locale-name"},Ep={key:0,class:"ps-toolbar"},Fp={class:"ps-bar"},Ip={class:"ps-bar-t"},Rp={class:"ps-bar-sub"},Dp={key:0},Hp=["aria-expanded"],Wp={key:0,class:"ps-embed"},zp=["value"],Up=["title","aria-label"],Bp={class:"ps-stage"},jp=["hidden"],Vp={key:0,class:"ps-hint"},Kp={key:1,class:"ps-hint err"},qp={key:0,class:"ps-hint"};function Gp(e,t,o,n,s,i){const a=gn("StudioTree"),r=gn("VerticalTabsLayout");return L(),Rt(r,{title:e.heading||e.tr("title"),dir:e.uiDir,"nav-label":e.tr("navLabel"),labels:{toggleList:e.tr("toggleList"),openViews:e.tr("openViews"),expandList:e.tr("expandList"),collapseList:e.tr("collapseList"),collapse:e.tr("collapse")},header:!e.headerHidden,active:e.activeKey,"onUpdate:active":e.select},{rail:ht(({collapsed:l,expand:d,pick:p})=>[ve(a,{sections:e.treeSections,active:e.activeKey,collapsed:l,expand:d,pick:p,strings:{filterPlaceholder:e.tr("filterPlaceholder"),collapseAll:e.tr("collapseAll"),noMatch:e.tr("noMatch"),treeLabel:e.tr("navLabel"),openSection:e.tr("openSection"),part:e.tr("part")}},null,8,["sections","active","collapsed","expand","pick","strings"])]),brand:ht(()=>[t[13]||(t[13]=b("span",{class:"ps-logo","aria-hidden":"true"},[b("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[b("path",{d:"M10 3v3M14 3v3M7 6h10v5a5 5 0 0 1-10 0V6Z"}),b("path",{d:"M12 16v5"})])],-1)),b("button",{type:"button",class:"ps-hide-header-phone",title:e.tr("hideHeader"),"aria-label":e.tr("hideHeader"),onClick:t[0]||(t[0]=l=>e.setHeaderHidden(!0))},[...t[12]||(t[12]=[b("span",{"aria-hidden":"true"},"⌃",-1)])],8,np)]),meta:ht(()=>[b("span",sp,T(e.countLabel),1),b("span",ip,[b("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":e.tr("changeLanguage"),onClick:t[1]||(t[1]=l=>{e.localeOpen=!e.localeOpen,e.engineOpen=!1,e.settingsOpen=!1})},[b("span",rp,T(e.activeLang.flag),1),b("span",lp,T(e.activeLang.nativeName),1),t[14]||(t[14]=b("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,ap),e.localeOpen?(L(),M("ul",cp,[(L(!0),M(Y,null,Oe(e.switcherLangs,l=>(L(),M("li",{key:l.code,role:"option","aria-selected":String(l.code===e.locale)},[b("button",{type:"button",class:he(["ps-locale-opt",{active:l.code===e.locale}]),onClick:d=>e.setLocale(l.code)},[b("span",up,T(l.flag),1),b("span",fp,T(l.nativeName),1),b("span",hp,T(l.name),1)],10,pp)],8,dp))),128))])):V("",!0)]),b("span",gp,[b("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.engineOpen),"aria-label":e.tr("mapEngine"),title:e.tr("mapEngine"),onClick:t[2]||(t[2]=l=>{e.engineOpen=!e.engineOpen,e.localeOpen=!1,e.settingsOpen=!1})},[t[15]||(t[15]=b("span",{"aria-hidden":"true"},"🗺",-1)),b("span",mp,T(e.engineLabel),1),t[16]||(t[16]=b("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,$p),e.engineOpen?(L(),M("ul",{key:0,class:"ps-locale-menu",role:"listbox","aria-label":e.tr("mapEngine")},[(L(!0),M(Y,null,Oe(e.engines,l=>(L(),M("li",{key:l.id||"default",role:"option","aria-selected":String(l.id===e.userProvider)},[b("button",{type:"button",class:he(["ps-locale-opt",{active:l.id===e.userProvider}]),onClick:d=>e.setProvider(l.id)},[b("span",_p,T(l.label),1),b("span",yp,T(l.note),1)],10,kp)],8,vp))),128))],8,bp)):V("",!0)]),b("span",xp,[b("button",{type:"button",class:"ps-locale-btn ps-token-btn","aria-expanded":String(e.settingsOpen),title:e.tokenStatus,onClick:t[3]||(t[3]=l=>{e.settingsOpen=!e.settingsOpen,e.localeOpen=!1,e.engineOpen=!1})},[b("span",Sp,T(e.tr("mapboxToken")),1),b("span",{class:he(["ps-token-dot","is-"+e.tokenSource]),"aria-hidden":"true"},null,2)],8,wp),e.settingsOpen?(L(),M("form",{key:0,class:"ps-token-panel",onSubmit:t[7]||(t[7]=Ii((...l)=>e.applyToken&&e.applyToken(...l),["prevent"]))},[b("p",Lp,T(e.tr("mapToken")),1),b("label",Mp,[Ae(T(e.tr("tokenPaste"))+" ",1),gt(b("input",{class:"ps-token-input","onUpdate:modelValue":t[4]||(t[4]=l=>e.tokenDraft=l),placeholder:"pk.eyJ…",autocomplete:"off",spellcheck:"false"},null,512),[[Nn,e.tokenDraft,void 0,{trim:!0}]])]),b("label",Tp,[Ae(T(e.tr("tokenUrlLabel"))+" ",1),gt(b("input",{class:"ps-token-input","onUpdate:modelValue":t[5]||(t[5]=l=>e.urlDraft=l),type:"url",placeholder:"https://doxa.life/api/maps/token",autocomplete:"off",spellcheck:"false"},null,512),[[Nn,e.urlDraft,void 0,{trim:!0}]])]),b("div",Cp,[b("button",{type:"submit",class:"ps-token-apply",disabled:e.tokenBusy},T(e.tr("tokenApply")),9,Op),b("button",{type:"button",class:"ps-token-clear",onClick:t[6]||(t[6]=(...l)=>e.clearToken&&e.clearToken(...l))},T(e.tr("tokenClear")),1)]),b("p",{class:he(["ps-token-status",{err:!!e.tokenErr}]),role:"status"},T(e.tokenErr||e.tokenStatus),3),b("p",Pp,T(e.tr("tokenStoredHere")),1)],32)):V("",!0)]),b("button",{type:"button",class:"ps-locale-btn ps-hide-header",title:e.tr("hideHeader"),"aria-label":e.tr("hideHeader"),onClick:t[8]||(t[8]=l=>e.setHeaderHidden(!0))},[t[17]||(t[17]=b("span",{"aria-hidden":"true"},"⌃",-1)),b("span",Np,T(e.tr("hideHeader")),1)],8,Ap)]),toolbar:ht(()=>[e.active?(L(),M("div",Ep,[b("div",Fp,[b("div",Ip,[b("b",null,T(e.active.label),1),b("span",Rp,[Ae(T(e.active.bundle)+" · <"+T(e.active.tag)+">",1),e.active.description?(L(),M("span",Dp," · "+T(e.active.description),1)):V("",!0)])]),e.active.embed?(L(),M("button",{key:0,type:"button",class:"ps-btn","aria-expanded":String(e.embedOpen),onClick:t[9]||(t[9]=l=>e.embedOpen=!e.embedOpen)},T(e.tr("copyEmbed")),9,Hp)):V("",!0)]),e.embedOpen&&e.active.embed?(L(),M("div",Wp,[b("label",null,[Ae(T(e.tr("scriptEmbed"))+" ",1),b("button",{type:"button",class:"ps-btn",onClick:t[10]||(t[10]=l=>e.copyText(e.active.embed,l.target))},T(e.tr("copy")),1)]),b("textarea",{readonly:"",value:e.active.embed},null,8,zp)])):V("",!0)])):V("",!0)]),default:ht(()=>[e.headerHidden?(L(),M("button",{key:0,type:"button",class:"ps-show-header",title:e.tr("showHeader"),"aria-label":e.tr("showHeader"),onClick:t[11]||(t[11]=l=>e.setHeaderHidden(!1))},[t[18]||(t[18]=b("span",{"aria-hidden":"true"},"⌄",-1)),Ae(" "+T(e.tr("showHeader")),1)],8,Up)):V("",!0),b("div",Bp,[(L(!0),M(Y,null,Oe(e.flatRows,l=>gt((L(),M("section",{key:l.key,class:"ps-pane",hidden:l.key!==e.activeKey},[!l.heavy||l.key===e.activeKey?(L(),M(Y,{key:0},[b("div",{class:"ps-slot",ref_for:!0,ref:d=>e.setSlot(l.key,d)},null,512),l.state==="loading"?(L(),M("div",Vp,T(e.tr("loading",{name:l.label})),1)):l.state==="error"?(L(),M("div",Kp,[Ae(T(e.tr("couldNotLoad",{name:l.label})),1),t[19]||(t[19]=b("br",null,null,-1)),b("small",null,T(l.error),1)])):V("",!0)],64)):V("",!0)],8,jp)),[[Tn,l.key===e.activeKey]])),128)),e.activeKey?V("",!0):(L(),M("div",qp,T(e.tr("chooseElement")),1))])]),_:1},8,["title","dir","nav-label","labels","header","active","onUpdate:active"])}const Yp=Po(op,[["render",Gp],["styles",[Gd]]]),Jp=pc(),Xp=Ol(Yp,{configureApp(e){e.provide("psTreeBase",Jp)}});typeof customElements<"u"&&!customElements.get("plugin-studio")&&customElements.define("plugin-studio",Xp)})(); diff --git a/public/dx-maps/plugin-studio/plugin-studio/index.html b/public/dx-maps/plugin-studio/plugin-studio/index.html index f3429293e..eee59284a 100644 --- a/public/dx-maps/plugin-studio/plugin-studio/index.html +++ b/public/dx-maps/plugin-studio/plugin-studio/index.html @@ -61,7 +61,7 @@ - + - + - + - + \n\n\n" + "script": "\n\n\n" }, "instances": [ { @@ -1010,7 +1010,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-Vm9qU3mHUKKzRCz8NSAYnGoWmvXfAVhpnkqPdxES/SefZvszfT+FTCXRMMBRAz+v", + "integrity": "sha384-W1tvJGCKrRzVyOQbAqHjBEHfITVJrYxzrMBc8FYocqI8gO6Sub5AbKkf12yi/Y1z", "elements": [ "plugin-studio" ], @@ -1041,7 +1041,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { diff --git a/public/dx-maps/index.html b/public/dx-maps/index.html index 4948a85f5..23d7cc6b4 100644 --- a/public/dx-maps/index.html +++ b/public/dx-maps/index.html @@ -19,6 +19,6 @@ - + diff --git a/public/dx-maps/manifest.json b/public/dx-maps/manifest.json index c9af6e618..b79541b64 100644 --- a/public/dx-maps/manifest.json +++ b/public/dx-maps/manifest.json @@ -361,7 +361,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-OMLL18bbuWbcPanAqSDf3Lzu9kcW450A+ocCWBnbaPaImmcqrnYDYouA6avtzAjA", + "integrity": "sha384-8wynmEdEWFILOpZxUkyzfg0qSK4qxy2m0fg2JCimN9cqqeQ5QxFOJqIjW8sA7EVu", "elements": [ "doxa-maps-spa" ], @@ -389,7 +389,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { @@ -1010,7 +1010,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "dx-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-Vm9qU3mHUKKzRCz8NSAYnGoWmvXfAVhpnkqPdxES/SefZvszfT+FTCXRMMBRAz+v", + "integrity": "sha384-W1tvJGCKrRzVyOQbAqHjBEHfITVJrYxzrMBc8FYocqI8gO6Sub5AbKkf12yi/Y1z", "elements": [ "plugin-studio" ], @@ -1041,7 +1041,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" }, "instances": [ { diff --git a/public/dx-maps/plugin-studio/plugin-studio.js b/public/dx-maps/plugin-studio/plugin-studio.js index 750dc4aea..6bfb31773 100644 --- a/public/dx-maps/plugin-studio/plugin-studio.js +++ b/public/dx-maps/plugin-studio/plugin-studio.js @@ -26,7 +26,7 @@ scroll-behavior: auto !important; } }`;function Xl(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},Ql=["aria-label","title"],ec=Po({__name:"BackToTopButton",props:{target:{type:Object,default:null},threshold:{type:Number,default:400},labels:{type:Object,default:()=>({})}},setup(e){const t=e,o=vs(0),n=vs(!1);function s(){const d=t.target;if(!d){o.value=0,n.value=!1;return}o.value=d.scrollTop||0,n.value=(d.scrollHeight||0)-(d.clientHeight||0)>t.threshold}const i=yi(()=>n.value&&o.value>t.threshold);function a(){const d=t.target;if(!d)return;const p=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches;d.scrollTo({top:0,behavior:p?"auto":"smooth"})}let r=null;function l(d){r&&(r.removeEventListener("scroll",s),r=null),d&&(d.addEventListener("scroll",s,{passive:!0}),r=d),s()}return hn(()=>l(t.target)),go(()=>t.target,d=>l(d)),Rs(()=>l(null)),(d,p)=>i.value?(L(),M("button",{key:0,class:"btt",type:"button","aria-label":e.labels.backToTop||"",title:e.labels.backToTop||"",onClick:a},"↑",8,Ql)):V("",!0)}},[["styles",[Zl]],["__scopeId","data-v-6a25802e"]]),tc=Object.assign({"./locales/ar/buttons.json":{prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف",packetVariantAria:"تفاصيل حزمة الصلاة",packetFull:"تفاصيل كاملة",packetLightweight:"مختصرة",working:"جارٍ العمل…",postersPerRowAuto:"تلقائي"},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية.",search_people_or_countries:"ابحث عن الشعوب أو الدول…",cards_per_row:"البطاقات في كل صف",cards_per_row_auto:"تلقائي"},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم صلاة وملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntroA:"كيف تُطعم جمعًا من خمسة آلاف؟ أجلسهم يسوع جماعاتٍ من خمسين ومن مئة، فصار المستحيل قابلًا للمشاركة (لوقا ٩:١٤). فعلنا المثل مع ٢١٠٦ شعوب غير مبلَّغة: ٢٧ قائمة من نحو خمسين إلى مئة. تُطبع كل قائمة حزمةَ صلاة وملصقًا، ليحمل ٢٧ تلميذًا أو كنيسة أو قائدًا محليًا كلٌّ واحدة — مصلّين لأجلهم ",upg100WallIntroEmph:"باسم شعبهم",upg100WallIntroB:".",loadingNamed:"جارٍ تحميل {name}…",couldNotLoadNamed:"تعذّر تحميل {name}.",engineMissing:"لم يتم تحميل محرك الخرائط {engine}.",packetFailed:"فشل إنشاء الكُتيّب: {reason}",selectionPacketFailed:"فشل إنشاء كُتيّب التحديد: {reason}",posterOneTerritory:"الملصق يطبع منطقة واحدة في كل مرة — {count} محددة.",selectionPosterFailed:"فشل إنشاء ملصق التحديد: {reason}",mapUnavailable:"الخريطة غير متاحة",copied:"تم النسخ!",copyFailed:"فشل النسخ — اضغط Ctrl/Cmd-C",engineNotLoaded:"لم يتم تحميل محرك الخريطة",engineNotLoadedDetail:"لم يتم تحميل محرك الخريطة {engine}. القائمة ووسيلة الإيضاح غير متأثرتين.",viewLoadFailed:"تعذّر تحميل هذا العرض.",retry:"إعادة المحاولة",noMapboxToken:"لا يوجد رمز Mapbox",noMapboxTokenDetail:"لم يُضبط أي رمز Mapbox. القائمة ووسيلة الإيضاح غير متأثرتين.",loadingBoundaries:"جارٍ تحميل الحدود…",fetchingUupgs:"جارٍ جلب {n} من UUPG…",mapStatusCounts:"المساحات: {polys} · المناطق: {zones}/{total} · الدبابيس: {pins}",tapTerritoriesHint:"انقر على الأقاليم في الخريطة أو صفوف وسيلة الإيضاح لإضافتها · انقر مجددًا لإزالتها",territoriesSelected:"الأقاليم: {count}",bandInRange:"✓ النطاق 50–100",bandOutOfRange:"النطاق 50–100",mapContextLost:"تم إلغاء تحميل هذه الخريطة لتحرير ذاكرة الرسوميات.",nOfTotal:"{n} من {total}",mapInitFailed:"تعذّر تهيئة الخريطة — تحقّق من الرمز والحاوية",countryWallIntroA:"ملصق لكل دولة، جاهز للصلاة والطباعة والتعليق على الحائط — نصلّي لأجلهم ",countryWallIntroB:". رُتّبت المناطق والدول بحسب عدد الشعوب غير المبلَّغة فيها، لتتقدّم الحاجة الأكبر.",countryWallSoon:"قريبًا: ستُنشأ قائمة صلاة لكل دولة، تسمّي كل شعب غير مبلَّغ فيها.",countryWallHeading:"ملصقات الدول — قوائم صلاة وملصقات",largerScreenNotice:"هذه الخريطة التجريبية مُعدّة للشاشات الكبيرة. تُفتح هنا، لكن بعض أجزائها قد لا يتّسع أو لا يعمل جيدًا على الهاتف.",desktopOnlyNotice:"{label} يعمل على الحاسوب فقط — افتح هذه الصفحة على حاسوب لاستخدامه.",noticeDismiss:"إغلاق",countryPosterTooMany:"عدد الشعوب أكبر من أن يتّسع له ملصق واحد بوضوح — ونعمل على حلّ لذلك."},"./locales/de/buttons.json":{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",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile",packetVariantAria:"Detailgrad des Gebetspakets",packetFull:"Vollständig",packetLightweight:"Kompakt",working:"Wird bearbeitet…",postersPerRowAuto:"Automatisch"},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter.",search_people_or_countries:"Volksgruppen oder Länder suchen…",cards_per_row:"Karten pro Zeile",cards_per_row_auto:"Automatisch"},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntroA:"Wie würden Sie eine Menge von fünftausend speisen? Jesus ließ sie in Gruppen zu fünfzig und hundert lagern, und das Unmögliche wurde teilbar (Lukas 9,14). Dasselbe haben wir mit den 2.106 unerreichten Volksgruppen getan: 27 Listen von etwa fünfzig bis hundert. Jede Liste druckt als Gebetspaket und als Poster, damit 27 Jünger, Gemeinden oder einheimische Leiter je eine tragen können — und für sie beten ",upg100WallIntroEmph:"mit dem Namen ihrer Volksgruppe",upg100WallIntroB:".",loadingNamed:"{name} wird geladen…",couldNotLoadNamed:"{name} konnte nicht geladen werden.",engineMissing:"Die Karten-Engine {engine} wurde nicht geladen.",packetFailed:"Heft fehlgeschlagen: {reason}",selectionPacketFailed:"Heft der Auswahl fehlgeschlagen: {reason}",posterOneTerritory:"Das Plakat druckt ein Gebiet auf einmal — {count} ausgewählt.",selectionPosterFailed:"Plakat der Auswahl fehlgeschlagen: {reason}",mapUnavailable:"Karte nicht verfügbar",copied:"Kopiert!",copyFailed:"Kopieren fehlgeschlagen — Strg/Cmd-C drücken",engineNotLoaded:"Karten-Engine nicht geladen",engineNotLoadedDetail:"Die Karten-Engine {engine} wurde nicht geladen. Liste und Legende sind nicht betroffen.",viewLoadFailed:"Diese Ansicht konnte nicht geladen werden.",retry:"Erneut versuchen",noMapboxToken:"Kein Mapbox-Token",noMapboxTokenDetail:"Kein Mapbox-Token konfiguriert. Liste und Legende sind nicht betroffen.",loadingBoundaries:"Grenzen werden geladen…",fetchingUupgs:"{n} UUPGs werden abgerufen…",mapStatusCounts:"Flächen: {polys} · Zonen: {zones}/{total} · Pins: {pins}",tapTerritoriesHint:"Tippen Sie auf Gebiete auf der Karte oder auf Legendenzeilen, um sie hinzuzufügen · erneut tippen zum Entfernen",territoriesSelected:"Gebiete: {count}",bandInRange:"✓ Bereich 50–100",bandOutOfRange:"Bereich 50–100",mapContextLost:"Diese Karte wurde entladen, um Grafikspeicher freizugeben.",nOfTotal:"{n} von {total}",mapInitFailed:"Karte konnte nicht initialisiert werden — Token und Container prüfen",countryWallIntroA:"Ein Poster pro Land, bereit zum Beten, Drucken und Aufhängen — und für sie beten ",countryWallIntroB:". Regionen und Länder sind danach geordnet, wie viele unerreichte Volksgruppen sie umfassen, damit der größte Bedarf vorne steht.",countryWallSoon:"Demnächst: Für jedes Land wird eine Gebetsliste erstellt, die jede unerreichte Volksgruppe darin mit Namen nennt.",countryWallHeading:"Länderposter — Gebetslisten und Poster",largerScreenNotice:"Diese experimentelle Karte ist für große Bildschirme gebaut. Sie öffnet sich hier, aber Teile passen oder funktionieren auf einem Telefon womöglich nicht gut.",desktopOnlyNotice:"{label} funktioniert nur am Desktop – öffnen Sie diese Seite an einem Computer.",noticeDismiss:"Schließen",countryPosterTooMany:"Zu viele Volksgruppen, um lesbar auf ein Plakat zu passen – an einer Lösung wird gearbeitet."},"./locales/en/buttons.json":{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",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",working:"Working…",packetVariantAria:"Prayer packet detail",packetFull:"Full detail",packetLightweight:"Lightweight",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row",postersPerRowAuto:"Auto"},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter.",search_people_or_countries:"Search people groups or countries…",cards_per_row:"Cards per row",cards_per_row_auto:"Auto"},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntroA:"How would you feed a crowd of five thousand? Jesus sat them down in groups of fifty and a hundred, and the impossible became shareable (Luke 9:14). We did the same with the 2,106 unreached people groups: 27 lists of about fifty to a hundred. Each list prints as a prayer packet and a poster, so 27 disciples, churches or local leaders can each carry one — praying for them ",upg100WallIntroEmph:"by their people group name",upg100WallIntroB:".",loadingNamed:"Loading {name}…",couldNotLoadNamed:"Could not load {name}.",engineMissing:"The {engine} map engine did not load.",packetFailed:"Packet failed: {reason}",selectionPacketFailed:"Selection packet failed: {reason}",posterOneTerritory:"Poster prints one territory at a time — {count} selected.",selectionPosterFailed:"Selection poster failed: {reason}",mapUnavailable:"Map unavailable",copied:"Copied!",copyFailed:"Copy failed — press Ctrl/Cmd-C",engineNotLoaded:"map engine not loaded",engineNotLoadedDetail:"The {engine} map engine did not load. The list and legend are unaffected.",viewLoadFailed:"This view couldn't load.",retry:"Retry",noMapboxToken:"No Mapbox token",noMapboxTokenDetail:"No Mapbox token configured. The list and legend are unaffected.",loadingBoundaries:"Loading boundaries…",fetchingUupgs:"Fetching {n} UUPGs…",mapStatusCounts:"Areas: {polys} · zones: {zones}/{total} · pins: {pins}",tapTerritoriesHint:"Tap territories on the map or legend rows to add · tap again to remove",territoriesSelected:"Territories: {count}",bandInRange:"✓ 50–100 band",bandOutOfRange:"band 50–100",mapContextLost:"This map was unloaded to free graphics memory.",nOfTotal:"{n} of {total}",mapInitFailed:"Map failed to initialize — check token and container",countryWallIntroA:"One poster per country, ready to pray, print, and put on a wall — praying for them ",countryWallIntroB:". Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",countryWallSoon:"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.",countryWallHeading:"Country Posters — Prayer Lists & Posters",largerScreenNotice:"This experimental map is built for larger screens. It opens here, but parts of it may not fit or work well on a phone.",desktopOnlyNotice:"{label} only supports desktop — open this page on a desktop to use it.",noticeDismiss:"Dismiss",countryPosterTooMany:"Too many people groups to fit on one poster legibly — a solution is in progress."},"./locales/es/buttons.json":{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",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila",packetVariantAria:"Detalle del paquete de oración",packetFull:"Detalle completo",packetLightweight:"Ligero",working:"Procesando…",postersPerRowAuto:"Automático"},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro.",search_people_or_countries:"Buscar pueblos o países…",cards_per_row:"Tarjetas por fila",cards_per_row_auto:"Automático"},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntroA:"¿Cómo alimentarías a una multitud de cinco mil? Jesús los sentó en grupos de cincuenta y de cien, y lo imposible se volvió compartible (Lucas 9:14). Hicimos lo mismo con los 2.106 pueblos no alcanzados: 27 listas de unos cincuenta a cien. Cada lista se imprime como paquete de oración y cartel, para que 27 discípulos, iglesias o líderes locales lleven una cada uno — orando por ellos ",upg100WallIntroEmph:"por el nombre de su pueblo",upg100WallIntroB:".",loadingNamed:"Cargando {name}…",couldNotLoadNamed:"No se pudo cargar {name}.",engineMissing:"El motor de mapas {engine} no se cargó.",packetFailed:"Error al generar el cuadernillo: {reason}",selectionPacketFailed:"Error al generar el cuadernillo de la selección: {reason}",posterOneTerritory:"El cartel imprime un territorio a la vez: {count} seleccionados.",selectionPosterFailed:"Error al generar el cartel de la selección: {reason}",mapUnavailable:"Mapa no disponible",copied:"¡Copiado!",copyFailed:"Error al copiar: pulsa Ctrl/Cmd-C",engineNotLoaded:"motor de mapas no cargado",engineNotLoadedDetail:"El motor de mapas {engine} no se cargó. La lista y la leyenda no se ven afectadas.",viewLoadFailed:"No se pudo cargar esta vista.",retry:"Reintentar",noMapboxToken:"No hay token de Mapbox",noMapboxTokenDetail:"No hay ningún token de Mapbox configurado. La lista y la leyenda no se ven afectadas.",loadingBoundaries:"Cargando límites…",fetchingUupgs:"Obteniendo {n} UUPG…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque territorios en el mapa o filas de la leyenda para añadirlos · toque de nuevo para quitarlos",territoriesSelected:"Territorios: {count}",bandInRange:"✓ franja 50–100",bandOutOfRange:"franja 50–100",mapContextLost:"Este mapa se descargó para liberar memoria gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"No se pudo iniciar el mapa: revisa el token y el contenedor",countryWallIntroA:"Un cartel por país, listo para orar, imprimir y colgar en una pared — orando por ellos ",countryWallIntroB:". Las regiones y los países se ordenan según cuántos pueblos no comprometidos contienen, para que la mayor necesidad vaya primero.",countryWallSoon:"Próximamente: se generará una lista de oración para cada país, con el nombre de cada pueblo no alcanzado que hay en él.",countryWallHeading:"Carteles por país — Listas de oración y carteles",largerScreenNotice:"Este mapa experimental está pensado para pantallas grandes. Se abre aquí, pero algunas partes pueden no caber o no funcionar bien en un teléfono.",desktopOnlyNotice:"{label} solo funciona en escritorio: abra esta página en un ordenador para usarlo.",noticeDismiss:"Cerrar",countryPosterTooMany:"Demasiados pueblos para que quepan legiblemente en un solo cartel; estamos trabajando en una solución."},"./locales/fr/buttons.json":{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",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne",packetVariantAria:"Niveau de détail du dossier de prière",packetFull:"Détail complet",packetLightweight:"Allégé",working:"Traitement…",postersPerRowAuto:"Auto"},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre.",search_people_or_countries:"Rechercher des peuples ou des pays…",cards_per_row:"Cartes par ligne",cards_per_row_auto:"Automatique"},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntroA:"Comment nourririez-vous une foule de cinq mille personnes ? Jésus les a fait asseoir par groupes de cinquante et de cent, et l’impossible est devenu partageable (Luc 9.14). Nous avons fait de même avec les 2 106 peuples non atteints : 27 listes d’environ cinquante à cent. Chaque liste s’imprime en dossier de prière et en affiche, pour que 27 disciples, Églises ou responsables locaux en portent chacun une — en priant pour eux ",upg100WallIntroEmph:"par le nom de leur peuple",upg100WallIntroB:".",loadingNamed:"Chargement de {name}…",couldNotLoadNamed:"Impossible de charger {name}.",engineMissing:"Le moteur de carte {engine} ne s’est pas chargé.",packetFailed:"Échec du livret : {reason}",selectionPacketFailed:"Échec du livret de la sélection : {reason}",posterOneTerritory:"L’affiche imprime un territoire à la fois — {count} sélectionnés.",selectionPosterFailed:"Échec de l’affiche de la sélection : {reason}",mapUnavailable:"Carte indisponible",copied:"Copié !",copyFailed:"Échec de la copie — appuyez sur Ctrl/Cmd-C",engineNotLoaded:"moteur cartographique non chargé",engineNotLoadedDetail:"Le moteur cartographique {engine} ne s’est pas chargé. La liste et la légende ne sont pas affectées.",viewLoadFailed:"Impossible de charger cette vue.",retry:"Réessayer",noMapboxToken:"Aucun jeton Mapbox",noMapboxTokenDetail:"Aucun jeton Mapbox n’est configuré. La liste et la légende ne sont pas affectées.",loadingBoundaries:"Chargement des limites…",fetchingUupgs:"Récupération de {n} UUPG…",mapStatusCounts:"Surfaces : {polys} · zones : {zones}/{total} · repères : {pins}",tapTerritoriesHint:"Touchez des territoires sur la carte ou des lignes de la légende pour les ajouter · touchez à nouveau pour les retirer",territoriesSelected:"Territoires : {count}",bandInRange:"✓ tranche 50–100",bandOutOfRange:"tranche 50–100",mapContextLost:"Cette carte a été déchargée pour libérer de la mémoire graphique.",nOfTotal:"{n} sur {total}",mapInitFailed:"Échec de l’initialisation de la carte — vérifiez le jeton et le conteneur",countryWallIntroA:"Une affiche par pays, prête à prier, à imprimer et à accrocher au mur — en priant pour eux ",countryWallIntroB:". Les régions et les pays sont classés selon le nombre de peuples non engagés qu’ils comptent, pour que le plus grand besoin vienne en premier.",countryWallSoon:"Bientôt : une liste de prière sera générée pour chaque pays, nommant chaque peuple non atteint qui s’y trouve.",countryWallHeading:"Affiches par pays — Listes de prière et affiches",largerScreenNotice:"Cette carte expérimentale est conçue pour les grands écrans. Elle s’ouvre ici, mais certaines parties peuvent mal s’afficher ou mal fonctionner sur un téléphone.",desktopOnlyNotice:"{label} ne fonctionne que sur ordinateur : ouvrez cette page sur un ordinateur pour l’utiliser.",noticeDismiss:"Fermer",countryPosterTooMany:"Trop de peuples pour tenir lisiblement sur une seule affiche — une solution est en préparation."},"./locales/hi/buttons.json":{prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर",packetVariantAria:"प्रार्थना पैकेट विवरण",packetFull:"पूर्ण विवरण",packetLightweight:"संक्षिप्त",working:"कार्य जारी…",postersPerRowAuto:"स्वतः"},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।",search_people_or_countries:"जनसमूह या देश खोजें…",cards_per_row:"प्रति पंक्ति कार्ड",cards_per_row_auto:"स्वचालित"},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना संग्रहण",upg100WallIntroA:"पाँच हज़ार की भीड़ को आप कैसे खिलाते? यीशु ने उन्हें पचास-पचास और सौ-सौ के समूहों में बिठाया, और असंभव बाँटने योग्य हो गया (लूका 9:14). हमने 2,106 अनपहुँचे जनसमूहों के साथ वही किया: लगभग पचास से सौ तक की 27 सूचियाँ. हर सूची प्रार्थना पैकेट और पोस्टर के रूप में छपती है, ताकि 27 शिष्य, कलीसियाएँ या स्थानीय अगुवे एक-एक ले सकें — उनके लिए प्रार्थना करते हुए ",upg100WallIntroEmph:"उनके जन के नाम से",upg100WallIntroB:".",loadingNamed:"{name} लोड हो रहा है…",couldNotLoadNamed:"{name} लोड नहीं हो सका।",engineMissing:"{engine} नक्शा इंजन लोड नहीं हुआ।",packetFailed:"पुस्तिका विफल: {reason}",selectionPacketFailed:"चयन की पुस्तिका विफल: {reason}",posterOneTerritory:"पोस्टर एक समय में एक क्षेत्र छापता है — {count} चयनित।",selectionPosterFailed:"चयन का पोस्टर विफल: {reason}",mapUnavailable:"मानचित्र अनुपलब्ध",copied:"कॉपी हो गया!",copyFailed:"कॉपी विफल — Ctrl/Cmd-C दबाएँ",engineNotLoaded:"मानचित्र इंजन लोड नहीं हुआ",engineNotLoadedDetail:"{engine} मानचित्र इंजन लोड नहीं हुआ। सूची और लेजेंड अप्रभावित हैं।",viewLoadFailed:"यह दृश्य लोड नहीं हो सका।",retry:"फिर से कोशिश करें",noMapboxToken:"कोई Mapbox टोकन नहीं",noMapboxTokenDetail:"कोई Mapbox टोकन कॉन्फ़िगर नहीं है। सूची और लेजेंड पर कोई असर नहीं है।",loadingBoundaries:"सीमाएँ लोड हो रही हैं…",fetchingUupgs:"{n} UUPG लाए जा रहे हैं…",mapStatusCounts:"क्षेत्र: {polys} · ज़ोन: {zones}/{total} · पिन: {pins}",tapTerritoriesHint:"जोड़ने के लिए मानचित्र पर क्षेत्रों या लेजेंड की पंक्तियों पर टैप करें · हटाने के लिए फिर से टैप करें",territoriesSelected:"क्षेत्र: {count}",bandInRange:"✓ 50–100 दायरा",bandOutOfRange:"50–100 दायरा",mapContextLost:"ग्राफ़िक्स मेमोरी खाली करने के लिए यह मानचित्र अनलोड कर दिया गया।",nOfTotal:"{total} में से {n}",mapInitFailed:"मानचित्र आरंभ नहीं हो सका — टोकन और कंटेनर जाँचें",countryWallIntroA:"हर देश के लिए एक पोस्टर — प्रार्थना करने, छापने और दीवार पर लगाने के लिए तैयार, और उनके लिए प्रार्थना करते हुए ",countryWallIntroB:". क्षेत्र और देश इस क्रम में हैं कि उनमें कितने अनपहुँचे जनसमूह हैं, ताकि सबसे बड़ी ज़रूरत पहले आए।",countryWallSoon:"जल्द ही: हर देश के लिए एक प्रार्थना सूची बनाई जाएगी, जिसमें उसके हर अनपहुँचे जनसमूह का नाम होगा।",countryWallHeading:"देश पोस्टर — प्रार्थना सूचियाँ और पोस्टर",largerScreenNotice:"यह प्रायोगिक नक्शा बड़ी स्क्रीन के लिए बना है। यह यहाँ खुलता है, पर फ़ोन पर इसके कुछ हिस्से ठीक से न दिखें या न चलें।",desktopOnlyNotice:"{label} केवल डेस्कटॉप पर चलता है — इसे इस्तेमाल करने के लिए यह पेज कंप्यूटर पर खोलें।",noticeDismiss:"बंद करें",countryPosterTooMany:"एक पोस्टर पर साफ़-साफ़ आने के लिए जनसमूह बहुत अधिक हैं — समाधान पर काम चल रहा है।"},"./locales/it/buttons.json":{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",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga",packetVariantAria:"Dettaglio del pacchetto di preghiera",packetFull:"Dettaglio completo",packetLightweight:"Leggero",working:"Elaborazione…",postersPerRowAuto:"Automatico"},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro.",search_people_or_countries:"Cerca popoli o paesi…",cards_per_row:"Schede per riga",cards_per_row_auto:"Automatico"},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e manifesti",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntroA:"Come sfameresti una folla di cinquemila? Gesù li fece sedere a gruppi di cinquanta e di cento, e l’impossibile divenne condivisibile (Luca 9:14). Abbiamo fatto lo stesso con i 2.106 popoli non raggiunti: 27 liste di circa cinquanta-cento. Ogni lista si stampa come pacchetto di preghiera e manifesto, così 27 discepoli, chiese o responsabili locali ne portano una ciascuno — pregando per loro ",upg100WallIntroEmph:"con il nome del loro popolo",upg100WallIntroB:".",loadingNamed:"Caricamento di {name}…",couldNotLoadNamed:"Impossibile caricare {name}.",engineMissing:"Il motore di mappa {engine} non è stato caricato.",packetFailed:"Libretto non riuscito: {reason}",selectionPacketFailed:"Libretto della selezione non riuscito: {reason}",posterOneTerritory:"Il manifesto stampa un territorio alla volta — {count} selezionati.",selectionPosterFailed:"Manifesto della selezione non riuscito: {reason}",mapUnavailable:"Mappa non disponibile",copied:"Copiato!",copyFailed:"Copia non riuscita — premi Ctrl/Cmd-C",engineNotLoaded:"motore di mappe non caricato",engineNotLoadedDetail:"Il motore di mappe {engine} non si è caricato. L’elenco e la legenda non sono interessati.",viewLoadFailed:"Impossibile caricare questa vista.",retry:"Riprova",noMapboxToken:"Nessun token Mapbox",noMapboxTokenDetail:"Nessun token Mapbox configurato. L’elenco e la legenda non sono interessati.",loadingBoundaries:"Caricamento dei confini…",fetchingUupgs:"Recupero di {n} UUPG…",mapStatusCounts:"Aree: {polys} · zone: {zones}/{total} · segnaposto: {pins}",tapTerritoriesHint:"Tocca i territori sulla mappa o le righe della legenda per aggiungerli · tocca di nuovo per rimuoverli",territoriesSelected:"Territori: {count}",bandInRange:"✓ fascia 50–100",bandOutOfRange:"fascia 50–100",mapContextLost:"Questa mappa è stata scaricata per liberare memoria grafica.",nOfTotal:"{n} su {total}",mapInitFailed:"Impossibile inizializzare la mappa — controlla il token e il contenitore",countryWallIntroA:"Un poster per paese, pronto da pregare, stampare e appendere al muro — pregando per loro ",countryWallIntroB:". Regioni e paesi sono ordinati in base a quanti popoli non raggiunti contengono, perché il bisogno più grande venga per primo.",countryWallSoon:"Prossimamente: per ogni paese verrà generata una lista di preghiera con il nome di ogni popolo non raggiunto che vi abita.",countryWallHeading:"Poster per paese — Liste di preghiera e manifesti",largerScreenNotice:"Questa mappa sperimentale è pensata per schermi grandi. Si apre qui, ma alcune parti potrebbero non entrare o non funzionare bene su un telefono.",desktopOnlyNotice:"{label} funziona solo su desktop: apri questa pagina da un computer per usarlo.",noticeDismiss:"Chiudi",countryPosterTooMany:"Troppi popoli per stare in modo leggibile su un solo manifesto: una soluzione è in arrivo."},"./locales/pt/buttons.json":{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",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha",packetVariantAria:"Detalhe do pacote de oração",packetFull:"Detalhe completo",packetLightweight:"Leve",working:"Processando…",postersPerRowAuto:"Automático"},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro.",search_people_or_countries:"Pesquisar povos ou países…",cards_per_row:"Cartões por linha",cards_per_row_auto:"Automático"},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"Minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntroA:"Como você alimentaria uma multidão de cinco mil? Jesus os sentou em grupos de cinquenta e de cem, e o impossível tornou-se compartilhável (Lucas 9.14). Fizemos o mesmo com os 2.106 povos não alcançados: 27 listas de cerca de cinquenta a cem. Cada lista imprime como pacote de oração e cartaz, para que 27 discípulos, igrejas ou líderes locais levem uma cada um — orando por eles ",upg100WallIntroEmph:"pelo nome do seu povo",upg100WallIntroB:".",loadingNamed:"Carregando {name}…",couldNotLoadNamed:"Não foi possível carregar {name}.",engineMissing:"O motor de mapa {engine} não foi carregado.",packetFailed:"Falha ao gerar o caderno: {reason}",selectionPacketFailed:"Falha ao gerar o caderno da seleção: {reason}",posterOneTerritory:"O cartaz imprime um território de cada vez — {count} selecionados.",selectionPosterFailed:"Falha ao gerar o cartaz da seleção: {reason}",mapUnavailable:"Mapa indisponível",copied:"Copiado!",copyFailed:"Falha ao copiar — pressione Ctrl/Cmd-C",engineNotLoaded:"motor de mapas não carregado",engineNotLoadedDetail:"O motor de mapas {engine} não carregou. A lista e a legenda não são afetadas.",viewLoadFailed:"Não foi possível carregar esta visualização.",retry:"Tentar novamente",noMapboxToken:"Nenhum token do Mapbox",noMapboxTokenDetail:"Nenhum token do Mapbox configurado. A lista e a legenda não são afetadas.",loadingBoundaries:"Carregando limites…",fetchingUupgs:"Buscando {n} UUPGs…",mapStatusCounts:"Áreas: {polys} · zonas: {zones}/{total} · marcadores: {pins}",tapTerritoriesHint:"Toque em territórios no mapa ou em linhas da legenda para adicionar · toque de novo para remover",territoriesSelected:"Territórios: {count}",bandInRange:"✓ faixa 50–100",bandOutOfRange:"faixa 50–100",mapContextLost:"Este mapa foi descarregado para libertar memória gráfica.",nOfTotal:"{n} de {total}",mapInitFailed:"Falha ao iniciar o mapa — verifique o token e o contêiner",countryWallIntroA:"Um cartaz por país, pronto para orar, imprimir e pendurar na parede — orando por eles ",countryWallIntroB:". As regiões e os países são ordenados pelo número de povos não engajados que abrigam, para que a maior necessidade venha primeiro.",countryWallSoon:"Em breve: será gerada uma lista de oração para cada país, com o nome de cada povo não alcançado nele.",countryWallHeading:"Cartazes por país — Listas de oração e cartazes",largerScreenNotice:"Este mapa experimental foi feito para telas maiores. Ele abre aqui, mas algumas partes podem não caber ou não funcionar bem no celular.",desktopOnlyNotice:"{label} só funciona no computador — abra esta página num computador para usá-lo.",noticeDismiss:"Fechar",countryPosterTooMany:"Povos demais para caber de forma legível em um só cartaz — uma solução está a caminho."},"./locales/ro/buttons.json":{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ă",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând",packetVariantAria:"Nivelul de detaliu al pachetului de rugăciune",packetFull:"Detaliu complet",packetLightweight:"Redus",working:"Se procesează…",postersPerRowAuto:"Automat"},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului.",search_people_or_countries:"Caută popoare sau țări…",cards_per_row:"Carduri pe rând",cards_per_row_auto:"Automat"},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntroA:"Cum ai hrăni o mulțime de cinci mii? Isus i-a așezat în grupuri de cincizeci și de o sută, iar imposibilul a devenit împărțibil (Luca 9:14). Am făcut la fel cu cele 2.106 popoare neatinse: 27 de liste de aproximativ cincizeci până la o sută. Fiecare listă se tipărește ca pachet de rugăciune și afiș, ca 27 de ucenici, biserici sau lideri locali să poarte fiecare câte una — rugându-se pentru ei ",upg100WallIntroEmph:"pe numele poporului lor",upg100WallIntroB:".",loadingNamed:"Se încarcă {name}…",couldNotLoadNamed:"Nu s-a putut încărca {name}.",engineMissing:"Motorul de hartă {engine} nu s-a încărcat.",packetFailed:"Broșura a eșuat: {reason}",selectionPacketFailed:"Broșura selecției a eșuat: {reason}",posterOneTerritory:"Afișul tipărește un teritoriu pe rând — {count} selectate.",selectionPosterFailed:"Afișul selecției a eșuat: {reason}",mapUnavailable:"Harta indisponibilă",copied:"Copiat!",copyFailed:"Copierea a eșuat — apasă Ctrl/Cmd-C",engineNotLoaded:"motorul de hărți nu s-a încărcat",engineNotLoadedDetail:"Motorul de hărți {engine} nu s-a încărcat. Lista și legenda nu sunt afectate.",viewLoadFailed:"Această vizualizare nu s-a putut încărca.",retry:"Reîncearcă",noMapboxToken:"Niciun token Mapbox",noMapboxTokenDetail:"Nu este configurat niciun token Mapbox. Lista și legenda nu sunt afectate.",loadingBoundaries:"Se încarcă granițele…",fetchingUupgs:"Se preiau {n} UUPG…",mapStatusCounts:"Suprafețe: {polys} · zone: {zones}/{total} · repere: {pins}",tapTerritoriesHint:"Atingeți teritorii pe hartă sau rânduri din legendă pentru a le adăuga · atingeți din nou pentru a le elimina",territoriesSelected:"Teritorii: {count}",bandInRange:"✓ interval 50–100",bandOutOfRange:"interval 50–100",mapContextLost:"Această hartă a fost descărcată pentru a elibera memoria grafică.",nOfTotal:"{n} din {total}",mapInitFailed:"Harta nu a putut fi inițializată — verificați tokenul și containerul",countryWallIntroA:"Câte un afiș pentru fiecare țară, gata de rugăciune, de tipărit și de pus pe perete — rugându-ne pentru ei ",countryWallIntroB:". Regiunile și țările sunt ordonate după câte popoare neatinse cuprind, pentru ca nevoia cea mai mare să fie prima.",countryWallSoon:"În curând: pentru fiecare țară va fi generată o listă de rugăciune care numește fiecare popor neatins din ea.",countryWallHeading:"Afișe pe țări — Liste de rugăciune și afișe",largerScreenNotice:"Această hartă experimentală este făcută pentru ecrane mari. Se deschide aici, dar unele părți s-ar putea să nu încapă sau să nu funcționeze bine pe telefon.",desktopOnlyNotice:"{label} funcționează doar pe desktop — deschideți pagina pe un computer pentru a-l folosi.",noticeDismiss:"Închide",countryPosterTooMany:"Prea multe popoare pentru a încăpea lizibil pe un singur afiș — lucrăm la o soluție."},"./locales/ru/buttons.json":{prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду",packetVariantAria:"Детализация молитвенного пакета",packetFull:"Полная версия",packetLightweight:"Краткая версия",working:"Выполняется…",postersPerRowAuto:"Авто"},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра.",search_people_or_countries:"Поиск народов или стран…",cards_per_row:"Карточек в ряду",cards_per_row_auto:"Авто"},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntroA:"Как накормить толпу в пять тысяч человек? Иисус рассадил их группами по пятьдесят и по сто, и невозможное стало посильным (Лк. 9:14). Мы поступили так же с 2 106 неохваченными народами: 27 списков примерно по пятьдесят-сто. Каждый список печатается как молитвенный пакет и плакат, чтобы 27 учеников, церквей или местных служителей взяли по одному — молясь о них ",upg100WallIntroEmph:"по имени их народа",upg100WallIntroB:".",loadingNamed:"Загрузка {name}…",couldNotLoadNamed:"Не удалось загрузить {name}.",engineMissing:"Картографический движок {engine} не загрузился.",packetFailed:"Не удалось создать буклет: {reason}",selectionPacketFailed:"Не удалось создать буклет выбора: {reason}",posterOneTerritory:"Плакат печатает по одной территории — выбрано {count}.",selectionPosterFailed:"Не удалось создать плакат выбора: {reason}",mapUnavailable:"Карта недоступна",copied:"Скопировано!",copyFailed:"Не удалось скопировать — нажмите Ctrl/Cmd-C",engineNotLoaded:"движок карты не загружен",engineNotLoadedDetail:"Движок карты {engine} не загрузился. Список и легенда не затронуты.",viewLoadFailed:"Не удалось загрузить этот раздел.",retry:"Повторить",noMapboxToken:"Нет токена Mapbox",noMapboxTokenDetail:"Токен Mapbox не настроен. Список и легенда не затронуты.",loadingBoundaries:"Загрузка границ…",fetchingUupgs:"Загрузка UUPG: {n}…",mapStatusCounts:"Области: {polys} · зоны: {zones}/{total} · метки: {pins}",tapTerritoriesHint:"Нажимайте на территории на карте или строки легенды, чтобы добавить · нажмите ещё раз, чтобы убрать",territoriesSelected:"Территории: {count}",bandInRange:"✓ диапазон 50–100",bandOutOfRange:"диапазон 50–100",mapContextLost:"Эта карта выгружена, чтобы освободить графическую память.",nOfTotal:"{n} из {total}",mapInitFailed:"Не удалось инициализировать карту — проверьте токен и контейнер",countryWallIntroA:"Один плакат на страну — чтобы молиться, распечатать и повесить на стену, молясь за них ",countryWallIntroB:". Регионы и страны упорядочены по числу неохваченных народов, чтобы самая большая нужда стояла первой.",countryWallSoon:"Скоро: для каждой страны будет создан молитвенный список с названием каждого неохваченного народа в ней.",countryWallHeading:"Плакаты по странам — молитвенные списки и плакаты",largerScreenNotice:"Эта экспериментальная карта рассчитана на большие экраны. Она откроется, но на телефоне часть элементов может не поместиться или работать плохо.",desktopOnlyNotice:"{label} работает только на компьютере — откройте эту страницу на компьютере.",noticeDismiss:"Закрыть",countryPosterTooMany:"Слишком много народов, чтобы разборчиво уместить их на одном плакате, — решение готовится."},"./locales/zh/buttons.json":{prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"祷告名单",cardDeck:"祷告卡组",printOptions:"打印选项",showOnMap:"在地图上显示",close:"关闭",showOnMapAria:"在地图上显示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把这张地图嵌入你的网站","列出你城市里的网站","教他们也嵌入这张地图","教他们去教别人嵌入","为耶稣让地图遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数",packetVariantAria:"祷告手册详细程度",packetFull:"完整版",packetLightweight:"精简版",working:"处理中…",postersPerRowAuto:"自动"},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。",search_people_or_countries:"搜索民族或国家…",cards_per_row:"每行卡片数",cards_per_row_auto:"自动"},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名单 — 祷告名单与海报",upg100WallTag:"祷告动员",upg100WallIntroA:"你会怎样喂饱五千人的群众?耶稣让他们一排五十、一排一百地坐下,不可能的事就变得可以分担了(路加福音 9:14)。我们对 2,106 个未得之民做了同样的事:27 份名单,每份约五十到一百。每份名单都能印成祷告手册和海报,让 27 位门徒、教会或当地领袖各领一份 — 为他们祷告 ",upg100WallIntroEmph:"称呼他们族群的名字",upg100WallIntroB:"。",loadingNamed:"正在加载{name}…",couldNotLoadNamed:"无法加载{name}。",engineMissing:"{engine} 地图引擎未能加载。",packetFailed:"祷告册生成失败:{reason}",selectionPacketFailed:"所选内容的祷告册生成失败:{reason}",posterOneTerritory:"海报一次只能打印一个区域——已选 {count} 个。",selectionPosterFailed:"所选内容的海报生成失败:{reason}",mapUnavailable:"地图不可用",copied:"已复制!",copyFailed:"复制失败——请按 Ctrl/Cmd-C",engineNotLoaded:"地图引擎未加载",engineNotLoadedDetail:"{engine} 地图引擎未能加载。列表和图例不受影响。",viewLoadFailed:"此视图无法加载。",retry:"重试",noMapboxToken:"没有 Mapbox 令牌",noMapboxTokenDetail:"未配置 Mapbox 令牌。列表和图例不受影响。",loadingBoundaries:"正在加载边界…",fetchingUupgs:"正在获取 {n} 个 UUPG…",mapStatusCounts:"区域:{polys} · 分区:{zones}/{total} · 标记:{pins}",tapTerritoriesHint:"点按地图上的区域或图例行即可添加 · 再次点按即可移除",territoriesSelected:"区域:{count}",bandInRange:"✓ 50–100 区间",bandOutOfRange:"50–100 区间",mapContextLost:"已卸载此地图以释放显存。",nOfTotal:"{total} 个中的 {n} 个",mapInitFailed:"地图初始化失败——请检查令牌和容器",countryWallIntroA:"每个国家一张海报,可用来祷告、打印、贴在墙上——为他们祷告,",countryWallIntroB:"。各区域和国家按其中未得之民族群的数量排序,让最大的需要排在最前。",countryWallSoon:"即将推出:将为每个国家生成一份祷告名单,列出其中每一个未得之民族群的名字。",countryWallHeading:"国家海报 — 祷告名单与海报",largerScreenNotice:"这张实验性地图为大屏幕设计。它可以在这里打开,但部分内容在手机上可能显示不全或无法正常使用。",desktopOnlyNotice:"{label} 仅支持桌面端——请在电脑上打开此页面使用。",noticeDismiss:"关闭",countryPosterTooMany:"族群数量过多,无法清晰地放在一张海报上——我们正在制定解决方案。"}}),Xe={};for(const[e,t]of Object.entries(tc)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,s]=o;Xe[n]??(Xe[n]={}),Xe[n][s]=t}const Wi=(()=>{try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.split(/[?#]/)[0].replace(/[^/]+$/,""):""}catch{return""}})(),zi=typeof __DX_LOCALE_SRI__<"u"?__DX_LOCALE_SRI__:{},Fn=new Map;let Ui=null;function oc(e,t){const o=String(t||"").split("-")[0].toLowerCase();if(!o||o==="en"||!In.includes(o))return Promise.resolve(o==="en");if(Xe[o])return Promise.resolve(!0);if(Fn.has(o))return Fn.get(o).then(s=>s);if(!zi[o])return Promise.resolve(!!Xe[o]);const n=(async()=>{var s,i;try{if(!Wi)return!1;const a=new URL(`locales/${o}.json`,Wi).href,r=await fetch(a,{integrity:zi[o]});if(!r.ok)return!1;const l=await r.json();return!l||typeof l!="object"?!1:(Xe[o]=l,(i=(s=e==null?void 0:e.global)==null?void 0:s.setLocaleMessage)==null||i.call(s,o,l),!0)}catch{return!1}})();return Fn.set(o,n),n}const In=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function nc(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Bi(){var n;const e=nc();if(In.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return In.includes(o)?o:"en"}try{Ui=oc(null,Bi())}catch{Ui=null}const sc="__DOXA_PAGE_LOCALE",ic=["zero","one","two","few","many","other"];function ac(e,t,o){let n;try{n=new Intl.PluralRules(o)}catch{return e===1?0:1}const s=n.select(e),i=n.resolvedOptions().pluralCategories,a=ic.filter(l=>i.includes(l));let r=a.indexOf(s);if(r<0&&(r=a.indexOf("other")),r>=t){const l=a.indexOf("other");r=l>=0&&l[e,(t,o)=>ac(t,o,e)]));function rc(){try{return typeof window<"u"&&window[sc]||""}catch{return""}}function lc(e,t){const o=s=>{let i=Xe[s];for(const a of String(e).split(".")){if(!i||typeof i!="object")return;i=i[a]}return typeof i=="string"?i:void 0},n=rc()||Bi();return o(n)??o("en")}const ji={menu:'',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',folder:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function Vi(e,t=""){const o=ji[e]||ji.map;return``}const Ki="__dxMapsScriptRegistry1";function qi(){const e=typeof globalThis<"u"?globalThis:self;return e[Ki]||(e[Ki]={loaded:Object.create(null),owners:Object.create(null)})}function Gi(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function cc(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const a=document.createElement("script");a.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(a.type="module"),a.onload=()=>s(),a.onerror=()=>{delete o.loaded[n],i(new Error("failed to load "+e))},document.head.appendChild(a)}),o.loaded[n])}function dc(e,t){if(!e)return;const o=qi(),n=t?Gi(t):"";if(!n)return;const s=o.owners[e];if(!s){o.owners[e]=n;return}s!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+s+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function Yi(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function pc(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const uc=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px)));transition:transform .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:1000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",fc=(e,t)=>lc(e)||t,hc=e=>Rn(e);function gc(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const $c=` + stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${o}`}const Ki="__dxMapsScriptRegistry1";function qi(){const e=typeof globalThis<"u"?globalThis:self;return e[Ki]||(e[Ki]={loaded:Object.create(null),owners:Object.create(null)})}function Gi(e){try{if(typeof document<"u"&&document.baseURI)return new URL(e,document.baseURI).href;if(typeof location<"u"&&location.href)return new URL(e,location.href).href}catch{}return e}function cc(e){if(typeof document>"u"||!document.querySelectorAll)return null;const t=document.querySelectorAll("script[src]");for(let o=0;o{const a=document.createElement("script");a.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(a.type="module"),a.onload=()=>s(),a.onerror=()=>{delete o.loaded[n],i(new Error("failed to load "+e))},document.head.appendChild(a)}),o.loaded[n])}function dc(e,t){if(!e)return;const o=qi(),n=t?Gi(t):"";if(!n)return;const s=o.owners[e];if(!s){o.owners[e]=n;return}s!==n&&typeof console<"u"&&console.warn&&console.warn("[dx-maps] <"+e+"> is shipped by two bundles on this page: "+s+" defined it, "+n+" executed and was discarded. The page is running the first one.")}function Yi(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>{customElements.get(e)||n(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}function pc(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const uc=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(calc(-1 * var(--vtl-fab-lift, 0px)));transition:transform .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.disabled,.vtl-tab.disabled:hover{background:none;color:#a3a8a4;cursor:not-allowed}.vtl-tab.disabled .vtl-tab-ic,.vtl-tab.disabled .vtl-tab-emoji,.vtl-tab.disabled .vtl-tab-fallback{opacity:.45}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-reload{margin-block-start:10px;font:inherit;padding:4px 12px;border-radius:6px;cursor:pointer;background:var(--vtl-accent, #3b463d);color:#fff;border:none}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:none;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0);z-index:100000;box-shadow:0 0 28px #0000008c}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}.vtl:dir(rtl) .vtl-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--vtl-border)}.vtl:dir(rtl) .vtl-main{left:0;right:256px}.vtl:dir(rtl) .vtl-tab,.vtl:dir(rtl) .vtl-tier-btn{text-align:right}.vtl:dir(rtl) .vtl-meta,.vtl:dir(rtl) .vtl-td,.vtl:dir(rtl) .vtl-chev{margin-left:0;margin-right:auto}.vtl:dir(rtl) .vtl-chev:not(.open){transform:scaleX(-1)}.vtl:dir(rtl) .vtl-collapse-ic svg{transform:scaleX(-1)}.vtl:dir(rtl) .vtl-fab{left:auto;right:calc(12px + env(safe-area-inset-right))}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(184px)}.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:72px}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:184px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:188px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:196px}@media (max-width: 760px){.vtl:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl:dir(rtl) .vtl-main,.vtl.rail-collapsed:dir(rtl) .vtl-main{left:0;right:0}.vtl.rail-collapsed:dir(rtl) .vtl-nav{transform:translate(100%)}.vtl.rail-collapsed.nav-open:dir(rtl) .vtl-nav{transform:translate(0)}.vtl.rail-collapsed:dir(rtl) .vtl-collapse{padding-left:10px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tab{padding-left:12px;padding-right:10px}.vtl.rail-collapsed:dir(rtl) .vtl-tier{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion: reduce){.vtl-nav,.vtl-collapse-ic,.vtl-tab,.vtl-tier,.vtl-fab,.vtl-scrim{transition:none!important;animation:none!important}}",fc=(e,t)=>lc(e)||t,hc=e=>Rn(e);function gc(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const $c=` .vtl { position:absolute; inset:0; display:grid !important; grid-template-rows:auto 1fr; height:100%; width:100%; min-height:420px; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --vtl-accent:#92b195; --vtl-border:#d1d4cd; --vtl-elevated:#ffffff; --vtl-accented:#d1d4cd; --vtl-muted:#6d766e; --vtl-rail:256px; } .vtl.no-header { grid-template-rows:1fr; } .vtl-top { flex:0 0 auto; display:flex; align-items:center; gap:10px; box-sizing:border-box; min-height:64px; padding:8px 16px; border-bottom:1px solid var(--vtl-border); background:#ffffff; } @@ -110,7 +110,7 @@ .vtl-menu { display:inline-block; } .vtl-meta { display:none; } .vtl-nav { z-index:20; width:256px; box-shadow:none; transform:translateX(-100%); } - .vtl.nav-open .vtl-nav { transform:translateX(0); z-index:1000; box-shadow:0 0 28px rgba(0,0,0,.55); } + .vtl.nav-open .vtl-nav { transform:translateX(0); z-index:100000; box-shadow:0 0 28px rgba(0,0,0,.55); } .vtl-main { left:0; } .vtl.rail-collapsed .vtl-nav { transform:translateX(-100%); } .vtl.rail-collapsed.nav-open .vtl-nav { transform:translateX(0); } diff --git a/public/dx-maps/plugin-studio/plugin-studio/index.html b/public/dx-maps/plugin-studio/plugin-studio/index.html index eee59284a..ad1ade9f7 100644 --- a/public/dx-maps/plugin-studio/plugin-studio/index.html +++ b/public/dx-maps/plugin-studio/plugin-studio/index.html @@ -61,7 +61,7 @@ - + - +