diff --git a/library/composables/useCountryOutline.js b/library/composables/useCountryOutline.js index 845c4da7e..97d37714a 100644 --- a/library/composables/useCountryOutline.js +++ b/library/composables/useCountryOutline.js @@ -31,6 +31,8 @@ * outline.clearCountry() */ +import { resolveAssetsBase } from '../utils/embedBase.js' + const SOURCE_ID = 'doxa-country-outline' const LAYER_ID = 'doxa-country-outline-line' @@ -124,12 +126,51 @@ export function useCountryOutline(getMap, opts = {}) { // Swap any stale source, then (re)create the singleton outline layer. clearCountry() try { - m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + // ── COUNTRY POLYGONS, PER ENGINE ──────────────────────────────────────────────────────── + // ★ COUNTRY_BOUNDARIES_URL IS A MAPBOX-HOSTED VECTOR TILESET, AND MAPLIBRE CANNOT FETCH IT. + // It throws "Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme + // 'mapbox' is not supported" and then draws everything else perfectly, so the country + // outline is simply ABSENT with no visible failure. MEASURED on country-posters-mfe the + // moment it landed: engine swapped, 14 -> 4 mapbox requests, canvas fine, and this error in + // the console. THREE consumers share this composable — doxa-simple-map, countries-map and + // research-map — so the fix belongs here, once, not three times. + // Same shape already proven in DashboardMapPanel and RegionCountryMap. + // + // The ENGINE is read off the live map rather than guessed from config: the container carries + // maplibregl-map or mapboxgl-map, which is a fact about the instance in hand. Consumers call + // useCountryOutline(() => map.value) with no options, so there is no provider to pass in. + const isMaplibre = (() => { + try { return !!m.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })() + + if (isMaplibre) { + // Add EMPTY first, then setData after the fetch, so addLayer below stays SYNCHRONOUS and + // the outline keeps its place in the layer order. + m.addSource(SOURCE_ID, { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }) + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // The tileset names the ISO field iso_3166_1_alpha_3; the geojson names it iso3. + // countryFilter() reads the tileset name, so normalise ONCE here and every filter + // downstream keeps reading the single name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3 + } + const live = typeof getMap === 'function' ? getMap() : null + const src = live && live.getSource(SOURCE_ID) + if (src) src.setData(gj) + }) + .catch((e) => console.warn('[country-outline] boundaries failed to load', e)) + } else { + m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + } m.addLayer({ id: LAYER_ID, type: 'line', source: SOURCE_ID, - 'source-layer': SOURCE_LAYER, + // 'source-layer' applies to VECTOR TILE sources only — MapLibre rejects a layer that + // declares one on a geojson source ("does not need a source-layer"). + ...(isMaplibre ? {} : { 'source-layer': SOURCE_LAYER }), filter, layout: { 'line-join': 'round', 'line-cap': 'round' }, // Outline only — no fill layer — so pins / labels under the country diff --git a/library/composables/useMapLayers.js b/library/composables/useMapLayers.js index 70ca970c8..b82777df8 100644 --- a/library/composables/useMapLayers.js +++ b/library/composables/useMapLayers.js @@ -4,6 +4,7 @@ // Import Vue functions from NPM package import { ref, toRaw } from 'vue'; +import { resolveAssetsBase } from '../utils/embedBase.js' import { emissivePaint } from './useMapProvider.js'; // Import utilities @@ -416,16 +417,48 @@ export function useMapLayers(options = {}) { ? 'language-family-pins' : undefined; - map.addSource('regions', { - type: 'vector', - url: 'mapbox://mapbox.country-boundaries-v1' - }); + // ── REGION POLYGONS, PER ENGINE ──────────────────────────────────────────────────── + // ★ SECOND SITE OF THE SAME DEFECT. mapbox://mapbox.country-boundaries-v1 is a + // Mapbox-hosted VECTOR TILESET; MapLibre cannot fetch a mapbox:// URL and throws + // Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" + // then renders everything else correctly with this fill simply MISSING. Fixing the + // country-OUTLINE composable cleaned doxa-simple-map and research-map but left + // countries-map (and the new country-posters-mfe that nests it) still throwing — + // measured, which is how this second site was found at all. + // The keyless equivalent already ships: assets/boundaries/world-adm0.geojson. + // Engine read off the live map (its container carries maplibregl-map), not guessed. + const _isMaplibre = (() => { + try { return !!map.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })(); + if (_isMaplibre) { + // EMPTY first so the addLayer below stays synchronous and keeps its z-order slot + // (regions → shadow → pins → hitbox); setData once the fetch lands. + map.addSource('regions', { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }); + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // Tileset field is iso_3166_1_alpha_3; the geojson's is iso3. Normalise ONCE + // so every colour/filter expression downstream reads the name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3; + } + const src = map.getSource('regions'); + if (src) src.setData(gj); + }) + .catch((e) => console.warn('[map-layers] region boundaries failed to load', e)); + } else { + map.addSource('regions', { + type: 'vector', + url: 'mapbox://mapbox.country-boundaries-v1' + }); + } map.addLayer({ id: 'regions-fill', type: 'fill', source: 'regions', - 'source-layer': 'country_boundaries', + // VECTOR-TILE only; MapLibre rejects a layer declaring source-layer on geojson. + ...(_isMaplibre ? {} : { 'source-layer': 'country_boundaries' }), paint: { 'fill-color': fillColorExpr, 'fill-opacity': colorScheme === 'none' ? 0.1 : 0.7, diff --git a/plugin-designs/country-posters/country-posters-mfe.vue b/plugin-designs/country-posters/country-posters-mfe.vue index 5b9fc0350..d849cd146 100644 --- a/plugin-designs/country-posters/country-posters-mfe.vue +++ b/plugin-designs/country-posters/country-posters-mfe.vue @@ -2,6 +2,11 @@ /** * country-posters-mfe.vue — Country Posters as a TWO-TAB element. * + * @element country-posters-mfe + * @description Country Posters as ONE two-tab element — the countries map and the printable + * poster wall behind a single view switcher, structured like the UPG-100 list. The switcher is + * the library's shared ViewSelect, not a third hand-rolled copy. + * * Driver: "Country Posters is supposed to have two tabs, structured like the * UPG-100 list." * diff --git a/public/doxa-maps/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index da86ec7ba..3075a011b 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,45 +1,45 @@ -(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Mb="modulepreload",Ib=function(e){return"/"+e},Rb={},Mc=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** +(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Bb="modulepreload",Kb=function(e){return"/"+e},Ub={},Mc=function(t,n,o){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},un=[],gt=()=>{},Os=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),io=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ia=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Cn(e)==="[object Map]",ro=e=>Cn(e)==="[object Set]",xs=e=>Cn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",pe=e=>e!==null&&typeof e=="object",js=e=>(pe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Cn=e=>Bs.call(e),Rc=e=>Cn(e).slice(8,-1),lo=e=>Cn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Dc=/-\w/g,Pe=uo(e=>e.replace(Dc,t=>t.slice(1).toUpperCase())),Fc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Fc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ra=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Oc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const fo=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function po(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Nn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||pe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:ro(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):pe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ye={},un=[],gt=()=>{},Ds=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ro=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ra=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Nn(e)==="[object Map]",io=e=>Nn(e)==="[object Set]",xs=e=>Nn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",js=e=>(fe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Nn=e=>Bs.call(e),Rc=e=>Nn(e).slice(8,-1),lo=e=>Nn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fc=/-\w/g,Pe=uo(e=>e.replace(Fc,t=>t.slice(1).toUpperCase())),Oc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Oc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ia=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Dc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const po=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function fo(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function wn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||fe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:io(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):fe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Le;class Ws{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&&Le&&(Le.active?(this.parent=Le,this.index=(Le.scopes||(Le.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ei(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function pa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!pa(e))))return;e.flags|=2;const t=e.dep,n=ye,o=at;ye=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ye=n,at=o,ei(e),e.flags&=-3}}function ha(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const ni=[];function ft(){ni.push(at),at=!1}function pt(){const e=ni.pop();at=e===void 0?!0:e}function oi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let In=0;class Hc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ma{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(!ye||!at||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new Hc(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,ai(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{fa()}}}function ai(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ai(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&ye){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function kt(e,t,n,o,a,s){const i=mo.get(e);if(!i){In++;return}const r=l=>{l&&l.trigger()};if(da(),t==="clear")i.forEach(r);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(Rn)),t){case"add":l?c&&r(i.get("length")):(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"delete":l||(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"set":jt(e)&&r(i.get(en));break}}fa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return $t(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return _a(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return _a(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return Tt(this,"every",e,t,void 0,arguments)},filter(e,t){return Tt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return Tt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return Tt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Tt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return Tt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Tt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ya(this,"includes",e)},indexOf(...e){return ya(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ya(this,"lastIndexOf",e)},map(e,t){return Tt(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return si(this,"reduce",e,t)},reduceRight(e,...t){return si(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return Tt(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return _a(this,"values",e=>ht(this,e))}};function _a(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function Tt(e,t,n,o,a,s){const i=bo(e),r=i!==e&&!He(e),l=i[t];if(l!==Yc[t]){const f=l.apply(e,s);return r?st(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,ht(e,f),m,e)}:n.length>2&&(c=function(f,m){return n.call(this,f,m,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function si(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=ht(e,c)),n.call(this,c,ht(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?ht(e,l):l}function ya(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&ko(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Dn(e,t,n=[]){ft(),da();const o=ce(e)[t].apply(e,n);return fa(),pt(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),ii=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ri{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?fi:di:s?gi:ui).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Z(t);if(!a){let l;if(i&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const r=Reflect.get(t,n,Te(t)?t:o);if((Xe(n)?ii.has(n):Jc(n))||(a||je(t,"get",n),s))return r;if(Te(r)){const l=i&&co(n)?r:r.value;return a&&pe(l)?Sa(l):l}return pe(r)?a?Sa(r):So(r):r}}class li extends ri{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=Z(t)&&co(n);if(!this._isShallow){const c=$t(s);if(!He(o)&&!$t(o)&&(s=ce(s),o=ce(o)),!i&&Te(s)&&!Te(o))return c||(s.value=o),!0}const r=i?Number(n)e,_o=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function yo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(dt(a,r)&&je(i,"get",a),je(i,"get",r));const{has:l}=_o(i),c=t?Aa:e?dn:st;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(dt(a,r)&&je(i,"has",a),je(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?Aa:e?dn:st;return!e&&je(l,"iterate",en),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Ee(n,e?{add:yo("add"),set:yo("set"),delete:yo("delete"),clear:yo("clear")}:{add(a){const s=ce(this),i=_o(s),r=ce(a),l=!t&&!He(a)&&!$t(a)?r:a;return i.has.call(s,l)||dt(a,l)&&i.has.call(s,a)||dt(r,l)&&i.has.call(s,r)||(s.add(l),kt(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!$t(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=_o(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?dt(s,u)&&kt(i,"set",a,s):kt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=_o(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&kt(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&kt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},iu={get:Ao(!0,!1)},ru={get:Ao(!0,!0)},ui=new WeakMap,gi=new WeakMap,di=new WeakMap,fi=new WeakMap;function lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function So(e){return $t(e)?e:vo(e,!1,Zc,au,ui)}function cu(e){return vo(e,!1,eu,su,gi)}function Sa(e){return vo(e,!0,Qc,iu,di)}function Fb(e){return vo(e,!0,tu,ru,fi)}function vo(e,t,n,o,a){if(!pe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=lu(Rc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function Et(e){return $t(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function ko(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Fn(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>pe(e)?So(e):e,dn=e=>pe(e)?Sa(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function he(e){return pi(e,!1)}function va(e){return pi(e,!0)}function pi(e,t){return Te(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||$t(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function To(e){return Te(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:To(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return Te(a)&&!Te(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hi(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=pu(e,n);return t}class fu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!ko(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=To(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Te(this._raw[this._key])){const n=this._object[this._key];if(Te(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function pu(e,t,n){return new fu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},$o=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=$o.get(n);o||$o.set(n,o=[]),o.push(e)}}function _u(e,t,n=_e){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,N=!1,v=!1;if(Te(e)?(f=()=>e.value,N=He(e)):Et(e)?(f=()=>c(e),N=!0):Z(e)?(v=!0,N=e.some(b=>Et(b)||He(b)),f=()=>e.map(b=>{if(Te(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){ft();try{m()}finally{pt()}}const b=tn;tn=u;try{return l?l(e,3,[k]):e(k)}finally{tn=b}}:f=gt,t&&a){const b=f,L=a===!0?1/0:a;f=()=>Bt(b(),L)}const $=Ys(),P=()=>{u.stop(),$&&$.active&&ia($.effects,u)};if(s&&t){const b=t;t=(...L)=>{const A=b(...L);return P(),A}}let T=v?new Array(e.length).fill(Eo):Eo;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const L=u.run();if(b||a||N||(v?L.some((A,w)=>dt(A,T[w])):dt(L,T))){m&&m();const A=tn;tn=u;try{const w=[L,T===Eo?void 0:v&&T[0]===Eo?[]:T,k];T=L,l?l(t,3,w):t(...w)}finally{tn=A}}}else u.run()};return r&&r(_),u=new Js(f),u.scheduler=i?()=>i(_,!1):_,k=b=>bu(b,!1,u),m=u.onStop=()=>{const b=$o.get(u);if(b){if(l)l(b,4);else for(const L of b)L();$o.delete(u)}},t?o?_(!0):T=u.run():i?i(_.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Te(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** +**/let Ce;class Ws{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,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.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 n,o;for(n=0,o=this.effects.length;n0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function er(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function fa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fa(e))))return;e.flags|=2;const t=e.dep,n=_e,o=at;_e=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{_e=n,at=o,er(e),e.flags&=-3}}function ha(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const nr=[];function pt(){nr.push(at),at=!1}function ft(){const e=nr.pop();at=e===void 0?!0:e}function or(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let In=0;class Hc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ma{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(!_e||!at||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Hc(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,ar(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=_e.depsTail,n.nextDep=void 0,_e.depsTail.nextDep=n,_e.depsTail=n,_e.deps===n&&(_e.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{pa()}}}function ar(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ar(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&_e){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function $t(e,t,n,o,a,s){const r=mo.get(e);if(!r){In++;return}const i=l=>{l&&l.trigger()};if(da(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);r.forEach((p,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&i(p)})}else switch((n!==void 0||r.has(void 0))&&i(r.get(n)),c&&i(r.get(Rn)),t){case"add":l?c&&i(r.get("length")):(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"delete":l||(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"set":jt(e)&&i(r.get(en));break}}pa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return Tt(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return ya(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return ya(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return kt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return _a(this,"includes",e)},indexOf(...e){return _a(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return _a(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return Fn(this,"pop")},push(...e){return Fn(this,"push",e)},reduce(e,...t){return sr(this,"reduce",e,t)},reduceRight(e,...t){return sr(this,"reduceRight",e,t)},shift(){return Fn(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return Fn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Fn(this,"unshift",e)},values(){return ya(this,"values",e=>ht(this,e))}};function ya(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function kt(e,t,n,o,a,s){const r=bo(e),i=r!==e&&!He(e),l=r[t];if(l!==Yc[t]){const p=l.apply(e,s);return i?st(p):p}let c=n;r!==e&&(i?c=function(p,m){return n.call(this,ht(e,p),m,e)}:n.length>2&&(c=function(p,m){return n.call(this,p,m,e)}));const u=l.call(r,c,o);return i&&a?a(u):u}function sr(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let r=n,i=!1;a!==e&&(s?(i=o.length===0,r=function(c,u,p){return i&&(i=!1,c=ht(e,c)),n.call(this,c,ht(e,u),p,e)}):n.length>3&&(r=function(c,u,p){return n.call(this,c,u,p,e)}));const l=a[t](r,...o);return i?ht(e,l):l}function _a(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&$o(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Fn(e,t,n=[]){pt(),da();const o=ce(e)[t].apply(e,n);return pa(),ft(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),rr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ir{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?pr:dr:s?gr:ur).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const i=Reflect.get(t,n,ke(t)?t:o);if((Xe(n)?rr.has(n):Jc(n))||(a||je(t,"get",n),s))return i;if(ke(i)){const l=r&&co(n)?i:i.value;return a&&fe(l)?Sa(l):l}return fe(i)?a?Sa(i):So(i):i}}class lr extends ir{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const r=Z(t)&&co(n);if(!this._isShallow){const c=Tt(s);if(!He(o)&&!Tt(o)&&(s=ce(s),o=ce(o)),!r&&ke(s)&&!ke(o))return c||(s.value=o),!0}const i=r?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),r=jt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:i?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function _o(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,r=ce(s),i=ce(a);e||(dt(a,i)&&je(r,"get",a),je(r,"get",i));const{has:l}=yo(r),c=t?Aa:e?dn:st;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&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,r=ce(s),i=ce(a);return e||(dt(a,i)&&je(r,"has",a),je(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=ce(i),c=t?Aa:e?dn:st;return!e&&je(l,"iterate",en),i.forEach((u,p)=>a.call(s,c(u),c(p),r))}};return Ee(n,e?{add:_o("add"),set:_o("set"),delete:_o("delete"),clear:_o("clear")}:{add(a){const s=ce(this),r=yo(s),i=ce(a),l=!t&&!He(a)&&!Tt(a)?i:a;return r.has.call(s,l)||dt(a,l)&&r.has.call(s,a)||dt(i,l)&&r.has.call(s,i)||(s.add(l),$t(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!Tt(s)&&(s=ce(s));const r=ce(this),{has:i,get:l}=yo(r);let c=i.call(r,a);c||(a=ce(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?dt(s,u)&&$t(r,"set",a,s):$t(r,"add",a,s),this},delete(a){const s=ce(this),{has:r,get:i}=yo(s);let l=r.call(s,a);l||(a=ce(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&$t(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,r=a.clear();return s&&$t(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},ru={get:Ao(!0,!1)},iu={get:Ao(!0,!0)},ur=new WeakMap,gr=new WeakMap,dr=new WeakMap,pr=new WeakMap;function lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function So(e){return Tt(e)?e:vo(e,!1,Zc,au,ur)}function cu(e){return vo(e,!1,eu,su,gr)}function Sa(e){return vo(e,!0,Qc,ru,dr)}function zb(e){return vo(e,!0,tu,iu,pr)}function vo(e,t,n,o,a){if(!fe(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=lu(Rc(e));if(r===0)return e;const i=new Proxy(e,r===2?o:n);return a.set(e,i),i}function Et(e){return Tt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function $o(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function On(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>fe(e)?So(e):e,dn=e=>fe(e)?Sa(e):e;function ke(e){return e?e.__v_isRef===!0:!1}function he(e){return fr(e,!1)}function va(e){return fr(e,!0)}function fr(e,t){return ke(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||Tt(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function ko(e){return ke(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:ko(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ke(a)&&!ke(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hr(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=fu(e,n);return t}class pu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!$o(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ko(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ke(this._raw[this._key])){const n=this._object[this._key];if(ke(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function fu(e,t,n){return new pu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&_e!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return tr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},To=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function yu(e,t,n=ye){const{immediate:o,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,p,m,$,w=!1,v=!1;if(ke(e)?(p=()=>e.value,w=He(e)):Et(e)?(p=()=>c(e),w=!0):Z(e)?(v=!0,w=e.some(b=>Et(b)||He(b)),p=()=>e.map(b=>{if(ke(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?p=l?()=>l(e,2):e:p=()=>{if(m){pt();try{m()}finally{ft()}}const b=tn;tn=u;try{return l?l(e,3,[$]):e($)}finally{tn=b}}:p=gt,t&&a){const b=p,C=a===!0?1/0:a;p=()=>Bt(b(),C)}const T=Ys(),P=()=>{u.stop(),T&&T.active&&ra(T.effects,u)};if(s&&t){const b=t;t=(...C)=>{const A=b(...C);return P(),A}}let k=v?new Array(e.length).fill(Eo):Eo;const y=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const C=u.run();if(b||a||w||(v?C.some((A,L)=>dt(A,k[L])):dt(C,k))){m&&m();const A=tn;tn=u;try{const L=[C,k===Eo?void 0:v&&k[0]===Eo?[]:k,$];k=C,l?l(t,3,L):t(...L)}finally{tn=A}}}else u.run()};return i&&i(y),u=new Js(p),u.scheduler=r?()=>r(y,!1):y,$=b=>bu(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const C of b)C();To.delete(u)}},t?o?y(!0):k=u.run():r?r(y.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!fe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ke(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const On=[];let ka=!1;function Ob(e,...t){if(ka)return;ka=!0,ft();const n=On.length?On[On.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=yu();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${dr(n,s.type)}>`).join(` +**/const Dn=[];let $a=!1;function qb(e,...t){if($a)return;$a=!0,pt();const n=Dn.length?Dn[Dn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=_u();if(o)pn(o,n,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(""),n&&n.proxy,a.map(({vnode:s})=>`at <${di(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...Au(a)),console.warn(...s)}pt(),ka=!1}function yu(){let e=On[On.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${dr(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mi(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Te(t)?(t=mi(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){xn(a,t,n)}}function it(e,t,n,o){if(te(e)){const a=fn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(Tu(t),0,e),e.flags|=1,_i()}}function _i(){Lo||(Lo=bi.then(Si))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Si(e){try{for(mt=0;mt{o._d&&jo(-1);const s=wo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)ar();wo(s),o._d&&jo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&te(t)?t.call(o&&o.proxy):t}}function Lu(){return!!(Mt()||on)}const Cu=Symbol.for("v-scx"),wu=()=>De(Cu);function Nu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=_e){const{immediate:o,deep:a,flush:s,once:i}=n,r=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=wu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=gt,k.resume=gt,k.pause=gt,k}}const u=Fe;r.call=(k,N,v)=>it(k,u,N,v);let f=!1;s==="post"?r.scheduler=k=>{ze(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,N)=>{N?k():Ta(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=_u(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?ki(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const i=Jn(this),r=Ea(a,s.bind(o),n);return i(),r}function ki(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,$a=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function Ti(e){if(!Io(e))return No(e.type)&&e.children?Iu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function La(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;La(No(n.type)&&Ti(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Ca(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ei(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,$)=>Kn(v,t&&(Z(t)?t[$]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===_e?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===_e?Os:v=>Ei(u,v)?!1:de(m,v),N=(v,$)=>!($&&Ei(u,$));if(c!=null&&c!==l){if($i(t),ve(c))u[c]=null,k(c)&&(f[c]=null);else if(Te(c)){const v=t;N(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))fn(l,r,12,[i,u]);else{const v=ve(l),$=Te(l);if(v||$){const P=()=>{if(e.f){const T=v?k(l)?f[l]:u[l]:N()||!e.k?l.value:u[e.k];if(a)Z(T)&&ia(T,s);else if(Z(T))T.includes(s)||T.push(s);else if(v)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];N(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else v?(u[l]=i,k(l)&&(f[l]=i)):$&&(N(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const T=()=>{P(),Po.delete(e)};T.id=-1,Po.set(e,T),ze(T,n)}else $i(e),P()}}}function $i(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Li=e=>e.nodeType===8;fo().requestIdleCallback,fo().cancelIdleCallback;function Ru(e,t){if(Li(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Li(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Du(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let N;return c||(N=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise(($,P)=>{l(v,()=>$(m()),()=>P(v),f+1)});throw v}).then(v=>N!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(N,v,$){const P=N.isConnected;let T=!1;(v.bu||(v.bu=[])).push(()=>T=!0);const _=()=>{T||!N.parentNode||P&&!N.isConnected||$()},b=s?()=>{const L=s(_,A=>Ru(N,A));L&&(v.bum||(v.bum=[])).push(L)}:_;u?b():k().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const N=Fe;if(Ca(N),u)return()=>Mo(u,N);const v=L=>{c=null,xn(L,N,13,!o)};if(r&&N.suspense||_n)return k().then(L=>()=>Mo(L,N)).catch(L=>(v(L),()=>o?Me(o,{error:L}):null));const $=he(!1),P=he(),T=he(!!a);let _,b;return Fo(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{N.isUnmounted||(T.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!N.isUnmounted&&!$.value&&!P.value){const L=new Error(`Async component timed out after ${i}ms.`);v(L),P.value=L}},i)),k().then(()=>{N.isUnmounted||($.value=!0,N.parent&&Io(N.parent.vnode)&&N.parent.update())}).catch(L=>{if(N.isUnmounted){c=null;return}v(L),P.value=L}),()=>{if($.value&&u)return Mo(u,N);if(P.value&&o)return Me(o,{error:P.value});if(n&&!T.value)return Mo(n,N)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Me(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Io=e=>e.type.__isKeepAlive;function Fu(e,t){Ci(e,"a",t)}function Ou(e,t){Ci(e,"da",t)}function Ci(e,t,n=Fe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Fo(()=>{ia(o[t],a)},n)}function Ro(e,t,n=Fe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ft();const r=Jn(n),l=it(t,n,e,i);return r(),pt(),l});return o?a.unshift(s):a.push(s),s}}const Lt=e=>(t,n=Fe)=>{(!_n||e==="sp")&&Ro(e,(...o)=>t(...o),n)},wi=Lt("bm"),Gn=Lt("m"),ju=Lt("bu"),Bu=Lt("u"),Do=Lt("bum"),Fo=Lt("um"),Ku=Lt("sp"),Uu=Lt("rtg"),Gu=Lt("rtc");function zu(e,t=Fe){Ro("ec",e,t)}const qu="components",Ni=Symbol.for("v-ndc");function Pi(e){return ve(e)?Hu(qu,e,!1)||e:e||Ni}function Hu(e,t,n=!0,o=!1){const a=rt||Fe;if(a){const s=a.type;{const r=gr(s,!1);if(r&&(r===t||r===Pe(t)||r===go(Pe(t))))return s}const i=Mi(a[e]||s[e],t)||Mi(a.appContext[e],t);return!i&&o?s:i}}function Mi(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,i=Z(e);if(i||ve(e)){const r=i&&Et(e);let l=!1,c=!1;r&&(l=!He(e),c=$t(e),e=bo(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?lr(e)?xa(e):wa(e.parent):null,zn=Ee(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=>Fi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ta(e.update)}),$nextTick:e=>e.n||(e.n=Co.bind(e.proxy)),$watch:e=>Pu.bind(e)}),Na=(e,t)=>e!==_e&&!e.__isScriptSetup&&de(e,t),Wu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Na(o,t))return i[t]=1,o[t];if(a!==_e&&de(a,t))return i[t]=2,a[t];if(de(s,t))return i[t]=3,s[t];if(n!==_e&&de(n,t))return i[t]=4,n[t];Pa&&(i[t]=0)}}const c=zn[t];let u,f;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==_e&&de(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,de(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Na(a,t)?(a[t]=n,!0):o!==_e&&de(o,t)?(o[t]=n,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==_e&&r[0]!=="$"&&de(e,r)||Na(t,r)||de(s,r)||de(o,r)||de(zn,r)||de(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ii(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Fi(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Ri(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:N,activated:v,deactivated:$,beforeDestroy:P,beforeUnmount:T,destroyed:_,unmounted:b,render:L,renderTracked:A,renderTriggered:w,errorCaptured:D,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),i)for(const q in i){const W=i[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);pe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,ie=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>ie.value,set:fe=>ie.value=fe})}if(r)for(const q in r)Di(r[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Ri(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(wi,f),j(Gn,m),j(ju,k),j(Bu,N),j(Fu,v),j(Ou,$),j(zu,D),j(Gu,A),j(Uu,w),j(Do,T),j(Fo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===gt&&(e.render=L),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Ca(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;pe(a)?"default"in a?s=De(a.from||o,a.default,!0):s=De(a.from||o):s=De(a),Te(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ri(e,t,n){it(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Di(e,t,n,o){let a=o.includes(".")?ki(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(pe(e))if(Z(e))e.forEach(s=>Di(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Fi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Oo(l,c,i,!0)),Oo(l,t,i)),pe(t)&&s.set(t,l),l}function Oo(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Oo(e,s,n,!0),a&&a.forEach(i=>Oo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Xu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Xu={data:Oi,props:xi,emits:xi,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Oi,inject:Zu};function Oi(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let a=n;const s=t.startsWith("update:"),i=s&&ng(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>ve(u)?u.trim():u)),i.number&&(a=a.map(Oc)));let r,l=o[r=ra(t)]||o[r=ra(Pe(t))];!l&&s&&(l=o[r=ra(Ze(t))]),l&&it(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,it(c,e,6,a)}}const ag=new WeakMap;function Bi(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!te(e)){const l=c=>{const u=Bi(c,t,!0);u&&(r=!0,Ee(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(pe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>i[l]=null):Ee(i,s),pe(e)&&o.set(e,i),i)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function xb(){}function Ki(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:N,inheritAttrs:v}=e,$=wo(e);let P,T;try{if(n.shapeFlag&4){const b=a||o,L=b;P=_t(c.call(L,b,u,f,k,m,N)),T=r}else{const b=t;P=_t(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),T=t.props?r:sg(r)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Ct)}let _=P;if(T&&v!==!1){const b=Object.keys(T),{shapeFlag:L}=_;b.length&&L&7&&(s&&b.some(io)&&(T=ig(T,s)),_=mn(_,T,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=No(_.type)&&Ti(_)||_;La(b,n.transition)}return P=_,wo($),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},ig=(e,t)=>{const n={};for(const o in e)(!io(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function rg(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Ui(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(zi),Hi=e=>Object.getPrototypeOf(e)===zi;function cg(e,t,n,o=!1){const a={},s=qi();e.propsDefaults=Object.create(null),Vi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ce(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[m,k]=Wi(f,t,!0);Ee(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return pe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Da=e=>Z(e)?e.map(_t):[_t(e)],dg=(e,t,n)=>{if(t._n)return t;const o=$u((...a)=>Da(t(...a)),n);return o._c=!1,o},Ji=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const i=Da(s);t[a]=()=>i}}},Xi=(e,t)=>{const n=Da(t);e.slots.default=()=>n},Zi=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},fg=(e,t,n)=>{const o=e.slots=qi();if(e.vnode.shapeFlag&32){const a=t._;a?(Zi(o,t,n),n&&Ks(o,"_",a,!0)):Ji(t,o)}else t&&Xi(e,t)},pg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=_e;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Zi(a,t,n):(s=!t.$stable,Ji(t,a)),i=t}else t&&(Xi(e,t),i={default:1});if(s)for(const r in a)!Ra(r)&&i[r]==null&&delete a[r]},ze=yg;function hg(e){return mg(e)}function mg(e,t){const n=fo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=gt,insertStaticContent:N}=e,v=(p,y,h,M=null,x=null,O=null,U=void 0,K=null,g=!!y.dynamicChildren)=>{if(p===y)return;p&&!Wn(p,y)&&(M=Ye(p),fe(p,x,O,!0),p=null),y.patchFlag===-2&&(g=!1,y.dynamicChildren=null);const{type:d,ref:C,shapeFlag:I}=y;switch(d){case Hn:$(p,y,h,M);break;case Ct:P(p,y,h,M);break;case Oa:p==null&&T(y,h,M,U);break;case Qe:z(p,y,h,M,x,O,U,K,g);break;default:I&1?L(p,y,h,M,x,O,U,K,g):I&6?ee(p,y,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,y,h,M,x,O,U,K,g,ot)}C!=null&&x?Kn(C,p&&p.ref,O,y||p,!y):C==null&&p&&p.ref!=null&&Kn(p.ref,null,O,p,!0)},$=(p,y,h,M)=>{if(p==null)o(y.el=r(y.children),h,M);else{const x=y.el=p.el;y.children!==p.children&&c(x,y.children)}},P=(p,y,h,M)=>{p==null?o(y.el=l(y.children||""),h,M):y.el=p.el},T=(p,y,h,M)=>{[p.el,p.anchor]=N(p.children,y,h,M,p.el,p.anchor)},_=({el:p,anchor:y},h,M)=>{let x;for(;p&&p!==y;)x=m(p),o(p,h,M),p=x;o(y,h,M)},b=({el:p,anchor:y})=>{let h;for(;p&&p!==y;)h=m(p),a(p),p=h;a(y)},L=(p,y,h,M,x,O,U,K,g)=>{if(y.type==="svg"?U="svg":y.type==="math"&&(U="mathml"),p==null)A(y,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),S(p,y,x,O,U,K,g)}finally{d&&d._endPatch()}}},A=(p,y,h,M,x,O,U,K)=>{let g,d;const{props:C,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,C&&C.is,C),I&8?u(g,p.children):I&16&&D(p.children,g,null,M,x,Fa(p,O),U,K),B&&nn(p,null,M,"created"),w(g,p,p.scopeId,U,M),C){for(const R in C)R!=="value"&&!wn(R)&&s(g,R,null,C[R],O,M);"value"in C&&s(g,"value",null,C.value,O),(d=C.onVnodeBeforeMount)&&yt(d,M,p)}B&&nn(p,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,y,h),((d=C&&C.onVnodeMounted)||E||B)&&ze(()=>{try{d&&yt(d,M,p),E&&G.enter(g),B&&nn(p,null,M,"mounted")}finally{}},x)},w=(p,y,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=y.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:C}=y;g|=p.patchFlag&16;const I=p.props||_e,G=y.props||_e;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&yt(B,h,y,p),C&&nn(y,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(p.dynamicChildren,d,K,h,M,Fa(y,x),O):U||W(p,y,K,null,h,M,Fa(y,x),O,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=y.dynamicProps;for(let R=0;R{B&&yt(B,h,y,p),C&&nn(y,p,h,"updated")},M)},V=(p,y,h,M,x,O,U)=>{for(let K=0;K{if(y!==h){if(y!==_e)for(const O in y)!wn(O)&&!(O in h)&&s(p,O,y[O],null,x,M);for(const O in h){if(wn(O))continue;const U=h[O],K=y[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",y.value,h.value,x)}},z=(p,y,h,M,x,O,U,K,g)=>{const d=y.el=p?p.el:r(""),C=y.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=y;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(C,h,M),D(y.children||[],h,C,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(V(p.dynamicChildren,G,h,x,O,U,K),(y.key!=null||x&&y===x.subTree)&&Qi(p,y,!0)):W(p,y,h,C,x,O,U,K,g)},ee=(p,y,h,M,x,O,U,K,g)=>{y.slotScopeIds=K,p==null?y.shapeFlag&512?x.ctx.activate(y,h,M,U,g):Y(y,h,M,x,O,U,g):F(p,y,g)},Y=(p,y,h,M,x,O,U)=>{const K=p.component=Eg(p,M,x);if(Io(p)&&(K.ctx.renderer=ot),$g(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Me(Ct);P(null,g,y,h),p.placeholder=g.el}}else j(K,p,y,h,x,O,U)},F=(p,y,h)=>{const M=y.component=p.component;if(rg(p,y,h))if(M.asyncDep&&!M.asyncResolved){q(M,y,h);return}else M.next=y,M.update();else y.el=p.el,M.vnode=y},j=(p,y,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=p;{const xe=er(p);if(xe){I&&(I.el=R.el,q(p,I,U)),xe.asyncDep.then(()=>{ze(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,q(p,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&yt(se,E,I,R),an(p,!0);const Se=Ki(p),Ge=p.subTree;p.subTree=Se,v(Ge,Se,f(Ge.el),Ye(Ge),p,x,O),I.el=Se.el,J===null&&lg(p,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>yt(se,E,I,R),x)}else{let I;const{el:G,props:B}=y,{bm:E,m:R,parent:J,root:se,type:Se}=p,Ge=Un(y);an(p,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&yt(I,J,y),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,p.parent?p.parent.type:void 0);const xe=p.subTree=Ki(p);v(null,xe,h,M,p,x,O),y.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=y;ze(()=>yt(I,J,xe),x)}(y.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&ze(p.a,x),p.isMounted=!0,y=h=M=null}};p.scope.on();const g=p.effect=new Js(K);p.scope.off();const d=p.update=g.run.bind(g),C=p.job=g.runIfDirty.bind(g);C.i=p,C.id=p.uid,g.scheduler=()=>Ta(C),an(p,!0),d()},q=(p,y,h)=>{y.component=p;const M=p.vnode.props;p.vnode=y,p.next=null,ug(p,y.props,M,h),pg(p,y.children,h),ft(),yi(p),pt()},W=(p,y,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,C=p?p.shapeFlag:0,I=y.children,{patchFlag:G,shapeFlag:B}=y;if(G>0){if(G&128){ge(d,I,h,M,x,O,U,K,g);return}else if(G&256){X(d,I,h,M,x,O,U,K,g);return}}B&8?(C&16&&Re(d,x,O),I!==d&&u(h,I)):C&16?B&16?ge(d,I,h,M,x,O,U,K,g):Re(d,x,O,!0):(C&8&&u(h,""),B&16&&D(I,h,M,x,O,U,K,g))},X=(p,y,h,M,x,O,U,K,g)=>{p=p||un,y=y||un;const d=p.length,C=y.length,I=Math.min(d,C);let G;for(G=0;GC?Re(p,x,O,!0,!1,I):D(y,h,M,x,O,U,K,g,I)},ge=(p,y,h,M,x,O,U,K,g)=>{let d=0;const C=y.length;let I=p.length-1,G=C-1;for(;d<=I&&d<=G;){const B=p[d],E=y[d]=g?Pt(y[d]):_t(y[d]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],E=y[G]=g?Pt(y[G]):_t(y[G]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)fe(p[d],x,O,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=y[d]=g?Pt(y[d]):_t(y[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){fe(Je,x,O,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,y[J])){vt=J;break}vt===void 0?fe(Je,x,O,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,y[vt],h,null,x,O,U,K,g),se++)}const Fs=Ge?_g(cn):un;for(J=Fs.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=y[Je],Nc=y[Je+1],Pc=Je+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){ie(p.component.subTree,y,h,M);return}if(d&128){p.suspense.move(y,h,M);return}if(d&64){U.move(p,y,h,ot);return}if(U===Qe){o(O,y,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{p.ctx.isUnmounted?a(O):o(O,y,h)},R=()=>{const J=O._isLeaving||!!O[$a];O._isLeaving&&O[$a](!0),K.persisted&&!J?E():I(O,()=>{E(),B&&B()})};G?G(O,E,R):R()}else o(O,y,h)},fe=(p,y,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:C,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=p;if(I===-2&&(x=!1),K!=null&&(ft(),Kn(K,null,h,p,!0),pt()),B!=null&&(y.renderCache[B]=void 0),C&256){y.ctx.deactivate(p);return}const R=C&1&&G,J=!Un(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&yt(se,y,p),C&6)Ne(p.component,h,M);else{if(C&128){p.suspense.unmount(h,M);return}R&&nn(p,null,y,"beforeUnmount"),C&64?p.type.remove(p,y,h,ot,M):d&&!d.hasOnce&&(O!==Qe||I>0&&I&64)?Re(d,y,h,!1,!0):(O===Qe&&I&384||!x&&C&16)&&Re(g,y,h),M&&oe(p)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&yt(se,y,p),R&&nn(p,null,y,"unmounted"),Se&&(p.el=null)},h)},oe=p=>{const{type:y,el:h,anchor:M,transition:x}=p;if(y===Qe){le(h,M);return}if(y===Oa){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},le=(p,y)=>{let h;for(;p!==y;)h=m(p),a(p),p=h;a(y)},Ne=(p,y,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;tr(g),tr(d),M&&la(M),x.stop(),O&&(O.flags|=8,fe(U,p,y,h)),K&&ze(K,y),ze(()=>{p.isUnmounted=!0},y)},Re=(p,y,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return Ye(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const y=m(p.anchor||p.el),h=y&&y[Mu];return h?m(h):y};let nt=!1;const Zt=(p,y,h)=>{let M;p==null?y._vnode&&(fe(y._vnode,null,null,!0),M=y._vnode.component):v(y._vnode||null,p,y,null,null,null,h),y._vnode=p,nt||(nt=!0,yi(M),Ai(),nt=!1)},ot={p:v,um:fe,m:ie,r:oe,mt:Y,mc:D,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Fa({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qi(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function er(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:er(t)}function tr(e){if(e)for(let t=0;te.__isSuspense;function yg(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Oa=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ar(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function sr(e){return e.dynamicChildren=Vn>0?Ve||un:null,ar(),Vn>0&&Ve&&Ve.push(e),e}function wt(e,t,n,o,a,s){return sr(Ce(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return sr(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ir=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||Te(e)||te(e)?{i:rt,r:e,k:t,f:!!n}:e:null);function Ce(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ir(t),ref:t&&Uo(t),scopeId:vi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:rt};return r?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!i&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Ni)&&(e=Ct),Ko(e)){const r=mn(e,t,!0);return n&&Go(r,n),Vn>0&&!s&&Ve&&(r.shapeFlag&6?Ve[Ve.indexOf(e)]=r:Ve.push(r)),r.patchFlag=-2,r}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:r,style:l}=t;r&&!ve(r)&&(t.class=Nn(r)),pe(l)&&(ko(l)&&!Z(l)&&(l=Ee({},l)),t.style=po(l))}const i=ve(e)?1:or(e)?128:No(e)?64:pe(e)?4:te(e)?2:0;return Ce(e,t,n,o,a,i,s,!0)}function Sg(e){return e?ko(e)||Hi(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ir(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&La(u,l.clone(u)),u}function Nt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Ct,null,e)):Me(Ct,null,e)}function _t(e){return e==null||typeof e=="boolean"?Me(Ct):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hi(t)?t._ctx=rt:a===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:rt},n=32}else t=String(t),o&64?(n=16,t=[Nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nFe||rt;let zo,Yn;{const e=fo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Fe=n),Yn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Jn=e=>{const t=Fe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},rr=()=>{Fe&&Fe.scope.off(),zo(null)};function lr(e){return e.vnode.shapeFlag&4}let _n=!1;function $g(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=lr(e);cg(e,o,s,t),fg(e,a,n||t);const i=s?Lg(e,t):void 0;return t&&Yn(!1),i}function Lg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){ft();const a=e.setupContext=o.length>1?wg(e):null,s=Jn(e),i=fn(o,e,0,[e.props,a]),r=js(i);if(pt(),s(),(r||e.sp)&&!Un(e)&&Ca(e),r){if(i.then(rr,rr),t)return i.then(l=>{Yn(!0);try{cr(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=i}else cr(e,i)}else ur(e)}function cr(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:pe(t)&&(e.setupState=hi(t)),ur(e)}function ur(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);ft();try{Yu(e)}finally{pt(),a()}}}const Cg={get(e,t){return je(e,"get",""),e[t]}};function wg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Cg),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hi(Fn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const Ng=/(?:^|[-_])\w/g,Pg=e=>e.replace(Ng,t=>t.toUpperCase()).replace(/[-_]/g,"");function gr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function dr(e,t,n=!1){let o=gr(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,_n);function fr(e,t,n){try{jo(-1);const o=arguments.length;return o===2?pe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** +`,...Au(a)),console.warn(...s)}ft(),$a=!1}function _u(){let e=Dn[Dn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${di(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mr(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mr(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ke(t)?(t=mr(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function pn(e,t,n,o){try{return o?e(...o):e()}catch(a){xn(a,t,n)}}function rt(e,t,n,o){if(te(e)){const a=pn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(ku(t),0,e),e.flags|=1,yr()}}function yr(){Co||(Co=br.then(Sr))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(fn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(fn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Sr(e){try{for(mt=0;mt{o._d&&jo(-1);const s=Lo(t),r=sn.length;let i;try{i=e(...a)}finally{for(let l=sn.length;l>r;l--)ai();Lo(s),o._d&&jo(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let r=0;r1)return n&&te(t)?t.call(o&&o.proxy):t}}function Cu(){return!!(Mt()||on)}const Nu=Symbol.for("v-scx"),Lu=()=>Fe(Nu);function wu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=ye){const{immediate:o,deep:a,flush:s,once:r}=n,i=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(yn){if(s==="sync"){const $=Lu();c=$.__watcherHandles||($.__watcherHandles=[])}else if(!l){const $=()=>{};return $.stop=gt,$.resume=gt,$.pause=gt,$}}const u=Oe;i.call=($,w,v)=>rt($,u,w,v);let p=!1;s==="post"?i.scheduler=$=>{ze($,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=($,w)=>{w?$():ka($)}),i.augmentJob=$=>{t&&($.flags|=4),p&&($.flags|=2,u&&($.id=u.uid,$.i=u))};const m=yu(e,t,i);return yn&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?$r(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const r=Jn(this),i=Ea(a,s.bind(o),n);return r(),i}function $r(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,Ta=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Nt){t=n;break}}return t}function kr(e){if(!Io(e))return wo(e.type)&&e.children?Iu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function Ca(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ca(wo(n.type)&&kr(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Na(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Er(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,T)=>Kn(v,t&&(Z(t)?t[T]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===ye?i.refs={}:i.refs,p=i.setupState,m=ce(p),$=p===ye?Ds:v=>Er(u,v)?!1:de(m,v),w=(v,T)=>!(T&&Er(u,T));if(c!=null&&c!==l){if(Tr(t),ve(c))u[c]=null,$(c)&&(p[c]=null);else if(ke(c)){const v=t;w(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))pn(l,i,12,[r,u]);else{const v=ve(l),T=ke(l);if(v||T){const P=()=>{if(e.f){const k=v?$(l)?p[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Z(k)&&ra(k,s);else if(Z(k))k.includes(s)||k.push(s);else if(v)u[l]=[s],$(l)&&(p[l]=u[l]);else{const y=[s];w(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else v?(u[l]=r,$(l)&&(p[l]=r)):T&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const k=()=>{P(),Po.delete(e)};k.id=-1,Po.set(e,k),ze(k,n)}else Tr(e),P()}}}function Tr(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Cr=e=>e.nodeType===8;po().requestIdleCallback,po().cancelIdleCallback;function Ru(e,t){if(Cr(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Cr(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Fu(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,$()),$=()=>{let w;return c||(w=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((T,P)=>{l(v,()=>T(m()),()=>P(v),p+1)});throw v}).then(v=>w!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:$,__asyncHydrate(w,v,T){const P=w.isConnected;let k=!1;(v.bu||(v.bu=[])).push(()=>k=!0);const y=()=>{k||!w.parentNode||P&&!w.isConnected||T()},b=s?()=>{const C=s(y,A=>Ru(w,A));C&&(v.bum||(v.bum=[])).push(C)}:y;u?b():$().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const w=Oe;if(Na(w),u)return()=>Mo(u,w);const v=C=>{c=null,xn(C,w,13,!o)};if(i&&w.suspense||yn)return $().then(C=>()=>Mo(C,w)).catch(C=>(v(C),()=>o?Me(o,{error:C}):null));const T=he(!1),P=he(),k=he(!!a);let y,b;return Oo(()=>{y!=null&&clearTimeout(y),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{w.isUnmounted||(k.value=!1)},a)),r!=null&&(y=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!P.value){const C=new Error(`Async component timed out after ${r}ms.`);v(C),P.value=C}},r)),$().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Io(w.parent.vnode)&&w.parent.update())}).catch(C=>{if(w.isUnmounted){c=null;return}v(C),P.value=C}),()=>{if(T.value&&u)return Mo(u,w);if(P.value&&o)return Me(o,{error:P.value});if(n&&!k.value)return Mo(n,w)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,r=Me(e,o,a);return r.ref=n,r.ce=s,delete t.vnode.ce,r}const Io=e=>e.type.__isKeepAlive;function Ou(e,t){Nr(e,"a",t)}function Du(e,t){Nr(e,"da",t)}function Nr(e,t,n=Oe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Oo(()=>{ra(o[t],a)},n)}function Ro(e,t,n=Oe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{pt();const i=Jn(n),l=rt(t,n,e,r);return i(),ft(),l});return o?a.unshift(s):a.push(s),s}}const Ct=e=>(t,n=Oe)=>{(!yn||e==="sp")&&Ro(e,(...o)=>t(...o),n)},Lr=Ct("bm"),Gn=Ct("m"),ju=Ct("bu"),Bu=Ct("u"),Fo=Ct("bum"),Oo=Ct("um"),Ku=Ct("sp"),Uu=Ct("rtg"),Gu=Ct("rtc");function zu(e,t=Oe){Ro("ec",e,t)}const qu="components",wr=Symbol.for("v-ndc");function Pr(e){return ve(e)?Hu(qu,e,!1)||e:e||wr}function Hu(e,t,n=!0,o=!1){const a=it||Oe;if(a){const s=a.type;{const i=gi(s,!1);if(i&&(i===t||i===Pe(t)||i===go(Pe(t))))return s}const r=Mr(a[e]||s[e],t)||Mr(a.appContext[e],t);return!r&&o?s:r}}function Mr(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,r=Z(e);if(r||ve(e)){const i=r&&Et(e);let l=!1,c=!1;i&&(l=!He(e),c=Tt(e),e=bo(e)),a=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;le?li(e)?xa(e):La(e.parent):null,zn=Ee(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Or(e),$forceUpdate:e=>e.f||(e.f=()=>{ka(e.update)}),$nextTick:e=>e.n||(e.n=No.bind(e.proxy)),$watch:e=>Pu.bind(e)}),wa=(e,t)=>e!==ye&&!e.__isScriptSetup&&de(e,t),Wu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(wa(o,t))return r[t]=1,o[t];if(a!==ye&&de(a,t))return r[t]=2,a[t];if(de(s,t))return r[t]=3,s[t];if(n!==ye&&de(n,t))return r[t]=4,n[t];Pa&&(r[t]=0)}}const c=zn[t];let u,p;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==ye&&de(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,de(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return wa(a,t)?(a[t]=n,!0):o!==ye&&de(o,t)?(o[t]=n,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:r}},i){let l;return!!(n[i]||e!==ye&&i[0]!=="$"&&de(e,i)||wa(t,i)||de(s,i)||de(o,i)||de(zn,i)||de(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ir(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Or(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Rr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:$,updated:w,activated:v,deactivated:T,beforeDestroy:P,beforeUnmount:k,destroyed:y,unmounted:b,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),r)for(const q in r){const W=r[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);fe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,re=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>re.value,set:pe=>re.value=pe})}if(i)for(const q in i)Fr(i[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Rr(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(Lr,p),j(Gn,m),j(ju,$),j(Bu,w),j(Ou,v),j(Du,T),j(zu,F),j(Gu,A),j(Uu,L),j(Fo,k),j(Oo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===gt&&(e.render=C),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Na(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;fe(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ke(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[o]=s}}function Rr(e,t,n){rt(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fr(e,t,n,o){let a=o.includes(".")?$r(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(fe(e))if(Z(e))e.forEach(s=>Fr(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Or(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Do(l,c,r,!0)),Do(l,t,r)),fe(t)&&s.set(t,l),l}function Do(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Do(e,s,n,!0),a&&a.forEach(r=>Do(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const i=Xu[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Xu={data:Dr,props:xr,emits:xr,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Dr,inject:Zu};function Dr(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||ye;let a=n;const s=t.startsWith("update:"),r=s&&ng(o,t.slice(7));r&&(r.trim&&(a=n.map(u=>ve(u)?u.trim():u)),r.number&&(a=a.map(Dc)));let i,l=o[i=ia(t)]||o[i=ia(Pe(t))];!l&&s&&(l=o[i=ia(Ze(t))]),l&&rt(l,e,6,a);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,rt(c,e,6,a)}}const ag=new WeakMap;function Br(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!te(e)){const l=c=>{const u=Br(c,t,!0);u&&(i=!0,Ee(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(fe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):Ee(r,s),fe(e)&&o.set(e,r),r)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function Hb(){}function Kr(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:$,ctx:w,inheritAttrs:v}=e,T=Lo(e);let P,k;try{if(n.shapeFlag&4){const b=a||o,C=b;P=yt(c.call(C,b,u,p,$,m,w)),k=i}else{const b=t;P=yt(b.length>1?b(p,{attrs:i,slots:r,emit:l}):b(p,null)),k=t.props?i:sg(i)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Nt)}let y=P;if(k&&v!==!1){const b=Object.keys(k),{shapeFlag:C}=y;b.length&&C&7&&(s&&b.some(ro)&&(k=rg(k,s)),y=mn(y,k,!1,!0))}if(n.dirs&&(y=mn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const b=wo(y.type)&&kr(y)||y;Ca(b,n.transition)}return P=y,Lo(T),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},rg=(e,t)=>{const n={};for(const o in e)(!ro(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function ig(e,t,n){const{props:o,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Ur(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(zr),Hr=e=>Object.getPrototypeOf(e)===zr;function cg(e,t,n,o=!1){const a={},s=qr();e.propsDefaults=Object.create(null),Vr(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=ce(a),[l]=e.propsOptions;let c=!1;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,$]=Wr(p,t,!0);Ee(r,m),$&&i.push(...$)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return fe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fa=e=>Z(e)?e.map(yt):[yt(e)],dg=(e,t,n)=>{if(t._n)return t;const o=Tu((...a)=>Fa(t(...a)),n);return o._c=!1,o},Jr=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const r=Fa(s);t[a]=()=>r}}},Xr=(e,t)=>{const n=Fa(t);e.slots.default=()=>n},Zr=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},pg=(e,t,n)=>{const o=e.slots=qr();if(e.vnode.shapeFlag&32){const a=t._;a?(Zr(o,t,n),n&&Ks(o,"_",a,!0)):Jr(t,o)}else t&&Xr(e,t)},fg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,r=ye;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:Zr(a,t,n):(s=!t.$stable,Jr(t,a)),r=t}else t&&(Xr(e,t),r={default:1});if(s)for(const i in a)!Ra(i)&&r[i]==null&&delete a[i]},ze=_g;function hg(e){return mg(e)}function mg(e,t){const n=po();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:$=gt,insertStaticContent:w}=e,v=(f,_,h,M=null,x=null,D=null,U=void 0,K=null,g=!!_.dynamicChildren)=>{if(f===_)return;f&&!Wn(f,_)&&(M=Ye(f),pe(f,x,D,!0),f=null),_.patchFlag===-2&&(g=!1,_.dynamicChildren=null);const{type:d,ref:N,shapeFlag:I}=_;switch(d){case Hn:T(f,_,h,M);break;case Nt:P(f,_,h,M);break;case Da:f==null&&k(_,h,M,U);break;case Qe:z(f,_,h,M,x,D,U,K,g);break;default:I&1?C(f,_,h,M,x,D,U,K,g):I&6?ee(f,_,h,M,x,D,U,K,g):(I&64||I&128)&&d.process(f,_,h,M,x,D,U,K,g,ot)}N!=null&&x?Kn(N,f&&f.ref,D,_||f,!_):N==null&&f&&f.ref!=null&&Kn(f.ref,null,D,f,!0)},T=(f,_,h,M)=>{if(f==null)o(_.el=i(_.children),h,M);else{const x=_.el=f.el;_.children!==f.children&&c(x,_.children)}},P=(f,_,h,M)=>{f==null?o(_.el=l(_.children||""),h,M):_.el=f.el},k=(f,_,h,M)=>{[f.el,f.anchor]=w(f.children,_,h,M,f.el,f.anchor)},y=({el:f,anchor:_},h,M)=>{let x;for(;f&&f!==_;)x=m(f),o(f,h,M),f=x;o(_,h,M)},b=({el:f,anchor:_})=>{let h;for(;f&&f!==_;)h=m(f),a(f),f=h;a(_)},C=(f,_,h,M,x,D,U,K,g)=>{if(_.type==="svg"?U="svg":_.type==="math"&&(U="mathml"),f==null)A(_,h,M,x,D,U,K,g);else{const d=f.el&&f.el._isVueCE?f.el:null;try{d&&d._beginPatch(),S(f,_,x,D,U,K,g)}finally{d&&d._endPatch()}}},A=(f,_,h,M,x,D,U,K)=>{let g,d;const{props:N,shapeFlag:I,transition:G,dirs:B}=f;if(g=f.el=r(f.type,D,N&&N.is,N),I&8?u(g,f.children):I&16&&F(f.children,g,null,M,x,Oa(f,D),U,K),B&&nn(f,null,M,"created"),L(g,f,f.scopeId,U,M),N){for(const R in N)R!=="value"&&!Ln(R)&&s(g,R,null,N[R],D,M);"value"in N&&s(g,"value",null,N.value,D),(d=N.onVnodeBeforeMount)&&_t(d,M,f)}B&&nn(f,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,_,h),((d=N&&N.onVnodeMounted)||E||B)&&ze(()=>{try{d&&_t(d,M,f),E&&G.enter(g),B&&nn(f,null,M,"mounted")}finally{}},x)},L=(f,_,h,M,x)=>{if(h&&$(f,h),M)for(let D=0;D{for(let d=g;d{const K=_.el=f.el;let{patchFlag:g,dynamicChildren:d,dirs:N}=_;g|=f.patchFlag&16;const I=f.props||ye,G=_.props||ye;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,h,_,f),N&&nn(_,f,h,"beforeUpdate"),h&&an(h,!0),d&&(!f.dynamicChildren||f.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(f.dynamicChildren,d,K,h,M,Oa(_,x),D):U||W(f,_,K,null,h,M,Oa(_,x),D,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=_.dynamicProps;for(let R=0;R{B&&_t(B,h,_,f),N&&nn(_,f,h,"updated")},M)},V=(f,_,h,M,x,D,U)=>{for(let K=0;K<_.length;K++){const g=f[K],d=_[K],N=g.el&&(g.type===Qe||!Wn(g,d)||g.shapeFlag&198)?p(g.el):h;v(g,d,N,null,M,x,D,U,!0)}},ae=(f,_,h,M,x)=>{if(_!==h){if(_!==ye)for(const D in _)!Ln(D)&&!(D in h)&&s(f,D,_[D],null,x,M);for(const D in h){if(Ln(D))continue;const U=h[D],K=_[D];U!==K&&D!=="value"&&s(f,D,K,U,x,M)}"value"in h&&s(f,"value",_.value,h.value,x)}},z=(f,_,h,M,x,D,U,K,g)=>{const d=_.el=f?f.el:i(""),N=_.anchor=f?f.anchor:i("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=_;B&&(K=K?K.concat(B):B),f==null?(o(d,h,M),o(N,h,M),F(_.children||[],h,N,x,D,U,K,g)):I>0&&I&64&&G&&f.dynamicChildren&&f.dynamicChildren.length===G.length?(V(f.dynamicChildren,G,h,x,D,U,K),(_.key!=null||x&&_===x.subTree)&&Qr(f,_,!0)):W(f,_,h,N,x,D,U,K,g)},ee=(f,_,h,M,x,D,U,K,g)=>{_.slotScopeIds=K,f==null?_.shapeFlag&512?x.ctx.activate(_,h,M,U,g):Y(_,h,M,x,D,U,g):O(f,_,g)},Y=(f,_,h,M,x,D,U)=>{const K=f.component=Eg(f,M,x);if(Io(f)&&(K.ctx.renderer=ot),Tg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!f.el){const g=K.subTree=Me(Nt);P(null,g,_,h),f.placeholder=g.el}}else j(K,f,_,h,x,D,U)},O=(f,_,h)=>{const M=_.component=f.component;if(ig(f,_,h))if(M.asyncDep&&!M.asyncResolved){q(M,_,h);return}else M.next=_,M.update();else _.el=f.el,M.vnode=_},j=(f,_,h,M,x,D,U)=>{const K=()=>{if(f.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=f;{const xe=ei(f);if(xe){I&&(I.el=R.el,q(f,I,U)),xe.asyncDep.then(()=>{ze(()=>{f.isUnmounted||d()},x)});return}}let J=I,se;an(f,!1),I?(I.el=R.el,q(f,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&_t(se,E,I,R),an(f,!0);const Se=Kr(f),Ge=f.subTree;f.subTree=Se,v(Ge,Se,p(Ge.el),Ye(Ge),f,x,D),I.el=Se.el,J===null&&lg(f,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>_t(se,E,I,R),x)}else{let I;const{el:G,props:B}=_,{bm:E,m:R,parent:J,root:se,type:Se}=f,Ge=Un(_);an(f,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&_t(I,J,_),an(f,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,f.parent?f.parent.type:void 0);const xe=f.subTree=Kr(f);v(null,xe,h,M,f,x,D),_.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=_;ze(()=>_t(I,J,xe),x)}(_.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&f.a&&ze(f.a,x),f.isMounted=!0,_=h=M=null}};f.scope.on();const g=f.effect=new Js(K);f.scope.off();const d=f.update=g.run.bind(g),N=f.job=g.runIfDirty.bind(g);N.i=f,N.id=f.uid,g.scheduler=()=>ka(N),an(f,!0),d()},q=(f,_,h)=>{_.component=f;const M=f.vnode.props;f.vnode=_,f.next=null,ug(f,_.props,M,h),fg(f,_.children,h),pt(),_r(f),ft()},W=(f,_,h,M,x,D,U,K,g=!1)=>{const d=f&&f.children,N=f?f.shapeFlag:0,I=_.children,{patchFlag:G,shapeFlag:B}=_;if(G>0){if(G&128){ge(d,I,h,M,x,D,U,K,g);return}else if(G&256){X(d,I,h,M,x,D,U,K,g);return}}B&8?(N&16&&Re(d,x,D),I!==d&&u(h,I)):N&16?B&16?ge(d,I,h,M,x,D,U,K,g):Re(d,x,D,!0):(N&8&&u(h,""),B&16&&F(I,h,M,x,D,U,K,g))},X=(f,_,h,M,x,D,U,K,g)=>{f=f||un,_=_||un;const d=f.length,N=_.length,I=Math.min(d,N);let G;for(G=0;GN?Re(f,x,D,!0,!1,I):F(_,h,M,x,D,U,K,g,I)},ge=(f,_,h,M,x,D,U,K,g)=>{let d=0;const N=_.length;let I=f.length-1,G=N-1;for(;d<=I&&d<=G;){const B=f[d],E=_[d]=g?Pt(_[d]):yt(_[d]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=f[I],E=_[G]=g?Pt(_[G]):yt(_[G]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)pe(f[d],x,D,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=_[d]=g?Pt(_[d]):yt(_[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){pe(Je,x,D,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,_[J])){vt=J;break}vt===void 0?pe(Je,x,D,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,_[vt],h,null,x,D,U,K,g),se++)}const Os=Ge?yg(cn):un;for(J=Os.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=_[Je],wc=_[Je+1],Pc=Je+1{const{el:D,type:U,transition:K,children:g,shapeFlag:d}=f;if(d&6){re(f.component.subTree,_,h,M);return}if(d&128){f.suspense.move(_,h,M);return}if(d&64){U.move(f,_,h,ot);return}if(U===Qe){o(D,_,h);for(let I=0;IK.enter(D),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{f.ctx.isUnmounted?a(D):o(D,_,h)},R=()=>{const J=D._isLeaving||!!D[Ta];D._isLeaving&&D[Ta](!0),K.persisted&&!J?E():I(D,()=>{E(),B&&B()})};G?G(D,E,R):R()}else o(D,_,h)},pe=(f,_,h,M=!1,x=!1)=>{const{type:D,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:N,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=f;if(I===-2&&(x=!1),K!=null&&(pt(),Kn(K,null,h,f,!0),ft()),B!=null&&(_.renderCache[B]=void 0),N&256){_.ctx.deactivate(f);return}const R=N&1&&G,J=!Un(f);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&_t(se,_,f),N&6)we(f.component,h,M);else{if(N&128){f.suspense.unmount(h,M);return}R&&nn(f,null,_,"beforeUnmount"),N&64?f.type.remove(f,_,h,ot,M):d&&!d.hasOnce&&(D!==Qe||I>0&&I&64)?Re(d,_,h,!1,!0):(D===Qe&&I&384||!x&&N&16)&&Re(g,_,h),M&&oe(f)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&_t(se,_,f),R&&nn(f,null,_,"unmounted"),Se&&(f.el=null)},h)},oe=f=>{const{type:_,el:h,anchor:M,transition:x}=f;if(_===Qe){le(h,M);return}if(_===Da){b(f);return}const D=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(f.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,D);K?K(f.el,D,g):g()}else D()},le=(f,_)=>{let h;for(;f!==_;)h=m(f),a(f),f=h;a(_)},we=(f,_,h)=>{const{bum:M,scope:x,job:D,subTree:U,um:K,m:g,a:d}=f;ti(g),ti(d),M&&la(M),x.stop(),D&&(D.flags|=8,pe(U,f,_,h)),K&&ze(K,_),ze(()=>{f.isUnmounted=!0},_)},Re=(f,_,h,M=!1,x=!1,D=0)=>{for(let U=D;U{if(f.shapeFlag&6)return Ye(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const _=m(f.anchor||f.el),h=_&&_[Mu];return h?m(h):_};let nt=!1;const Zt=(f,_,h)=>{let M;f==null?_._vnode&&(pe(_._vnode,null,null,!0),M=_._vnode.component):v(_._vnode||null,f,_,null,null,null,h),_._vnode=f,nt||(nt=!0,_r(M),Ar(),nt=!1)},ot={p:v,um:pe,m:re,r:oe,mt:Y,mc:F,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Oa({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qr(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function ei(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ei(t)}function ti(e){if(e)for(let t=0;te.__isSuspense;function _g(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Nt=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ai(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function si(e){return e.dynamicChildren=Vn>0?Ve||un:null,ai(),Vn>0&&Ve&&Ve.push(e),e}function Lt(e,t,n,o,a,s){return si(Ne(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return si(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ri=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||ke(e)||te(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Ne(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ri(t),ref:t&&Uo(t),scopeId:vr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:it};return i?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!r&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===wr)&&(e=Nt),Ko(e)){const i=mn(e,t,!0);return n&&Go(i,n),Vn>0&&!s&&Ve&&(i.shapeFlag&6?Ve[Ve.indexOf(e)]=i:Ve.push(i)),i.patchFlag=-2,i}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:i,style:l}=t;i&&!ve(i)&&(t.class=wn(i)),fe(l)&&($o(l)&&!Z(l)&&(l=Ee({},l)),t.style=fo(l))}const r=ve(e)?1:oi(e)?128:wo(e)?64:fe(e)?4:te(e)?2:0;return Ne(e,t,n,o,a,r,s,!0)}function Sg(e){return e?$o(e)||Hr(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ri(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(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!==Qe?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&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ca(u,l.clone(u)),u}function wt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Nt,null,e)):Me(Nt,null,e)}function yt(e){return e==null||typeof e=="boolean"?Me(Nt):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hr(t)?t._ctx=it:a===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:it},n=32}else t=String(t),o&64?(n=16,t=[wt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nOe||it;let zo,Yn;{const e=po(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Oe=n),Yn=t("__VUE_SSR_SETTERS__",n=>yn=n)}const Jn=e=>{const t=Oe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},ii=()=>{Oe&&Oe.scope.off(),zo(null)};function li(e){return e.vnode.shapeFlag&4}let yn=!1;function Tg(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=li(e);cg(e,o,s,t),pg(e,a,n||t);const r=s?Cg(e,t):void 0;return t&&Yn(!1),r}function Cg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){pt();const a=e.setupContext=o.length>1?Lg(e):null,s=Jn(e),r=pn(o,e,0,[e.props,a]),i=js(r);if(ft(),s(),(i||e.sp)&&!Un(e)&&Na(e),i){if(r.then(ii,ii),t)return r.then(l=>{Yn(!0);try{ci(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=r}else ci(e,r)}else ui(e)}function ci(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=hr(t)),ui(e)}function ui(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);pt();try{Yu(e)}finally{ft(),a()}}}const Ng={get(e,t){return je(e,"get",""),e[t]}};function Lg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ng),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hr(On(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const wg=/(?:^|[-_])\w/g,Pg=e=>e.replace(wg,t=>t.toUpperCase()).replace(/[-_]/g,"");function gi(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function di(e,t,n=!1){let o=gi(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,yn);function pi(e,t,n){try{jo(-1);const o=arguments.length;return o===2?fe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ja;const pr=typeof window<"u"&&window.trustedTypes;if(pr)try{ja=pr.createPolicy("vue",{createHTML:e=>e})}catch{}const hr=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Dg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mr=It&&It.createElement("template"),Fg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Dg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const i=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{mr.innerHTML=hr(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=mr.content;if(o==="svg"||o==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Og=Symbol("_vtc");function xg(e,t,n){const o=e[Og];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const br=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Xn(o,r,"")}else for(const i in t)n[i]==null&&Xn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?zg(e,i,!ve(t)&&t?t[i]:void 0,r)||Xn(o,i,r):Xn(o,i,"")}}else if(a){if(t!==n){const i=o[Bg];i&&(n+=";"+i),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");br in e&&(e[br]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const _r=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;a<_r.length;a++){const s=_r[a]+o;if(s in e)return Ba[t]=s}return t}function zg(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ve(o)&&n===o}const yr="http://www.w3.org/1999/xlink";function Ar(e,t,n,o,a,s=Uc(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(yr,t.slice(6,t.length)):e.setAttributeNS(yr,t,n):n==null||s&&!zs(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Xe(n)?String(n):n)}function Sr(e,t,n,o,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?hr(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const r=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(r!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const r=typeof e[t];r==="boolean"?n=zs(n):n==null&&r==="string"?(n="",i=!0):r==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(a||t)}function qg(e,t,n,o){e.addEventListener(t,n,o)}function Hg(e,t,n,o){e.removeEventListener(t,n,o)}const vr=Symbol("_vei");function Vg(e,t,n,o,a=null){const s=e[vr]||(e[vr]={}),i=s[t];if(o&&i)i.value=o;else{const[r,l]=Jg(t);if(o){const c=s[t]=Qg(o,a);qg(e,r,c,l)}else i&&(Hg(e,r,i,l),s[t]=void 0)}}const Wg=/(Once|Passive|Capture)$/,Yg=/^on:?(?:Once|Passive|Capture)$/;function Jg(e){let t,n;for(;(n=e.match(Wg))&&!Yg.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ze(e.slice(2)),t]}let Ka=0;const Xg=Promise.resolve(),Zg=()=>Ka||(Xg.then(()=>Ka=0),Ka=Date.now());function Qg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const i=a.slice(),r=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ed=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?xg(e,o,i):t==="style"?Ug(e,n,o):so(t)?io(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,i))?(Sr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,o,i,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Sr(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ar(e,t,o,i))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&kr(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return kr(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const Tr={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(i){super(o,i,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Lr){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Lr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){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,Co(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:i}=o;let r;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]=Us(this._props[l])),(r||(r=Object.create(null)))[Pe(l)]=!0)}this._numberProps=r,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)de(this,o)||Object.defineProperty(this,o,{get:()=>To(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.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 n=this.hasAttribute(t);let o=n?this.getAttribute(t):Tr;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Tr?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),id(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,i)=>{this.dispatchEvent(new CustomEvent(s,lo(i[0])?Ee({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),Ze(s)!==s&&a(Ze(s),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let r=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,r||i),r=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{$r().render(...e)},Lr=(...e)=>{const t=$r().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,rd(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function rd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! +**/let ja;const fi=typeof window<"u"&&window.trustedTypes;if(fi)try{ja=fi.createPolicy("vue",{createHTML:e=>e})}catch{}const hi=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Fg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mi=It&&It.createElement("template"),Og={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Fg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const r=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{mi.innerHTML=hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=mi.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Dg=Symbol("_vtc");function xg(e,t,n){const o=e[Dg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const bi=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();n[i]==null&&Xn(o,i,"")}else for(const r in t)n[r]==null&&Xn(o,r,"");for(const r in n){r==="display"&&(s=!0);const i=n[r];i!=null?zg(e,r,!ve(t)&&t?t[r]:void 0,i)||Xn(o,r,i):Xn(o,r,"")}}else if(a){if(t!==n){const r=o[Bg];r&&(n+=";"+r),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");bi in e&&(e[bi]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const yi=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;aKa||(Xg.then(()=>Ka=0),Ka=Date.now());function Qg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const r=a.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ed=(e,t,n,o,a,s)=>{const r=a==="svg";t==="class"?xg(e,o,r):t==="style"?Ug(e,n,o):so(t)?ro(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,r))?(Si(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ai(e,t,o,r,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Si(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ai(e,t,o,r))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&$i(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return $i(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const ki={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(r){super(o,r,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Ci){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Ci?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){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,No(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=o;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]=Us(this._props[l])),(i||(i=Object.create(null)))[Pe(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(r),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)de(this,o)||Object.defineProperty(this,o,{get:()=>ko(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.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 n=this.hasAttribute(t);let o=n?this.getAttribute(t):ki;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ki?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rd(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,lo(r[0])?Ee({detail:r},r[0]):{detail:r}))};o.emit=(s,...r)=>{a(s,r),Ze(s)!==s&&a(Ze(s),r)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{Ti().render(...e)},Ci=(...e)=>{const t=Ti().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=n(a,!1,id(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function id(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Cr;const Ho=e=>Cr=e,wr=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=Fn({install(s){Ho(a),a._a=s,s.provide(wr,a),s.config.globalProperties.$pinia=a,o.forEach(i=>n.push(i)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Nr=()=>{};function Pr(e,t,n,o=Nr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mr=Symbol(),za=Symbol();function qa(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!Te(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function fd(e){return!!(Te(e)&&e.effect)}function pd(e,t,n,o){const{state:a,actions:s,getters:i}=t,r=n.state.value[e];let l;function c(){r||(n.state.value[e]=a?a():{});const u=du(n.state.value[e]);return Gt(u,s,Object.keys(i||{}).reduce((f,m)=>(f[m]=Fn(be(()=>{Ho(n);const k=n._s.get(e);return i[m].call(k,k)})),f),{}))}return l=Ir(e,c,t,n,o,!0),l}function Ir(e,t,n={},o,a,s){let i;const r=Gt({actions:{}},n),l={deep:!0};let c,u,f=[],m=[],k;const N=o.state.value[e];!s&&!N&&(o.state.value[e]={});let v;function $(D){let S;c=u=!1,typeof D=="function"?(D(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:k}):(qa(o.state.value[e],D),S={type:Zn.patchObject,payload:D,storeId:e,events:k});const V=v=Symbol();Co().then(()=>{v===V&&(c=!0)}),u=!0,yn(f,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:Nr;function T(){i.stop(),f=[],m=[],o._s.delete(e)}const _=(D,S="")=>{if(Mr in D)return D[za]=S,D;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function F(q){ee.push(q)}yn(m,{args:ae,name:V[za],store:L,after:Y,onError:F});let j;try{j=D.apply(this&&this.$id===e?this:L,ae)}catch(q){throw yn(ee,q),q}return j instanceof Promise?j.then(q=>(yn(z,q),q)).catch(q=>(yn(ee,q),Promise.reject(q))):(yn(z,j),j)};return V[Mr]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pr.bind(null,m),$patch:$,$reset:P,$subscribe(D,S={}){const V=Pr(f,D,S.detached,()=>ae()),ae=i.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&D({storeId:e,type:Zn.direct,events:k},z)},Gt({},l,S)));return V},$dispose:T},L=So(b);o._s.set(e,L);const w=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(i=ua()).run(()=>t({action:_}))));for(const D in w){const S=w[D];if(Te(S)&&!fd(S)||Et(S))s||(N&&dd(S)&&(Te(S)?S.value=N[D]:qa(S,N[D])),o.state.value[e][D]=S);else if(typeof S=="function"){const V=_(S,D);w[D]=V,r.actions[D]=S}}return Gt(L,w),Gt(ce(L),w),Object.defineProperty(L,"$state",{get:()=>o.state.value[e],set:D=>{$(S=>{Gt(S,D)})}}),o._p.forEach(D=>{Gt(L,i.run(()=>D({store:L,app:o._a,pinia:o,options:r})))}),N&&s&&n.hydrate&&n.hydrate(L.$state,N),c=!0,u=!0,L}/*! #__NO_SIDE_EFFECTS__ */function Ha(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function i(r,l){const c=Lu();return r=r||(c?De(wr,null):null),r&&Ho(r),r=Cr,r._s.has(o)||(s?Ir(o,t,a,r):pd(o,a,r)),r._s.get(o)}return i.$id=o,i}const Va="__doxaMapToken",Wa="doxa:map-token",Rr="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Dr(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Rr])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Dr(t)}}),window[Rr]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Do(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Du({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const _d={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},yd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},kd={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Td={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},$d={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Ld={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Cd={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Nd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Pd={menuComingSoon:"Menü folgt in Kürze"},Md={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Id={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Rd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Fd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Od={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"},xd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},jd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Bd={menuComingSoon:"Menu coming soon"},Kd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Ud={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Gd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},qd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Hd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Vd={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"},Wd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Yd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Jd={menuComingSoon:"Menú próximamente"},Xd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Zd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Qd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},ef={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},tf={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},nf={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"},of={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},af={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},sf={menuComingSoon:"Menu bientôt disponible"},rf={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},lf={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},cf={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},uf={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gf={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},df={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ff={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pf={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},hf={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},mf={menuComingSoon:"मेनू शीघ्र आ रहा है"},bf={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},_f={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Af={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Sf={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"},vf={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},kf={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Tf={menuComingSoon:"Menu in arrivo"},Ef={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},$f={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Lf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Cf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},wf={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"},Nf={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Pf={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Mf={menuComingSoon:"Menu em breve"},If={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Rf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Df={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Ff={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Of={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},xf={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ă"},jf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Bf={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Kf={menuComingSoon:"Meniu în curând"},Uf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Gf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},zf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Hf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Vf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Wf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Yf={menuComingSoon:"Меню скоро появится"},Jf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Xf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Qf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},ep={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tp={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},np={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},op={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},ap={menuComingSoon:"菜单即将推出"},sp={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ip={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},rp={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ni;const Ho=e=>Ni=e,Li=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=On({install(s){Ho(a),a._a=s,s.provide(Li,a),s.config.globalProperties.$pinia=a,o.forEach(r=>n.push(r)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const wi=()=>{};function Pi(e,t,n,o=wi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function _n(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mi=Symbol(),za=Symbol();function qa(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!ke(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function pd(e){return!!(ke(e)&&e.effect)}function fd(e,t,n,o){const{state:a,actions:s,getters:r}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=a?a():{});const u=du(n.state.value[e]);return Gt(u,s,Object.keys(r||{}).reduce((p,m)=>(p[m]=On(be(()=>{Ho(n);const $=n._s.get(e);return r[m].call($,$)})),p),{}))}return l=Ii(e,c,t,n,o,!0),l}function Ii(e,t,n={},o,a,s){let r;const i=Gt({actions:{}},n),l={deep:!0};let c,u,p=[],m=[],$;const w=o.state.value[e];!s&&!w&&(o.state.value[e]={});let v;function T(F){let S;c=u=!1,typeof F=="function"?(F(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:$}):(qa(o.state.value[e],F),S={type:Zn.patchObject,payload:F,storeId:e,events:$});const V=v=Symbol();No().then(()=>{v===V&&(c=!0)}),u=!0,_n(p,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:wi;function k(){r.stop(),p=[],m=[],o._s.delete(e)}const y=(F,S="")=>{if(Mi in F)return F[za]=S,F;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function O(q){ee.push(q)}_n(m,{args:ae,name:V[za],store:C,after:Y,onError:O});let j;try{j=F.apply(this&&this.$id===e?this:C,ae)}catch(q){throw _n(ee,q),q}return j instanceof Promise?j.then(q=>(_n(z,q),q)).catch(q=>(_n(ee,q),Promise.reject(q))):(_n(z,j),j)};return V[Mi]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pi.bind(null,m),$patch:T,$reset:P,$subscribe(F,S={}){const V=Pi(p,F,S.detached,()=>ae()),ae=r.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&F({storeId:e,type:Zn.direct,events:$},z)},Gt({},l,S)));return V},$dispose:k},C=So(b);o._s.set(e,C);const L=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(r=ua()).run(()=>t({action:y}))));for(const F in L){const S=L[F];if(ke(S)&&!pd(S)||Et(S))s||(w&&dd(S)&&(ke(S)?S.value=w[F]:qa(S,w[F])),o.state.value[e][F]=S);else if(typeof S=="function"){const V=y(S,F);L[F]=V,i.actions[F]=S}}return Gt(C,L),Gt(ce(C),L),Object.defineProperty(C,"$state",{get:()=>o.state.value[e],set:F=>{T(S=>{Gt(S,F)})}}),o._p.forEach(F=>{Gt(C,r.run(()=>F({store:C,app:o._a,pinia:o,options:i})))}),w&&s&&n.hydrate&&n.hydrate(C.$state,w),c=!0,u=!0,C}/*! #__NO_SIDE_EFFECTS__ */function Ha(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function r(i,l){const c=Cu();return i=i||(c?Fe(Li,null):null),i&&Ho(i),i=Ni,i._s.has(o)||(s?Ii(o,t,a,i):fd(o,a,i)),i._s.get(o)}return r.$id=o,r}const Va="__doxaMapToken",Wa="doxa:map-token",Ri="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Fi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Ri])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Fi(t)}}),window[Ri]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Fo(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Fu({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const yd={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_d={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},$d={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},kd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Td={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Cd={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Nd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Ld={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Pd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Md={menuComingSoon:"Menü folgt in Kürze"},Id={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Rd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Fd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Od={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},xd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},jd={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"},Bd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Kd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Ud={menuComingSoon:"Menu coming soon"},Gd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},zd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},qd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Vd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Wd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Yd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Jd={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"},Xd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Zd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Qd={menuComingSoon:"Menú próximamente"},ep={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},tp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},np={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},op={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},ap={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},sp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},rp={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"},ip={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},lp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},cp={menuComingSoon:"Menu bientôt disponible"},up={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},gp={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},dp={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},pp={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},fp={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},hp={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},mp={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},bp={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},yp={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},_p={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ap={menuComingSoon:"मेनू शीघ्र आ रहा है"},Sp={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vp={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},$p={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},kp={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ep={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Tp={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"},Cp={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Np={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Lp={menuComingSoon:"Menu in arrivo"},wp={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Pp={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Mp={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Ip={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Rp={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"},Fp={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Op={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Dp={menuComingSoon:"Menu em breve"},xp={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},jp={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Bp={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Kp={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Up={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Gp={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},zp={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ă"},qp={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Hp={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Vp={menuComingSoon:"Meniu în curând"},Wp={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Yp={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Jp={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Xp={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zp={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qp={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},tf={menuComingSoon:"Меню скоро появится"},nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},of={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},af={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},sf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},rf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},lf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},cf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},uf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},gf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},df={menuComingSoon:"菜单即将推出"},pf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ff={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function lp(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),cp=(e,t,n)=>up({l:e,k:t,s:n}),up=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),$e=e=>typeof e=="number"&&isFinite(e),gp=e=>Br(e)==="[object Date]",qt=e=>Br(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,Oe=Object.assign,dp=Object.create,me=(e=null)=>dp(e);let Fr;const Rt=()=>Fr||(Fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Or(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function fp(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xr(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const pp=Object.prototype.hasOwnProperty;function lt(e,t){return pp.call(e,t)}const ke=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",re=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",hp=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),jr=Object.prototype.toString,Br=e=>jr.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},mp=e=>e==null?"":ke(e)||ne(e)&&e.toString===jr?JSON.stringify(e,null,2):String(e);function bp(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||ke(e);function Xo(e,t){if(Jo(e)||Jo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! + */function mf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),bf=(e,t,n)=>yf({l:e,k:t,s:n}),yf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),_f=e=>Bi(e)==="[object Date]",qt=e=>Bi(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,De=Object.assign,Af=Object.create,me=(e=null)=>Af(e);let Oi;const Rt=()=>Oi||(Oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Di(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Sf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xi(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const vf=Object.prototype.hasOwnProperty;function lt(e,t){return vf.call(e,t)}const $e=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",ie=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",$f=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),ji=Object.prototype.toString,Bi=e=>ji.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},kf=e=>e==null?"":$e(e)||ne(e)&&e.toString===ji?JSON.stringify(e,null,2):String(e);function Ef(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||$e(e);function Xo(e,t){if(Jo(e)||Jo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function _p(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const yp=/\{([0-9a-zA-Z]+)\}/g;function Kr(e,...t){return t.length===1&&Ap(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(yp,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ur=Object.assign,Gr=e=>typeof e=="string",Ap=e=>e!==null&&typeof e=="object";function zr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Sp={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function vp(e,t,...n){const o=Kr(Sp[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},kp={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=Kr((a||kp)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function Tp(e){throw e}const Dt=" ",Ep="\r",Ue=` -`,$p="\u2028",Lp="\u2029";function Cp(e){const t=e;let n=0,o=1,a=1,s=0;const i=w=>t[w]===Ep&&t[w+1]===Ue,r=w=>t[w]===Ue,l=w=>t[w]===Lp,c=w=>t[w]===$p,u=w=>i(w)||r(w)||l(w)||c(w),f=()=>n,m=()=>o,k=()=>a,N=()=>s,v=w=>i(w)||l(w)||c(w)?Ue:t[w],$=()=>v(n),P=()=>v(n+s);function T(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function _(){return i(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function L(w=0){s=w}function A(){const w=n+s;for(;w!==n;)T();s=0}return{index:f,line:m,column:k,peekOffset:N,charAt:v,currentChar:$,currentPeek:P,next:T,peek:_,reset:b,resetPeek:L,skipToPeek:A}}const Ht=void 0,wp=".",qr="'",Np="tokenizer";function Pp(e,t={}){const n=t.location!==!1,o=Cp(e),a=()=>o.index(),s=()=>_p(o.line(),o.column(),o.index()),i=s(),r=a(),l={currentType:14,offset:r,startLoc:i,endLoc:i,lastType:14,lastOffset:r,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(g,d,C,...I){const G=c();if(d.column+=C,d.offset+=C,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:Np,args:I});u(E)}}function m(g,d,C){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),C!=null&&(I.value=C),I}const k=g=>m(g,14);function N(g,d){return g.currentChar()===d?(g.next(),d):(f(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function $(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function T(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function _(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=T(I);return g.resetPeek(),G}function L(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()===qr;return g.resetPeek(),I}function A(g,d){const{currentType:C}=d;if(C!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function w(g,d){const{currentType:C}=d;if(C!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function D(g,d){const{currentType:C}=d;if(!(C===8||C===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:C}=d;if(C!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),C=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:C,hasSpace:d.length>0}}function z(g,d=!0){const C=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),C(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Dt||B===Ue):R===Dt?(g.peek(),C(!0,Dt,E)):R===Ue?(g.peek(),C(!0,Ue,E)):!0},I=C();return d&&g.resetPeek(),I}function ee(g,d){const C=g.currentChar();return C===Ht?Ht:d(C)?(g.next(),C):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function F(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function ie(g){return ee(g,ge)}function fe(g){let d="",C="";for(;d=X(g);)C+=d;return C}function oe(g){$(g);const d=g.currentChar();return d!=="%"&&f(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const C=g.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(z(g))d+=C,g.next();else break;else if(C===Dt||C===Ue)if(z(g))d+=C,g.next();else{if(V(g))break;d+=C,g.next()}else d+=C,g.next()}return d}function Ne(g){$(g);let d="",C="";for(;d=q(g);)C+=d;return g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C}function Re(g){$(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${fe(g)}`):d+=fe(g),g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qr&&g!==Ue}function nt(g){$(g),N(g,"'");let d="",C="";for(;d=ee(g,Ye);)d==="\\"?C+=Zt(g):C+=d;const I=g.currentChar();return I===Ue||I===Ht?(f(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),N(g,"'")),C):(N(g,"'"),C)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return f(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,C){N(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?C:(C+=I,g.next(),d(C))};return d("")}function M(g){$(g);const d=N(g,"|");return $(g),d}function x(g,d){let C=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),C=m(d,2,"{"),$(g),d.braceNest++,C;case"}":return d.braceNest>0&&d.currentType===2&&f(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),C=m(d,3,"}"),d.braceNest--,d.braceNest>0&&$(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),C;case"@":return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=O(g,d)||k(d),d.braceNest=0,C;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=_(g,d))return C=m(d,5,Ne(g)),$(g),C;if(B=b(g,d))return C=m(d,6,Re(g)),$(g),C;if(E=L(g,d))return C=m(d,7,nt(g)),$(g),C;if(!G&&!B&&!E)return C=m(d,13,p(g)),f(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,C.value),$(g),C;break}}return C}function O(g,d){const{currentType:C}=d;let I=null;const G=g.currentChar();switch((C===8||C===9||C===12||C===10)&&(G===Ue||G===Dt)&&f(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return $(g),g.next(),m(d,9,".");case":":return $(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||D(g,d)?($(g),O(g,d)):w(g,d)?($(g),m(d,12,y(g))):S(g,d)?($(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(C===8&&f(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let C={type:14};if(d.braceNest>0)return x(g,d)||k(d);if(d.inLinked)return O(g,d)||k(d);switch(g.currentChar()){case"{":return x(g,d)||k(d);case"}":return f(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return O(g,d)||k(d);default:{if(V(g))return C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return C}function K(){const{currentType:g,offset:d,startLoc:C,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=C,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Mp="parser",Ip=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Rp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Dp(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,n){const S=t?Zo(L,D):null,V=Sn(b,S,{domain:Mp,args:w});n(V)}}function s(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,o){const S=t?Zo(L,D):null;o(vp(b,S,w))}}function i(_,b,L){const A={type:_};return t&&(A.start=b,A.end=b,A.loc={start:L,end:L}),A}function r(_,b,L,A){t&&(_.end=b,_.loc&&(_.loc.end=L))}function l(_,b){const L=_.context(),A=i(3,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function c(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(5,A,w);return D.index=parseInt(b,10),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function u(_,b,L){const A=_.context(),{lastOffset:w,lastStartLoc:D}=A,S=i(4,w,D);return S.key=b,L===!0&&(S.modulo=!0),_.nextToken(),r(S,_.currentOffset(),_.currentPosition()),S}function f(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(9,A,w);return D.value=b.replace(Ip,Rp),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function m(_){const b=_.nextToken(),L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(8,A,w);return b.type!==12?(a(_,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,L.lastStartLoc,0),D.value="",r(D,A,w),{nextConsumeToken:b,node:D}):(b.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,ct(b)),D.value=b.value||"",r(D,_.currentOffset(),_.currentPosition()),{node:D})}function k(_,b){const L=_.context(),A=i(7,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function N(_){const b=_.context(),L=i(6,b.offset,b.startLoc);let A=_.nextToken();if(A.type===9){const w=m(_);L.modifier=w.node,A=w.nextConsumeToken||_.nextToken()}switch(A.type!==10&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=_.nextToken(),A.type===2&&(A=_.nextToken()),A.type){case 11:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=k(_,A.value||"");break;case 5:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=u(_,A.value||"");break;case 6:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=c(_,A.value||"");break;case 7:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=f(_,A.value||"");break;default:{a(_,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const w=_.context(),D=i(7,w.offset,w.startLoc);return D.value="",r(D,w.offset,w.startLoc),L.key=D,r(L,w.offset,w.startLoc),{nextConsumeToken:A,node:L}}}return r(L,_.currentOffset(),_.currentPosition()),{node:L}}function v(_){const b=_.context(),L=b.currentType===1?_.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,w=i(2,L,A);w.items=[];let D=null,S=null;do{const z=D||_.nextToken();switch(D=null,z.type){case 0:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(l(_,z.value||""));break;case 6:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(c(_,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(u(_,z.value||"",!!S)),S&&(s(_,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(f(_,z.value||""));break;case 8:{const ee=N(_);w.items.push(ee.node),D=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:_.currentOffset(),ae=b.currentType===1?b.lastEndLoc:_.currentPosition();return r(w,V,ae),w}function $(_,b,L,A){const w=_.context();let D=A.items.length===0;const S=i(1,b,L);S.cases=[],S.cases.push(A);do{const V=v(_);D||(D=V.items.length===0),S.cases.push(V)}while(w.currentType!==14);return D&&a(_,Q.MUST_HAVE_MESSAGES_IN_PLURAL,L,0),r(S,_.currentOffset(),_.currentPosition()),S}function P(_){const b=_.context(),{offset:L,startLoc:A}=b,w=v(_);return b.currentType===14?w:$(_,L,A,w)}function T(_){const b=Pp(_,Ur({},e)),L=b.context(),A=i(0,L.offset,L.startLoc);return t&&A.loc&&(A.loc.source=_),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(_)),L.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,_[L.offset]||""),r(A,b.currentOffset(),b.currentPosition()),A}return{parse:T}}function ct(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 Fp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hr(e,t){for(let n=0;nVr(n)),e}function Vr(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(v,$){i.code+=v}function c(v,$=!0){const P=$?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const $=++i.indentLevel;v&&c($)}function f(v=!0){const $=--i.indentLevel;v&&c($)}function m(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:m,helper:v=>`_${v}`,needIndent:()=>i.needIndent}}function Up(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),kn(e,t.key),t.modifier?(e.push(", "),kn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Gp(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Gr(t.mode)?t.mode:"normal",o=Gr(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],r=Kp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${zr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),kn(r,e),r.deindent(s),r.push("}"),delete e.helpers;const{code:l,map:c}=r.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Vp(e,t={}){const n=Ur({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=Dp(n).parse(e);return o?(s&&xp(r),a&&vn(r),{ast:r,code:""}):(Op(r,n),Hp(r,n))}/*! + */function Tf(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const Cf=/\{([0-9a-zA-Z]+)\}/g;function Ki(e,...t){return t.length===1&&Nf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Cf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ui=Object.assign,Gi=e=>typeof e=="string",Nf=e=>e!==null&&typeof e=="object";function zi(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Lf={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function wf(e,t,...n){const o=Ki(Lf[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},Pf={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,r=Ki((a||Pf)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=o,i}function Mf(e){throw e}const Ft=" ",If="\r",Ue=` +`,Rf="\u2028",Ff="\u2029";function Of(e){const t=e;let n=0,o=1,a=1,s=0;const r=L=>t[L]===If&&t[L+1]===Ue,i=L=>t[L]===Ue,l=L=>t[L]===Ff,c=L=>t[L]===Rf,u=L=>r(L)||i(L)||l(L)||c(L),p=()=>n,m=()=>o,$=()=>a,w=()=>s,v=L=>r(L)||l(L)||c(L)?Ue:t[L],T=()=>v(n),P=()=>v(n+s);function k(){return s=0,u(n)&&(o++,a=0),r(n)&&n++,n++,a++,t[n]}function y(){return r(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function C(L=0){s=L}function A(){const L=n+s;for(;L!==n;)k();s=0}return{index:p,line:m,column:$,peekOffset:w,charAt:v,currentChar:T,currentPeek:P,next:k,peek:y,reset:b,resetPeek:C,skipToPeek:A}}const Ht=void 0,Df=".",qi="'",xf="tokenizer";function jf(e,t={}){const n=t.location!==!1,o=Of(e),a=()=>o.index(),s=()=>Tf(o.line(),o.column(),o.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:u}=t;function p(g,d,N,...I){const G=c();if(d.column+=N,d.offset+=N,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:xf,args:I});u(E)}}function m(g,d,N){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),N!=null&&(I.value=N),I}const $=g=>m(g,14);function w(g,d){return g.currentChar()===d?(g.next(),d):(p(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Ft||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function T(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function k(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function y(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=k(I);return g.resetPeek(),G}function C(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()===qi;return g.resetPeek(),I}function A(g,d){const{currentType:N}=d;if(N!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function L(g,d){const{currentType:N}=d;if(N!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function F(g,d){const{currentType:N}=d;if(!(N===8||N===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:N}=d;if(N!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Ft||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),N=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:N,hasSpace:d.length>0}}function z(g,d=!0){const N=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),N(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Ft||B===Ue):R===Ft?(g.peek(),N(!0,Ft,E)):R===Ue?(g.peek(),N(!0,Ue,E)):!0},I=N();return d&&g.resetPeek(),I}function ee(g,d){const N=g.currentChar();return N===Ht?Ht:d(N)?(g.next(),N):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function O(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function re(g){return ee(g,ge)}function pe(g){let d="",N="";for(;d=X(g);)N+=d;return N}function oe(g){T(g);const d=g.currentChar();return d!=="%"&&p(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const N=g.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(z(g))d+=N,g.next();else break;else if(N===Ft||N===Ue)if(z(g))d+=N,g.next();else{if(V(g))break;d+=N,g.next()}else d+=N,g.next()}return d}function we(g){T(g);let d="",N="";for(;d=q(g);)N+=d;return g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N}function Re(g){T(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${pe(g)}`):d+=pe(g),g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qi&&g!==Ue}function nt(g){T(g),w(g,"'");let d="",N="";for(;d=ee(g,Ye);)d==="\\"?N+=Zt(g):N+=d;const I=g.currentChar();return I===Ue||I===Ht?(p(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),w(g,"'")),N):(w(g,"'"),N)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return p(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,N){w(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Ft?N:(N+=I,g.next(),d(N))};return d("")}function M(g){T(g);const d=w(g,"|");return T(g),d}function x(g,d){let N=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&p(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),N=m(d,2,"{"),T(g),d.braceNest++,N;case"}":return d.braceNest>0&&d.currentType===2&&p(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),N=m(d,3,"}"),d.braceNest--,d.braceNest>0&&T(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),N;case"@":return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=D(g,d)||$(d),d.braceNest=0,N;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=y(g,d))return N=m(d,5,we(g)),T(g),N;if(B=b(g,d))return N=m(d,6,Re(g)),T(g),N;if(E=C(g,d))return N=m(d,7,nt(g)),T(g),N;if(!G&&!B&&!E)return N=m(d,13,f(g)),p(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,N.value),T(g),N;break}}return N}function D(g,d){const{currentType:N}=d;let I=null;const G=g.currentChar();switch((N===8||N===9||N===12||N===10)&&(G===Ue||G===Ft)&&p(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return T(g),g.next(),m(d,9,".");case":":return T(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||F(g,d)?(T(g),D(g,d)):L(g,d)?(T(g),m(d,12,_(g))):S(g,d)?(T(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(N===8&&p(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let N={type:14};if(d.braceNest>0)return x(g,d)||$(d);if(d.inLinked)return D(g,d)||$(d);switch(g.currentChar()){case"{":return x(g,d)||$(d);case"}":return p(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return D(g,d)||$(d);default:{if(V(g))return N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return N}function K(){const{currentType:g,offset:d,startLoc:N,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=N,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Bf="parser",Kf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Uf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Gf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,n){const S=t?Zo(C,F):null,V=Sn(b,S,{domain:Bf,args:L});n(V)}}function s(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,o){const S=t?Zo(C,F):null;o(wf(b,S,L))}}function r(y,b,C){const A={type:y};return t&&(A.start=b,A.end=b,A.loc={start:C,end:C}),A}function i(y,b,C,A){t&&(y.end=b,y.loc&&(y.loc.end=C))}function l(y,b){const C=y.context(),A=r(3,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function c(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(5,A,L);return F.index=parseInt(b,10),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function u(y,b,C){const A=y.context(),{lastOffset:L,lastStartLoc:F}=A,S=r(4,L,F);return S.key=b,C===!0&&(S.modulo=!0),y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function p(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(9,A,L);return F.value=b.replace(Kf,Uf),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function m(y){const b=y.nextToken(),C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(8,A,L);return b.type!==12?(a(y,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,C.lastStartLoc,0),F.value="",i(F,A,L),{nextConsumeToken:b,node:F}):(b.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,ct(b)),F.value=b.value||"",i(F,y.currentOffset(),y.currentPosition()),{node:F})}function $(y,b){const C=y.context(),A=r(7,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function w(y){const b=y.context(),C=r(6,b.offset,b.startLoc);let A=y.nextToken();if(A.type===9){const L=m(y);C.modifier=L.node,A=L.nextConsumeToken||y.nextToken()}switch(A.type!==10&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=y.nextToken(),A.type===2&&(A=y.nextToken()),A.type){case 11:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=$(y,A.value||"");break;case 5:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=u(y,A.value||"");break;case 6:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=c(y,A.value||"");break;case 7:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=p(y,A.value||"");break;default:{a(y,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const L=y.context(),F=r(7,L.offset,L.startLoc);return F.value="",i(F,L.offset,L.startLoc),C.key=F,i(C,L.offset,L.startLoc),{nextConsumeToken:A,node:C}}}return i(C,y.currentOffset(),y.currentPosition()),{node:C}}function v(y){const b=y.context(),C=b.currentType===1?y.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,L=r(2,C,A);L.items=[];let F=null,S=null;do{const z=F||y.nextToken();switch(F=null,z.type){case 0:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(l(y,z.value||""));break;case 6:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(c(y,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(u(y,z.value||"",!!S)),S&&(s(y,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(p(y,z.value||""));break;case 8:{const ee=w(y);L.items.push(ee.node),F=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:y.currentOffset(),ae=b.currentType===1?b.lastEndLoc:y.currentPosition();return i(L,V,ae),L}function T(y,b,C,A){const L=y.context();let F=A.items.length===0;const S=r(1,b,C);S.cases=[],S.cases.push(A);do{const V=v(y);F||(F=V.items.length===0),S.cases.push(V)}while(L.currentType!==14);return F&&a(y,Q.MUST_HAVE_MESSAGES_IN_PLURAL,C,0),i(S,y.currentOffset(),y.currentPosition()),S}function P(y){const b=y.context(),{offset:C,startLoc:A}=b,L=v(y);return b.currentType===14?L:T(y,C,A,L)}function k(y){const b=jf(y,Ui({},e)),C=b.context(),A=r(0,C.offset,C.startLoc);return t&&A.loc&&(A.loc.source=y),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(y)),C.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,y[C.offset]||""),i(A,b.currentOffset(),b.currentPosition()),A}return{parse:k}}function ct(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 zf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hi(e,t){for(let n=0;nVi(n)),e}function Vi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;nr;function l(v,T){r.code+=v}function c(v,T=!0){const P=T?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const T=++r.indentLevel;v&&c(T)}function p(v=!0){const T=--r.indentLevel;v&&c(T)}function m(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:v=>`_${v}`,needIndent:()=>r.needIndent}}function Jf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),$n(e,t.key),t.modifier?(e.push(", "),$n(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Xf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Gi(t.mode)?t.mode:"normal",o=Gi(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",r=e.helpers||[],i=Yf(e,{filename:o,breakLineCode:a,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${zi(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),$n(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 th(e,t={}){const n=Ui({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,i=Gf(n).parse(e);return o?(s&&Hf(i),a&&vn(i),{ast:i,code:""}):(qf(i,n),eh(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wr=["b","body"];function Yp(e){return Vt(e,Wr)}const Yr=["c","cases"];function Jp(e){return Vt(e,Yr,[])}const Jr=["s","static"];function Xp(e){return Vt(e,Jr)}const Xr=["i","items"];function Zp(e){return Vt(e,Xr,[])}const Zr=["t","type"];function Xa(e){return Vt(e,Zr)}const Qr=["v","value"];function Qo(e,t){const n=Vt(e,Qr);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function Qp(e){return Vt(e,el)}const tl=["k","key"];function eh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},m[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,i===void 0||(i=sh(i),i===!1))return!1;m[1]()}};function k(){const N=e[n+1];if(o===5&&N==="'"||o===6&&N==='"')return n++,r="\\"+N,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&k())){if(l=ah(s),f=Wt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function rh(e,t){return ue(e)?e[t]:null}function lh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=ih(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,uh=e=>"",gh="text",dh=e=>e.length===0?"":bp(e),fh=mp;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ph(e){const t=$e(e.pluralIndex)?e.pluralIndex:-1;return e.named&&($e(e.named.count)||$e(e.named.n))?$e(e.named.count)?e.named.count:$e(e.named.n)?e.named.n:t:t}function hh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function mh(e={}){const t=e.locale,n=ph(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],i=e.list||[],r=P=>i[P],l=e.named||me();$e(e.pluralIndex)&&hh(n,l);const c=P=>l[P];function u(P){const T=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return T||(e.parent?e.parent.message(P):uh)}const f=P=>e.modifiers?e.modifiers[P]:ch,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:dh,k=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:fh,N=ne(e.processor)&&H(e.processor.type)?e.processor.type:gh,$={list:r,named:c,plural:s,linked:(P,...T)=>{const[_,b]=T;let L="text",A="";T.length===1?ue(_)?(A=_.modifier||A,L=_.type||L):H(_)&&(A=_||A):T.length===2&&(H(_)&&(A=_||A),H(b)&&(L=b||L));const w=u(P)($),D=L==="vnode"&&ke(w)&&A?w[0]:w;return A?f(A)(D,L):D},message:u,type:N,interpolate:k,normalize:m,values:Oe(me(),i,l)};return $}let eo=null;function bh(e){eo=e}function _h(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const yh=Ah("function:translate");function Ah(e){return t=>eo&&eo.emit(e,t)}const Sh=Ya.__EXTEND_POINT__,rn=Yo(Sh),vh={FALLBACK_TO_TRANSLATE:rn(),CANNOT_FORMAT_NUMBER:rn(),FALLBACK_TO_NUMBER_FORMAT:rn(),CANNOT_FORMAT_DATE:rn(),FALLBACK_TO_DATE_FORMAT:rn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:rn(),__EXTEND_POINT__:rn()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,INVALID_DATE_ARGUMENT:ln(),INVALID_ISO_DATE_ARGUMENT:ln(),NOT_SUPPORT_NON_STRING_MESSAGE:ln(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ln(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ln(),NOT_SUPPORT_LOCALE_TYPE:ln(),__EXTEND_POINT__:ln()};function St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?il(t.locale):il(e.locale)}let Qa;function il(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if(hp(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function kh(e,t,n){return[...new Set([n,...ke(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function rl(e,t,n){const o=H(n)?n:Tn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;ke(i);)i=ll(s,i,t);const r=ke(t)||!ne(t)?t:t.default?t.default:null;i=H(r)?[r]:r,ke(i)&&ll(s,i,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Lh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let fl;function Ch(e){fl=e}let pl;function wh(e){pl=e}let hl=null;const Nh=e=>{hl=e},Ph=()=>hl;let ml=null;const bl=e=>{ml=e},Mh=()=>ml;let _l=0;function Ih(e={}){const t=Ae(e.onWarn)?e.onWarn:lp,n=H(e.version)?e.version:$h,o=H(e.locale)||Ae(e.locale)?e.locale:Tn,a=Ae(o)?Tn:o,s=ke(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ne(e.messages)?e.messages:es(a),r=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=Oe(me(),e.modifiers,Lh()),u=e.pluralRules||me(),f=Ae(e.missing)?e.missing:null,m=re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,k=re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,N=!!e.fallbackFormat,v=!!e.unresolving,$=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,T=re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,L=Ae(e.messageResolver)?e.messageResolver:fl||rh,A=Ae(e.localeFallbacker)?e.localeFallbacker:pl||kh,w=ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,S=ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,V=ue(D.__numberFormatters)?D.__numberFormatters:new Map,ae=ue(D.__meta)?D.__meta:{};_l++;const z={version:n,cid:_l,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:N,unresolving:v,postTranslation:$,processor:P,warnHtmlMessage:T,escapeParameter:_,messageCompiler:b,messageResolver:L,localeFallbacker:A,fallbackContext:w,onWarn:t,__meta:ae};return z.datetimeFormats=r,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&_h(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return H(r)?r:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Rh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Dh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oFh(n,e)}function Fh(e,t){const n=Yp(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=Jp(n);return e.plural(s.reduce((i,r)=>[...i,yl(e,r)],[]))}else return yl(e,n)}function yl(e,t){const n=Xp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Zp(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&$e(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&$e(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=Qp(o),s=eh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Tp;return t.onError=a=>{n=!0,o(a)},{...Vp(e,t),detectError:n}}const Oh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:i}=Sl(e,t),r=new Function(`return ${s}`)();return i?r:En[o]=r}};function xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:i}=Sl(e,{...t,location:!1,jit:!0}),r=ns(s);return i?r:En[o]=r}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function kl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=as(...t),u=re(c.missingWarn)?c.missingWarn:e.missingWarn,f=re(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=re(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,N=H(c.default)||re(c.default)?re(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||N!=="",$=Za(e,c);m&&jh(c);let[P,T,_]=k?[l,$,r[$]||me()]:Tl(e,l,$,i,f,u),b=P,L=l;if(!k&&!(H(b)||At(b)||et(b))&&v&&(b=N,L=b),!k&&(!(H(b)||At(b)||et(b))||!H(T)))return a?ea:l;let A=!1;const w=()=>{A=!0},D=et(b)?b:El(e,l,T,b,L,w);if(A)return b;const S=Uh(e,T,_,c),V=mh(S),ae=Bh(e,D,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=fp(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:T||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=Oe({},e.__meta,Ph()||{}),yh(ee)}return z}function jh(e){ke(e.list)?e.list=e.list.map(t=>H(t)?Or(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Or(e.named[t]))})}function Tl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=me(),m,k=null;const N="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=i(o,Kh(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function Bh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!$e(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=$e(t)?String(t):(et(t),t);return $e(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:ke(n)&&(a.list=n),$e(o)?a.plural=o:H(o)?a.default=o:ne(o)&&Oe(a,o),[s,a]}function Kh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>cp(t,n,i)}}function Uh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:k=>{let N=i(n,k);if(N==null&&u){const[,,v]=Tl(u,k,t,r,l,c);N=i(v,k)}if(H(N)||At(N)){let v=!1;const P=El(e,k,t,N,k,()=>{v=!0});return v?vl:P}else return et(N)?N:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),$e(o.plural)&&(m.pluralIndex=o.plural),m}function $l(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ss(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.DateTimeFormat(N,f).format(c);let $={},P,T=null;const _="datetime format";for(let A=0;A{Ll.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Cl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function wl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=is(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.NumberFormat(N,f).format(c);let $={},P,T=null;const _="number format";for(let A=0;A{Nl.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Wp();/*! + */function nh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wi=["b","body"];function oh(e){return Vt(e,Wi)}const Yi=["c","cases"];function ah(e){return Vt(e,Yi,[])}const Ji=["s","static"];function sh(e){return Vt(e,Ji)}const Xi=["i","items"];function rh(e){return Vt(e,Xi,[])}const Zi=["t","type"];function Xa(e){return Vt(e,Zi)}const Qi=["v","value"];function Qo(e,t){const n=Vt(e,Qi);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function ih(e){return Vt(e,el)}const tl=["k","key"];function lh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{r===void 0?r=i:r+=i},m[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,r===void 0||(r=ph(r),r===!1))return!1;m[1]()}};function $(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,i="\\"+w,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&$())){if(l=dh(s),p=Wt[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function hh(e,t){return ue(e)?e[t]:null}function mh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=fh(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,yh=e=>"",_h="text",Ah=e=>e.length===0?"":Ef(e),Sh=kf;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function vh(e){const t=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:t:t}function $h(e,t){t.count||(t.count=e),t.n||(t.n=e)}function kh(e={}){const t=e.locale,n=vh(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],r=e.list||[],i=P=>r[P],l=e.named||me();Te(e.pluralIndex)&&$h(n,l);const c=P=>l[P];function u(P){const k=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return k||(e.parent?e.parent.message(P):yh)}const p=P=>e.modifiers?e.modifiers[P]:bh,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:Ah,$=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:Sh,w=ne(e.processor)&&H(e.processor.type)?e.processor.type:_h,T={list:i,named:c,plural:s,linked:(P,...k)=>{const[y,b]=k;let C="text",A="";k.length===1?ue(y)?(A=y.modifier||A,C=y.type||C):H(y)&&(A=y||A):k.length===2&&(H(y)&&(A=y||A),H(b)&&(C=b||C));const L=u(P)(T),F=C==="vnode"&&$e(L)&&A?L[0]:L;return A?p(A)(F,C):F},message:u,type:w,interpolate:$,normalize:m,values:De(me(),r,l)};return T}let eo=null;function Eh(e){eo=e}function Th(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Ch=Nh("function:translate");function Nh(e){return t=>eo&&eo.emit(e,t)}const Lh=Ya.__EXTEND_POINT__,rn=Yo(Lh),wh={FALLBACK_TO_TRANSLATE:rn(),CANNOT_FORMAT_NUMBER:rn(),FALLBACK_TO_NUMBER_FORMAT:rn(),CANNOT_FORMAT_DATE:rn(),FALLBACK_TO_DATE_FORMAT:rn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:rn(),__EXTEND_POINT__:rn()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,INVALID_DATE_ARGUMENT:ln(),INVALID_ISO_DATE_ARGUMENT:ln(),NOT_SUPPORT_NON_STRING_MESSAGE:ln(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ln(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ln(),NOT_SUPPORT_LOCALE_TYPE:ln(),__EXTEND_POINT__:ln()};function St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?rl(t.locale):rl(e.locale)}let Qa;function rl(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if($f(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function Ph(e,t,n){return[...new Set([n,...$e(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function il(e,t,n){const o=H(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let r=[n];for(;$e(r);)r=ll(s,r,t);const i=$e(t)||!ne(t)?t:t.default?t.default:null;r=H(i)?[i]:i,$e(r)&&ll(s,r,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Fh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let pl;function Oh(e){pl=e}let fl;function Dh(e){fl=e}let hl=null;const xh=e=>{hl=e},jh=()=>hl;let ml=null;const bl=e=>{ml=e},Bh=()=>ml;let yl=0;function Kh(e={}){const t=Ae(e.onWarn)?e.onWarn:mf,n=H(e.version)?e.version:Rh,o=H(e.locale)||Ae(e.locale)?e.locale:kn,a=Ae(o)?kn:o,s=$e(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ne(e.messages)?e.messages:es(a),i=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=De(me(),e.modifiers,Fh()),u=e.pluralRules||me(),p=Ae(e.missing)?e.missing:null,m=ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,$=ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,v=!!e.unresolving,T=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,k=ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,C=Ae(e.messageResolver)?e.messageResolver:pl||hh,A=Ae(e.localeFallbacker)?e.localeFallbacker:fl||Ph,L=ue(e.fallbackContext)?e.fallbackContext:void 0,F=e,S=ue(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,V=ue(F.__numberFormatters)?F.__numberFormatters:new Map,ae=ue(F.__meta)?F.__meta:{};yl++;const z={version:n,cid:yl,locale:o,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:$,fallbackFormat:w,unresolving:v,postTranslation:T,processor:P,warnHtmlMessage:k,escapeParameter:y,messageCompiler:b,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:ae};return z.datetimeFormats=i,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&Th(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,n,t,a);return H(i)?i:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Uh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Gh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;ozh(n,e)}function zh(e,t){const n=oh(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=ah(n);return e.plural(s.reduce((r,i)=>[...r,_l(e,i)],[]))}else return _l(e,n)}function _l(e,t){const n=sh(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=rh(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&Te(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&Te(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=ih(o),s=lh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Mf;return t.onError=a=>{n=!0,o(a)},{...th(e,t),detectError:n}}const qh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:r}=Sl(e,t),i=new Function(`return ${s}`)();return r?i:En[o]=i}};function Hh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:r}=Sl(e,{...t,location:!1,jit:!0}),i=ns(s);return r?i:En[o]=i}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function $l(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=as(...t),u=ie(c.missingWarn)?c.missingWarn:e.missingWarn,p=ie(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=ie(c.escapeParameter)?c.escapeParameter:e.escapeParameter,$=!!c.resolvedMessage,w=H(c.default)||ie(c.default)?ie(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||w!=="",T=Za(e,c);m&&Vh(c);let[P,k,y]=$?[l,T,i[T]||me()]:kl(e,l,T,r,p,u),b=P,C=l;if(!$&&!(H(b)||At(b)||et(b))&&v&&(b=w,C=b),!$&&(!(H(b)||At(b)||et(b))||!H(k)))return a?ea:l;let A=!1;const L=()=>{A=!0},F=et(b)?b:El(e,l,k,b,C,L);if(A)return b;const S=Jh(e,k,y,c),V=kh(S),ae=Wh(e,F,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=Sf(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:k||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=De({},e.__meta,jh()||{}),Ch(ee)}return z}function Vh(e){$e(e.list)?e.list=e.list.map(t=>H(t)?Di(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Di(e.named[t]))})}function kl(e,t,n,o,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=me(),m,$=null;const w="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=r(o,Yh(e,n,a,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function Wh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!Te(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=Te(t)?String(t):(et(t),t);return Te(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:$e(n)&&(a.list=n),Te(o)?a.plural=o:H(o)?a.default=o:ne(o)&&De(a,o),[s,a]}function Yh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>bf(t,n,r)}}function Jh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:$=>{let w=r(n,$);if(w==null&&u){const[,,v]=kl(u,$,t,i,l,c);w=r(v,$)}if(H(w)||At(w)){let v=!1;const P=El(e,$,t,w,$,()=>{v=!0});return v?vl:P}else return et(w)?w:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),Te(o.plural)&&(m.pluralIndex=o.plural),m}function Tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ss(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.DateTimeFormat(w,p).format(c);let T={},P,k=null;const y="datetime format";for(let A=0;A{Cl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Nl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Ll(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,p]=rs(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.NumberFormat(w,p).format(c);let T={},P,k=null;const y="number format";for(let A=0;A{wl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}nh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Gh="9.14.5";function zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const qh=vh.__EXTEND_POINT__,Ft=Yo(qh);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),we={UNEXPECTED_RETURN_TYPE:Ml,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 Ie(e,...t){return Sn(e,null,void 0)}const rs=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||me(),Xo(c,i[l])):Xo(c,i)}else H(r)&&Xo(JSON.parse(r),i)}),a==null&&s)for(const r in i)lt(i,r)&&no(i[r]);return i}function Dl(e){return e.type}function Fl(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Ol(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],Hh=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const Vh=()=>{const e=Mt();let t=null;return e&&(t=Dl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Vo?he:va,r=!!e.translateExistCompatible;let l=re(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:H(e.locale)?e.locale:Tn),u=i(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(ta(c.value,e)),m=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let N=n?n.missingWarn:re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,$=n?n.fallbackRoot:re(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,T=Ae(e.missing)?e.missing:null,_=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,L=n?n.warnHtmlMessage:re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const w=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let D=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Gh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:w,pluralRules:D,missing:_===null?void 0:_,missingWarn:N,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:L,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=k.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Ih(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,f.value,m.value,k.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>f.value),F=be(()=>m.value),j=be(()=>k.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return T}function ge(E){E!==null&&(_=Kl(E)),T=E,S.missing=_}const ie=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Mh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&$e(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Fs]=R();return n&&$?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(we.UNEXPECTED_RETURN_TYPE)}};function fe(...E){return ie(R=>Reflect.apply(kl,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(we.INVALID_ARGUMENT);return fe(R,J,Oe({resolvedMessage:!0},se||{}))}function le(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function Ne(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||$e(R)||re(R)?Ol(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return ie(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply(kl,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[rs](...E),R=>[Ol(R)],R=>ke(R))}function ot(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||ke(R))}function Ln(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||ke(R))}function p(E){D=E,S.pluralRules=D}function y(E,R){return ie(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return r?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),Hh,J=>re(J))}function h(E){let R=null;const J=rl(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return w},get pluralRules(){return D||{}},get isGlobal(){return a},get missingWarn(){return N},set missingWarn(E){N=E,S.missingWarn=N},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return $},set fallbackRoot(E){$=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return L},set warnHtmlMessage(E){L=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:fe,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:p};return B.datetimeFormats=F,B.numberFormats=j,B.rt=oe,B.te=y,B.tm=M,B.d=le,B.n=Ne,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=C,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[rs]=Zt,B[ls]=Ln,B[cs]=ot,B}function Wh(e){const t=H(e.locale)?e.locale:Tn,n=H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=re(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=re(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=re(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,f=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=re(e.sync)?e.sync:!0;let N=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;N=Object.keys(A).reduce((D,S)=>{const V=D[S]||(D[S]={});return Oe(V,A[S]),D},N||{})}const{__i18n:v,__root:$,__injectWithOption:P}=e,T=e.datetimeFormats,_=e.numberFormats,b=e.flatJson,L=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:N,flatJson:b,datetimeFormats:T,numberFormats:_,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:L,__i18n:v,__root:$,__injectWithOption:P}}function ds(e={},t){{const n=gs(Wh(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return re(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=re(s)?!s:s},get silentFallbackWarn(){return re(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=re(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[i,r,l]=s,c={};let u=null,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:ke(r)?u=r:ne(r)&&(f=r),ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:$e(r)?c.plural=r:ke(r)?u=r:ne(r)&&(f=r),H(l)?c.locale=l:ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},c])},te(s,i){return n.te(s,i)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,i){n.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){n.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,i){n.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){n.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,i){n.setNumberFormat(s,i)},mergeNumberFormat(s,i){n.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=o,a}}const fs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Qe?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:Oe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$e(e)||!isNaN(e)}},fs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||ps({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=me();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=H(e.plural)?+e.plural:e.plural);const r=Yh(t,s),l=a[rs](e.keypath,r,i),c=Oe(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(u,c,l)}}});function Jh(e){return ke(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=me();e.locale&&(i.locale=e.locale),H(e.format)?i.key=e.format:ue(e.format)&&(H(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((m,k)=>n.includes(k)?Oe(me(),m,{[k]:e.format[k]}):m,me()));const l=o(e.value,i,r);let c=[i.key];ke(l)?c=l.map((m,k)=>{const N=a[m.type],v=N?N({[m.type]:m.value,index:k,parts:l}):[m.value];return Jh(v)&&(v[0].key=`${m.type}-${k}`),v}):H(l)&&(c=[l]);const u=Oe(me(),s),f=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(f,u,c)}}const ql=Bn({name:"i18n-n",props:Oe({value:{type:Number,required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Nl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:Oe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Ll,(...o)=>n[ls](...o))}});function Xh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Zh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw Ie(we.UNEXPECTED_ERROR);const u=Xh(e,r.$),f=Vl(c);return[Reflect.apply(u.t,u,[...Wl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Vo&&e.global===c&&(i.__i18nWatcher=Ut(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Vo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=Vl(r);i.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(we.REQUIRED_VALUE,"path");return e}else throw Ie(we.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return H(n)&&(i.locale=n),$e(a)&&(i.plural=a),$e(s)&&(i.plural=s),[t,r,i]}function Qh(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(re(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(i=>e.component(i,Gl)),[ql.name,"I18nN"].forEach(i=>e.component(i,ql)),[Hl.name,"I18nD"].forEach(i=>e.component(i,Hl))),e.directive("t",Zh(t))}function em(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(we.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ds(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yl(e,a);else{this.$i18n=ds({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Fl(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Mt();if(!o)throw Ie(we.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),n.__deleteInstance(o),delete this.$i18n}}}function Yl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const tm=zt("global-vue-i18n");function nm(e={},t){const n=__VUE_I18N_LEGACY_API__&&re(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=re(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=om(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,k){s.set(m,k)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(k,...N){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),ne(N[0])){const P=N[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=dm(k,m.global)),__VUE_I18N_FULL_INSTALL__&&Qh(k,m,...N),__VUE_I18N_LEGACY_API__&&n&&k.mixin(em(r,r.__composer,m));const $=k.unmount;k.unmount=()=>{v&&v(),m.dispose(),$()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function ps(e={}){const t=Mt();if(t==null)throw Ie(we.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(we.NOT_INSTALLED);const n=am(t),o=im(n),a=Dl(t),s=sm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(we.NOT_AVAILABLE_IN_LEGACY_MODE);return um(t,s,o,e)}if(s==="global")return Fl(o,e,a),o;if(s==="parent"){let l=rm(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Oe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=gs(l),i.__composerExtend&&(r[us]=i.__composerExtend(r)),cm(i,t,r),i.__setInstance(t,r)}return r}function om(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(we.UNEXPECTED_ERROR);return[o,a]}}function am(e){{const t=De(e.isCE?tm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?we.NOT_INSTALLED_WITH_PROVIDE:we.UNEXPECTED_ERROR);return t}}function sm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function im(e){return e.mode==="composition"?e.global:e.global.__composer}function rm(e,t,n=!1){let o=null;const a=t.root;let s=lm(t,n);for(;s!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(o=r.__composer,n&&o&&!o[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function lm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cm(e,t,n){Gn(()=>{},t),Fo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function um(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(we.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=re(o.inheritLocale)?o.inheritLocale:!H(o.locale),r=he(!a||i?n.locale.value:H(o.locale)?o.locale:Tn),l=he(!a||i?n.fallbackLocale.value:H(o.fallbackLocale)||ke(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=he(ta(r.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=he(ne(o.numberFormats)?o.numberFormats:{[r.value]:{}}),m=a?n.missingWarn:re(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,k=a?n.fallbackWarn:re(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,N=a?n.fallbackRoot:re(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,$=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,T=a?n.warnHtmlMessage:re(o.warnHtmlMessage)?o.warnHtmlMessage:!0,_=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},L=o.pluralRules||a&&n.pluralRules;function A(){return[r.value,l.value,c.value,u.value,f.value]}const w=be({get:()=>s.value?s.value.locale.value:r.value,set:h=>{s.value&&(s.value.locale.value=h),r.value=h}}),D=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>f.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():$}function F(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function ie(h){return s.value?s.value.tm(h):{}}function fe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function Ne(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),f.value[h]=M)}function Ln(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const p={get id(){return s.value?s.value.id:-1},locale:w,fallbackLocale:D,messages:S,datetimeFormats:V,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:i},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:b},get pluralRules(){return s.value?s.value.pluralRules:L},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:k},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:N},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:T},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:_},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:F,rt:W,d:X,n:ge,tm:ie,te:fe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:Ne,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Ln};function y(h){h.locale.value=r.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(f.value).forEach(M=>{h.mergeNumberFormat(M,f.value[M])}),h.escapeParameter=_,h.fallbackFormat=v,h.fallbackRoot=N,h.fallbackWarn=k,h.missingWarn=m,h.warnHtmlMessage=T}return wi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(we.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,u.value=h.datetimeFormats.value,f.value=h.numberFormats.value):a&&y(h)}),p}const gm=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function dm(e,t){const n=Object.create(null);return gm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(we.UNEXPECTED_ERROR);const i=Te(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(we.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(zh(),__INTLIFY_JIT_COMPILATION__?dl(xh):dl(Oh),Ch(lh),wh(rl),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,bh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const fm=Object.assign({"./locales/ar/aria.json":_d,"./locales/ar/buttons.json":yd,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":kd,"./locales/ar/prayerLaps.json":Td,"./locales/ar/search.json":Ed,"./locales/ar/tabs.json":$d,"./locales/de/aria.json":Ld,"./locales/de/buttons.json":Cd,"./locales/de/detail.json":wd,"./locales/de/legend.json":Nd,"./locales/de/messages.json":Pd,"./locales/de/options.json":Md,"./locales/de/prayerLaps.json":Id,"./locales/de/search.json":Rd,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":Fd,"./locales/en/buttons.json":Od,"./locales/en/detail.json":xd,"./locales/en/legend.json":jd,"./locales/en/messages.json":Bd,"./locales/en/options.json":Kd,"./locales/en/popup.json":Ud,"./locales/en/prayerLaps.json":Gd,"./locales/en/search.json":zd,"./locales/en/tabs.json":qd,"./locales/es/aria.json":Hd,"./locales/es/buttons.json":Vd,"./locales/es/detail.json":Wd,"./locales/es/legend.json":Yd,"./locales/es/messages.json":Jd,"./locales/es/options.json":Xd,"./locales/es/prayerLaps.json":Zd,"./locales/es/search.json":Qd,"./locales/es/tabs.json":ef,"./locales/fr/aria.json":tf,"./locales/fr/buttons.json":nf,"./locales/fr/detail.json":of,"./locales/fr/legend.json":af,"./locales/fr/messages.json":sf,"./locales/fr/options.json":rf,"./locales/fr/popup.json":lf,"./locales/fr/prayerLaps.json":cf,"./locales/fr/search.json":uf,"./locales/fr/tabs.json":gf,"./locales/hi/aria.json":df,"./locales/hi/buttons.json":ff,"./locales/hi/detail.json":pf,"./locales/hi/legend.json":hf,"./locales/hi/messages.json":mf,"./locales/hi/options.json":bf,"./locales/hi/prayerLaps.json":_f,"./locales/hi/search.json":yf,"./locales/it/aria.json":Af,"./locales/it/buttons.json":Sf,"./locales/it/detail.json":vf,"./locales/it/legend.json":kf,"./locales/it/messages.json":Tf,"./locales/it/options.json":Ef,"./locales/it/prayerLaps.json":$f,"./locales/it/search.json":Lf,"./locales/pt/aria.json":Cf,"./locales/pt/buttons.json":wf,"./locales/pt/detail.json":Nf,"./locales/pt/legend.json":Pf,"./locales/pt/messages.json":Mf,"./locales/pt/options.json":If,"./locales/pt/prayerLaps.json":Rf,"./locales/pt/search.json":Df,"./locales/pt/tabs.json":Ff,"./locales/ro/aria.json":Of,"./locales/ro/buttons.json":xf,"./locales/ro/detail.json":jf,"./locales/ro/legend.json":Bf,"./locales/ro/messages.json":Kf,"./locales/ro/options.json":Uf,"./locales/ro/prayerLaps.json":Gf,"./locales/ro/search.json":zf,"./locales/ru/aria.json":qf,"./locales/ru/buttons.json":Hf,"./locales/ru/detail.json":Vf,"./locales/ru/legend.json":Wf,"./locales/ru/messages.json":Yf,"./locales/ru/options.json":Jf,"./locales/ru/prayerLaps.json":Xf,"./locales/ru/search.json":Zf,"./locales/ru/tabs.json":Qf,"./locales/zh/aria.json":ep,"./locales/zh/buttons.json":tp,"./locales/zh/detail.json":np,"./locales/zh/legend.json":op,"./locales/zh/messages.json":ap,"./locales/zh/options.json":sp,"./locales/zh/prayerLaps.json":ip,"./locales/zh/search.json":rp}),oo={};for(const[e,t]of Object.entries(fm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function pm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function hm(){return nm({legacy:!1,globalInjection:!0,locale:pm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||mm(e);Gn(()=>{var r;const o=Mt();if(!o)return;const a=(r=o.proxy)==null?void 0:r.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function mm(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var $;return(($=n==null?void 0:n.value)==null?void 0:$.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),i=he(null);let r=null,l=null,c=null,u=null,f=null;function m(){s.value=!1}function k($,P){var _;let T=$==null?void 0:$.parentElement;for(let b=0;T&&b<12;b++,T=T.parentElement){if(T===P||(_=T.classList)!=null&&_.contains("profile-loader"))return null;let L="";try{L=getComputedStyle(T).position}catch{}if(L&&L!=="static"){const A=T.getBoundingClientRect();if(A.height>=120&&A.width>=160)return T}}return null}function N(){const $=i.value;if($)try{$.style.removeProperty("--pin-hint-lift");const P=$.getBoundingClientRect();if(!P.height)return;const T=Math.round(P.bottom-window.innerHeight);T>0&&$.style.setProperty("--pin-hint-lift",T+8+"px")}catch{}}function v($){const P=i.value;if(!P||!($!=null&&$.querySelector))return;let T=0;try{const b=$.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const L=b.getBoundingClientRect(),A=P.parentElement,w=A?A.getBoundingClientRect():null;if(T=w?Math.max(L.height||0,w.bottom-L.top):L.height||0,f!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}f=b,c=new ResizeObserver(()=>v($)),c.observe(b)}}}catch{}const _=Math.min(Math.max(Math.ceil(T)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",_+"px"),N()}return Gn(()=>{var _,b,L;const $=Mt(),P=(L=(b=(_=$==null?void 0:$.proxy)==null?void 0:_.$el)==null?void 0:b.getRootNode)==null?void 0:L.call(b);if(!P||typeof P.querySelector!="function")return;let T=0;r=setInterval(()=>{T++;const A=P.querySelector("canvas");A?(clearInterval(r),r=null,s.value=!0,Co(()=>{const w=k(A,P),D=i.value;if(w&&D&&D.parentElement!==w)try{w.appendChild(D),l=w}catch{}v(P),N();try{const S=i.value&&i.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>N()),u.observe(S)}}catch{}})):T>40&&(clearInterval(r),r=null)},300)}),Do(()=>{var $;if(r&&clearInterval(r),c){try{c.disconnect()}catch{}c=null}if(f=null,u){try{u.disconnect()}catch{}u=null}if(l&&(($=i.value)==null?void 0:$.parentElement)===l)try{l.removeChild(i.value)}catch{}l=null}),Zl(` + */const Xh="9.14.5";function Zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Qh=wh.__EXTEND_POINT__,Ot=Yo(Qh);Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),Le={UNEXPECTED_RETURN_TYPE:Ml,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 Ie(e,...t){return Sn(e,null,void 0)}const is=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(e[t]);else{const n=t.split("."),o=n.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]||me(),Xo(c,r[l])):Xo(c,r)}else H(i)&&Xo(JSON.parse(i),r)}),a==null&&s)for(const i in r)lt(r,i)&&no(r[i]);return r}function Fl(e){return e.type}function Ol(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Dl(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],em=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const tm=()=>{const e=Mt();let t=null;return e&&(t=Fl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,r=Vo?he:va,i=!!e.translateExistCompatible;let l=ie(e.inheritLocale)?e.inheritLocale:!0;const c=r(n&&l?n.locale.value:H(e.locale)?e.locale:kn),u=r(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=r(ta(c.value,e)),m=r(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),$=r(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=n?n.missingWarn:ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,T=n?n.fallbackRoot:ie(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,k=Ae(e.missing)?e.missing:null,y=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,C=n?n.warnHtmlMessage:ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const L=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Xh,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:F,missing:y===null?void 0:y,missingWarn:w,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:C,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=$.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Kh(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,p.value,m.value,$.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>p.value),O=be(()=>m.value),j=be(()=>$.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return k}function ge(E){E!==null&&(y=Kl(E)),k=E,S.missing=y}const re=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Bh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&Te(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Os]=R();return n&&T?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(Le.UNEXPECTED_RETURN_TYPE)}};function pe(...E){return re(R=>Reflect.apply($l,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(Le.INVALID_ARGUMENT);return pe(R,J,De({resolvedMessage:!0},se||{}))}function le(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function we(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||Te(R)||ie(R)?Dl(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return re(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply($l,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[is](...E),R=>[Dl(R)],R=>$e(R))}function ot(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||$e(R))}function Cn(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||$e(R))}function f(E){F=E,S.pluralRules=F}function _(E,R){return re(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return i?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),em,J=>ie(J))}function h(E){let R=null;const J=il(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:Y,get modifiers(){return L},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(E){w=E,S.missingWarn=w},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return T},set fallbackRoot(E){T=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return C},set warnHtmlMessage(E){C=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:pe,getLocaleMessage:x,setLocaleMessage:D,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:f};return B.datetimeFormats=O,B.numberFormats=j,B.rt=oe,B.te=_,B.tm=M,B.d=le,B.n=we,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=N,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[is]=Zt,B[ls]=Cn,B[cs]=ot,B}function nm(e){const t=H(e.locale)?e.locale:kn,n=H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=ie(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ie(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ie(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,p=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,$=ie(e.sync)?e.sync:!0;let w=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;w=Object.keys(A).reduce((F,S)=>{const V=F[S]||(F[S]={});return De(V,A[S]),F},w||{})}const{__i18n:v,__root:T,__injectWithOption:P}=e,k=e.datetimeFormats,y=e.numberFormats,b=e.flatJson,C=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:b,datetimeFormats:k,numberFormats:y,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:$,translateExistCompatible:C,__i18n:v,__root:T,__injectWithOption:P}}function ds(e={},t){{const n=gs(nm(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return ie(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=ie(s)?!s:s},get silentFallbackWarn(){return ie(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=ie(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[r,i,l]=s,c={};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:$e(i)?u=i:ne(i)&&(p=i),$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:Te(i)?c.plural=i:$e(i)?u=i:ne(i)&&(p=i),H(l)?c.locale=l:$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},te(s,r){return n.te(s,r)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,r){n.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){n.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,r){n.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){n.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,r){n.setNumberFormat(s,r)},mergeNumberFormat(s,r){n.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=o,a}}const ps={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function om({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Qe?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:De({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},ps),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||fs({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),r=me();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=H(e.plural)?+e.plural:e.plural);const i=om(t,s),l=a[is](e.keypath,i,r),c=De(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(u,c,l)}}});function am(e){return $e(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=me();e.locale&&(r.locale=e.locale),H(e.format)?r.key=e.format:ue(e.format)&&(H(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((m,$)=>n.includes($)?De(me(),m,{[$]:e.format[$]}):m,me()));const l=o(e.value,r,i);let c=[r.key];$e(l)?c=l.map((m,$)=>{const w=a[m.type],v=w?w({[m.type]:m.value,index:$,parts:l}):[m.value];return am(v)&&(v[0].key=`${m.type}-${$}`),v}):H(l)&&(c=[l]);const u=De(me(),s),p=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(p,u,c)}}const ql=Bn({name:"i18n-n",props:De({value:{type:Number,required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,wl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:De({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,Cl,(...o)=>n[ls](...o))}});function sm(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function rm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Ie(Le.UNEXPECTED_ERROR);const u=sm(e,i.$),p=Vl(c);return[Reflect.apply(u.t,u,[...Wl(p)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Vo&&e.global===c&&(r.__i18nWatcher=Ut(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Vo&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=Vl(i);r.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(Le.REQUIRED_VALUE,"path");return e}else throw Ie(Le.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,r={},i=o||{};return H(n)&&(r.locale=n),Te(a)&&(r.plural=a),Te(s)&&(r.plural=s),[t,i,r]}function im(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(ie(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(r=>e.component(r,Gl)),[ql.name,"I18nN"].forEach(r=>e.component(r,ql)),[Hl.name,"I18nD"].forEach(r=>e.component(r,Hl))),e.directive("t",rm(t))}function lm(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(Le.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ds(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yl(e,a);else{this.$i18n=ds({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ol(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Mt();if(!o)throw Ie(Le.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),n.__deleteInstance(o),delete this.$i18n}}}function Yl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const cm=zt("global-vue-i18n");function um(e={},t){const n=__VUE_I18N_LEGACY_API__&&ie(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ie(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[r,i]=gm(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,$){s.set(m,$)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install($,...w){if($.__VUE_I18N_SYMBOL__=l,$.provide($.__VUE_I18N_SYMBOL__,m),ne(w[0])){const P=w[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=Am($,m.global)),__VUE_I18N_FULL_INSTALL__&&im($,m,...w),__VUE_I18N_LEGACY_API__&&n&&$.mixin(lm(i,i.__composer,m));const T=$.unmount;$.unmount=()=>{v&&v(),m.dispose(),T()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function fs(e={}){const t=Mt();if(t==null)throw Ie(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(Le.NOT_INSTALLED);const n=dm(t),o=fm(n),a=Fl(t),s=pm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return ym(t,s,o,e)}if(s==="global")return Ol(o,e,a),o;if(s==="parent"){let l=hm(n,t,e.__useComponent);return l==null&&(l=o),l}const r=n;let i=r.__getInstance(t);if(i==null){const l=De({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),i=gs(l),r.__composerExtend&&(i[us]=r.__composerExtend(i)),bm(r,t,i),r.__setInstance(t,i)}return i}function gm(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(Le.UNEXPECTED_ERROR);return[o,a]}}function dm(e){{const t=Fe(e.isCE?cm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function pm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fm(e){return e.mode==="composition"?e.global:e.global.__composer}function hm(e,t,n=!1){let o=null;const a=t.root;let s=mm(t,n);for(;s!=null;){const r=e;if(e.mode==="composition")o=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function mm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function bm(e,t,n){Gn(()=>{},t),Oo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function ym(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=ie(o.inheritLocale)?o.inheritLocale:!H(o.locale),i=he(!a||r?n.locale.value:H(o.locale)?o.locale:kn),l=he(!a||r?n.fallbackLocale.value:H(o.fallbackLocale)||$e(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=he(ta(i.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=he(ne(o.numberFormats)?o.numberFormats:{[i.value]:{}}),m=a?n.missingWarn:ie(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,$=a?n.fallbackWarn:ie(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,w=a?n.fallbackRoot:ie(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,T=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,k=a?n.warnHtmlMessage:ie(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},C=o.pluralRules||a&&n.pluralRules;function A(){return[i.value,l.value,c.value,u.value,p.value]}const L=be({get:()=>s.value?s.value.locale.value:i.value,set:h=>{s.value&&(s.value.locale.value=h),i.value=h}}),F=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>p.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():T}function O(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function re(h){return s.value?s.value.tm(h):{}}function pe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function we(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),p.value[h]=M)}function Cn(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const f={get id(){return s.value?s.value.id:-1},locale:L,fallbackLocale:F,messages:S,datetimeFormats:V,numberFormats:ae,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:b},get pluralRules(){return s.value?s.value.pluralRules:C},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:$},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},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:y},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:O,rt:W,d:X,n:ge,tm:re,te:pe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:we,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Cn};function _(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(p.value).forEach(M=>{h.mergeNumberFormat(M,p.value[M])}),h.escapeParameter=y,h.fallbackFormat=v,h.fallbackRoot=w,h.fallbackWarn=$,h.missingWarn=m,h.warnHtmlMessage=k}return Lr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(Le.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,u.value=h.datetimeFormats.value,p.value=h.numberFormats.value):a&&_(h)}),f}const _m=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function Am(e,t){const n=Object.create(null);return _m.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(Le.UNEXPECTED_ERROR);const r=ke(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,r)}),e.config.globalProperties.$i18n=n,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Zh(),__INTLIFY_JIT_COMPILATION__?dl(Hh):dl(qh),Oh(mh),Dh(il),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,Eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Sm=Object.assign({"./locales/ar/aria.json":yd,"./locales/ar/buttons.json":_d,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":$d,"./locales/ar/prayerLaps.json":kd,"./locales/ar/regions.json":Ed,"./locales/ar/search.json":Td,"./locales/ar/tabs.json":Cd,"./locales/de/aria.json":Nd,"./locales/de/buttons.json":Ld,"./locales/de/detail.json":wd,"./locales/de/legend.json":Pd,"./locales/de/messages.json":Md,"./locales/de/options.json":Id,"./locales/de/prayerLaps.json":Rd,"./locales/de/regions.json":Fd,"./locales/de/search.json":Od,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":xd,"./locales/en/buttons.json":jd,"./locales/en/detail.json":Bd,"./locales/en/legend.json":Kd,"./locales/en/messages.json":Ud,"./locales/en/options.json":Gd,"./locales/en/popup.json":zd,"./locales/en/prayerLaps.json":qd,"./locales/en/regions.json":Hd,"./locales/en/search.json":Vd,"./locales/en/tabs.json":Wd,"./locales/es/aria.json":Yd,"./locales/es/buttons.json":Jd,"./locales/es/detail.json":Xd,"./locales/es/legend.json":Zd,"./locales/es/messages.json":Qd,"./locales/es/options.json":ep,"./locales/es/prayerLaps.json":tp,"./locales/es/regions.json":np,"./locales/es/search.json":op,"./locales/es/tabs.json":ap,"./locales/fr/aria.json":sp,"./locales/fr/buttons.json":rp,"./locales/fr/detail.json":ip,"./locales/fr/legend.json":lp,"./locales/fr/messages.json":cp,"./locales/fr/options.json":up,"./locales/fr/popup.json":gp,"./locales/fr/prayerLaps.json":dp,"./locales/fr/regions.json":pp,"./locales/fr/search.json":fp,"./locales/fr/tabs.json":hp,"./locales/hi/aria.json":mp,"./locales/hi/buttons.json":bp,"./locales/hi/detail.json":yp,"./locales/hi/legend.json":_p,"./locales/hi/messages.json":Ap,"./locales/hi/options.json":Sp,"./locales/hi/prayerLaps.json":vp,"./locales/hi/regions.json":$p,"./locales/hi/search.json":kp,"./locales/it/aria.json":Ep,"./locales/it/buttons.json":Tp,"./locales/it/detail.json":Cp,"./locales/it/legend.json":Np,"./locales/it/messages.json":Lp,"./locales/it/options.json":wp,"./locales/it/prayerLaps.json":Pp,"./locales/it/search.json":Mp,"./locales/pt/aria.json":Ip,"./locales/pt/buttons.json":Rp,"./locales/pt/detail.json":Fp,"./locales/pt/legend.json":Op,"./locales/pt/messages.json":Dp,"./locales/pt/options.json":xp,"./locales/pt/prayerLaps.json":jp,"./locales/pt/regions.json":Bp,"./locales/pt/search.json":Kp,"./locales/pt/tabs.json":Up,"./locales/ro/aria.json":Gp,"./locales/ro/buttons.json":zp,"./locales/ro/detail.json":qp,"./locales/ro/legend.json":Hp,"./locales/ro/messages.json":Vp,"./locales/ro/options.json":Wp,"./locales/ro/prayerLaps.json":Yp,"./locales/ro/search.json":Jp,"./locales/ru/aria.json":Xp,"./locales/ru/buttons.json":Zp,"./locales/ru/detail.json":Qp,"./locales/ru/legend.json":ef,"./locales/ru/messages.json":tf,"./locales/ru/options.json":nf,"./locales/ru/prayerLaps.json":of,"./locales/ru/regions.json":af,"./locales/ru/search.json":sf,"./locales/ru/tabs.json":rf,"./locales/zh/aria.json":lf,"./locales/zh/buttons.json":cf,"./locales/zh/detail.json":uf,"./locales/zh/legend.json":gf,"./locales/zh/messages.json":df,"./locales/zh/options.json":pf,"./locales/zh/prayerLaps.json":ff,"./locales/zh/search.json":hf}),oo={};for(const[e,t]of Object.entries(Sm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function vm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function $m(){return um({legacy:!1,globalInjection:!0,locale:vm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||km(e);Gn(()=>{var i;const o=Mt();if(!o)return;const a=(i=o.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,s.appendChild(r)})}function km(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var T;return((T=n==null?void 0:n.value)==null?void 0:T.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),r=he(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function $(T,P){var y;let k=T==null?void 0:T.parentElement;for(let b=0;k&&b<12;b++,k=k.parentElement){if(k===P||(y=k.classList)!=null&&y.contains("profile-loader"))return null;let C="";try{C=getComputedStyle(k).position}catch{}if(C&&C!=="static"){const A=k.getBoundingClientRect();if(A.height>=120&&A.width>=160)return k}}return null}function w(){const T=r.value;if(T)try{T.style.removeProperty("--pin-hint-lift");const P=T.getBoundingClientRect();if(!P.height)return;const k=Math.round(P.bottom-window.innerHeight);k>0&&T.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function v(T){const P=r.value;if(!P||!(T!=null&&T.querySelector))return;let k=0;try{const b=T.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const C=b.getBoundingClientRect(),A=P.parentElement,L=A?A.getBoundingClientRect():null;if(k=L?Math.max(C.height||0,L.bottom-C.top):C.height||0,p!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=b,c=new ResizeObserver(()=>v(T)),c.observe(b)}}}catch{}const y=Math.min(Math.max(Math.ceil(k)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",y+"px"),w()}return Gn(()=>{var y,b,C;const T=Mt(),P=(C=(b=(y=T==null?void 0:T.proxy)==null?void 0:y.$el)==null?void 0:b.getRootNode)==null?void 0:C.call(b);if(!P||typeof P.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const A=P.querySelector("canvas");A?(clearInterval(i),i=null,s.value=!0,No(()=>{const L=$(A,P),F=r.value;if(L&&F&&F.parentElement!==L)try{L.appendChild(F),l=L}catch{}v(P),w();try{const S=r.value&&r.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(S)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),Fo(()=>{var T;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((T=r.value)==null?void 0:T.parentElement)===l)try{l.removeChild(r.value)}catch{}l=null}),Zl(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -68,9 +68,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),($,P)=>s.value?(We(),wt("div",{key:0,ref_key:"hintEl",ref:i,class:Nn(["pin-hint",{dark:o.value}]),role:"status"},[Ce("span",bm,[P[0]||(P[0]=Ce("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Nt(" "+Qt(a.value)+" ",1),Ce("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let ym=0;const Am=Ha("ui",{state:()=>({_storeInstanceId:++ym,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Sm=Ha("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),vm=Ha("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Fn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Fn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ql={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},km=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Tm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Em={class:"profile-loader"},$m={key:0,class:"profile-error"},Lm={key:1,class:"profile-error"},Cm=Tm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var L;const n=e,o=De("profileConfig",null),a=be(()=>{var w;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const D=(w=o==null?void 0:o.value)==null?void 0:w.assetsBase;typeof D=="string"&&D&&(A.assetsBase=D)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),i=md(),r=be(()=>{var w;const A=(w=a.value)==null?void 0:w.tk;return typeof A=="string"&&A?A:i.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Dr(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),f=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var w,D;const A=(((w=a.value)==null?void 0:w.locale)||((D=a.value)==null?void 0:D.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),k=De("appI18n",null);Nu(()=>{m.value&&k&&(k.global.locale.value=m.value)});const N=be(()=>{var A,w;return m.value||((w=(A=k==null?void 0:k.global)==null?void 0:A.locale)==null?void 0:w.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=De("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return $[A]?bd($[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});bt("mapboxToken",r),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",N);const T=Am(),_=Sm(),b=vm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((L=T.setTheme)==null||L.call(T,A))}catch{}return bt("uiStore",T),bt("mapStore",_),bt("dataStore",b),(A,w)=>(We(),wt("div",Em,[a.value?P.value?(We(),Bo(Pi(P.value),{key:2})):(We(),wt("div",Lm,[Ce("p",null,[w[1]||(w[1]=Nt("⚠️ Profile ",-1)),Ce("strong",null,'"'+Qt(s.value)+'"',1),w[2]||(w[2]=Nt(" not found.",-1))])])):(We(),wt("div",$m,[...w[0]||(w[0]=[Ce("p",null,[Nt("⚠️ "),Ce("strong",null,"doxa-map"),Nt(": missing or invalid "),Ce("code",null,"profile-config"),Nt(" prop.")],-1),Ce("p",null,[Nt("Example: "),Ce("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pi(To(null)),{key:3})):bn("",!0),P.value&&f.value?(We(),Bo(_m,{key:4})):bn("",!0)]))}},[["styles",[km]],["__scopeId","data-v-ba19fc13"]]),wm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>Pb),void 0)}),Nm=od(Cm,{configureApp(e){e.use(cd());const t=hm();e.use(t),e.provide("appI18n",t),e.provide("profileModules",wm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",Nm);const Pm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Mm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=T=>T.classList.contains("map-scroll-edge--left");for(const T of o)T.style.background=`linear-gradient(${a(T)?"to right":"to left"}, ${Pm} ${ec}, transparent ${ec})`,T.style.opacity="0",T.style.transition="opacity 0.16s ease",T.style.userSelect="none",T.style.webkitUserSelect="none";const s=T=>{T.style.opacity="1"},i=T=>{T.style.opacity="0"},r=()=>o.find(T=>!a(T))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const T of o)l.has(T)||i(T)},m=()=>{const T=r();T&&(s(T),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),N=T=>{if(!(T.touches&&T.touches.length===1))return;const _=T.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",N,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const $=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",$,{passive:!0});const P=[];for(const T of o){const _=()=>{l.add(T),s(T)},b=()=>{l.delete(T),i(T)},L=()=>{c=!0,s(T)},A=()=>{c=!1,i(T)};T.addEventListener("mouseenter",_),T.addEventListener("mouseleave",b),T.addEventListener("touchstart",L,{passive:!0}),T.addEventListener("touchend",A,{passive:!0}),P.push(()=>{T.removeEventListener("mouseenter",_),T.removeEventListener("mouseleave",b),T.removeEventListener("touchstart",L),T.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",N),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",$);for(const _ of P)_();for(const _ of o)i(_)}}const Im=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Rm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Im[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Dm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const Fm=["mapbox","maplibre"],nc="mapbox";function Om(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=Om(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||nc).toLowerCase().trim();return Fm.includes(s)?s:nc}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const xm=$n.mapbox.css,jm="https://tiles.openfreemap.org/styles/liberty",Bm="https://tiles.openfreemap.org/styles/fiord";function hs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Km(e){const t=$n[e]||$n.mapbox;if(hs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(hs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Um(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Gm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Bm:jm}const zm=85.0511,ms=-2,qm=0,Hm=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Vm(e,t,n,o){if(!e||e<=0||!t||t<=0)return qm;const a=Math.log2(e/512),s=sc(o)-sc(zm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(ms,Math.min(r,(n??18)-1))}function Wm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:i=2,minZoom:r=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:f=0,renderWorldCopies:m=!0,showEdgeBorders:k=!0,southCutoff:N=Hm,maxBounds:v=void 0}){const $=va(null),P=he(!1);let T=null,_=null,b=null,L=null;try{L=De("profileConfig",null)}catch{}a=a||oc(L);const A=a==="maplibre";async function w(){var fe;const S=Rm(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Km(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Um(e.value,A?$n.maplibre.css:xm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const F=t;A||(ae.accessToken=F);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof r=="number"?r:ms;if(!j())return ms;const Ne=Vm(oe,le,c,N);return typeof r=="number"?Math.max(r,Ne):Ne},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){$.value=new ae.Map({container:e.value,style:Gm(V,X),center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}else{const oe=typeof o=="function"?o():o;$.value=new ae.Map({accessToken:F,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}try{let oe=!1;$.value.on("error",le=>{var Ye,nt;const Ne=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");Ne!==401&&Ne!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${Ne} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{$.value.touchZoomRotate.disableRotation()}catch{}b=Mm(((fe=e.value)==null?void 0:fe.parentElement)||null,{enabled:k});let ge=W,ie=null;T=()=>{const oe=$.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){ie=null;const Ne=$.value;if(!Ne)return;const Re=q(z.clientWidth,z.clientHeight);if(Ne.getZoom(){ie&&(clearTimeout(ie),ie=null)},$.value.on("resize",T),typeof window<"u"&&(window.addEventListener("resize",T),window.addEventListener("orientationchange",T)),$.value.on("style.load",()=>{if(S.paint&&$.value){const oe=Dm($.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=$.value)==null||oe.resize(),$.value&&$.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function D(){if($.value){if(T&&($.value.off("resize",T),typeof window<"u"&&(window.removeEventListener("resize",T),window.removeEventListener("orientationchange",T)),T=null),_){try{_()}catch{}_=null}b&&(b(),b=null),$.value.remove(),$.value=null,P.value=!1}}return{map:$,isMapReady:P,initializeMap:w,destroy:D}}const ic="doxa-prayed-local",Ym=7*24*60*60*1e3;function Jm(){try{const e=localStorage.getItem(ic);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Xm(e){try{localStorage.setItem(ic,JSON.stringify(e))}catch{}}function Zm(){const e=Date.now(),t=Jm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Ym)&&(delete t[o],n=!0);return n&&Xm(t),new Set(Object.keys(t))}function Qm(e){const t=Zm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},rc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},bs="languageFamily",eb="#000000",Jt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},tb=Jt;function _s(e){return Jt[e]||eb}const nb=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),ob={"tai-kadai":"Kra-Dai",none:"Unknown"};function ys(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return ob[n]||nb[n]||t}function lc(e){var t;return _s(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,ab=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:tb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:ys,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:_s,canonicalFamilyName:ys},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:_s,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Ot={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},sb=Ot,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ib=Ss;function gc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Ot.hasAdoption:Ot.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ot.hasAdoption,["==",t,1],Ot.hasAdoption,Ot.notAdopted]}const dc=vs,rb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:sb,ADOPTION_LABELS:ib,LABELS:Ss,PALETTE:Ot,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Ot,colors:Ot,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),fc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},lb=xt,ks={notEngaged:"Unengaged",hasEngagement:"Engaged"},cb=ks;function pc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xt.hasEngagement:xt.notEngaged}function Ts({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=Ts,ub=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:lb,ENGAGEMENT_LABELS:cb,LABELS:ks,PALETTE:xt,PROPERTY_KEY:fc,applyColor:Ts,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:fc,palette:xt,colors:xt,labels:ks,getColor:pc,applyColor:Ts,buildColorExpression:hc},getColor:pc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},gb=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},db=Es;function oa(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $s(e){return Xt[oa(e)]}function bc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function _c(e){return oa(e)==="fullPrayer"}function yc(e){return $s(e)}function Ls({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Ls,fb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:gb,PRAYER_LABELS:db,PROPERTY_KEY:mc,applyColor:Ls,buildColorExpression:Ac,checkHasFullPrayer:_c,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:yc,applyColor:Ls,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:$s,checkHasPrayer:bc,checkHasFullPrayer:_c},getColor:yc,getPrayerColor:$s,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Cs="#94a3b8",ws={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ws[t]?t:"U"}function kc(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return tt[vc(t)]||Cs}function Ns(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Cs]}const Tc=Ns,pb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:ws,applyColor:Ns,buildColorExpression:Tc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:ws,getColor:kc,applyColor:Ns,buildColorExpression:Tc,fallback:Cs},getColor:kc,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",$c={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Lc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Cc=Is,hb=Object.assign({"./adoption.js":rb,"./engagement.js":ub,"./language-family.js":ab,"./prayer-progress.js":fb,"./religion.js":pb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:$c,applyColor:Is,buildColorExpression:Cc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:$c,order:Ms,getColor:Lc,applyColor:Is,buildColorExpression:Cc,fallback:Ps},getColor:Lc},Symbol.toStringTag,{value:"Module"}))}),mb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),bb=e=>e.replace(/-/g,"_").toUpperCase(),_b={...{STATUS:"status",CUSTOM:"custom"}};function yb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=mb(n);_b[bb(n)]=a}}yb(hb);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Ab=[[/ sign language$/i,"Sign Language"]];function Sb(e){var r,l;const t=Rs(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&rc[n])return rc[n];const o=Rs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Yt[i])return Yt[i];for(const[c,u]of Ab)if(c.test(a))return u;return""}function vb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=w=>w}=e;o||console.error("useMapData: dataSourceManager is required!");const i=he(!1),r=he(null),l=he(!1),c=he([]),u=he([]),f=he(null),m=he([]),k=he([]),N=he([]),v=he(null);async function $(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const F=a.getSourceData(n);u.value=s(F.normalizedData||[])}else{const F=await o.setActiveSource(n);for(const j of F){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Sb(j);j.languageFamily=ys(W)}u.value=s(F),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:F,timestamp:Date.now()})}c.value=s(Qm(u.value.map(F=>({id:F.uniqueId,slug:F.slug||"",rop3:F.peopleGroupId,peopleId3:F.peopleId3,name:F.name,language:F.language,languageFamily:F.languageFamily,country:F.country,population:F.population,status:F.engagementStatus||F.status,latitude:F.latitude,longitude:F.longitude,lng:F.longitude,lat:F.latitude,description:F.description,imageUrl:F.imageUrl,doxaRegion:F.doxaRegion||F.wagfRegion||"",peoplePraying:F.peoplePraying??null,_normalized:F}))));const w=o.getDataByLanguageFamily();m.value=Object.entries(w).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>j.count-F.count);const D=o.getDataByRegion();k.value=Object.entries(D).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>F.name.localeCompare(j.name));const S={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(F=>{const j=parseInt(F.population)||0;let q=!1;F.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(F),q=!0),F.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(F),q=!0),F.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(F),q=!0),F.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(F),q=!0),F.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(F),q=!0),F.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(F),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(F)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(F))});const V=u.value.length,ae=u.value.reduce((F,j)=>F+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return N.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:N.value,stats:v.value}}catch(w){throw console.error(`Failed to load data for map "${t}":`,w),r.value=w.message||"Failed to load data",w}finally{i.value=!1}}async function P(){var w,D,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((D=(w=z._raw)==null?void 0:w.country_code)==null?void 0:D.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,F=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&F&&!V[ee]&&(V[ee]=F)}return f.value={isoToRegion:V},f.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),r.value=V.message||"Failed to build regions",V}}function T(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(w){return T()[w]||[]}function L(w){return _()[w]||[]}function A(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],N.value=[],v.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:N,stats:v,loadData:$,loadRegionsData:P,getDataByLanguageFamily:T,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:L,clearData:A}}const Ds={};function kb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ds==null?void 0:Ds.VITE_API_BASE_URL)||""}class wc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Ql,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;ls.value?(We(),Lt("div",{key:0,ref_key:"hintEl",ref:r,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Ne("span",Em,[P[0]||(P[0]=Ne("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),wt(" "+Qt(a.value)+" ",1),Ne("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let Cm=0;const Nm=Ha("ui",{state:()=>({_storeInstanceId:++Cm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&o>0&&setTimeout(()=>{this.removeToast(r.id)},o),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Lm=Ha("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),wm=Ha("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=On({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=On({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ql={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Pm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Mm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Im={class:"profile-loader"},Rm={key:0,class:"profile-error"},Fm={key:1,class:"profile-error"},Om=Mm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var C;const n=e,o=Fe("profileConfig",null),a=be(()=>{var L;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const F=(L=o==null?void 0:o.value)==null?void 0:L.assetsBase;typeof F=="string"&&F&&(A.assetsBase=F)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),r=md(),i=be(()=>{var L;const A=(L=a.value)==null?void 0:L.tk;return typeof A=="string"&&A?A:r.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Fi(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),p=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var L,F;const A=(((L=a.value)==null?void 0:L.locale)||((F=a.value)==null?void 0:F.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),$=Fe("appI18n",null);wu(()=>{m.value&&$&&($.global.locale.value=m.value)});const w=be(()=>{var A,L;return m.value||((L=(A=$==null?void 0:$.global)==null?void 0:A.locale)==null?void 0:L.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),T=Fe("profileModules",null);if(!T)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return T[A]?bd(T[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(T)),null)});bt("mapboxToken",i),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",w);const k=Nm(),y=Lm(),b=wm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((C=k.setTheme)==null||C.call(k,A))}catch{}return bt("uiStore",k),bt("mapStore",y),bt("dataStore",b),(A,L)=>(We(),Lt("div",Im,[a.value?P.value?(We(),Bo(Pr(P.value),{key:2})):(We(),Lt("div",Fm,[Ne("p",null,[L[1]||(L[1]=wt("⚠️ Profile ",-1)),Ne("strong",null,'"'+Qt(s.value)+'"',1),L[2]||(L[2]=wt(" not found.",-1))])])):(We(),Lt("div",Rm,[...L[0]||(L[0]=[Ne("p",null,[wt("⚠️ "),Ne("strong",null,"doxa-map"),wt(": missing or invalid "),Ne("code",null,"profile-config"),wt(" prop.")],-1),Ne("p",null,[wt("Example: "),Ne("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pr(ko(null)),{key:3})):bn("",!0),P.value&&p.value?(We(),Bo(Tm,{key:4})):bn("",!0)]))}},[["styles",[Pm]],["__scopeId","data-v-ba19fc13"]]),Dm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>jb),void 0)}),xm=od(Om,{configureApp(e){e.use(cd());const t=$m();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Dm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",xm);const jm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Bm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=k=>k.classList.contains("map-scroll-edge--left");for(const k of o)k.style.background=`linear-gradient(${a(k)?"to right":"to left"}, ${jm} ${ec}, transparent ${ec})`,k.style.opacity="0",k.style.transition="opacity 0.16s ease",k.style.userSelect="none",k.style.webkitUserSelect="none";const s=k=>{k.style.opacity="1"},r=k=>{k.style.opacity="0"},i=()=>o.find(k=>!a(k))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const k of o)l.has(k)||r(k)},m=()=>{const k=i();k&&(s(k),u&&clearTimeout(u),u=setTimeout(p,250))},$=()=>m(),w=k=>{if(!(k.touches&&k.touches.length===1))return;const y=k.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",$,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const T=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",T,{passive:!0});const P=[];for(const k of o){const y=()=>{l.add(k),s(k)},b=()=>{l.delete(k),r(k)},C=()=>{c=!0,s(k)},A=()=>{c=!1,r(k)};k.addEventListener("mouseenter",y),k.addEventListener("mouseleave",b),k.addEventListener("touchstart",C,{passive:!0}),k.addEventListener("touchend",A,{passive:!0}),P.push(()=>{k.removeEventListener("mouseenter",y),k.removeEventListener("mouseleave",b),k.removeEventListener("touchstart",C),k.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",$),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",T);for(const y of P)y();for(const y of o)r(y)}}const Km=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Um(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Km[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Gm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const zm=["mapbox","maplibre"],nc="mapbox";function qm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=qm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||nc).toLowerCase().trim();return zm.includes(s)?s:nc}const Tn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Hm=Tn.mapbox.css,Vm="https://tiles.openfreemap.org/styles/liberty",Wm="https://tiles.openfreemap.org/styles/fiord";function hs(e){var n;const t=((n=Tn[e])==null?void 0:n.global)||Tn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Ym(e){const t=Tn[e]||Tn.mapbox;if(hs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(hs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Jm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=r=>new Promise(i=>setTimeout(i,r)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),n.prepend(s)}),o(2e3)])}function Xm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Wm:Vm}const Zm=85.0511,ms=-2,Qm=0,eb=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function tb(e,t,n,o){if(!e||e<=0||!t||t<=0)return Qm;const a=Math.log2(e/512),s=sc(o)-sc(Zm),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(ms,Math.min(i,(n??18)-1))}function nb({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:p=0,renderWorldCopies:m=!0,showEdgeBorders:$=!0,southCutoff:w=eb,maxBounds:v=void 0}){const T=va(null),P=he(!1);let k=null,y=null,b=null,C=null;try{C=Fe("profileConfig",null)}catch{}a=a||oc(C);const A=a==="maplibre";async function L(){var pe;const S=Um(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Ym(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Jm(e.value,A?Tn.maplibre.css:Hm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const O=t;A||(ae.accessToken=O);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof i=="number"?i:ms;if(!j())return ms;const we=tb(oe,le,c,w);return typeof i=="number"?Math.max(i,we):we},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){T.value=new ae.Map({container:e.value,style:Xm(V,X),center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}else{const oe=typeof o=="function"?o():o;T.value=new ae.Map({accessToken:O,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}try{let oe=!1;T.value.on("error",le=>{var Ye,nt;const we=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");we!==401&&we!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${we} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{T.value.touchZoomRotate.disableRotation()}catch{}b=Bm(((pe=e.value)==null?void 0:pe.parentElement)||null,{enabled:$});let ge=W,re=null;k=()=>{const oe=T.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){re=null;const we=T.value;if(!we)return;const Re=q(z.clientWidth,z.clientHeight);if(we.getZoom(){re&&(clearTimeout(re),re=null)},T.value.on("resize",k),typeof window<"u"&&(window.addEventListener("resize",k),window.addEventListener("orientationchange",k)),T.value.on("style.load",()=>{if(S.paint&&T.value){const oe=Gm(T.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=T.value)==null||oe.resize(),T.value&&T.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function F(){if(T.value){if(k&&(T.value.off("resize",k),typeof window<"u"&&(window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k)),k=null),y){try{y()}catch{}y=null}b&&(b(),b=null),T.value.remove(),T.value=null,P.value=!1}}return{map:T,isMapReady:P,initializeMap:L,destroy:F}}const rc="doxa-prayed-local",ob=7*24*60*60*1e3;function ab(){try{const e=localStorage.getItem(rc);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function sb(e){try{localStorage.setItem(rc,JSON.stringify(e))}catch{}}function rb(){const e=Date.now(),t=ab();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>ob)&&(delete t[o],n=!0);return n&&sb(t),new Set(Object.keys(t))}function ib(e){const t=rb();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},ic={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},bs="languageFamily",lb="#000000",Jt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},cb=Jt;function ys(e){return Jt[e]||lb}const ub=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),gb={"tai-kadai":"Kra-Dai",none:"Unknown"};function _s(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return gb[n]||ub[n]||t}function lc(e){var t;return ys(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,db=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:cb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:_s,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:ys,canonicalFamilyName:_s},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:ys,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Dt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},pb=Dt,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},fb=Ss;function gc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Dt.hasAdoption:Dt.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Dt.hasAdoption,["==",t,1],Dt.hasAdoption,Dt.notAdopted]}const dc=vs,hb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:pb,ADOPTION_LABELS:fb,LABELS:Ss,PALETTE:Dt,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Dt,colors:Dt,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),pc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},mb=xt,$s={notEngaged:"Unengaged",hasEngagement:"Engaged"},bb=$s;function fc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xt.hasEngagement:xt.notEngaged}function ks({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=ks,yb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:mb,ENGAGEMENT_LABELS:bb,LABELS:$s,PALETTE:xt,PROPERTY_KEY:pc,applyColor:ks,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:pc,palette:xt,colors:xt,labels:$s,getColor:fc,applyColor:ks,buildColorExpression:hc},getColor:fc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},_b=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Ab=Es;function oa(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ts(e){return Xt[oa(e)]}function bc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function yc(e){return oa(e)==="fullPrayer"}function _c(e){return Ts(e)}function Cs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Cs,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:_b,PRAYER_LABELS:Ab,PROPERTY_KEY:mc,applyColor:Cs,buildColorExpression:Ac,checkHasFullPrayer:yc,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:_c,applyColor:Cs,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:Ts,checkHasPrayer:bc,checkHasFullPrayer:yc},getColor:_c,getPrayerColor:Ts,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Ns="#94a3b8",Ls={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ls[t]?t:"U"}function $c(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return tt[vc(t)]||Ns}function ws(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Ns]}const kc=ws,vb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:Ls,applyColor:ws,buildColorExpression:kc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:Ls,getColor:$c,applyColor:ws,buildColorExpression:kc,fallback:Ns},getColor:$c,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",Tc={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Cc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Nc=Is,$b=Object.assign({"./adoption.js":hb,"./engagement.js":yb,"./language-family.js":db,"./prayer-progress.js":Sb,"./religion.js":vb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:Tc,applyColor:Is,buildColorExpression:Nc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:Tc,order:Ms,getColor:Cc,applyColor:Is,buildColorExpression:Nc,fallback:Ps},getColor:Cc},Symbol.toStringTag,{value:"Module"}))}),kb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Eb=e=>e.replace(/-/g,"_").toUpperCase(),Tb={...{STATUS:"status",CUSTOM:"custom"}};function Cb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=kb(n);Tb[Eb(n)]=a}}Cb($b);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Nb=[[/ sign language$/i,"Sign Language"]];function Lb(e){var i,l;const t=Rs(e.languageFamily);if(t)return t;const n=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&ic[n])return ic[n];const o=Rs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&Yt[r])return Yt[r];for(const[c,u]of Nb)if(c.test(a))return u;return""}function wb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=L=>L}=e;o||console.error("useMapData: dataSourceManager is required!");const r=he(!1),i=he(null),l=he(!1),c=he([]),u=he([]),p=he(null),m=he([]),$=he([]),w=he([]),v=he(null);async function T(){if(!o)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const O=a.getSourceData(n);u.value=s(O.normalizedData||[])}else{const O=await o.setActiveSource(n);for(const j of O){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Lb(j);j.languageFamily=_s(W)}u.value=s(O),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:O,timestamp:Date.now()})}c.value=s(ib(u.value.map(O=>({id:O.uniqueId,slug:O.slug||"",rop3:O.peopleGroupId,peopleId3:O.peopleId3,name:O.name,language:O.language,languageFamily:O.languageFamily,country:O.country,population:O.population,status:O.engagementStatus||O.status,latitude:O.latitude,longitude:O.longitude,lng:O.longitude,lat:O.latitude,description:O.description,imageUrl:O.imageUrl,doxaRegion:O.doxaRegion||O.wagfRegion||"",peoplePraying:O.peoplePraying??null,_normalized:O}))));const L=o.getDataByLanguageFamily();m.value=Object.entries(L).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>j.count-O.count);const F=o.getDataByRegion();$.value=Object.entries(F).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>O.name.localeCompare(j.name));const S={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(O=>{const j=parseInt(O.population)||0;let q=!1;O.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(O),q=!0),O.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(O),q=!0),O.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(O),q=!0),O.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(O),q=!0),O.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(O),q=!0),O.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(O),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(O)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(O))});const V=u.value.length,ae=u.value.reduce((O,j)=>O+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return w.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:$.value,resourcesData:w.value,stats:v.value}}catch(L){throw console.error(`Failed to load data for map "${t}":`,L),i.value=L.message||"Failed to load data",L}finally{r.value=!1}}async function P(){var L,F,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((F=(L=z._raw)==null?void 0:L.country_code)==null?void 0:F.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,O=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&O&&!V[ee]&&(V[ee]=O)}return p.value={isoToRegion:V},p.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),i.value=V.message||"Failed to build regions",V}}function k(){return o?o.getDataByLanguageFamily():{}}function y(){return o?o.getDataByRegion():{}}function b(L){return k()[L]||[]}function C(L){return y()[L]||[]}function A(){c.value=[],u.value=[],p.value=null,m.value=[],$.value=[],w.value=[],v.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:p,languageFamiliesData:m,doxaRegionsData:$,resourcesData:w,stats:v,loadData:T,loadRegionsData:P,getDataByLanguageFamily:k,getDataByRegion:y,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:C,clearData:A}}const Fs={};function Pb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Fs==null?void 0:Fs.VITE_API_BASE_URL)||""}class Lc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Ql,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,r=[],i=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=kb(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new wc;const Tb={class:"apg-root"},Eb={key:0,class:"apg-loading"},$b={key:1,class:"apg-error"},Lb={key:2,class:"apg-legend"},Cb={class:"apg-legend-sub"},wb=["onClick"],Nb={class:"apg-count"},Pb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` +`&&l++,a||r.length>0){if(r.push(a.trim()),a="",i)o.push(...r),i=!1;else if(r.length>1){const p={};o.forEach((m,$)=>{p[m]=r[$]||""}),n.push(p)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};o.forEach((c,u)=>{l[c]=r[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Pb(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const r={...t.queryParams||{}};this.locale&&(r.lang=this.locale);for(const[u,p]of Object.entries(r))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Lc;const Mb={class:"apg-root"},Ib={key:0,class:"apg-loading"},Rb={key:1,class:"apg-error"},Fb={key:2,class:"apg-legend"},Ob={class:"apg-legend-sub"},Db=["onClick"],xb={class:"apg-count"},jb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -101,10 +101,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=De("profileConfig"),n=De("mapboxToken"),o=De("dataSource"),a=De("dataStore"),s=De("mapStore"),i=oc(t),r=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,F){if(F.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const F=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||F||"agwm"))}const k=he(null),N=he(!1),v=he(null),{map:$,initializeMap:P,destroy:T}=Wm({containerRef:k,accessToken:n.value,provider:i,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),_=new wc,b=vb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let L=[],A=new Map;function w(Y){return String(Y??"").replace(/[&<>"']/g,F=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[F])}async function D(){const[Y,F]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of F){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),ie=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(ie)||ge===0&&ie===0)continue;const fe=f(X,j);W[fe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[ie,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:fe}})}return u.value=W,L=q,{type:"FeatureCollection",features:q}}function S(Y){const F=$.value;F.addSource("apg",{type:"geojson",data:Y}),F.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),F.on("mouseenter","apg-pins",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","apg-pins",()=>{F.getCanvas().style.cursor=""}),F.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),ie=X&&X.slug?`Pray for them →`:"",fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
- ${w(W.name)} ${w(ge.label.split(" — ")[0])} -
${w(W.country)} · pop ${Number(W.population).toLocaleString()}
-
${w(W.evangelical||"GSEC "+W.gsec)}
-
${w(W.language)}${W.religion?" · "+w(W.religion):""}
- ${ie} -
`).addTo(F)})}const V=he(null);function ae(Y){const F=$.value;if(!F||!F.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,F.setFilter("apg-pins",null),F.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,F.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const ie of L){if(ie.properties.category!==Y)continue;const[fe,oe]=ie.geometry.coordinates;feW&&(W=fe),oeX&&(X=oe),ge++}ge&&F.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=D().catch(F=>(v.value=String((F==null?void 0:F.message)||F),null));try{await P()}catch(F){v.value=String((F==null?void 0:F.message)||F);return}if(!$.value){v.value="Map failed to initialize — check token and container";return}$.value.once("style.load",async()=>{var F;try{const j=await Y;if(!j)return;try{$.value.setProjection("mercator")}catch{}S(j),(F=s==null?void 0:s.registerMap)==null||F.call(s,"all-people-groups",$.value),N.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Do(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),T()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,F)=>(We(),wt("div",Tb,[!N.value&&!v.value?(We(),wt("div",Eb,"Loading every people group…")):bn("",!0),v.value?(We(),wt("div",$b,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ce("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),N.value?(We(),wt("div",Lb,[F[0]||(F[0]=Ce("div",{class:"apg-legend-title"},"All People Groups",-1)),Ce("div",Cb,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),wt(Qe,null,Vu(l,j=>Ce("div",{key:j.id,class:Nn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ce("span",{class:"apg-dot",style:po({background:j.color})},null,4),Nt(" "+Qt(j.label)+" ",1),Ce("span",Nb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,wb)),64)),F[1]||(F[1]=Ce("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),r=oc(t),i=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function p(Y,O){if(O.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const O=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||O||"agwm"))}const $=he(null),w=he(!1),v=he(null),{map:T,initializeMap:P,destroy:k}=nb({containerRef:$,accessToken:n.value,provider:r,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),y=new Lc,b=wb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:y,dataStore:a,markRaw:Y=>Y});let C=[],A=new Map;function L(Y){return String(Y??"").replace(/[&<>"']/g,O=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[O])}async function F(){const[Y,O]=await Promise.all([fetch(`${i.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of O){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),re=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(re)||ge===0&&re===0)continue;const pe=p(X,j);W[pe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[re,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:pe}})}return u.value=W,C=q,{type:"FeatureCollection",features:q}}function S(Y){const O=T.value;O.addSource("apg",{type:"geojson",data:Y}),O.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),O.on("mouseenter","apg-pins",()=>{O.getCanvas().style.cursor="pointer"}),O.on("mouseleave","apg-pins",()=>{O.getCanvas().style.cursor=""}),O.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),re=X&&X.slug?`Pray for them →`:"",pe=r==="maplibre"?window.maplibregl:window.mapboxgl;new pe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+ ${L(W.name)} ${L(ge.label.split(" — ")[0])} +
${L(W.country)} · pop ${Number(W.population).toLocaleString()}
+
${L(W.evangelical||"GSEC "+W.gsec)}
+
${L(W.language)}${W.religion?" · "+L(W.religion):""}
+ ${re} +
`).addTo(O)})}const V=he(null);function ae(Y){const O=T.value;if(!O||!O.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,O.setFilter("apg-pins",null),O.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,O.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const re of C){if(re.properties.category!==Y)continue;const[pe,oe]=re.geometry.coordinates;peW&&(W=pe),oeX&&(X=oe),ge++}ge&&O.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=F().catch(O=>(v.value=String((O==null?void 0:O.message)||O),null));try{await P()}catch(O){v.value=String((O==null?void 0:O.message)||O);return}if(!T.value){v.value="Map failed to initialize — check token and container";return}T.value.once("style.load",async()=>{var O;try{const j=await Y;if(!j)return;try{T.value.setProjection("mercator")}catch{}S(j),(O=s==null?void 0:s.registerMap)==null||O.call(s,"all-people-groups",T.value),w.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Fo(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),k()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,O)=>(We(),Lt("div",Mb,[!w.value&&!v.value?(We(),Lt("div",Ib,"Loading every people group…")):bn("",!0),v.value?(We(),Lt("div",Rb,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ne("div",{ref_key:"mapContainer",ref:$,class:"apg-canvas"},null,512),w.value?(We(),Lt("div",Fb,[O[0]||(O[0]=Ne("div",{class:"apg-legend-title"},"All People Groups",-1)),Ne("div",Ob,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),Lt(Qe,null,Vu(l,j=>Ne("div",{key:j.id,class:wn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ne("span",{class:"apg-dot",style:fo({background:j.color})},null,4),wt(" "+Qt(j.label)+" ",1),Ne("span",xb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,Db)),64)),O[1]||(O[1]=Ne("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 22208c1b1..5f654dfe3 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the three pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h", + "integrity": "sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -101,7 +101,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R", + "integrity": "sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V", "elements": [ "cities-internet-map" ], @@ -117,7 +117,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-QdkwinBM2mJMqVlEX7HYctnr/9k9Nj01MDwFGwYL7tT62O8Nm3JuujLJ8qxZTFJ7", + "integrity": "sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,21 +188,21 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { "profile": "country-posters-mfe", "file": "country-posters-mfe.vue", - "description": "", - "element": "country-posters-map", + "description": "Country Posters as ONE two-tab element — the countries map and the printable", + "element": "country-posters-mfe", "type": "nested-elements-mfe", "isMap": true, "iframeUrl": "./country-posters/country-posters-mfe/index.html", "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -211,7 +211,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG", + "integrity": "sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q", "elements": [ "dashboard-plus-grid" ], @@ -231,7 +231,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -255,7 +255,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ", + "integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH", "elements": [ "demo-map" ], @@ -271,7 +271,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR", + "integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W", + "integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI", + "integrity": "sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -658,7 +658,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-cs9Yz6dE0cp2ChVeNB9btNOXrqNk+xl0r4374AkMHRiEW7x+u3wlLDBv9TU469Ra", + "integrity": "sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2", "elements": [ "my-upg-100-list-map" ], @@ -678,7 +678,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -692,7 +692,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -706,7 +706,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -913,7 +913,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn", + "integrity": "sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX", "elements": [ "research-dashboard-map" ], @@ -929,7 +929,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -1027,7 +1027,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX", + "integrity": "sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3", "elements": [ "template-bundle" ], @@ -1043,7 +1043,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -1058,7 +1058,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" } diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 0b5ee047e..91ca4cb3e 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={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"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged"},Hh={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Jh={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},om={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gm={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Rm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Gm={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},zm={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={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"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Hh={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Jh={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},om={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gm={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Rm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Gm={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},zm={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. diff --git a/public/doxa-maps/my-upg-100-list/poster-wall/index.html b/public/doxa-maps/my-upg-100-list/poster-wall/index.html index a322e3047..bcdb8400c 100644 --- a/public/doxa-maps/my-upg-100-list/poster-wall/index.html +++ b/public/doxa-maps/my-upg-100-list/poster-wall/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - +