From 3f103aaae77ad50eca350b950d6b1073a5d29bf7 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Tue, 22 Sep 2026 00:09:43 +0000 Subject: [PATCH] pass the real token down from ProfileLoader when tk is absent ROOT CAUSE, proven by interception rather than inference. A COMPOSITE leaf whose own root paints no tiles is generated TOKEN_FREE, so its page calls mount('') and the "tk: token" assignment never runs. Intercepting setAttribute BEFORE Vue could consume it showed profile-config arriving with keys profile/dataSource/ instanceId/assetsBase and NO tk. ProfileLoader then computed '' and provided it to every child, so a map nested INSIDE the composite got an empty accessToken and logged "No Mapbox access token provided" - the error reported at dashboard-plus-grid.js:605. The generator assumed a composite's nested maps each render in their own iframe leaf running its own token ladder. That is false for dashboard-plus-grid: zero iframes, and ResearchDashboard / PeopleGroupsGrid are imported as COMPONENTS, so the nested map runs inside the shell page and needs the token the shell withholds. ProfileLoader now falls back to window.MAP_TOKEN when config.tk is absent. STRICTLY ADDITIVE: 10 components inject mapboxToken and today all receive '' whenever tk is missing; now they receive the real token. An empty string becoming a valid token cannot break a map that already worked. Verified: the nested map inside dashboard-plus-grid now carries a real accessToken instead of ''. Negative-tested both ways - an explicit ?tk= still WINS over the global (per-instance precedence intact), and with no token anywhere the code still logs "No Mapbox access token provided" rather than silently pretending. Full build ALL GUARDS PASS, SRI consistent. This does not make the generator's classifier correct; see BUG-COMPOSITE-LEAVES-ARE-TOKEN-FREE-BUT-NEST-REAL-MAPS for the deeper fix. --- library/ProfileLoader.vue | 31 +++++++++- public/.build.lock | 2 +- .../all-people-groups/all-people-groups.js | 18 +++--- .../all-people-groups/index.html | 2 +- public/doxa-maps/all-people-groups/index.html | 2 +- .../cities-internet/cities-internet.js | 2 +- .../connectivity-list/index.html | 2 +- .../connectivity-map/index.html | 2 +- .../cities-internet/data-tables/index.html | 2 +- public/doxa-maps/cities-internet/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters/country-posters.js | 2 +- public/doxa-maps/country-posters/index.html | 2 +- public/doxa-maps/demo-map/demo-map.js | 28 ++++----- public/doxa-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- public/doxa-maps/demo-map/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 2 +- public/doxa-maps/doxa-research-map/index.html | 2 +- .../doxa-research-map/research-map/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 50 ++++++++-------- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- public/doxa-maps/doxa-simple-map/index.html | 2 +- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-resources/gospel-resources.js | 20 +++---- public/doxa-maps/gospel-resources/index.html | 2 +- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/key-cities/key-cities.js | 14 ++--- public/doxa-maps/manifest.json | 58 +++++++++---------- public/doxa-maps/my-upg-100-list/index.html | 2 +- .../my-upg-100-list/my-upg-100-list.js | 12 ++-- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../doxa-maps/research-dashboard/index.html | 2 +- .../research-dashboard/research-dashboard.js | 54 ++++++++--------- .../research-dashboard/index.html | 2 +- public/doxa-maps/template-bundle/index.html | 2 +- .../template-bundle/template-bundle.js | 2 +- .../template-bundle/template-map-a/index.html | 2 +- .../template-bundle/template-map-b/index.html | 2 +- public/index.html | 2 +- 49 files changed, 197 insertions(+), 168 deletions(-) diff --git a/library/ProfileLoader.vue b/library/ProfileLoader.vue index 037910c8c..a3fb646f0 100644 --- a/library/ProfileLoader.vue +++ b/library/ProfileLoader.vue @@ -82,7 +82,36 @@ const config = computed(() => { }) const profileName = computed(() => config.value?.profile || null) -const mapboxToken = computed(() => config.value?.tk || '') +// TOKEN: profile-config.tk FIRST, then the page global. +// +// WHY THE FALLBACK (root cause, measured 2026-09-21). A COMPOSITE leaf — a cap-4/cap-5 shell +// whose own root paints no tiles — is generated TOKEN_FREE, so its page calls mount('') and the +// `tk: token` assignment never runs. Intercepting setAttribute BEFORE Vue consumed it proved the +// prop is genuinely absent: profile-config arrives with keys profile/dataSource/instanceId/ +// assetsBase and NO tk. This computed then produced '' and provided it to every child, so a map +// nested INSIDE the composite got an empty accessToken and logged +// "No Mapbox access token provided" — the error the Driver saw at dashboard-plus-grid.js:605. +// +// The generator's assumption was that a composite's nested maps each render in their OWN IFRAME +// LEAF running its own token ladder. That is false for dashboard-plus-grid: it has zero iframes +// and imports ResearchDashboard / PeopleGroupsGrid as COMPONENTS, so the nested map runs inside +// the shell page and depends on the token the shell withholds. +// +// STRICTLY ADDITIVE, which is why it is safe: 10 components inject 'mapboxToken', and today they +// all receive '' whenever tk is absent. After this they receive the real token instead. An empty +// string becoming a valid token cannot break a map that already worked. A per-instance tk STILL +// WINS, so an embed that threads its own token is unaffected. +// +// This does NOT make the generator's classifier correct — see +// BUG-COMPOSITE-LEAVES-ARE-TOKEN-FREE-BUT-NEST-REAL-MAPS for the deeper fix. +const mapboxToken = computed(() => { + const fromConfig = config.value?.tk + if (typeof fromConfig === 'string' && fromConfig) return fromConfig + if (typeof window !== 'undefined' && typeof window.MAP_TOKEN === 'string' && window.MAP_TOKEN) { + return window.MAP_TOKEN + } + return '' +}) // Default to the CONFIGURED active source from sources.json (e.g. 'pray-tools', the live API) // — NOT a hardcoded 'doxa-csv'. A host/gem-frame that embeds the bundle without an explicit // profile-config.dataSource (the platform case) was silently falling back to 'doxa-csv', whose diff --git a/public/.build.lock b/public/.build.lock index fa65918f7..72dd1f59d 100644 --- a/public/.build.lock +++ b/public/.build.lock @@ -1 +1 @@ -pid=3786775 started=2026-09-21T23:52:58Z by=lk10x +pid=3847817 started=2026-09-22T00:03:26Z by=lk10x 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 92b55d90d..e9619b58b 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ee;class Bs{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Ee===this)Ee=this.prevScope;else{let t=Ee;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Nn;){let t=Nn;for(Nn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Hs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),da(o),Pc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ga(e))))return;e.flags|=2;const t=e.dep,n=be,o=ot;be=e,ot=!0;try{qs(e);const a=e.fn(e._value);(t.version===0||gt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,ot=o,Hs(e),e.flags&=-3}}function da(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)da(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Pc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ot=!0;const Ws=[];function dt(){Ws.push(ot),ot=!1}function ft(){const e=Ws.pop();ot=e===void 0?!0:e}function Ys(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Mn=0;class Mc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class fa{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!ot||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Mc(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Js(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){ca();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ua()}}}function Js(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)Js(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Qt=Symbol(""),pa=Symbol(""),In=Symbol("");function Fe(e,t,n){if(ot&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new fa),a.map=o,a.key=n),a.track()}}function kt(e,t,n,o,a,s){const i=po.get(e);if(!i){Mn++;return}const r=l=>{l&&l.trigger()};if(ca(),t==="clear")i.forEach(r);else{const l=ee(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===In||!Je(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(In)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"delete":l||(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"set":jt(e)&&r(i.get(Qt));break}}ua()}function Ic(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(Fe(t,"iterate",In),qe(e)?t:t.map(at))}function ho(e){return Fe(e=ce(e),"iterate",In),e}function pt(e,t){return Et(e)?dn($t(e)?at(t):t):at(t)}const Rc={__proto__:null,[Symbol.iterator](){return ha(this,Symbol.iterator,e=>pt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>ee(t)?gn(t):t))},entries(){return ha(this,"entries",e=>(e[1]=pt(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=>pt(this,o)),arguments)},find(e,t){return Tt(this,"find",e,t,n=>pt(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=>pt(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 ma(this,"includes",e)},indexOf(...e){return ma(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ma(this,"lastIndexOf",e)},map(e,t){return Tt(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return Tt(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return ha(this,"values",e=>pt(this,e))}};function ha(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!qe(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Dc=Array.prototype;function Tt(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!qe(e),l=i[t];if(l!==Dc[t]){const f=l.apply(e,s);return r?at(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,pt(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 Xs(e,t,n,o){const a=ho(e),s=a!==e&&!qe(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=pt(e,c)),n.call(this,c,pt(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?pt(e,l):l}function ma(e,t,n){const o=ce(e);Fe(o,"iterate",In);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Rn(e,t,n=[]){dt(),ca();const o=ce(e)[t].apply(e,n);return ua(),ft(),o}const Fc=na("__proto__,__v_isRef,__isVue"),Zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function Oc(e){Je(e)||(e=String(e));const t=ce(this);return Fe(t,"has",e),t.hasOwnProperty(e)}class Qs{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?si:ai:s?oi:ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=ee(t);if(!a){let l;if(i&&(l=Rc[n]))return l;if(n==="hasOwnProperty")return Oc}const r=Reflect.get(t,n,ve(t)?t:o);if((Je(n)?Zs.has(n):Fc(n))||(a||Fe(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&de(l)?_a(l):l}return de(r)?a?_a(r):yo(r):r}}class ei extends Qs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=ee(t)&&ro(n);if(!this._isShallow){const c=Et(s);if(!qe(o)&&!Et(o)&&(s=ce(s),o=ce(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Uc(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ba:t?dn:at;return!t&&Fe(s,"iterate",l?pa:Qt),Te(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gc(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(gt(a,r)&&Fe(i,"get",a),Fe(i,"get",r));const{has:l}=mo(i),c=t?ba:e?dn:at;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&&Fe(ce(a),"iterate",Qt),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(gt(a,r)&&Fe(i,"has",a),Fe(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?ba:e?dn:at;return!e&&Fe(l,"iterate",Qt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Te(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ce(this),i=mo(s),r=ce(a),l=!t&&!qe(a)&&!Et(a)?r:a;return i.has.call(s,l)||gt(a,l)&&i.has.call(s,a)||gt(r,l)&&i.has.call(s,r)||(s.add(l),kt(s,"add",l,l)),this},set(a,s){!t&&!qe(s)&&!Et(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?gt(s,u)&&kt(i,"set",a,s):kt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&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]=Uc(a,e,t)}),n}function _o(e,t){const n=Gc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(ge(n,a)&&a in o?n:o,a,s)}const zc={get:_o(!1,!1)},qc={get:_o(!1,!0)},Hc={get:_o(!0,!1)},Vc={get:_o(!0,!0)},ni=new WeakMap,oi=new WeakMap,ai=new WeakMap,si=new WeakMap;function Wc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return Et(e)?e:Ao(e,!1,xc,zc,ni)}function Yc(e){return Ao(e,!1,Bc,qc,oi)}function _a(e){return Ao(e,!0,jc,Hc,ai)}function mb(e){return Ao(e,!0,Kc,Vc,si)}function Ao(e,t,n,o,a){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Wc(Ac(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function $t(e){return Et(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function qe(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Dn(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Is(e,"__v_skip",!0),e}const at=e=>de(e)?yo(e):e,dn=e=>de(e)?_a(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function fe(e){return ii(e,!1)}function ya(e){return ii(e,!0)}function ii(e,t){return ve(e)?e:new Jc(e,t)}class Jc{constructor(t,n){this.dep=new fa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:at(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||qe(t)||Et(t);t=o?t:ce(t),gt(t,n)&&(this._rawValue=t,this._value=o?t:at(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Xc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ri(e){return $t(e)?e:new Proxy(e,Xc)}function Zc(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=eu(e,n);return t}class Qc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Je(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!ee(t)||Je(this._key)||!ro(this._key))do a=!So(s)||qe(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ic(this._raw,this._key)}}function eu(e,t,n){return new Qc(e,t,n)}class tu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new fa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return zs(this,!0),!0}get value(){const t=this.dep.track();return Vs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function nu(e,t,n=!1){let o,a;return oe(e)?o=e:(o=e.get,a=e.set),new tu(o,a,n)}const ko={},To=new WeakMap;let en;function ou(e,t=!1,n=en){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function au(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:qe(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,C=!1,S=!1;if(ve(e)?(f=()=>e.value,C=qe(e)):$t(e)?(f=()=>c(e),C=!0):ee(e)?(S=!0,C=e.some(b=>$t(b)||qe(b)),f=()=>e.map(b=>{if(ve(b))return b.value;if($t(b))return c(b);if(oe(b))return l?l(b,2):b()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){dt();try{m()}finally{ft()}}const b=en;en=u;try{return l?l(e,3,[k]):e(k)}finally{en=b}}:f=ut,t&&a){const b=f,y=a===!0?1/0:a;f=()=>Bt(b(),y)}const N=Ks(),w=()=>{u.stop(),N&&N.active&&oa(N.effects,u)};if(s&&t){const b=t;t=(...y)=>{const L=b(...y);return w(),L}}let E=S?new Array(e.length).fill(ko):ko;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const y=u.run();if(b||a||C||(S?y.some((L,P)=>gt(L,E[P])):gt(y,E))){m&&m();const L=en;en=u;try{const P=[y,E===ko?void 0:S&&E[0]===ko?[]:E,k];E=y,l?l(t,3,P):t(...P)}finally{en=L}}}else u.run()};return r&&r(_),u=new Us(f),u.scheduler=i?()=>i(_,!1):_,k=b=>ou(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const y of b)y();To.delete(u)}},t?o?_(!0):E=u.run():i?i(_.bind(null,!0),!0):u.run(),w.pause=u.pause.bind(u),w.resume=u.resume.bind(u),w.stop=w,w}function Bt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Bt(e.value,t,n);else if(ee(e))for(let o=0;o{Bt(o,t,n)});else if(io(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** +**/let Ee;class Bs{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Ee===this)Ee=this.prevScope;else{let t=Ee;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Nn;){let t=Nn;for(Nn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Hs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),da(o),Pc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ga(e))))return;e.flags|=2;const t=e.dep,n=be,o=ot;be=e,ot=!0;try{qs(e);const a=e.fn(e._value);(t.version===0||gt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,ot=o,Hs(e),e.flags&=-3}}function da(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)da(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Pc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ot=!0;const Ws=[];function dt(){Ws.push(ot),ot=!1}function ft(){const e=Ws.pop();ot=e===void 0?!0:e}function Ys(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Mn=0;class Mc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class fa{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!ot||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Mc(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Js(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){ca();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ua()}}}function Js(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)Js(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Qt=Symbol(""),pa=Symbol(""),In=Symbol("");function Fe(e,t,n){if(ot&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new fa),a.map=o,a.key=n),a.track()}}function kt(e,t,n,o,a,s){const i=po.get(e);if(!i){Mn++;return}const r=l=>{l&&l.trigger()};if(ca(),t==="clear")i.forEach(r);else{const l=ee(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===In||!Je(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(In)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"delete":l||(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"set":jt(e)&&r(i.get(Qt));break}}ua()}function Ic(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(Fe(t,"iterate",In),qe(e)?t:t.map(at))}function ho(e){return Fe(e=ce(e),"iterate",In),e}function pt(e,t){return Et(e)?dn($t(e)?at(t):t):at(t)}const Rc={__proto__:null,[Symbol.iterator](){return ha(this,Symbol.iterator,e=>pt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>ee(t)?gn(t):t))},entries(){return ha(this,"entries",e=>(e[1]=pt(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=>pt(this,o)),arguments)},find(e,t){return Tt(this,"find",e,t,n=>pt(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=>pt(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 ma(this,"includes",e)},indexOf(...e){return ma(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ma(this,"lastIndexOf",e)},map(e,t){return Tt(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return Tt(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return ha(this,"values",e=>pt(this,e))}};function ha(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!qe(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Dc=Array.prototype;function Tt(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!qe(e),l=i[t];if(l!==Dc[t]){const f=l.apply(e,s);return r?at(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,pt(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 Xs(e,t,n,o){const a=ho(e),s=a!==e&&!qe(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=pt(e,c)),n.call(this,c,pt(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?pt(e,l):l}function ma(e,t,n){const o=ce(e);Fe(o,"iterate",In);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Rn(e,t,n=[]){dt(),ca();const o=ce(e)[t].apply(e,n);return ua(),ft(),o}const Fc=na("__proto__,__v_isRef,__isVue"),Zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function Oc(e){Je(e)||(e=String(e));const t=ce(this);return Fe(t,"has",e),t.hasOwnProperty(e)}class Qs{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?si:ai:s?oi:ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=ee(t);if(!a){let l;if(i&&(l=Rc[n]))return l;if(n==="hasOwnProperty")return Oc}const r=Reflect.get(t,n,ve(t)?t:o);if((Je(n)?Zs.has(n):Fc(n))||(a||Fe(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&de(l)?_a(l):l}return de(r)?a?_a(r):yo(r):r}}class ei extends Qs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=ee(t)&&ro(n);if(!this._isShallow){const c=Et(s);if(!qe(o)&&!Et(o)&&(s=ce(s),o=ce(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Uc(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ba:t?dn:at;return!t&&Fe(s,"iterate",l?pa:Qt),Te(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gc(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(gt(a,r)&&Fe(i,"get",a),Fe(i,"get",r));const{has:l}=mo(i),c=t?ba:e?dn:at;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&&Fe(ce(a),"iterate",Qt),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(gt(a,r)&&Fe(i,"has",a),Fe(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?ba:e?dn:at;return!e&&Fe(l,"iterate",Qt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Te(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ce(this),i=mo(s),r=ce(a),l=!t&&!qe(a)&&!Et(a)?r:a;return i.has.call(s,l)||gt(a,l)&&i.has.call(s,a)||gt(r,l)&&i.has.call(s,r)||(s.add(l),kt(s,"add",l,l)),this},set(a,s){!t&&!qe(s)&&!Et(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?gt(s,u)&&kt(i,"set",a,s):kt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&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]=Uc(a,e,t)}),n}function _o(e,t){const n=Gc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(ge(n,a)&&a in o?n:o,a,s)}const zc={get:_o(!1,!1)},qc={get:_o(!1,!0)},Hc={get:_o(!0,!1)},Vc={get:_o(!0,!0)},ni=new WeakMap,oi=new WeakMap,ai=new WeakMap,si=new WeakMap;function Wc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return Et(e)?e:Ao(e,!1,xc,zc,ni)}function Yc(e){return Ao(e,!1,Bc,qc,oi)}function _a(e){return Ao(e,!0,jc,Hc,ai)}function mb(e){return Ao(e,!0,Kc,Vc,si)}function Ao(e,t,n,o,a){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Wc(Ac(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function $t(e){return Et(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function qe(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Dn(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Is(e,"__v_skip",!0),e}const at=e=>de(e)?yo(e):e,dn=e=>de(e)?_a(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function fe(e){return ii(e,!1)}function ya(e){return ii(e,!0)}function ii(e,t){return ve(e)?e:new Jc(e,t)}class Jc{constructor(t,n){this.dep=new fa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:at(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||qe(t)||Et(t);t=o?t:ce(t),gt(t,n)&&(this._rawValue=t,this._value=o?t:at(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Xc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ri(e){return $t(e)?e:new Proxy(e,Xc)}function Zc(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=eu(e,n);return t}class Qc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Je(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!ee(t)||Je(this._key)||!ro(this._key))do a=!So(s)||qe(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ic(this._raw,this._key)}}function eu(e,t,n){return new Qc(e,t,n)}class tu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new fa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return zs(this,!0),!0}get value(){const t=this.dep.track();return Vs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function nu(e,t,n=!1){let o,a;return oe(e)?o=e:(o=e.get,a=e.set),new tu(o,a,n)}const ko={},To=new WeakMap;let en;function ou(e,t=!1,n=en){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function au(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:qe(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,C=!1,S=!1;if(ve(e)?(f=()=>e.value,C=qe(e)):$t(e)?(f=()=>c(e),C=!0):ee(e)?(S=!0,C=e.some(b=>$t(b)||qe(b)),f=()=>e.map(b=>{if(ve(b))return b.value;if($t(b))return c(b);if(oe(b))return l?l(b,2):b()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){dt();try{m()}finally{ft()}}const b=en;en=u;try{return l?l(e,3,[k]):e(k)}finally{en=b}}:f=ut,t&&a){const b=f,y=a===!0?1/0:a;f=()=>Bt(b(),y)}const N=Ks(),w=()=>{u.stop(),N&&N.active&&oa(N.effects,u)};if(s&&t){const b=t;t=(...y)=>{const $=b(...y);return w(),$}}let L=S?new Array(e.length).fill(ko):ko;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const y=u.run();if(b||a||C||(S?y.some(($,P)=>gt($,L[P])):gt(y,L))){m&&m();const $=en;en=u;try{const P=[y,L===ko?void 0:S&&L[0]===ko?[]:L,k];L=y,l?l(t,3,P):t(...P)}finally{en=$}}}else u.run()};return r&&r(_),u=new Us(f),u.scheduler=i?()=>i(_,!1):_,k=b=>ou(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const y of b)y();To.delete(u)}},t?o?_(!0):L=u.run():i?i(_.bind(null,!0),!0):u.run(),w.pause=u.pause.bind(u),w.resume=u.resume.bind(u),w.stop=w,w}function Bt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Bt(e.value,t,n);else if(ee(e))for(let o=0;o{Bt(o,t,n)});else if(io(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Fn=[];let Aa=!1;function bb(e,...t){if(Aa)return;Aa=!0,dt();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=su();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 <${ar(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...iu(a)),console.warn(...s)}ft(),Aa=!1}function su(){let e=Fn[Fn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function iu(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...ru(n))}),t}function ru({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${ar(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...lu(e.props),s]:[a+s]}function lu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...li(o,e[o]))}),n.length>3&&t.push(" ..."),t}function li(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=li(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function st(e,t,n,o){if(oe(e)){const a=fn(e,t,n,o);return a&&Ps(a)&&a.catch(s=>{On(s,t,n)}),a}if(ee(e)){const a=[];for(let s=0;s>>1,a=xe[o],s=xn(a);s=xn(n)?xe.push(e):xe.splice(uu(t),0,e),e.flags|=1,ui()}}function ui(){$o||($o=ci.then(fi))}function gu(e){if(!ee(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function fi(e){try{for(ht=0;ht{o._d&&Fo(-1);const s=Lo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)Ji();Lo(s),o._d&&Fo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function tn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&oe(t)?t.call(o&&o.proxy):t}}function fu(){return!!(Mt()||on)}const pu=Symbol.for("v-scx"),hu=()=>Oe(pu);function mu(e,t){return va(e,null,t)}function nn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=Te({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=hu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=ut,k.resume=ut,k.pause=ut,k}}const u=Ie;r.call=(k,C,S)=>st(k,u,C,S);let f=!1;s==="post"?r.scheduler=k=>{Ue(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,C)=>{C?k():Sa(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=au(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function bu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?hi(o,e):()=>o[e]:e.bind(o,o);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function hi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function yu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function mi(e){if(!Po(e))return Co(e.type)&&e.children?yu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&oe(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Co(n.type)&&mi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return oe(e)?Te({name:e.name},t,{setup:e}):e}function $a(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function bi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const wo=new WeakMap;function Bn(e,t,n,o,a=!1){if(ee(e)){e.forEach((S,N)=>Bn(S,t&&(ee(t)?t[N]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===me?ws:S=>bi(u,S)?!1:ge(m,S),C=(S,N)=>!(N&&bi(u,N));if(c!=null&&c!==l){if(_i(t),Ae(c))u[c]=null,k(c)&&(f[c]=null);else if(ve(c)){const S=t;C(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(oe(l))fn(l,r,12,[i,u]);else{const S=Ae(l),N=ve(l);if(S||N){const w=()=>{if(e.f){const E=S?k(l)?f[l]:u[l]:C()||!e.k?l.value:u[e.k];if(a)ee(E)&&oa(E,s);else if(ee(E))E.includes(s)||E.push(s);else if(S)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];C(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else S?(u[l]=i,k(l)&&(f[l]=i)):N&&(C(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const E=()=>{w(),wo.delete(e)};E.id=-1,wo.set(e,E),Ue(E,n)}else _i(e),w()}}}function _i(e){const t=wo.get(e);t&&(t.flags|=8,wo.delete(e))}const yi=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function Au(e,t){if(yi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(yi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Su(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let C;return c||(C=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((N,w)=>{l(S,()=>N(m()),()=>w(S),f+1)});throw S}).then(S=>C!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(C,S,N){const w=C.isConnected;let E=!1;(S.bu||(S.bu=[])).push(()=>E=!0);const _=()=>{E||!C.parentNode||w&&!C.isConnected||N()},b=s?()=>{const y=s(_,L=>Au(C,L));y&&(S.bum||(S.bum=[])).push(y)}:_;u?b():k().then(()=>!S.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const C=Ie;if($a(C),u)return()=>No(u,C);const S=y=>{c=null,On(y,C,13,!o)};if(r&&C.suspense||_n)return k().then(y=>()=>No(y,C)).catch(y=>(S(y),()=>o?Ne(o,{error:y}):null));const N=fe(!1),w=fe(),E=fe(!!a);let _,b;return Io(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{C.isUnmounted||(E.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!C.isUnmounted&&!N.value&&!w.value){const y=new Error(`Async component timed out after ${i}ms.`);S(y),w.value=y}},i)),k().then(()=>{C.isUnmounted||(N.value=!0,C.parent&&Po(C.parent.vnode)&&C.parent.update())}).catch(y=>{if(C.isUnmounted){c=null;return}S(y),w.value=y}),()=>{if(N.value&&u)return No(u,C);if(w.value&&o)return Ne(o,{error:w.value});if(n&&!E.value)return No(n,C)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Po=e=>e.type.__isKeepAlive;function vu(e,t){Ai(e,"a",t)}function ku(e,t){Ai(e,"da",t)}function Ai(e,t,n=Ie){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Mo(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Po(a.parent.vnode)&&Tu(o,t,n,a),a=a.parent}}function Tu(e,t,n,o){const a=Mo(t,e,o,!0);Io(()=>{oa(o[t],a)},n)}function Mo(e,t,n=Ie,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{dt();const r=Yn(n),l=st(t,n,e,i);return r(),ft(),l});return o?a.unshift(s):a.push(s),s}}const Lt=e=>(t,n=Ie)=>{(!_n||e==="sp")&&Mo(e,(...o)=>t(...o),n)},Si=Lt("bm"),Un=Lt("m"),$u=Lt("bu"),Eu=Lt("u"),Ea=Lt("bum"),Io=Lt("um"),Lu=Lt("sp"),Cu=Lt("rtg"),wu=Lt("rtc");function Nu(e,t=Ie){Mo("ec",e,t)}const Pu="components",vi=Symbol.for("v-ndc");function ki(e){return Ae(e)?Mu(Pu,e,!1)||e:e||vi}function Mu(e,t,n=!0,o=!1){const a=it||Ie;if(a){const s=a.type;{const r=or(s,!1);if(r&&(r===t||r===we(t)||r===co(we(t))))return s}const i=Ti(a[e]||s[e],t)||Ti(a.appContext[e],t);return!i&&o?s:i}}function Ti(e,t){return e&&(e[t]||e[we(t)]||e[co(we(t))])}function Iu(e,t,n,o){let a;const s=n,i=ee(e);if(i||Ae(e)){const r=i&&$t(e);let l=!1,c=!1;r&&(l=!qe(e),c=Et(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?er(e)?Fa(e):La(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ci(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Eo.bind(e.proxy)),$watch:e=>bu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&ge(e,t),Ru={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&ge(a,t))return i[t]=2,a[t];if(ge(s,t))return i[t]=3,s[t];if(n!==me&&ge(n,t))return i[t]=4,n[t];wa&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&Fe(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&ge(o,t)?(o[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&ge(e,r)||Ca(t,r)||ge(s,r)||ge(o,r)||ge(Gn,r)||ge(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $i(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wa=!0;function Du(e){const t=Ci(e),n=e.proxy,o=e.ctx;wa=!1,t.beforeCreate&&Ei(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:C,activated:S,deactivated:N,beforeDestroy:w,beforeUnmount:E,destroyed:_,unmounted:b,render:y,renderTracked:L,renderTriggered:P,errorCaptured:F,serverPrefetch:v,expose:q,inheritAttrs:re,components:W,directives:ne,filters:Y}=t;if(c&&Fu(c,o,null),i)for(const H in i){const V=i[H];oe(V)&&(o[H]=V.bind(n))}if(a){const H=a.call(n,n);de(H)&&(e.data=yo(H))}if(wa=!0,s)for(const H in s){const V=s[H],Q=oe(V)?V.bind(n,n):oe(V.get)?V.get.bind(n,n):ut,X=!oe(V)&&oe(V.set)?V.set.bind(n):ut,Z=he({get:Q,set:X});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>Z.value,set:ie=>Z.value=ie})}if(r)for(const H in r)Li(r[H],o,n,H);if(l){const H=oe(l)?l.call(n):l;Reflect.ownKeys(H).forEach(V=>{mt(V,H[V])})}u&&Ei(u,e,"c");function j(H,V){ee(V)?V.forEach(Q=>H(Q.bind(n))):V&&H(V.bind(n))}if(j(Si,f),j(Un,m),j($u,k),j(Eu,C),j(vu,S),j(ku,N),j(Nu,F),j(wu,L),j(Cu,P),j(Ea,E),j(Io,b),j(Lu,v),ee(q))if(q.length){const H=e.exposed||(e.exposed={});q.forEach(V=>{Object.defineProperty(H,V,{get:()=>n[V],set:Q=>n[V]=Q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===ut&&(e.render=y),re!=null&&(e.inheritAttrs=re),W&&(e.components=W),ne&&(e.directives=ne),v&&$a(e)}function Fu(e,t,n=ut){ee(e)&&(e=Na(e));for(const o in e){const a=e[o];let s;de(a)?"default"in a?s=Oe(a.from||o,a.default,!0):s=Oe(a.from||o):s=Oe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ei(e,t,n){st(ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Li(e,t,n,o){let a=o.includes(".")?hi(n,o):()=>n[o];if(Ae(e)){const s=t[e];oe(s)&&nn(a,s)}else if(oe(e))nn(a,e.bind(n));else if(de(e))if(ee(e))e.forEach(s=>Li(s,t,n,o));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&nn(a,s,e)}}function Ci(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Ro(l,c,i,!0)),Ro(l,t,i)),de(t)&&s.set(t,l),l}function Ro(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Ro(e,s,n,!0),a&&a.forEach(i=>Ro(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Ou[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Ou={data:wi,props:Ni,emits:Ni,methods:zn,computed:zn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:zn,directives:zn,watch:ju,provide:wi,inject:xu};function wi(e,t){return t?e?function(){return Te(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function xu(e,t){return zn(Na(e),Na(t))}function Na(e){if(ee(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${Xe(t)}Modifiers`];function Gu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Uu(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(kc)));let r,l=o[r=aa(t)]||o[r=aa(we(t))];!l&&s&&(l=o[r=aa(Xe(t))]),l&&st(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,st(c,e,6,a)}}const zu=new WeakMap;function Mi(e,t,n=!1){const o=n?zu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!oe(e)){const l=c=>{const u=Mi(c,t,!0);u&&(r=!0,Te(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(de(e)&&o.set(e,null),null):(ee(s)?s.forEach(l=>i[l]=null):Te(i,s),de(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Xe(t))||ge(e,t))}function _b(){}function Ii(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:C,inheritAttrs:S}=e,N=Lo(e);let w,E;try{if(n.shapeFlag&4){const b=a||o,y=b;w=bt(c.call(y,b,u,f,k,m,C)),E=r}else{const b=t;w=bt(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),E=t.props?r:qu(r)}}catch(b){sn.length=0,On(b,e,1),w=Ne(Ct)}let _=w;if(E&&S!==!1){const b=Object.keys(E),{shapeFlag:y}=_;b.length&&y&7&&(s&&b.some(ao)&&(E=Hu(E,s)),_=mn(_,E,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=Co(_.type)&&mi(_)||_;Ta(b,n.transition)}return w=_,Lo(N),w}const qu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},Hu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Vu(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?Ri(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Fi),xi=e=>Object.getPrototypeOf(e)===Fi;function Yu(e,t,n,o=!1){const a={},s=Oi();e.propsDefaults=Object.create(null),ji(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Yc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Ju(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]=Bi(f,t,!0);Te(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return de(e)&&o.set(e,un),un;if(ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ia=e=>ee(e)?e.map(bt):[bt(e)],Zu=(e,t,n)=>{if(t._n)return t;const o=du((...a)=>Ia(t(...a)),n);return o._c=!1,o},Ui=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ma(a))continue;const s=e[a];if(oe(s))t[a]=Zu(a,s,o);else if(s!=null){const i=Ia(s);t[a]=()=>i}}},Gi=(e,t)=>{const n=Ia(t);e.slots.default=()=>n},zi=(e,t,n)=>{for(const o in t)(n||!Ma(o))&&(e[o]=t[o])},Qu=(e,t,n)=>{const o=e.slots=Oi();if(e.vnode.shapeFlag&32){const a=t._;a?(zi(o,t,n),n&&Is(o,"_",a,!0)):Ui(t,o)}else t&&Gi(e,t)},eg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:zi(a,t,n):(s=!t.$stable,Ui(t,a)),i=t}else t&&(Gi(e,t),i={default:1});if(s)for(const r in a)!Ma(r)&&i[r]==null&&delete a[r]},Ue=sg;function tg(e){return ng(e)}function ng(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=ut,insertStaticContent:C}=e,S=(p,A,h,M=null,x=null,O=null,U=void 0,K=null,g=!!A.dynamicChildren)=>{if(p===A)return;p&&!Vn(p,A)&&(M=ze(p),ie(p,x,O,!0),p=null),A.patchFlag===-2&&(g=!1,A.dynamicChildren=null);const{type:d,ref:$,shapeFlag:I}=A;switch(d){case qn:N(p,A,h,M);break;case Ct:w(p,A,h,M);break;case Da:p==null&&E(A,h,M,U);break;case Ze:W(p,A,h,M,x,O,U,K,g);break;default:I&1?y(p,A,h,M,x,O,U,K,g):I&6?ne(p,A,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,A,h,M,x,O,U,K,g,nt)}$!=null&&x?Bn($,p&&p.ref,O,A||p,!A):$==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},N=(p,A,h,M)=>{if(p==null)o(A.el=r(A.children),h,M);else{const x=A.el=p.el;A.children!==p.children&&c(x,A.children)}},w=(p,A,h,M)=>{p==null?o(A.el=l(A.children||""),h,M):A.el=p.el},E=(p,A,h,M)=>{[p.el,p.anchor]=C(p.children,A,h,M,p.el,p.anchor)},_=({el:p,anchor:A},h,M)=>{let x;for(;p&&p!==A;)x=m(p),o(p,h,M),p=x;o(A,h,M)},b=({el:p,anchor:A})=>{let h;for(;p&&p!==A;)h=m(p),a(p),p=h;a(A)},y=(p,A,h,M,x,O,U,K,g)=>{if(A.type==="svg"?U="svg":A.type==="math"&&(U="mathml"),p==null)L(A,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),v(p,A,x,O,U,K,g)}finally{d&&d._endPatch()}}},L=(p,A,h,M,x,O,U,K)=>{let g,d;const{props:$,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,$&&$.is,$),I&8?u(g,p.children):I&16&&F(p.children,g,null,M,x,Ra(p,O),U,K),B&&tn(p,null,M,"created"),P(g,p,p.scopeId,U,M),$){for(const R in $)R!=="value"&&!Cn(R)&&s(g,R,null,$[R],O,M);"value"in $&&s(g,"value",null,$.value,O),(d=$.onVnodeBeforeMount)&&_t(d,M,p)}B&&tn(p,null,M,"beforeMount");const T=og(x,G);T&&G.beforeEnter(g),o(g,A,h),((d=$&&$.onVnodeMounted)||T||B)&&Ue(()=>{try{d&&_t(d,M,p),T&&G.enter(g),B&&tn(p,null,M,"mounted")}finally{}},x)},P=(p,A,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=A.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:$}=A;g|=p.patchFlag&16;const I=p.props||me,G=A.props||me;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,h,A,p),$&&tn(A,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?q(p.dynamicChildren,d,K,h,M,Ra(A,x),O):U||V(p,A,K,null,h,M,Ra(A,x),O,!1),g>0){if(g&16)re(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const T=A.dynamicProps;for(let R=0;R{B&&_t(B,h,A,p),$&&tn(A,p,h,"updated")},M)},q=(p,A,h,M,x,O,U)=>{for(let K=0;K{if(A!==h){if(A!==me)for(const O in A)!Cn(O)&&!(O in h)&&s(p,O,A[O],null,x,M);for(const O in h){if(Cn(O))continue;const U=h[O],K=A[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",A.value,h.value,x)}},W=(p,A,h,M,x,O,U,K,g)=>{const d=A.el=p?p.el:r(""),$=A.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=A;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o($,h,M),F(A.children||[],h,$,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(q(p.dynamicChildren,G,h,x,O,U,K),(A.key!=null||x&&A===x.subTree)&&qi(p,A,!0)):V(p,A,h,$,x,O,U,K,g)},ne=(p,A,h,M,x,O,U,K,g)=>{A.slotScopeIds=K,p==null?A.shapeFlag&512?x.ctx.activate(A,h,M,U,g):Y(A,h,M,x,O,U,g):D(p,A,g)},Y=(p,A,h,M,x,O,U)=>{const K=p.component=gg(p,M,x);if(Po(p)&&(K.ctx.renderer=nt),dg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Ne(Ct);w(null,g,A,h),p.placeholder=g.el}}else j(K,p,A,h,x,O,U)},D=(p,A,h)=>{const M=A.component=p.component;if(Vu(p,A,h))if(M.asyncDep&&!M.asyncResolved){H(M,A,h);return}else M.next=A,M.update();else A.el=p.el,M.vnode=A},j=(p,A,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:T,vnode:R}=p;{const De=Hi(p);if(De){I&&(I.el=R.el,H(p,I,U)),De.asyncDep.then(()=>{Ue(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,H(p,I,U)):I=R,G&&sa(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&_t(se,T,I,R),an(p,!0);const ye=Ii(p),Ke=p.subTree;p.subTree=ye,S(Ke,ye,f(Ke.el),ze(Ke),p,x,O),I.el=ye.el,J===null&&Wu(p,ye.el),B&&Ue(B,x),(se=I.props&&I.props.onVnodeUpdated)&&Ue(()=>_t(se,T,I,R),x)}else{let I;const{el:G,props:B}=A,{bm:T,m:R,parent:J,root:se,type:ye}=p,Ke=Kn(A);an(p,!1),T&&sa(T),!Ke&&(I=B&&B.onVnodeBeforeMount)&&_t(I,J,A),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const De=p.subTree=Ii(p);S(null,De,h,M,p,x,O),A.el=De.el}if(R&&Ue(R,x),!Ke&&(I=B&&B.onVnodeMounted)){const De=A;Ue(()=>_t(I,J,De),x)}(A.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ue(p.a,x),p.isMounted=!0,A=h=M=null}};p.scope.on();const g=p.effect=new Us(K);p.scope.off();const d=p.update=g.run.bind(g),$=p.job=g.runIfDirty.bind(g);$.i=p,$.id=p.uid,g.scheduler=()=>Sa($),an(p,!0),d()},H=(p,A,h)=>{A.component=p;const M=p.vnode.props;p.vnode=A,p.next=null,Ju(p,A.props,M,h),eg(p,A.children,h),dt(),gi(p),ft()},V=(p,A,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,$=p?p.shapeFlag:0,I=A.children,{patchFlag:G,shapeFlag:B}=A;if(G>0){if(G&128){X(d,I,h,M,x,O,U,K,g);return}else if(G&256){Q(d,I,h,M,x,O,U,K,g);return}}B&8?($&16&&Me(d,x,O),I!==d&&u(h,I)):$&16?B&16?X(d,I,h,M,x,O,U,K,g):Me(d,x,O,!0):($&8&&u(h,""),B&16&&F(I,h,M,x,O,U,K,g))},Q=(p,A,h,M,x,O,U,K,g)=>{p=p||un,A=A||un;const d=p.length,$=A.length,I=Math.min(d,$);let G;for(G=0;G$?Me(p,x,O,!0,!1,I):F(A,h,M,x,O,U,K,g,I)},X=(p,A,h,M,x,O,U,K,g)=>{let d=0;const $=A.length;let I=p.length-1,G=$-1;for(;d<=I&&d<=G;){const B=p[d],T=A[d]=g?Pt(A[d]):bt(A[d]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],T=A[G]=g?Pt(A[G]):bt(A[G]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,T=B<$?A[B].el:M;for(;d<=G;)S(null,A[d]=g?Pt(A[d]):bt(A[d]),h,T,x,O,U,K,g),d++}}else if(d>G)for(;d<=I;)ie(p[d],x,O,!0),d++;else{const B=d,T=d,R=new Map;for(d=T;d<=G;d++){const Ye=A[d]=g?Pt(A[d]):bt(A[d]);Ye.key!=null&&R.set(Ye.key,d)}let J,se=0;const ye=G-T+1;let Ke=!1,De=0;const cn=new Array(ye);for(d=0;d=ye){ie(Ye,x,O,!0);continue}let vt;if(Ye.key!=null)vt=R.get(Ye.key);else for(J=T;J<=G;J++)if(cn[J-T]===0&&Vn(Ye,A[J])){vt=J;break}vt===void 0?ie(Ye,x,O,!0):(cn[vt-T]=d+1,vt>=De?De=vt:Ke=!0,S(Ye,A[vt],h,null,x,O,U,K,g),se++)}const Cs=Ke?ag(cn):un;for(J=Cs.length-1,d=ye-1;d>=0;d--){const Ye=T+d,vt=A[Ye],mc=A[Ye+1],bc=Ye+1<$?mc.el||Wi(mc):M;cn[d]===0?S(null,vt,h,bc,x,O,U,K,g):Ke&&(J<0||d!==Cs[J]?Z(vt,h,bc,2):J--)}}},Z=(p,A,h,M,x=null)=>{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){Z(p.component.subTree,A,h,M);return}if(d&128){p.suspense.move(A,h,M);return}if(d&64){U.move(p,A,h,nt);return}if(U===Ze){o(O,A,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,T=()=>{p.ctx.isUnmounted?a(O):o(O,A,h)},R=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),K.persisted&&!J?T():I(O,()=>{T(),B&&B()})};G?G(O,T,R):R()}else o(O,A,h)},ie=(p,A,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:$,patchFlag:I,dirs:G,cacheIndex:B,memo:T}=p;if(I===-2&&(x=!1),K!=null&&(dt(),Bn(K,null,h,p,!0),ft()),B!=null&&(A.renderCache[B]=void 0),$&256){A.ctx.deactivate(p);return}const R=$&1&&G,J=!Kn(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&_t(se,A,p),$&6)St(p.component,h,M);else{if($&128){p.suspense.unmount(h,M);return}R&&tn(p,null,A,"beforeUnmount"),$&64?p.type.remove(p,A,h,nt,M):d&&!d.hasOnce&&(O!==Ze||I>0&&I&64)?Me(d,A,h,!1,!0):(O===Ze&&I&384||!x&&$&16)&&Me(g,A,h),M&&ke(p)}const ye=T!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||ye)&&Ue(()=>{se&&_t(se,A,p),R&&tn(p,null,A,"unmounted"),ye&&(p.el=null)},h)},ke=p=>{const{type:A,el:h,anchor:M,transition:x}=p;if(A===Ze){tt(h,M);return}if(A===Da){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},tt=(p,A)=>{let h;for(;p!==A;)h=m(p),a(p),p=h;a(A)},St=(p,A,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;Vi(g),Vi(d),M&&sa(M),x.stop(),O&&(O.flags|=8,ie(U,p,A,h)),K&&Ue(K,A),Ue(()=>{p.isUnmounted=!0},A)},Me=(p,A,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return ze(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const A=m(p.anchor||p.el),h=A&&A[_u];return h?m(h):A};let We=!1;const Xt=(p,A,h)=>{let M;p==null?A._vnode&&(ie(A._vnode,null,null,!0),M=A._vnode.component):S(A._vnode||null,p,A,null,null,null,h),A._vnode=p,We||(We=!0,gi(M),di(),We=!1)},nt={p:S,um:ie,m:Z,r:ke,mt:Y,mc:F,pc:V,pbc:q,n:ze,o:e};return{render:Xt,hydrate:void 0,createApp:Ku(Xt)}}function Ra({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function og(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qi(e,t,n=!1){const o=e.children,a=t.children;if(ee(o)&&ee(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function Hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Hi(t)}function Vi(e){if(e)for(let t=0;te.__isSuspense;function sg(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):gu(e)}const Ze=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let He=null;function Ve(e=!1){sn.push(He=e?null:[])}function Ji(){sn.pop(),He=sn[sn.length-1]||null}let Hn=1;function Fo(e,t=!1){Hn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Xi(e){return e.dynamicChildren=Hn>0?He||un:null,Ji(),Hn>0&&He&&He.push(e),e}function wt(e,t,n,o,a,s){return Xi(Le(e,t,n,o,a,s,!0))}function Oo(e,t,n,o,a){return Xi(Ne(e,t,n,o,a,!0))}function xo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Zi=({key:e})=>e??null,jo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||oe(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Le(e,t=null,n=null,o=0,a=null,s=e===Ze?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zi(t),ref:t&&jo(t),scopeId:pi,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 r?(Bo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&He&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&He.push(l),l}const Ne=ig;function ig(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===vi)&&(e=Ct),xo(e)){const r=mn(e,t,!0);return n&&Bo(r,n),Hn>0&&!s&&He&&(r.shapeFlag&6?He[He.indexOf(e)]=r:He.push(r)),r.patchFlag=-2,r}if(_g(e)&&(e=e.__vccOpts),t){t=rg(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=wn(r)),de(l)&&(So(l)&&!ee(l)&&(l=Te({},l)),t.style=go(l))}const i=Ae(e)?1:Yi(e)?128:Co(e)?64:de(e)?4:oe(e)?2:0;return Le(e,t,n,o,a,i,s,!0)}function rg(e){return e?So(e)||xi(e)?Te({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?lg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Zi(c),ref:t&&t.ref?n&&s?ee(s)?s.concat(jo(t)):[s,jo(t)]:jo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ze?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Nt(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(Ve(),Oo(Ct,null,e)):Ne(Ct,null,e)}function bt(e){return e==null||typeof e=="boolean"?Ne(Ct):ee(e)?Ne(Ze,null,e.slice()):xo(e)?Pt(e):Ne(qn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Bo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Bo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!xi(t)?t._ctx=it:a===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Bo(e,{default:t});return}t={default:t,_ctx:it},n=32}else t=String(t),o&64?(n=16,t=[Nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function lg(...e){const t={};for(let n=0;nIe||it;let Ko,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Ko=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Ie;return Ko(e),e.scope.on(),()=>{e.scope.off(),Ko(t)}},Qi=()=>{Ie&&Ie.scope.off(),Ko(null)};function er(e){return e.vnode.shapeFlag&4}let _n=!1;function dg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=er(e);Yu(e,o,s,t),Qu(e,a,n||t);const i=s?fg(e,t):void 0;return t&&Wn(!1),i}function fg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ru);const{setup:o}=n;if(o){dt();const a=e.setupContext=o.length>1?hg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=Ps(i);if(ft(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Qi,Qi),t)return i.then(l=>{Wn(!0);try{tr(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else tr(e,i)}else nr(e)}function tr(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=ri(t)),nr(e)}function nr(e,t,n){const o=e.type;e.render||(e.render=o.render||ut);{const a=Yn(e);dt();try{Du(e)}finally{ft(),a()}}}const pg={get(e,t){return Fe(e,"get",""),e[t]}};function hg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,pg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ri(Dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const mg=/(?:^|[-_])\w/g,bg=e=>e.replace(mg,t=>t.toUpperCase()).replace(/[-_]/g,"");function or(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function ar(e,t,n=!1){let o=or(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?bg(o):n?"App":"Anonymous"}function _g(e){return oe(e)&&"__vccOpts"in e}const he=(e,t)=>nu(e,t,_n);function sr(e,t,n){try{Fo(-1);const o=arguments.length;return o===2?de(t)&&!ee(t)?xo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&xo(n)&&(n=[n]),Ne(e,t,n))}finally{Fo(1)}}const yg="3.5.42";/** +`],...ru(n))}),t}function ru({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${ar(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...lu(e.props),s]:[a+s]}function lu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...li(o,e[o]))}),n.length>3&&t.push(" ..."),t}function li(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=li(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function st(e,t,n,o){if(oe(e)){const a=fn(e,t,n,o);return a&&Ps(a)&&a.catch(s=>{On(s,t,n)}),a}if(ee(e)){const a=[];for(let s=0;s>>1,a=xe[o],s=xn(a);s=xn(n)?xe.push(e):xe.splice(uu(t),0,e),e.flags|=1,ui()}}function ui(){$o||($o=ci.then(fi))}function gu(e){if(!ee(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function fi(e){try{for(ht=0;ht{o._d&&Fo(-1);const s=Lo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)Ji();Lo(s),o._d&&Fo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function tn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&oe(t)?t.call(o&&o.proxy):t}}function fu(){return!!(Mt()||on)}const pu=Symbol.for("v-scx"),hu=()=>Oe(pu);function mu(e,t){return va(e,null,t)}function nn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=Te({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=hu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=ut,k.resume=ut,k.pause=ut,k}}const u=Ie;r.call=(k,C,S)=>st(k,u,C,S);let f=!1;s==="post"?r.scheduler=k=>{Ue(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,C)=>{C?k():Sa(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=au(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function bu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?hi(o,e):()=>o[e]:e.bind(o,o);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function hi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function yu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function mi(e){if(!Po(e))return Co(e.type)&&e.children?yu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&oe(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Co(n.type)&&mi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return oe(e)?Te({name:e.name},t,{setup:e}):e}function $a(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function bi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const wo=new WeakMap;function Bn(e,t,n,o,a=!1){if(ee(e)){e.forEach((S,N)=>Bn(S,t&&(ee(t)?t[N]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===me?ws:S=>bi(u,S)?!1:ge(m,S),C=(S,N)=>!(N&&bi(u,N));if(c!=null&&c!==l){if(_i(t),Ae(c))u[c]=null,k(c)&&(f[c]=null);else if(ve(c)){const S=t;C(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(oe(l))fn(l,r,12,[i,u]);else{const S=Ae(l),N=ve(l);if(S||N){const w=()=>{if(e.f){const L=S?k(l)?f[l]:u[l]:C()||!e.k?l.value:u[e.k];if(a)ee(L)&&oa(L,s);else if(ee(L))L.includes(s)||L.push(s);else if(S)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];C(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else S?(u[l]=i,k(l)&&(f[l]=i)):N&&(C(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{w(),wo.delete(e)};L.id=-1,wo.set(e,L),Ue(L,n)}else _i(e),w()}}}function _i(e){const t=wo.get(e);t&&(t.flags|=8,wo.delete(e))}const yi=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function Au(e,t){if(yi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(yi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Su(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let C;return c||(C=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((N,w)=>{l(S,()=>N(m()),()=>w(S),f+1)});throw S}).then(S=>C!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(C,S,N){const w=C.isConnected;let L=!1;(S.bu||(S.bu=[])).push(()=>L=!0);const _=()=>{L||!C.parentNode||w&&!C.isConnected||N()},b=s?()=>{const y=s(_,$=>Au(C,$));y&&(S.bum||(S.bum=[])).push(y)}:_;u?b():k().then(()=>!S.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const C=Ie;if($a(C),u)return()=>No(u,C);const S=y=>{c=null,On(y,C,13,!o)};if(r&&C.suspense||_n)return k().then(y=>()=>No(y,C)).catch(y=>(S(y),()=>o?Ne(o,{error:y}):null));const N=fe(!1),w=fe(),L=fe(!!a);let _,b;return Io(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{C.isUnmounted||(L.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!C.isUnmounted&&!N.value&&!w.value){const y=new Error(`Async component timed out after ${i}ms.`);S(y),w.value=y}},i)),k().then(()=>{C.isUnmounted||(N.value=!0,C.parent&&Po(C.parent.vnode)&&C.parent.update())}).catch(y=>{if(C.isUnmounted){c=null;return}S(y),w.value=y}),()=>{if(N.value&&u)return No(u,C);if(w.value&&o)return Ne(o,{error:w.value});if(n&&!L.value)return No(n,C)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Po=e=>e.type.__isKeepAlive;function vu(e,t){Ai(e,"a",t)}function ku(e,t){Ai(e,"da",t)}function Ai(e,t,n=Ie){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Mo(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Po(a.parent.vnode)&&Tu(o,t,n,a),a=a.parent}}function Tu(e,t,n,o){const a=Mo(t,e,o,!0);Io(()=>{oa(o[t],a)},n)}function Mo(e,t,n=Ie,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{dt();const r=Yn(n),l=st(t,n,e,i);return r(),ft(),l});return o?a.unshift(s):a.push(s),s}}const Lt=e=>(t,n=Ie)=>{(!_n||e==="sp")&&Mo(e,(...o)=>t(...o),n)},Si=Lt("bm"),Un=Lt("m"),$u=Lt("bu"),Eu=Lt("u"),Ea=Lt("bum"),Io=Lt("um"),Lu=Lt("sp"),Cu=Lt("rtg"),wu=Lt("rtc");function Nu(e,t=Ie){Mo("ec",e,t)}const Pu="components",vi=Symbol.for("v-ndc");function ki(e){return Ae(e)?Mu(Pu,e,!1)||e:e||vi}function Mu(e,t,n=!0,o=!1){const a=it||Ie;if(a){const s=a.type;{const r=or(s,!1);if(r&&(r===t||r===we(t)||r===co(we(t))))return s}const i=Ti(a[e]||s[e],t)||Ti(a.appContext[e],t);return!i&&o?s:i}}function Ti(e,t){return e&&(e[t]||e[we(t)]||e[co(we(t))])}function Iu(e,t,n,o){let a;const s=n,i=ee(e);if(i||Ae(e)){const r=i&&$t(e);let l=!1,c=!1;r&&(l=!qe(e),c=Et(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?er(e)?Fa(e):La(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ci(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Eo.bind(e.proxy)),$watch:e=>bu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&ge(e,t),Ru={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&ge(a,t))return i[t]=2,a[t];if(ge(s,t))return i[t]=3,s[t];if(n!==me&&ge(n,t))return i[t]=4,n[t];wa&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&Fe(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&ge(o,t)?(o[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&ge(e,r)||Ca(t,r)||ge(s,r)||ge(o,r)||ge(Gn,r)||ge(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $i(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wa=!0;function Du(e){const t=Ci(e),n=e.proxy,o=e.ctx;wa=!1,t.beforeCreate&&Ei(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:C,activated:S,deactivated:N,beforeDestroy:w,beforeUnmount:L,destroyed:_,unmounted:b,render:y,renderTracked:$,renderTriggered:P,errorCaptured:F,serverPrefetch:v,expose:q,inheritAttrs:re,components:W,directives:ne,filters:Y}=t;if(c&&Fu(c,o,null),i)for(const H in i){const V=i[H];oe(V)&&(o[H]=V.bind(n))}if(a){const H=a.call(n,n);de(H)&&(e.data=yo(H))}if(wa=!0,s)for(const H in s){const V=s[H],Q=oe(V)?V.bind(n,n):oe(V.get)?V.get.bind(n,n):ut,X=!oe(V)&&oe(V.set)?V.set.bind(n):ut,Z=he({get:Q,set:X});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>Z.value,set:ie=>Z.value=ie})}if(r)for(const H in r)Li(r[H],o,n,H);if(l){const H=oe(l)?l.call(n):l;Reflect.ownKeys(H).forEach(V=>{mt(V,H[V])})}u&&Ei(u,e,"c");function j(H,V){ee(V)?V.forEach(Q=>H(Q.bind(n))):V&&H(V.bind(n))}if(j(Si,f),j(Un,m),j($u,k),j(Eu,C),j(vu,S),j(ku,N),j(Nu,F),j(wu,$),j(Cu,P),j(Ea,L),j(Io,b),j(Lu,v),ee(q))if(q.length){const H=e.exposed||(e.exposed={});q.forEach(V=>{Object.defineProperty(H,V,{get:()=>n[V],set:Q=>n[V]=Q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===ut&&(e.render=y),re!=null&&(e.inheritAttrs=re),W&&(e.components=W),ne&&(e.directives=ne),v&&$a(e)}function Fu(e,t,n=ut){ee(e)&&(e=Na(e));for(const o in e){const a=e[o];let s;de(a)?"default"in a?s=Oe(a.from||o,a.default,!0):s=Oe(a.from||o):s=Oe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ei(e,t,n){st(ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Li(e,t,n,o){let a=o.includes(".")?hi(n,o):()=>n[o];if(Ae(e)){const s=t[e];oe(s)&&nn(a,s)}else if(oe(e))nn(a,e.bind(n));else if(de(e))if(ee(e))e.forEach(s=>Li(s,t,n,o));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&nn(a,s,e)}}function Ci(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Ro(l,c,i,!0)),Ro(l,t,i)),de(t)&&s.set(t,l),l}function Ro(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Ro(e,s,n,!0),a&&a.forEach(i=>Ro(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Ou[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Ou={data:wi,props:Ni,emits:Ni,methods:zn,computed:zn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:zn,directives:zn,watch:ju,provide:wi,inject:xu};function wi(e,t){return t?e?function(){return Te(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function xu(e,t){return zn(Na(e),Na(t))}function Na(e){if(ee(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${Xe(t)}Modifiers`];function Gu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Uu(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(kc)));let r,l=o[r=aa(t)]||o[r=aa(we(t))];!l&&s&&(l=o[r=aa(Xe(t))]),l&&st(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,st(c,e,6,a)}}const zu=new WeakMap;function Mi(e,t,n=!1){const o=n?zu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!oe(e)){const l=c=>{const u=Mi(c,t,!0);u&&(r=!0,Te(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(de(e)&&o.set(e,null),null):(ee(s)?s.forEach(l=>i[l]=null):Te(i,s),de(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Xe(t))||ge(e,t))}function _b(){}function Ii(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:C,inheritAttrs:S}=e,N=Lo(e);let w,L;try{if(n.shapeFlag&4){const b=a||o,y=b;w=bt(c.call(y,b,u,f,k,m,C)),L=r}else{const b=t;w=bt(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),L=t.props?r:qu(r)}}catch(b){sn.length=0,On(b,e,1),w=Ne(Ct)}let _=w;if(L&&S!==!1){const b=Object.keys(L),{shapeFlag:y}=_;b.length&&y&7&&(s&&b.some(ao)&&(L=Hu(L,s)),_=mn(_,L,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=Co(_.type)&&mi(_)||_;Ta(b,n.transition)}return w=_,Lo(N),w}const qu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},Hu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Vu(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?Ri(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Fi),xi=e=>Object.getPrototypeOf(e)===Fi;function Yu(e,t,n,o=!1){const a={},s=Oi();e.propsDefaults=Object.create(null),ji(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Yc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Ju(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]=Bi(f,t,!0);Te(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return de(e)&&o.set(e,un),un;if(ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ia=e=>ee(e)?e.map(bt):[bt(e)],Zu=(e,t,n)=>{if(t._n)return t;const o=du((...a)=>Ia(t(...a)),n);return o._c=!1,o},Ui=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ma(a))continue;const s=e[a];if(oe(s))t[a]=Zu(a,s,o);else if(s!=null){const i=Ia(s);t[a]=()=>i}}},Gi=(e,t)=>{const n=Ia(t);e.slots.default=()=>n},zi=(e,t,n)=>{for(const o in t)(n||!Ma(o))&&(e[o]=t[o])},Qu=(e,t,n)=>{const o=e.slots=Oi();if(e.vnode.shapeFlag&32){const a=t._;a?(zi(o,t,n),n&&Is(o,"_",a,!0)):Ui(t,o)}else t&&Gi(e,t)},eg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:zi(a,t,n):(s=!t.$stable,Ui(t,a)),i=t}else t&&(Gi(e,t),i={default:1});if(s)for(const r in a)!Ma(r)&&i[r]==null&&delete a[r]},Ue=sg;function tg(e){return ng(e)}function ng(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=ut,insertStaticContent:C}=e,S=(p,A,h,M=null,x=null,O=null,U=void 0,K=null,g=!!A.dynamicChildren)=>{if(p===A)return;p&&!Vn(p,A)&&(M=ze(p),ie(p,x,O,!0),p=null),A.patchFlag===-2&&(g=!1,A.dynamicChildren=null);const{type:d,ref:E,shapeFlag:I}=A;switch(d){case qn:N(p,A,h,M);break;case Ct:w(p,A,h,M);break;case Da:p==null&&L(A,h,M,U);break;case Ze:W(p,A,h,M,x,O,U,K,g);break;default:I&1?y(p,A,h,M,x,O,U,K,g):I&6?ne(p,A,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,A,h,M,x,O,U,K,g,nt)}E!=null&&x?Bn(E,p&&p.ref,O,A||p,!A):E==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},N=(p,A,h,M)=>{if(p==null)o(A.el=r(A.children),h,M);else{const x=A.el=p.el;A.children!==p.children&&c(x,A.children)}},w=(p,A,h,M)=>{p==null?o(A.el=l(A.children||""),h,M):A.el=p.el},L=(p,A,h,M)=>{[p.el,p.anchor]=C(p.children,A,h,M,p.el,p.anchor)},_=({el:p,anchor:A},h,M)=>{let x;for(;p&&p!==A;)x=m(p),o(p,h,M),p=x;o(A,h,M)},b=({el:p,anchor:A})=>{let h;for(;p&&p!==A;)h=m(p),a(p),p=h;a(A)},y=(p,A,h,M,x,O,U,K,g)=>{if(A.type==="svg"?U="svg":A.type==="math"&&(U="mathml"),p==null)$(A,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),v(p,A,x,O,U,K,g)}finally{d&&d._endPatch()}}},$=(p,A,h,M,x,O,U,K)=>{let g,d;const{props:E,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,E&&E.is,E),I&8?u(g,p.children):I&16&&F(p.children,g,null,M,x,Ra(p,O),U,K),B&&tn(p,null,M,"created"),P(g,p,p.scopeId,U,M),E){for(const R in E)R!=="value"&&!Cn(R)&&s(g,R,null,E[R],O,M);"value"in E&&s(g,"value",null,E.value,O),(d=E.onVnodeBeforeMount)&&_t(d,M,p)}B&&tn(p,null,M,"beforeMount");const T=og(x,G);T&&G.beforeEnter(g),o(g,A,h),((d=E&&E.onVnodeMounted)||T||B)&&Ue(()=>{try{d&&_t(d,M,p),T&&G.enter(g),B&&tn(p,null,M,"mounted")}finally{}},x)},P=(p,A,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=A.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:E}=A;g|=p.patchFlag&16;const I=p.props||me,G=A.props||me;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,h,A,p),E&&tn(A,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?q(p.dynamicChildren,d,K,h,M,Ra(A,x),O):U||V(p,A,K,null,h,M,Ra(A,x),O,!1),g>0){if(g&16)re(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const T=A.dynamicProps;for(let R=0;R{B&&_t(B,h,A,p),E&&tn(A,p,h,"updated")},M)},q=(p,A,h,M,x,O,U)=>{for(let K=0;K{if(A!==h){if(A!==me)for(const O in A)!Cn(O)&&!(O in h)&&s(p,O,A[O],null,x,M);for(const O in h){if(Cn(O))continue;const U=h[O],K=A[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",A.value,h.value,x)}},W=(p,A,h,M,x,O,U,K,g)=>{const d=A.el=p?p.el:r(""),E=A.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=A;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(E,h,M),F(A.children||[],h,E,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(q(p.dynamicChildren,G,h,x,O,U,K),(A.key!=null||x&&A===x.subTree)&&qi(p,A,!0)):V(p,A,h,E,x,O,U,K,g)},ne=(p,A,h,M,x,O,U,K,g)=>{A.slotScopeIds=K,p==null?A.shapeFlag&512?x.ctx.activate(A,h,M,U,g):Y(A,h,M,x,O,U,g):D(p,A,g)},Y=(p,A,h,M,x,O,U)=>{const K=p.component=gg(p,M,x);if(Po(p)&&(K.ctx.renderer=nt),dg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Ne(Ct);w(null,g,A,h),p.placeholder=g.el}}else j(K,p,A,h,x,O,U)},D=(p,A,h)=>{const M=A.component=p.component;if(Vu(p,A,h))if(M.asyncDep&&!M.asyncResolved){H(M,A,h);return}else M.next=A,M.update();else A.el=p.el,M.vnode=A},j=(p,A,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:T,vnode:R}=p;{const De=Hi(p);if(De){I&&(I.el=R.el,H(p,I,U)),De.asyncDep.then(()=>{Ue(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,H(p,I,U)):I=R,G&&sa(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&_t(se,T,I,R),an(p,!0);const ye=Ii(p),Ke=p.subTree;p.subTree=ye,S(Ke,ye,f(Ke.el),ze(Ke),p,x,O),I.el=ye.el,J===null&&Wu(p,ye.el),B&&Ue(B,x),(se=I.props&&I.props.onVnodeUpdated)&&Ue(()=>_t(se,T,I,R),x)}else{let I;const{el:G,props:B}=A,{bm:T,m:R,parent:J,root:se,type:ye}=p,Ke=Kn(A);an(p,!1),T&&sa(T),!Ke&&(I=B&&B.onVnodeBeforeMount)&&_t(I,J,A),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const De=p.subTree=Ii(p);S(null,De,h,M,p,x,O),A.el=De.el}if(R&&Ue(R,x),!Ke&&(I=B&&B.onVnodeMounted)){const De=A;Ue(()=>_t(I,J,De),x)}(A.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ue(p.a,x),p.isMounted=!0,A=h=M=null}};p.scope.on();const g=p.effect=new Us(K);p.scope.off();const d=p.update=g.run.bind(g),E=p.job=g.runIfDirty.bind(g);E.i=p,E.id=p.uid,g.scheduler=()=>Sa(E),an(p,!0),d()},H=(p,A,h)=>{A.component=p;const M=p.vnode.props;p.vnode=A,p.next=null,Ju(p,A.props,M,h),eg(p,A.children,h),dt(),gi(p),ft()},V=(p,A,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,E=p?p.shapeFlag:0,I=A.children,{patchFlag:G,shapeFlag:B}=A;if(G>0){if(G&128){X(d,I,h,M,x,O,U,K,g);return}else if(G&256){Q(d,I,h,M,x,O,U,K,g);return}}B&8?(E&16&&Me(d,x,O),I!==d&&u(h,I)):E&16?B&16?X(d,I,h,M,x,O,U,K,g):Me(d,x,O,!0):(E&8&&u(h,""),B&16&&F(I,h,M,x,O,U,K,g))},Q=(p,A,h,M,x,O,U,K,g)=>{p=p||un,A=A||un;const d=p.length,E=A.length,I=Math.min(d,E);let G;for(G=0;GE?Me(p,x,O,!0,!1,I):F(A,h,M,x,O,U,K,g,I)},X=(p,A,h,M,x,O,U,K,g)=>{let d=0;const E=A.length;let I=p.length-1,G=E-1;for(;d<=I&&d<=G;){const B=p[d],T=A[d]=g?Pt(A[d]):bt(A[d]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],T=A[G]=g?Pt(A[G]):bt(A[G]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,T=BG)for(;d<=I;)ie(p[d],x,O,!0),d++;else{const B=d,T=d,R=new Map;for(d=T;d<=G;d++){const Ye=A[d]=g?Pt(A[d]):bt(A[d]);Ye.key!=null&&R.set(Ye.key,d)}let J,se=0;const ye=G-T+1;let Ke=!1,De=0;const cn=new Array(ye);for(d=0;d=ye){ie(Ye,x,O,!0);continue}let vt;if(Ye.key!=null)vt=R.get(Ye.key);else for(J=T;J<=G;J++)if(cn[J-T]===0&&Vn(Ye,A[J])){vt=J;break}vt===void 0?ie(Ye,x,O,!0):(cn[vt-T]=d+1,vt>=De?De=vt:Ke=!0,S(Ye,A[vt],h,null,x,O,U,K,g),se++)}const Cs=Ke?ag(cn):un;for(J=Cs.length-1,d=ye-1;d>=0;d--){const Ye=T+d,vt=A[Ye],mc=A[Ye+1],bc=Ye+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){Z(p.component.subTree,A,h,M);return}if(d&128){p.suspense.move(A,h,M);return}if(d&64){U.move(p,A,h,nt);return}if(U===Ze){o(O,A,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,T=()=>{p.ctx.isUnmounted?a(O):o(O,A,h)},R=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),K.persisted&&!J?T():I(O,()=>{T(),B&&B()})};G?G(O,T,R):R()}else o(O,A,h)},ie=(p,A,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:E,patchFlag:I,dirs:G,cacheIndex:B,memo:T}=p;if(I===-2&&(x=!1),K!=null&&(dt(),Bn(K,null,h,p,!0),ft()),B!=null&&(A.renderCache[B]=void 0),E&256){A.ctx.deactivate(p);return}const R=E&1&&G,J=!Kn(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&_t(se,A,p),E&6)St(p.component,h,M);else{if(E&128){p.suspense.unmount(h,M);return}R&&tn(p,null,A,"beforeUnmount"),E&64?p.type.remove(p,A,h,nt,M):d&&!d.hasOnce&&(O!==Ze||I>0&&I&64)?Me(d,A,h,!1,!0):(O===Ze&&I&384||!x&&E&16)&&Me(g,A,h),M&&ke(p)}const ye=T!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||ye)&&Ue(()=>{se&&_t(se,A,p),R&&tn(p,null,A,"unmounted"),ye&&(p.el=null)},h)},ke=p=>{const{type:A,el:h,anchor:M,transition:x}=p;if(A===Ze){tt(h,M);return}if(A===Da){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},tt=(p,A)=>{let h;for(;p!==A;)h=m(p),a(p),p=h;a(A)},St=(p,A,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;Vi(g),Vi(d),M&&sa(M),x.stop(),O&&(O.flags|=8,ie(U,p,A,h)),K&&Ue(K,A),Ue(()=>{p.isUnmounted=!0},A)},Me=(p,A,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return ze(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const A=m(p.anchor||p.el),h=A&&A[_u];return h?m(h):A};let We=!1;const Xt=(p,A,h)=>{let M;p==null?A._vnode&&(ie(A._vnode,null,null,!0),M=A._vnode.component):S(A._vnode||null,p,A,null,null,null,h),A._vnode=p,We||(We=!0,gi(M),di(),We=!1)},nt={p:S,um:ie,m:Z,r:ke,mt:Y,mc:F,pc:V,pbc:q,n:ze,o:e};return{render:Xt,hydrate:void 0,createApp:Ku(Xt)}}function Ra({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function og(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qi(e,t,n=!1){const o=e.children,a=t.children;if(ee(o)&&ee(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function Hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Hi(t)}function Vi(e){if(e)for(let t=0;te.__isSuspense;function sg(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):gu(e)}const Ze=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let He=null;function Ve(e=!1){sn.push(He=e?null:[])}function Ji(){sn.pop(),He=sn[sn.length-1]||null}let Hn=1;function Fo(e,t=!1){Hn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Xi(e){return e.dynamicChildren=Hn>0?He||un:null,Ji(),Hn>0&&He&&He.push(e),e}function wt(e,t,n,o,a,s){return Xi(Le(e,t,n,o,a,s,!0))}function Oo(e,t,n,o,a){return Xi(Ne(e,t,n,o,a,!0))}function xo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Zi=({key:e})=>e??null,jo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||oe(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Le(e,t=null,n=null,o=0,a=null,s=e===Ze?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zi(t),ref:t&&jo(t),scopeId:pi,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 r?(Bo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&He&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&He.push(l),l}const Ne=ig;function ig(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===vi)&&(e=Ct),xo(e)){const r=mn(e,t,!0);return n&&Bo(r,n),Hn>0&&!s&&He&&(r.shapeFlag&6?He[He.indexOf(e)]=r:He.push(r)),r.patchFlag=-2,r}if(_g(e)&&(e=e.__vccOpts),t){t=rg(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=wn(r)),de(l)&&(So(l)&&!ee(l)&&(l=Te({},l)),t.style=go(l))}const i=Ae(e)?1:Yi(e)?128:Co(e)?64:de(e)?4:oe(e)?2:0;return Le(e,t,n,o,a,i,s,!0)}function rg(e){return e?So(e)||xi(e)?Te({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?lg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Zi(c),ref:t&&t.ref?n&&s?ee(s)?s.concat(jo(t)):[s,jo(t)]:jo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ze?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Nt(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(Ve(),Oo(Ct,null,e)):Ne(Ct,null,e)}function bt(e){return e==null||typeof e=="boolean"?Ne(Ct):ee(e)?Ne(Ze,null,e.slice()):xo(e)?Pt(e):Ne(qn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Bo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Bo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!xi(t)?t._ctx=it:a===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Bo(e,{default:t});return}t={default:t,_ctx:it},n=32}else t=String(t),o&64?(n=16,t=[Nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function lg(...e){const t={};for(let n=0;nIe||it;let Ko,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Ko=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Ie;return Ko(e),e.scope.on(),()=>{e.scope.off(),Ko(t)}},Qi=()=>{Ie&&Ie.scope.off(),Ko(null)};function er(e){return e.vnode.shapeFlag&4}let _n=!1;function dg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=er(e);Yu(e,o,s,t),Qu(e,a,n||t);const i=s?fg(e,t):void 0;return t&&Wn(!1),i}function fg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ru);const{setup:o}=n;if(o){dt();const a=e.setupContext=o.length>1?hg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=Ps(i);if(ft(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Qi,Qi),t)return i.then(l=>{Wn(!0);try{tr(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else tr(e,i)}else nr(e)}function tr(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=ri(t)),nr(e)}function nr(e,t,n){const o=e.type;e.render||(e.render=o.render||ut);{const a=Yn(e);dt();try{Du(e)}finally{ft(),a()}}}const pg={get(e,t){return Fe(e,"get",""),e[t]}};function hg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,pg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ri(Dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const mg=/(?:^|[-_])\w/g,bg=e=>e.replace(mg,t=>t.toUpperCase()).replace(/[-_]/g,"");function or(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function ar(e,t,n=!1){let o=or(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?bg(o):n?"App":"Anonymous"}function _g(e){return oe(e)&&"__vccOpts"in e}const he=(e,t)=>nu(e,t,_n);function sr(e,t,n){try{Fo(-1);const o=arguments.length;return o===2?de(t)&&!ee(t)?xo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&xo(n)&&(n=[n]),Ne(e,t,n))}finally{Fo(1)}}const yg="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -21,7 +21,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ar;const Go=e=>Ar=e,Sr=Symbol();function Ka(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xn||(Xn={}));function Yg(){const e=ra(!0),t=e.run(()=>fe({}));let n=[],o=[];const a=Dn({install(s){Go(a),a._a=s,s.provide(Sr,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 vr=()=>{};function kr(e,t,n,o=vr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ks()&&Nc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const Jg=e=>e(),Tr=Symbol(),Ua=Symbol();function Ga(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];Ka(a)&&Ka(o)&&e.hasOwnProperty(n)&&!ve(o)&&!$t(o)?e[n]=Ga(a,o):e[n]=o}return e}const Xg=Symbol();function Zg(e){return!Ka(e)||!e.hasOwnProperty(Xg)}const{assign:Ut}=Object;function Qg(e){return!!(ve(e)&&e.effect)}function ed(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=Zc(n.state.value[e]);return Ut(u,s,Object.keys(i||{}).reduce((f,m)=>(f[m]=Dn(he(()=>{Go(n);const k=n._s.get(e);return i[m].call(k,k)})),f),{}))}return l=$r(e,c,t,n,o,!0),l}function $r(e,t,n={},o,a,s){let i;const r=Ut({actions:{}},n),l={deep:!0};let c,u,f=[],m=[],k;const C=o.state.value[e];!s&&!C&&(o.state.value[e]={});let S;function N(F){let v;c=u=!1,typeof F=="function"?(F(o.state.value[e]),v={type:Xn.patchFunction,storeId:e,events:k}):(Ga(o.state.value[e],F),v={type:Xn.patchObject,payload:F,storeId:e,events:k});const q=S=Symbol();Eo().then(()=>{S===q&&(c=!0)}),u=!0,yn(f,v,o.state.value[e])}const w=s?function(){const{state:v}=n,q=v?v():{};this.$patch(re=>{Ut(re,q)})}:vr;function E(){i.stop(),f=[],m=[],o._s.delete(e)}const _=(F,v="")=>{if(Tr in F)return F[Ua]=v,F;const q=function(){Go(o);const re=Array.from(arguments),W=[],ne=[];function Y(H){W.push(H)}function D(H){ne.push(H)}yn(m,{args:re,name:q[Ua],store:y,after:Y,onError:D});let j;try{j=F.apply(this&&this.$id===e?this:y,re)}catch(H){throw yn(ne,H),H}return j instanceof Promise?j.then(H=>(yn(W,H),H)).catch(H=>(yn(ne,H),Promise.reject(H))):(yn(W,j),j)};return q[Tr]=!0,q[Ua]=v,q},b={_p:o,$id:e,$onAction:kr.bind(null,m),$patch:N,$reset:w,$subscribe(F,v={}){const q=kr(f,F,v.detached,()=>re()),re=i.run(()=>nn(()=>o.state.value[e],W=>{(v.flush==="sync"?u:c)&&F({storeId:e,type:Xn.direct,events:k},W)},Ut({},l,v)));return q},$dispose:E},y=yo(b);o._s.set(e,y);const P=(o._a&&o._a.runWithContext||Jg)(()=>o._e.run(()=>(i=ra()).run(()=>t({action:_}))));for(const F in P){const v=P[F];if(ve(v)&&!Qg(v)||$t(v))s||(C&&Zg(v)&&(ve(v)?v.value=C[F]:Ga(v,C[F])),o.state.value[e][F]=v);else if(typeof v=="function"){const q=_(v,F);P[F]=q,r.actions[F]=v}}return Ut(y,P),Ut(ce(y),P),Object.defineProperty(y,"$state",{get:()=>o.state.value[e],set:F=>{N(v=>{Ut(v,F)})}}),o._p.forEach(F=>{Ut(y,i.run(()=>F({store:y,app:o._a,pinia:o,options:r})))}),C&&s&&n.hydrate&&n.hydrate(y.$state,C),c=!0,u=!0,y}/*! #__NO_SIDE_EFFECTS__ */function za(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=fu();return r=r||(c?Oe(Sr,null):null),r&&Go(r),r=Ar,r._s.has(o)||(s?$r(o,t,a,r):ed(o,a,r)),r._s.get(o)}return i.$id=o,i}const td={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},nd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},od={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},ad={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:"اللغات"}},sd={menuComingSoon:"القائمة قادمة قريباً"},id={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},rd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},ld={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:"الدولة"},ud={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},gd={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"},dd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fd={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"},hd={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},md={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},bd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},_d={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"},yd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ad={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"},Sd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},vd={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"}},kd={menuComingSoon:"Menu coming soon"},Td={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},$d={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Ed={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Ld={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"}},Cd={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"},wd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Nd={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"},Pd={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."}},Md={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"}},Id={menuComingSoon:"Menú próximamente"},Rd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Dd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Fd={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"}},Od={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"},xd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},jd={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"},Bd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Kd={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"}},Ud={menuComingSoon:"Menu bientôt disponible"},Gd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},qd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Hd={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"}},Vd={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"},Wd={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:"साझा करें और एम्बेड करें"},Jd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Xd={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:"कुल"}},Zd={menuComingSoon:"मेनू शीघ्र आ रहा है"},Qd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ef={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},tf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},nf={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},of={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"},af={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},sf={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"}},rf={menuComingSoon:"Menu in arrivo"},lf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},cf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},uf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},gf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},df={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"},ff={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"}},hf={menuComingSoon:"Menu em breve"},mf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},bf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},_f={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"}},yf={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"},Af={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Sf={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ă"},vf={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ă."}},kf={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"}},Tf={menuComingSoon:"Meniu în curând"},$f={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ef={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Lf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Cf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},wf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Nf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Pf={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:"Языки"}},Mf={menuComingSoon:"Меню скоро появится"},If={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Rf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Df={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Ff={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Of={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},xf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},jf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Bf={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:"总计"}},Kf={menuComingSoon:"菜单即将推出"},Uf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Gf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},zf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ar;const Go=e=>Ar=e,Sr=Symbol();function Ka(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xn||(Xn={}));function Yg(){const e=ra(!0),t=e.run(()=>fe({}));let n=[],o=[];const a=Dn({install(s){Go(a),a._a=s,s.provide(Sr,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 vr=()=>{};function kr(e,t,n,o=vr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ks()&&Nc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const Jg=e=>e(),Tr=Symbol(),Ua=Symbol();function Ga(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];Ka(a)&&Ka(o)&&e.hasOwnProperty(n)&&!ve(o)&&!$t(o)?e[n]=Ga(a,o):e[n]=o}return e}const Xg=Symbol();function Zg(e){return!Ka(e)||!e.hasOwnProperty(Xg)}const{assign:Ut}=Object;function Qg(e){return!!(ve(e)&&e.effect)}function ed(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=Zc(n.state.value[e]);return Ut(u,s,Object.keys(i||{}).reduce((f,m)=>(f[m]=Dn(he(()=>{Go(n);const k=n._s.get(e);return i[m].call(k,k)})),f),{}))}return l=$r(e,c,t,n,o,!0),l}function $r(e,t,n={},o,a,s){let i;const r=Ut({actions:{}},n),l={deep:!0};let c,u,f=[],m=[],k;const C=o.state.value[e];!s&&!C&&(o.state.value[e]={});let S;function N(F){let v;c=u=!1,typeof F=="function"?(F(o.state.value[e]),v={type:Xn.patchFunction,storeId:e,events:k}):(Ga(o.state.value[e],F),v={type:Xn.patchObject,payload:F,storeId:e,events:k});const q=S=Symbol();Eo().then(()=>{S===q&&(c=!0)}),u=!0,yn(f,v,o.state.value[e])}const w=s?function(){const{state:v}=n,q=v?v():{};this.$patch(re=>{Ut(re,q)})}:vr;function L(){i.stop(),f=[],m=[],o._s.delete(e)}const _=(F,v="")=>{if(Tr in F)return F[Ua]=v,F;const q=function(){Go(o);const re=Array.from(arguments),W=[],ne=[];function Y(H){W.push(H)}function D(H){ne.push(H)}yn(m,{args:re,name:q[Ua],store:y,after:Y,onError:D});let j;try{j=F.apply(this&&this.$id===e?this:y,re)}catch(H){throw yn(ne,H),H}return j instanceof Promise?j.then(H=>(yn(W,H),H)).catch(H=>(yn(ne,H),Promise.reject(H))):(yn(W,j),j)};return q[Tr]=!0,q[Ua]=v,q},b={_p:o,$id:e,$onAction:kr.bind(null,m),$patch:N,$reset:w,$subscribe(F,v={}){const q=kr(f,F,v.detached,()=>re()),re=i.run(()=>nn(()=>o.state.value[e],W=>{(v.flush==="sync"?u:c)&&F({storeId:e,type:Xn.direct,events:k},W)},Ut({},l,v)));return q},$dispose:L},y=yo(b);o._s.set(e,y);const P=(o._a&&o._a.runWithContext||Jg)(()=>o._e.run(()=>(i=ra()).run(()=>t({action:_}))));for(const F in P){const v=P[F];if(ve(v)&&!Qg(v)||$t(v))s||(C&&Zg(v)&&(ve(v)?v.value=C[F]:Ga(v,C[F])),o.state.value[e][F]=v);else if(typeof v=="function"){const q=_(v,F);P[F]=q,r.actions[F]=v}}return Ut(y,P),Ut(ce(y),P),Object.defineProperty(y,"$state",{get:()=>o.state.value[e],set:F=>{N(v=>{Ut(v,F)})}}),o._p.forEach(F=>{Ut(y,i.run(()=>F({store:y,app:o._a,pinia:o,options:r})))}),C&&s&&n.hydrate&&n.hydrate(y.$state,C),c=!0,u=!0,y}/*! #__NO_SIDE_EFFECTS__ */function za(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=fu();return r=r||(c?Oe(Sr,null):null),r&&Go(r),r=Ar,r._s.has(o)||(s?$r(o,t,a,r):ed(o,a,r)),r._s.get(o)}return i.$id=o,i}const td={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},nd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},od={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},ad={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:"اللغات"}},sd={menuComingSoon:"القائمة قادمة قريباً"},id={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},rd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},ld={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:"الدولة"},ud={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},gd={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"},dd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fd={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"},hd={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},md={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},bd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},_d={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"},yd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ad={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"},Sd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},vd={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"}},kd={menuComingSoon:"Menu coming soon"},Td={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},$d={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Ed={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Ld={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"}},Cd={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"},wd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Nd={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"},Pd={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."}},Md={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"}},Id={menuComingSoon:"Menú próximamente"},Rd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Dd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Fd={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"}},Od={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"},xd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},jd={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"},Bd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Kd={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"}},Ud={menuComingSoon:"Menu bientôt disponible"},Gd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},qd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Hd={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"}},Vd={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"},Wd={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:"साझा करें और एम्बेड करें"},Jd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Xd={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:"कुल"}},Zd={menuComingSoon:"मेनू शीघ्र आ रहा है"},Qd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ef={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},tf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},nf={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},of={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"},af={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},sf={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"}},rf={menuComingSoon:"Menu in arrivo"},lf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},cf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},uf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},gf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},df={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"},ff={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"}},hf={menuComingSoon:"Menu em breve"},mf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},bf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},_f={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"}},yf={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"},Af={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Sf={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ă"},vf={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ă."}},kf={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"}},Tf={menuComingSoon:"Meniu în curând"},$f={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ef={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Lf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Cf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},wf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Nf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Pf={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:"Языки"}},Mf={menuComingSoon:"Меню скоро появится"},If={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Rf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Df={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Ff={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Of={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},xf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},jf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Bf={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:"总计"}},Kf={menuComingSoon:"菜单即将推出"},Uf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Gf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},zf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -30,16 +30,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function tp(e,t,n){return{line:e,column:t,offset:n}}function Yo(e,t,n){return{start:e,end:t}}const np=/\{([0-9a-zA-Z]+)\}/g;function Pr(e,...t){return t.length===1&&op(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(np,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Mr=Object.assign,Ir=e=>typeof e=="string",op=e=>e!==null&&typeof e=="object";function Rr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const qa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},ap={[qa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function sp(e,t,...n){const o=Pr(ap[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const te={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},ip={[te.EXPECTED_TOKEN]:"Expected token: '{0}'",[te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[te.EMPTY_PLACEHOLDER]:"Empty placeholder",[te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[te.INVALID_LINKED_FORMAT]:"Invalid linked format",[te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=Pr((a||ip)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function rp(e){throw e}const Dt=" ",lp="\r",Be=` -`,cp="\u2028",up="\u2029";function gp(e){const t=e;let n=0,o=1,a=1,s=0;const i=P=>t[P]===lp&&t[P+1]===Be,r=P=>t[P]===Be,l=P=>t[P]===up,c=P=>t[P]===cp,u=P=>i(P)||r(P)||l(P)||c(P),f=()=>n,m=()=>o,k=()=>a,C=()=>s,S=P=>i(P)||l(P)||c(P)?Be:t[P],N=()=>S(n),w=()=>S(n+s);function E(){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 y(P=0){s=P}function L(){const P=n+s;for(;P!==n;)E();s=0}return{index:f,line:m,column:k,peekOffset:C,charAt:S,currentChar:N,currentPeek:w,next:E,peek:_,reset:b,resetPeek:y,skipToPeek:L}}const qt=void 0,dp=".",Dr="'",fp="tokenizer";function pp(e,t={}){const n=t.location!==!1,o=gp(e),a=()=>o.index(),s=()=>tp(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,$,...I){const G=c();if(d.column+=$,d.offset+=$,u){const B=n?Yo(G.startLoc,d):null,T=An(g,B,{domain:fp,args:I});u(T)}}function m(g,d,$){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Yo(g.startLoc,g.endLoc)),$!=null&&(I.value=$),I}const k=g=>m(g,14);function C(g,d){return g.currentChar()===d?(g.next(),d):(f(te.EXPECTED_TOKEN,s(),0,d),"")}function S(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Be;)d+=g.currentPeek(),g.peek();return d}function N(g){const d=S(g);return g.skipToPeek(),d}function w(g){if(g===qt)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function E(g){if(g===qt)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function _(g,d){const{currentType:$}=d;if($!==2)return!1;S(g);const I=w(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:$}=d;if($!==2)return!1;S(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=E(I);return g.resetPeek(),G}function y(g,d){const{currentType:$}=d;if($!==2)return!1;S(g);const I=g.currentPeek()===Dr;return g.resetPeek(),I}function L(g,d){const{currentType:$}=d;if($!==8)return!1;S(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function P(g,d){const{currentType:$}=d;if($!==9)return!1;S(g);const I=w(g.currentPeek());return g.resetPeek(),I}function F(g,d){const{currentType:$}=d;if(!($===8||$===12))return!1;S(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function v(g,d){const{currentType:$}=d;if($!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?w(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Be?(g.peek(),I()):W(g,!1)},G=I();return g.resetPeek(),G}function q(g){S(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function re(g){const d=S(g),$=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:$,hasSpace:d.length>0}}function W(g,d=!0){const $=(G=!1,B="",T=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),$(G,"%",!0)):R==="|"?B==="%"||T?!0:!(B===Dt||B===Be):R===Dt?(g.peek(),$(!0,Dt,T)):R===Be?(g.peek(),$(!0,Be,T)):!0},I=$();return d&&g.resetPeek(),I}function ne(g,d){const $=g.currentChar();return $===qt?qt:d($)?(g.next(),$):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 D(g){return ne(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 H(g){return ne(g,j)}function V(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function Q(g){return ne(g,V)}function X(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Z(g){return ne(g,X)}function ie(g){let d="",$="";for(;d=Q(g);)$+=d;return $}function ke(g){N(g);const d=g.currentChar();return d!=="%"&&f(te.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function tt(g){let d="";for(;;){const $=g.currentChar();if($==="{"||$==="}"||$==="@"||$==="|"||!$)break;if($==="%")if(W(g))d+=$,g.next();else break;else if($===Dt||$===Be)if(W(g))d+=$,g.next();else{if(q(g))break;d+=$,g.next()}else d+=$,g.next()}return d}function St(g){N(g);let d="",$="";for(;d=H(g);)$+=d;return g.currentChar()===qt&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),$}function Me(g){N(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${ie(g)}`):d+=ie(g),g.currentChar()===qt&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),d}function ze(g){return g!==Dr&&g!==Be}function We(g){N(g),C(g,"'");let d="",$="";for(;d=ne(g,ze);)d==="\\"?$+=Xt(g):$+=d;const I=g.currentChar();return I===Be||I===qt?(f(te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Be&&(g.next(),C(g,"'")),$):(C(g,"'"),$)}function Xt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return nt(g,d,4);case"U":return nt(g,d,6);default:return f(te.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function nt(g,d,$){C(g,d);let I="";for(let G=0;G<$;G++){const B=Z(g);if(!B){f(te.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${d}${I}${g.currentChar()}`);break}I+=B}return`\\${d}${I}`}function En(g){return g!=="{"&&g!=="}"&&g!==Dt&&g!==Be}function p(g){N(g);let d="",$="";for(;d=ne(g,En);)$+=d;return $}function A(g){let d="",$="";for(;d=D(g);)$+=d;return $}function h(g){const d=$=>{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?$:($+=I,g.next(),d($))};return d("")}function M(g){N(g);const d=C(g,"|");return N(g),d}function x(g,d){let $=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(te.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),$=m(d,2,"{"),N(g),d.braceNest++,$;case"}":return d.braceNest>0&&d.currentType===2&&f(te.EMPTY_PLACEHOLDER,s(),0),g.next(),$=m(d,3,"}"),d.braceNest--,d.braceNest>0&&N(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),$;case"@":return d.braceNest>0&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),$=O(g,d)||k(d),d.braceNest=0,$;default:{let G=!0,B=!0,T=!0;if(q(g))return d.braceNest>0&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),$=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,$;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(te.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=_(g,d))return $=m(d,5,St(g)),N(g),$;if(B=b(g,d))return $=m(d,6,Me(g)),N(g),$;if(T=y(g,d))return $=m(d,7,We(g)),N(g),$;if(!G&&!B&&!T)return $=m(d,13,p(g)),f(te.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,$.value),N(g),$;break}}return $}function O(g,d){const{currentType:$}=d;let I=null;const G=g.currentChar();switch(($===8||$===9||$===12||$===10)&&(G===Be||G===Dt)&&f(te.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return N(g),g.next(),m(d,9,".");case":":return N(g),g.next(),m(d,10,":");default:return q(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):L(g,d)||F(g,d)?(N(g),O(g,d)):P(g,d)?(N(g),m(d,12,A(g))):v(g,d)?(N(g),G==="{"?x(g,d)||I:m(d,11,h(g))):($===8&&f(te.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let $={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(te.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return O(g,d)||k(d);default:{if(q(g))return $=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,$;const{isModulo:G,hasSpace:B}=re(g);if(G)return B?m(d,0,tt(g)):m(d,4,ke(g));if(W(g))return m(d,0,tt(g));break}}return $}function K(){const{currentType:g,offset:d,startLoc:$,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=$,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===qt?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const hp="parser",mp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function bp(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 _p(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(_,b,y,L,...P){const F=_.currentPosition();if(F.offset+=L,F.column+=L,n){const v=t?Yo(y,F):null,q=An(b,v,{domain:hp,args:P});n(q)}}function s(_,b,y,L,...P){const F=_.currentPosition();if(F.offset+=L,F.column+=L,o){const v=t?Yo(y,F):null;o(sp(b,v,P))}}function i(_,b,y){const L={type:_};return t&&(L.start=b,L.end=b,L.loc={start:y,end:y}),L}function r(_,b,y,L){t&&(_.end=b,_.loc&&(_.loc.end=y))}function l(_,b){const y=_.context(),L=i(3,y.offset,y.startLoc);return L.value=b,r(L,_.currentOffset(),_.currentPosition()),L}function c(_,b){const y=_.context(),{lastOffset:L,lastStartLoc:P}=y,F=i(5,L,P);return F.index=parseInt(b,10),_.nextToken(),r(F,_.currentOffset(),_.currentPosition()),F}function u(_,b,y){const L=_.context(),{lastOffset:P,lastStartLoc:F}=L,v=i(4,P,F);return v.key=b,y===!0&&(v.modulo=!0),_.nextToken(),r(v,_.currentOffset(),_.currentPosition()),v}function f(_,b){const y=_.context(),{lastOffset:L,lastStartLoc:P}=y,F=i(9,L,P);return F.value=b.replace(mp,bp),_.nextToken(),r(F,_.currentOffset(),_.currentPosition()),F}function m(_){const b=_.nextToken(),y=_.context(),{lastOffset:L,lastStartLoc:P}=y,F=i(8,L,P);return b.type!==12?(a(_,te.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),F.value="",r(F,L,P),{nextConsumeToken:b,node:F}):(b.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,lt(b)),F.value=b.value||"",r(F,_.currentOffset(),_.currentPosition()),{node:F})}function k(_,b){const y=_.context(),L=i(7,y.offset,y.startLoc);return L.value=b,r(L,_.currentOffset(),_.currentPosition()),L}function C(_){const b=_.context(),y=i(6,b.offset,b.startLoc);let L=_.nextToken();if(L.type===9){const P=m(_);y.modifier=P.node,L=P.nextConsumeToken||_.nextToken()}switch(L.type!==10&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(L)),L=_.nextToken(),L.type===2&&(L=_.nextToken()),L.type){case 11:L.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(L)),y.key=k(_,L.value||"");break;case 5:L.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(L)),y.key=u(_,L.value||"");break;case 6:L.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(L)),y.key=c(_,L.value||"");break;case 7:L.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(L)),y.key=f(_,L.value||"");break;default:{a(_,te.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const P=_.context(),F=i(7,P.offset,P.startLoc);return F.value="",r(F,P.offset,P.startLoc),y.key=F,r(y,P.offset,P.startLoc),{nextConsumeToken:L,node:y}}}return r(y,_.currentOffset(),_.currentPosition()),{node:y}}function S(_){const b=_.context(),y=b.currentType===1?_.currentOffset():b.offset,L=b.currentType===1?b.endLoc:b.startLoc,P=i(2,y,L);P.items=[];let F=null,v=null;do{const W=F||_.nextToken();switch(F=null,W.type){case 0:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(l(_,W.value||""));break;case 6:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(c(_,W.value||""));break;case 4:v=!0;break;case 5:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(u(_,W.value||"",!!v)),v&&(s(_,qa.USE_MODULO_SYNTAX,b.lastStartLoc,0,lt(W)),v=null);break;case 7:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(f(_,W.value||""));break;case 8:{const ne=C(_);P.items.push(ne.node),F=ne.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const q=b.currentType===1?b.lastOffset:_.currentOffset(),re=b.currentType===1?b.lastEndLoc:_.currentPosition();return r(P,q,re),P}function N(_,b,y,L){const P=_.context();let F=L.items.length===0;const v=i(1,b,y);v.cases=[],v.cases.push(L);do{const q=S(_);F||(F=q.items.length===0),v.cases.push(q)}while(P.currentType!==14);return F&&a(_,te.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),r(v,_.currentOffset(),_.currentPosition()),v}function w(_){const b=_.context(),{offset:y,startLoc:L}=b,P=S(_);return b.currentType===14?P:N(_,y,L,P)}function E(_){const b=pp(_,Mr({},e)),y=b.context(),L=i(0,y.offset,y.startLoc);return t&&L.loc&&(L.loc.source=_),L.body=w(b),e.onCacheKey&&(L.cacheKey=e.onCacheKey(_)),y.currentType!==14&&a(b,te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,_[y.offset]||""),r(L,b.currentOffset(),b.currentPosition()),L}return{parse:E}}function lt(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 yp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Fr(e,t){for(let n=0;nOr(n)),e}function Or(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(S,N){i.code+=S}function c(S,N=!0){const w=N?o:"";l(a?w+" ".repeat(S):w)}function u(S=!0){const N=++i.indentLevel;S&&c(N)}function f(S=!0){const N=--i.indentLevel;S&&c(N)}function m(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:m,helper:S=>`_${S}`,needIndent:()=>i.needIndent}}function $p(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Ep(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=Ir(t.mode)?t.mode:"normal",o=Ir(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,cp="\u2028",up="\u2029";function gp(e){const t=e;let n=0,o=1,a=1,s=0;const i=P=>t[P]===lp&&t[P+1]===Be,r=P=>t[P]===Be,l=P=>t[P]===up,c=P=>t[P]===cp,u=P=>i(P)||r(P)||l(P)||c(P),f=()=>n,m=()=>o,k=()=>a,C=()=>s,S=P=>i(P)||l(P)||c(P)?Be:t[P],N=()=>S(n),w=()=>S(n+s);function L(){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 y(P=0){s=P}function $(){const P=n+s;for(;P!==n;)L();s=0}return{index:f,line:m,column:k,peekOffset:C,charAt:S,currentChar:N,currentPeek:w,next:L,peek:_,reset:b,resetPeek:y,skipToPeek:$}}const qt=void 0,dp=".",Dr="'",fp="tokenizer";function pp(e,t={}){const n=t.location!==!1,o=gp(e),a=()=>o.index(),s=()=>tp(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,E,...I){const G=c();if(d.column+=E,d.offset+=E,u){const B=n?Yo(G.startLoc,d):null,T=An(g,B,{domain:fp,args:I});u(T)}}function m(g,d,E){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Yo(g.startLoc,g.endLoc)),E!=null&&(I.value=E),I}const k=g=>m(g,14);function C(g,d){return g.currentChar()===d?(g.next(),d):(f(te.EXPECTED_TOKEN,s(),0,d),"")}function S(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Be;)d+=g.currentPeek(),g.peek();return d}function N(g){const d=S(g);return g.skipToPeek(),d}function w(g){if(g===qt)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(g){if(g===qt)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function _(g,d){const{currentType:E}=d;if(E!==2)return!1;S(g);const I=w(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:E}=d;if(E!==2)return!1;S(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=L(I);return g.resetPeek(),G}function y(g,d){const{currentType:E}=d;if(E!==2)return!1;S(g);const I=g.currentPeek()===Dr;return g.resetPeek(),I}function $(g,d){const{currentType:E}=d;if(E!==8)return!1;S(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function P(g,d){const{currentType:E}=d;if(E!==9)return!1;S(g);const I=w(g.currentPeek());return g.resetPeek(),I}function F(g,d){const{currentType:E}=d;if(!(E===8||E===12))return!1;S(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function v(g,d){const{currentType:E}=d;if(E!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?w(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Be?(g.peek(),I()):W(g,!1)},G=I();return g.resetPeek(),G}function q(g){S(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function re(g){const d=S(g),E=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:E,hasSpace:d.length>0}}function W(g,d=!0){const E=(G=!1,B="",T=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),E(G,"%",!0)):R==="|"?B==="%"||T?!0:!(B===Dt||B===Be):R===Dt?(g.peek(),E(!0,Dt,T)):R===Be?(g.peek(),E(!0,Be,T)):!0},I=E();return d&&g.resetPeek(),I}function ne(g,d){const E=g.currentChar();return E===qt?qt:d(E)?(g.next(),E):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 D(g){return ne(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 H(g){return ne(g,j)}function V(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function Q(g){return ne(g,V)}function X(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Z(g){return ne(g,X)}function ie(g){let d="",E="";for(;d=Q(g);)E+=d;return E}function ke(g){N(g);const d=g.currentChar();return d!=="%"&&f(te.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function tt(g){let d="";for(;;){const E=g.currentChar();if(E==="{"||E==="}"||E==="@"||E==="|"||!E)break;if(E==="%")if(W(g))d+=E,g.next();else break;else if(E===Dt||E===Be)if(W(g))d+=E,g.next();else{if(q(g))break;d+=E,g.next()}else d+=E,g.next()}return d}function St(g){N(g);let d="",E="";for(;d=H(g);)E+=d;return g.currentChar()===qt&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),E}function Me(g){N(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${ie(g)}`):d+=ie(g),g.currentChar()===qt&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),d}function ze(g){return g!==Dr&&g!==Be}function We(g){N(g),C(g,"'");let d="",E="";for(;d=ne(g,ze);)d==="\\"?E+=Xt(g):E+=d;const I=g.currentChar();return I===Be||I===qt?(f(te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Be&&(g.next(),C(g,"'")),E):(C(g,"'"),E)}function Xt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return nt(g,d,4);case"U":return nt(g,d,6);default:return f(te.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function nt(g,d,E){C(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?E:(E+=I,g.next(),d(E))};return d("")}function M(g){N(g);const d=C(g,"|");return N(g),d}function x(g,d){let E=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(te.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),E=m(d,2,"{"),N(g),d.braceNest++,E;case"}":return d.braceNest>0&&d.currentType===2&&f(te.EMPTY_PLACEHOLDER,s(),0),g.next(),E=m(d,3,"}"),d.braceNest--,d.braceNest>0&&N(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),E;case"@":return d.braceNest>0&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),E=O(g,d)||k(d),d.braceNest=0,E;default:{let G=!0,B=!0,T=!0;if(q(g))return d.braceNest>0&&f(te.UNTERMINATED_CLOSING_BRACE,s(),0),E=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,E;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(te.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=_(g,d))return E=m(d,5,St(g)),N(g),E;if(B=b(g,d))return E=m(d,6,Me(g)),N(g),E;if(T=y(g,d))return E=m(d,7,We(g)),N(g),E;if(!G&&!B&&!T)return E=m(d,13,p(g)),f(te.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,E.value),N(g),E;break}}return E}function O(g,d){const{currentType:E}=d;let I=null;const G=g.currentChar();switch((E===8||E===9||E===12||E===10)&&(G===Be||G===Dt)&&f(te.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return N(g),g.next(),m(d,9,".");case":":return N(g),g.next(),m(d,10,":");default:return q(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):$(g,d)||F(g,d)?(N(g),O(g,d)):P(g,d)?(N(g),m(d,12,A(g))):v(g,d)?(N(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(E===8&&f(te.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let E={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(te.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return O(g,d)||k(d);default:{if(q(g))return E=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,E;const{isModulo:G,hasSpace:B}=re(g);if(G)return B?m(d,0,tt(g)):m(d,4,ke(g));if(W(g))return m(d,0,tt(g));break}}return E}function K(){const{currentType:g,offset:d,startLoc:E,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=E,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===qt?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const hp="parser",mp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function bp(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 _p(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(_,b,y,$,...P){const F=_.currentPosition();if(F.offset+=$,F.column+=$,n){const v=t?Yo(y,F):null,q=An(b,v,{domain:hp,args:P});n(q)}}function s(_,b,y,$,...P){const F=_.currentPosition();if(F.offset+=$,F.column+=$,o){const v=t?Yo(y,F):null;o(sp(b,v,P))}}function i(_,b,y){const $={type:_};return t&&($.start=b,$.end=b,$.loc={start:y,end:y}),$}function r(_,b,y,$){t&&(_.end=b,_.loc&&(_.loc.end=y))}function l(_,b){const y=_.context(),$=i(3,y.offset,y.startLoc);return $.value=b,r($,_.currentOffset(),_.currentPosition()),$}function c(_,b){const y=_.context(),{lastOffset:$,lastStartLoc:P}=y,F=i(5,$,P);return F.index=parseInt(b,10),_.nextToken(),r(F,_.currentOffset(),_.currentPosition()),F}function u(_,b,y){const $=_.context(),{lastOffset:P,lastStartLoc:F}=$,v=i(4,P,F);return v.key=b,y===!0&&(v.modulo=!0),_.nextToken(),r(v,_.currentOffset(),_.currentPosition()),v}function f(_,b){const y=_.context(),{lastOffset:$,lastStartLoc:P}=y,F=i(9,$,P);return F.value=b.replace(mp,bp),_.nextToken(),r(F,_.currentOffset(),_.currentPosition()),F}function m(_){const b=_.nextToken(),y=_.context(),{lastOffset:$,lastStartLoc:P}=y,F=i(8,$,P);return b.type!==12?(a(_,te.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),F.value="",r(F,$,P),{nextConsumeToken:b,node:F}):(b.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,lt(b)),F.value=b.value||"",r(F,_.currentOffset(),_.currentPosition()),{node:F})}function k(_,b){const y=_.context(),$=i(7,y.offset,y.startLoc);return $.value=b,r($,_.currentOffset(),_.currentPosition()),$}function C(_){const b=_.context(),y=i(6,b.offset,b.startLoc);let $=_.nextToken();if($.type===9){const P=m(_);y.modifier=P.node,$=P.nextConsumeToken||_.nextToken()}switch($.type!==10&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt($)),$=_.nextToken(),$.type===2&&($=_.nextToken()),$.type){case 11:$.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt($)),y.key=k(_,$.value||"");break;case 5:$.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt($)),y.key=u(_,$.value||"");break;case 6:$.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt($)),y.key=c(_,$.value||"");break;case 7:$.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt($)),y.key=f(_,$.value||"");break;default:{a(_,te.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const P=_.context(),F=i(7,P.offset,P.startLoc);return F.value="",r(F,P.offset,P.startLoc),y.key=F,r(y,P.offset,P.startLoc),{nextConsumeToken:$,node:y}}}return r(y,_.currentOffset(),_.currentPosition()),{node:y}}function S(_){const b=_.context(),y=b.currentType===1?_.currentOffset():b.offset,$=b.currentType===1?b.endLoc:b.startLoc,P=i(2,y,$);P.items=[];let F=null,v=null;do{const W=F||_.nextToken();switch(F=null,W.type){case 0:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(l(_,W.value||""));break;case 6:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(c(_,W.value||""));break;case 4:v=!0;break;case 5:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(u(_,W.value||"",!!v)),v&&(s(_,qa.USE_MODULO_SYNTAX,b.lastStartLoc,0,lt(W)),v=null);break;case 7:W.value==null&&a(_,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,lt(W)),P.items.push(f(_,W.value||""));break;case 8:{const ne=C(_);P.items.push(ne.node),F=ne.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const q=b.currentType===1?b.lastOffset:_.currentOffset(),re=b.currentType===1?b.lastEndLoc:_.currentPosition();return r(P,q,re),P}function N(_,b,y,$){const P=_.context();let F=$.items.length===0;const v=i(1,b,y);v.cases=[],v.cases.push($);do{const q=S(_);F||(F=q.items.length===0),v.cases.push(q)}while(P.currentType!==14);return F&&a(_,te.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),r(v,_.currentOffset(),_.currentPosition()),v}function w(_){const b=_.context(),{offset:y,startLoc:$}=b,P=S(_);return b.currentType===14?P:N(_,y,$,P)}function L(_){const b=pp(_,Mr({},e)),y=b.context(),$=i(0,y.offset,y.startLoc);return t&&$.loc&&($.loc.source=_),$.body=w(b),e.onCacheKey&&($.cacheKey=e.onCacheKey(_)),y.currentType!==14&&a(b,te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,_[y.offset]||""),r($,b.currentOffset(),b.currentPosition()),$}return{parse:L}}function lt(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 yp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Fr(e,t){for(let n=0;nOr(n)),e}function Or(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(S,N){i.code+=S}function c(S,N=!0){const w=N?o:"";l(a?w+" ".repeat(S):w)}function u(S=!0){const N=++i.indentLevel;S&&c(N)}function f(S=!0){const N=--i.indentLevel;S&&c(N)}function m(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:m,helper:S=>`_${S}`,needIndent:()=>i.needIndent}}function $p(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Ep(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=Ir(t.mode)?t.mode:"normal",o=Ir(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=Tp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${Rr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),vn(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 Np(e,t={}){const n=Mr({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=_p(n).parse(e);return o?(s&&Sp(r),a&&Sn(r),{ast:r,code:""}):(Ap(r,n),wp(r,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Pp(){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 yt(e){return ue(e)&&Va(e)===0&&(rt(e,"b")||rt(e,"body"))}const xr=["b","body"];function Mp(e){return Ht(e,xr)}const jr=["c","cases"];function Ip(e){return Ht(e,jr,[])}const Br=["s","static"];function Rp(e){return Ht(e,Br)}const Kr=["i","items"];function Dp(e){return Ht(e,Kr,[])}const Ur=["t","type"];function Va(e){return Ht(e,Ur)}const Gr=["v","value"];function Jo(e,t){const n=Ht(e,Gr);if(n!=null)return n;throw Zn(t)}const zr=["m","modifier"];function Fp(e){return Ht(e,zr)}const qr=["k","key"];function Op(e){const t=Ht(e,qr);if(t)return t;throw Zn(6)}function Ht(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=Up(i),i===!1))return!1;m[1]()}};function k(){const C=e[n+1];if(o===5&&C==="'"||o===6&&C==='"')return n++,r="\\"+C,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&k())){if(l=Kp(s),f=Vt[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 Vr=new Map;function zp(e,t){return ue(e)?e[t]:null}function qp(e,t){if(!ue(e))return null;let n=Vr.get(t);if(n||(n=Gp(t),n&&Vr.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,Vp=e=>"",Wp="text",Yp=e=>e.length===0?"":ep(e),Jp=Qf;function Wr(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Xp(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 Zp(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Qp(e={}){const t=e.locale,n=Xp(e),o=ue(e.pluralRules)&&z(t)&&_e(e.pluralRules[t])?e.pluralRules[t]:Wr,a=ue(e.pluralRules)&&z(t)&&_e(e.pluralRules[t])?Wr:void 0,s=w=>w[o(n,w.length,a)],i=e.list||[],r=w=>i[w],l=e.named||pe();$e(e.pluralIndex)&&Zp(n,l);const c=w=>l[w];function u(w){const E=_e(e.messages)?e.messages(w):ue(e.messages)?e.messages[w]:!1;return E||(e.parent?e.parent.message(w):Vp)}const f=w=>e.modifiers?e.modifiers[w]:Hp,m=ae(e.processor)&&_e(e.processor.normalize)?e.processor.normalize:Yp,k=ae(e.processor)&&_e(e.processor.interpolate)?e.processor.interpolate:Jp,C=ae(e.processor)&&z(e.processor.type)?e.processor.type:Wp,N={list:r,named:c,plural:s,linked:(w,...E)=>{const[_,b]=E;let y="text",L="";E.length===1?ue(_)?(L=_.modifier||L,y=_.type||y):z(_)&&(L=_||L):E.length===2&&(z(_)&&(L=_||L),z(b)&&(y=b||y));const P=u(w)(N),F=y==="vnode"&&Se(P)&&L?P[0]:P;return L?f(L)(F,y):F},message:u,type:C,interpolate:k,normalize:m,values:Re(pe(),i,l)};return N}let Qn=null;function eh(e){Qn=e}function th(e,t,n){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const nh=oh("function:translate");function oh(e){return t=>Qn&&Qn.emit(e,t)}const ah=qa.__EXTEND_POINT__,rn=Ho(ah),sh={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()},Yr=te.__EXTEND_POINT__,ln=Ho(Yr),ct={INVALID_ARGUMENT:Yr,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 At(e){return An(e,null,void 0)}function Wa(e,t){return t.locale!=null?Jr(t.locale):Jr(e.locale)}let Ya;function Jr(e){if(z(e))return e;if(_e(e)){if(e.resolvedOnce&&Ya!=null)return Ya;if(e.constructor.name==="Function"){const t=e();if(Zf(t))throw At(ct.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ya=t}else throw At(ct.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw At(ct.NOT_SUPPORT_LOCALE_TYPE)}function ih(e,t,n){return[...new Set([n,...Se(t)?t:ue(t)?Object.keys(t):z(t)?[t]:[n]])]}function Xr(e,t,n){const o=z(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;Se(i);)i=Zr(s,i,t);const r=Se(t)||!ae(t)?t:t.default?t.default:null;i=z(r)?[r]:r,Se(i)&&Zr(s,i,!1),a.__localeChainCache.set(o,s)}return s}function Zr(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function uh(){return{upper:(e,t)=>t==="text"&&z(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&z(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&z(e)?el(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?el(e.children):e}}let tl;function nl(e){tl=e}let ol;function gh(e){ol=e}let al;function dh(e){al=e}let sl=null;const fh=e=>{sl=e},ph=()=>sl;let il=null;const rl=e=>{il=e},hh=()=>il;let ll=0;function mh(e={}){const t=_e(e.onWarn)?e.onWarn:qf,n=z(e.version)?e.version:ch,o=z(e.locale)||_e(e.locale)?e.locale:kn,a=_e(o)?kn:o,s=Se(e.fallbackLocale)||ae(e.fallbackLocale)||z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ae(e.messages)?e.messages:Ja(a),r=ae(e.datetimeFormats)?e.datetimeFormats:Ja(a),l=ae(e.numberFormats)?e.numberFormats:Ja(a),c=Re(pe(),e.modifiers,uh()),u=e.pluralRules||pe(),f=_e(e.missing)?e.missing:null,m=le(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,k=le(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,C=!!e.fallbackFormat,S=!!e.unresolving,N=_e(e.postTranslation)?e.postTranslation:null,w=ae(e.processor)?e.processor:null,E=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,b=_e(e.messageCompiler)?e.messageCompiler:tl,y=_e(e.messageResolver)?e.messageResolver:ol||zp,L=_e(e.localeFallbacker)?e.localeFallbacker:al||ih,P=ue(e.fallbackContext)?e.fallbackContext:void 0,F=e,v=ue(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,q=ue(F.__numberFormatters)?F.__numberFormatters:new Map,re=ue(F.__meta)?F.__meta:{};ll++;const W={version:n,cid:ll,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:C,unresolving:S,postTranslation:N,processor:w,warnHtmlMessage:E,escapeParameter:_,messageCompiler:b,messageResolver:y,localeFallbacker:L,fallbackContext:P,onWarn:t,__meta:re};return W.datetimeFormats=r,W.numberFormats=l,W.__datetimeFormatters=v,W.__numberFormatters=q,__INTLIFY_PROD_DEVTOOLS__&&th(W,n,re),W}const Ja=e=>({[e]:pe()});function Xa(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return z(r)?r:t}else return t}function eo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function bh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function _h(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oyh(n,e)}function yh(e,t){const n=Mp(t);if(n==null)throw Zn(0);if(Va(n)===1){const s=Ip(n);return e.plural(s.reduce((i,r)=>[...i,cl(e,r)],[]))}else return cl(e,n)}function cl(e,t){const n=Rp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Dp(t).reduce((a,s)=>[...a,Qa(e,s)],[]);return e.normalize(o)}}function Qa(e,t){const n=Va(t);switch(n){case 3:return Jo(t,n);case 9:return Jo(t,n);case 4:{const o=t;if(rt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(rt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Zn(n)}case 5:{const o=t;if(rt(o,"i")&&$e(o.i))return e.interpolate(e.list(o.i));if(rt(o,"index")&&$e(o.index))return e.interpolate(e.list(o.index));throw Zn(n)}case 6:{const o=t,a=Fp(o),s=Op(o);return e.linked(Qa(e,s),a?Qa(e,a):void 0,e.type)}case 7:return Jo(t,n);case 8:return Jo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const ul=e=>e;let Tn=pe();function gl(e,t={}){let n=!1;const o=t.onError||rp;return t.onError=a=>{n=!0,o(a)},{...Np(e,t),detectError:n}}const Ah=(e,t)=>{if(!z(e))throw At(ct.NOT_SUPPORT_NON_STRING_MESSAGE);{le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{code:s,detectError:i}=gl(e,t),r=new Function(`return ${s}`)();return i?r:Tn[o]=r}};function Sh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&z(e)){le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{ast:s,detectError:i}=gl(e,{...t,location:!1,jit:!0}),r=Za(s);return i?r:Tn[o]=r}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Za(e))}else return Za(e)}}const dl=()=>"",Qe=e=>_e(e);function fl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=es(...t),u=le(c.missingWarn)?c.missingWarn:e.missingWarn,f=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,C=z(c.default)||le(c.default)?le(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",S=n||C!=="",N=Wa(e,c);m&&vh(c);let[w,E,_]=k?[l,N,r[N]||pe()]:pl(e,l,N,i,f,u),b=w,y=l;if(!k&&!(z(b)||yt(b)||Qe(b))&&S&&(b=C,y=b),!k&&(!(z(b)||yt(b)||Qe(b))||!z(E)))return a?Xo:l;let L=!1;const P=()=>{L=!0},F=Qe(b)?b:hl(e,l,E,b,y,P);if(L)return b;const v=$h(e,E,_,c),q=Qp(v),re=kh(e,F,q);let W=o?o(re,l):re;if(m&&z(W)&&(W=Jf(W)),__INTLIFY_PROD_DEVTOOLS__){const ne={timestamp:Date.now(),key:z(l)?l:Qe(b)?b.key:"",locale:E||(Qe(b)?b.locale:""),format:z(b)?b:Qe(b)?b.source:"",message:W};ne.meta=Re({},e.__meta,ph()||{}),nh(ne)}return W}function vh(e){Se(e.list)?e.list=e.list.map(t=>z(t)?Lr(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{z(e.named[t])&&(e.named[t]=Lr(e.named[t]))})}function pl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=pe(),m,k=null;const C="translate";for(let S=0;So;return c.locale=n,c.key=t,c}const l=i(o,Th(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function kh(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,a=pe();if(!z(t)&&!$e(t)&&!Qe(t)&&!yt(t))throw At(ct.INVALID_ARGUMENT);const s=$e(t)?String(t):(Qe(t),t);return $e(n)?a.plural=n:z(n)?a.default=n:ae(n)&&!qo(n)?a.named=n:Se(n)&&(a.list=n),$e(o)?a.plural=o:z(o)?a.default=o:ae(o)&&Re(a,o),[s,a]}function Th(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>Hf(t,n,i)}}function $h(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 C=i(n,k);if(C==null&&u){const[,,S]=pl(u,k,t,r,l,c);C=i(S,k)}if(z(C)||yt(C)){let S=!1;const w=hl(e,k,t,C,k,()=>{S=!0});return S?dl:w}else return Qe(C)?C:dl}};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 ml(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ts(...t),m=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,C=Wa(e,u),S=i(e,a,C);if(!z(l)||l==="")return new Intl.DateTimeFormat(C,f).format(c);let N={},w,E=null;const _="datetime format";for(let L=0;L{bl.includes(l)?i[l]=n[l]:s[l]=n[l]}),z(o)?s.locale=o:ae(o)&&(i=o),ae(a)&&(i=a),[s.key||"",r,s,i]}function _l(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function yl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=ns(...t),m=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,C=Wa(e,u),S=i(e,a,C);if(!z(l)||l==="")return new Intl.NumberFormat(C,f).format(c);let N={},w,E=null;const _="number format";for(let L=0;L{Al.includes(l)?i[l]=n[l]:s[l]=n[l]}),z(o)?s.locale=o:ae(o)&&(i=o),ae(a)&&(i=a),[s.key||"",r,s,i]}function Sl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Pp();/*! + */function Pp(){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 yt(e){return ue(e)&&Va(e)===0&&(rt(e,"b")||rt(e,"body"))}const xr=["b","body"];function Mp(e){return Ht(e,xr)}const jr=["c","cases"];function Ip(e){return Ht(e,jr,[])}const Br=["s","static"];function Rp(e){return Ht(e,Br)}const Kr=["i","items"];function Dp(e){return Ht(e,Kr,[])}const Ur=["t","type"];function Va(e){return Ht(e,Ur)}const Gr=["v","value"];function Jo(e,t){const n=Ht(e,Gr);if(n!=null)return n;throw Zn(t)}const zr=["m","modifier"];function Fp(e){return Ht(e,zr)}const qr=["k","key"];function Op(e){const t=Ht(e,qr);if(t)return t;throw Zn(6)}function Ht(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=Up(i),i===!1))return!1;m[1]()}};function k(){const C=e[n+1];if(o===5&&C==="'"||o===6&&C==='"')return n++,r="\\"+C,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&k())){if(l=Kp(s),f=Vt[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 Vr=new Map;function zp(e,t){return ue(e)?e[t]:null}function qp(e,t){if(!ue(e))return null;let n=Vr.get(t);if(n||(n=Gp(t),n&&Vr.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,Vp=e=>"",Wp="text",Yp=e=>e.length===0?"":ep(e),Jp=Qf;function Wr(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Xp(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 Zp(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Qp(e={}){const t=e.locale,n=Xp(e),o=ue(e.pluralRules)&&z(t)&&_e(e.pluralRules[t])?e.pluralRules[t]:Wr,a=ue(e.pluralRules)&&z(t)&&_e(e.pluralRules[t])?Wr:void 0,s=w=>w[o(n,w.length,a)],i=e.list||[],r=w=>i[w],l=e.named||pe();$e(e.pluralIndex)&&Zp(n,l);const c=w=>l[w];function u(w){const L=_e(e.messages)?e.messages(w):ue(e.messages)?e.messages[w]:!1;return L||(e.parent?e.parent.message(w):Vp)}const f=w=>e.modifiers?e.modifiers[w]:Hp,m=ae(e.processor)&&_e(e.processor.normalize)?e.processor.normalize:Yp,k=ae(e.processor)&&_e(e.processor.interpolate)?e.processor.interpolate:Jp,C=ae(e.processor)&&z(e.processor.type)?e.processor.type:Wp,N={list:r,named:c,plural:s,linked:(w,...L)=>{const[_,b]=L;let y="text",$="";L.length===1?ue(_)?($=_.modifier||$,y=_.type||y):z(_)&&($=_||$):L.length===2&&(z(_)&&($=_||$),z(b)&&(y=b||y));const P=u(w)(N),F=y==="vnode"&&Se(P)&&$?P[0]:P;return $?f($)(F,y):F},message:u,type:C,interpolate:k,normalize:m,values:Re(pe(),i,l)};return N}let Qn=null;function eh(e){Qn=e}function th(e,t,n){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const nh=oh("function:translate");function oh(e){return t=>Qn&&Qn.emit(e,t)}const ah=qa.__EXTEND_POINT__,rn=Ho(ah),sh={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()},Yr=te.__EXTEND_POINT__,ln=Ho(Yr),ct={INVALID_ARGUMENT:Yr,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 At(e){return An(e,null,void 0)}function Wa(e,t){return t.locale!=null?Jr(t.locale):Jr(e.locale)}let Ya;function Jr(e){if(z(e))return e;if(_e(e)){if(e.resolvedOnce&&Ya!=null)return Ya;if(e.constructor.name==="Function"){const t=e();if(Zf(t))throw At(ct.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ya=t}else throw At(ct.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw At(ct.NOT_SUPPORT_LOCALE_TYPE)}function ih(e,t,n){return[...new Set([n,...Se(t)?t:ue(t)?Object.keys(t):z(t)?[t]:[n]])]}function Xr(e,t,n){const o=z(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;Se(i);)i=Zr(s,i,t);const r=Se(t)||!ae(t)?t:t.default?t.default:null;i=z(r)?[r]:r,Se(i)&&Zr(s,i,!1),a.__localeChainCache.set(o,s)}return s}function Zr(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function uh(){return{upper:(e,t)=>t==="text"&&z(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&z(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&z(e)?el(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?el(e.children):e}}let tl;function nl(e){tl=e}let ol;function gh(e){ol=e}let al;function dh(e){al=e}let sl=null;const fh=e=>{sl=e},ph=()=>sl;let il=null;const rl=e=>{il=e},hh=()=>il;let ll=0;function mh(e={}){const t=_e(e.onWarn)?e.onWarn:qf,n=z(e.version)?e.version:ch,o=z(e.locale)||_e(e.locale)?e.locale:kn,a=_e(o)?kn:o,s=Se(e.fallbackLocale)||ae(e.fallbackLocale)||z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ae(e.messages)?e.messages:Ja(a),r=ae(e.datetimeFormats)?e.datetimeFormats:Ja(a),l=ae(e.numberFormats)?e.numberFormats:Ja(a),c=Re(pe(),e.modifiers,uh()),u=e.pluralRules||pe(),f=_e(e.missing)?e.missing:null,m=le(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,k=le(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,C=!!e.fallbackFormat,S=!!e.unresolving,N=_e(e.postTranslation)?e.postTranslation:null,w=ae(e.processor)?e.processor:null,L=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,b=_e(e.messageCompiler)?e.messageCompiler:tl,y=_e(e.messageResolver)?e.messageResolver:ol||zp,$=_e(e.localeFallbacker)?e.localeFallbacker:al||ih,P=ue(e.fallbackContext)?e.fallbackContext:void 0,F=e,v=ue(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,q=ue(F.__numberFormatters)?F.__numberFormatters:new Map,re=ue(F.__meta)?F.__meta:{};ll++;const W={version:n,cid:ll,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:C,unresolving:S,postTranslation:N,processor:w,warnHtmlMessage:L,escapeParameter:_,messageCompiler:b,messageResolver:y,localeFallbacker:$,fallbackContext:P,onWarn:t,__meta:re};return W.datetimeFormats=r,W.numberFormats=l,W.__datetimeFormatters=v,W.__numberFormatters=q,__INTLIFY_PROD_DEVTOOLS__&&th(W,n,re),W}const Ja=e=>({[e]:pe()});function Xa(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return z(r)?r:t}else return t}function eo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function bh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function _h(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oyh(n,e)}function yh(e,t){const n=Mp(t);if(n==null)throw Zn(0);if(Va(n)===1){const s=Ip(n);return e.plural(s.reduce((i,r)=>[...i,cl(e,r)],[]))}else return cl(e,n)}function cl(e,t){const n=Rp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Dp(t).reduce((a,s)=>[...a,Qa(e,s)],[]);return e.normalize(o)}}function Qa(e,t){const n=Va(t);switch(n){case 3:return Jo(t,n);case 9:return Jo(t,n);case 4:{const o=t;if(rt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(rt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Zn(n)}case 5:{const o=t;if(rt(o,"i")&&$e(o.i))return e.interpolate(e.list(o.i));if(rt(o,"index")&&$e(o.index))return e.interpolate(e.list(o.index));throw Zn(n)}case 6:{const o=t,a=Fp(o),s=Op(o);return e.linked(Qa(e,s),a?Qa(e,a):void 0,e.type)}case 7:return Jo(t,n);case 8:return Jo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const ul=e=>e;let Tn=pe();function gl(e,t={}){let n=!1;const o=t.onError||rp;return t.onError=a=>{n=!0,o(a)},{...Np(e,t),detectError:n}}const Ah=(e,t)=>{if(!z(e))throw At(ct.NOT_SUPPORT_NON_STRING_MESSAGE);{le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{code:s,detectError:i}=gl(e,t),r=new Function(`return ${s}`)();return i?r:Tn[o]=r}};function Sh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&z(e)){le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{ast:s,detectError:i}=gl(e,{...t,location:!1,jit:!0}),r=Za(s);return i?r:Tn[o]=r}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Za(e))}else return Za(e)}}const dl=()=>"",Qe=e=>_e(e);function fl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=es(...t),u=le(c.missingWarn)?c.missingWarn:e.missingWarn,f=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,C=z(c.default)||le(c.default)?le(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",S=n||C!=="",N=Wa(e,c);m&&vh(c);let[w,L,_]=k?[l,N,r[N]||pe()]:pl(e,l,N,i,f,u),b=w,y=l;if(!k&&!(z(b)||yt(b)||Qe(b))&&S&&(b=C,y=b),!k&&(!(z(b)||yt(b)||Qe(b))||!z(L)))return a?Xo:l;let $=!1;const P=()=>{$=!0},F=Qe(b)?b:hl(e,l,L,b,y,P);if($)return b;const v=$h(e,L,_,c),q=Qp(v),re=kh(e,F,q);let W=o?o(re,l):re;if(m&&z(W)&&(W=Jf(W)),__INTLIFY_PROD_DEVTOOLS__){const ne={timestamp:Date.now(),key:z(l)?l:Qe(b)?b.key:"",locale:L||(Qe(b)?b.locale:""),format:z(b)?b:Qe(b)?b.source:"",message:W};ne.meta=Re({},e.__meta,ph()||{}),nh(ne)}return W}function vh(e){Se(e.list)?e.list=e.list.map(t=>z(t)?Lr(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{z(e.named[t])&&(e.named[t]=Lr(e.named[t]))})}function pl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=pe(),m,k=null;const C="translate";for(let S=0;So;return c.locale=n,c.key=t,c}const l=i(o,Th(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function kh(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,a=pe();if(!z(t)&&!$e(t)&&!Qe(t)&&!yt(t))throw At(ct.INVALID_ARGUMENT);const s=$e(t)?String(t):(Qe(t),t);return $e(n)?a.plural=n:z(n)?a.default=n:ae(n)&&!qo(n)?a.named=n:Se(n)&&(a.list=n),$e(o)?a.plural=o:z(o)?a.default=o:ae(o)&&Re(a,o),[s,a]}function Th(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>Hf(t,n,i)}}function $h(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 C=i(n,k);if(C==null&&u){const[,,S]=pl(u,k,t,r,l,c);C=i(S,k)}if(z(C)||yt(C)){let S=!1;const w=hl(e,k,t,C,k,()=>{S=!0});return S?dl:w}else return Qe(C)?C:dl}};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 ml(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ts(...t),m=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,C=Wa(e,u),S=i(e,a,C);if(!z(l)||l==="")return new Intl.DateTimeFormat(C,f).format(c);let N={},w,L=null;const _="datetime format";for(let $=0;${bl.includes(l)?i[l]=n[l]:s[l]=n[l]}),z(o)?s.locale=o:ae(o)&&(i=o),ae(a)&&(i=a),[s.key||"",r,s,i]}function _l(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function yl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=ns(...t),m=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,C=Wa(e,u),S=i(e,a,C);if(!z(l)||l==="")return new Intl.NumberFormat(C,f).format(c);let N={},w,L=null;const _="number format";for(let $=0;${Al.includes(l)?i[l]=n[l]:s[l]=n[l]}),z(o)?s.locale=o:ae(o)&&(i=o),ae(a)&&(i=a),[s.key||"",r,s,i]}function Sl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Pp();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Eh="9.14.5";function Lh(){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 Ch=sh.__EXTEND_POINT__,Ft=Ho(Ch);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const vl=ct.__EXTEND_POINT__,Ge=Ho(vl),Ce={UNEXPECTED_RETURN_TYPE:vl,INVALID_ARGUMENT:Ge(),MUST_BE_CALL_SETUP_TOP:Ge(),NOT_INSTALLED:Ge(),NOT_AVAILABLE_IN_LEGACY_MODE:Ge(),REQUIRED_VALUE:Ge(),INVALID_VALUE:Ge(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ge(),NOT_INSTALLED_WITH_PROVIDE:Ge(),UNEXPECTED_ERROR:Ge(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ge(),BRIDGE_SUPPORT_VUE_2_ONLY:Ge(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ge(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ge(),__EXTEND_POINT__:Ge()};function Pe(e,...t){return An(e,null,void 0)}const os=Gt("__translateVNode"),as=Gt("__datetimeParts"),ss=Gt("__numberParts"),kl=Gt("__setPluralRules"),Tl=Gt("__injectWithOption"),is=Gt("__dispose");function to(e){if(!ue(e)||yt(e))return e;for(const t in e)if(rt(e,t))if(!t.includes("."))ue(e[t])&&to(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]||pe(),Wo(c,i[l])):Wo(c,i)}else z(r)&&Wo(JSON.parse(r),i)}),a==null&&s)for(const r in i)rt(i,r)&&to(i[r]);return i}function $l(e){return e.type}function El(e,t,n){let o=ue(t.messages)?t.messages:pe();"__i18nGlobal"in n&&(o=Zo(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 Ll(e){return Ne(qn,null,e,0)}const Cl="__INTLIFY_META__",wl=()=>[],wh=()=>!1;let Nl=0;function Pl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const Nh=()=>{const e=Mt();let t=null;return e&&(t=$l(e)[Cl])?{[Cl]:t}:null};function rs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=zo?fe:ya,r=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:z(e.locale)?e.locale:kn),u=i(n&&l?n.fallbackLocale.value:z(e.fallbackLocale)||Se(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(Zo(c.value,e)),m=i(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let C=n?n.missingWarn:le(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,S=n?n.fallbackWarn:le(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,N=n?n.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,w=!!e.fallbackFormat,E=_e(e.missing)?e.missing:null,_=_e(e.missing)?Pl(e.missing):null,b=_e(e.postTranslation)?e.postTranslation:null,y=n?n.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const P=n?n.modifiers:ae(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,v;v=(()=>{a&&rl(null);const T={version:Eh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:P,pluralRules:F,missing:_===null?void 0:_,missingWarn:C,fallbackWarn:S,fallbackFormat:w,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:y,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=m.value,T.numberFormats=k.value,T.__datetimeFormatters=ae(v)?v.__datetimeFormatters:void 0,T.__numberFormatters=ae(v)?v.__numberFormatters:void 0;const R=mh(T);return a&&rl(R),R})(),eo(v,c.value,u.value);function re(){return[c.value,u.value,f.value,m.value,k.value]}const W=he({get:()=>c.value,set:T=>{c.value=T,v.locale=c.value}}),ne=he({get:()=>u.value,set:T=>{u.value=T,v.fallbackLocale=u.value,eo(v,c.value,T)}}),Y=he(()=>f.value),D=he(()=>m.value),j=he(()=>k.value);function H(){return _e(b)?b:null}function V(T){b=T,v.postTranslation=T}function Q(){return E}function X(T){T!==null&&(_=Pl(T)),E=T,v.missing=_}const Z=(T,R,J,se,ye,Ke)=>{re();let De;try{__INTLIFY_PROD_DEVTOOLS__,a||(v.fallbackContext=n?hh():void 0),De=T(v)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(v.fallbackContext=void 0)}if(J!=="translate exists"&&$e(De)&&De===Xo||J==="translate exists"&&!De){const[cn,Cs]=R();return n&&N?se(n):ye(cn)}else{if(Ke(De))return De;throw Pe(Ce.UNEXPECTED_RETURN_TYPE)}};function ie(...T){return Z(R=>Reflect.apply(fl,null,[R,...T]),()=>es(...T),"translate",R=>Reflect.apply(R.t,R,[...T]),R=>R,R=>z(R))}function ke(...T){const[R,J,se]=T;if(se&&!ue(se))throw Pe(Ce.INVALID_ARGUMENT);return ie(R,J,Re({resolvedMessage:!0},se||{}))}function tt(...T){return Z(R=>Reflect.apply(ml,null,[R,...T]),()=>ts(...T),"datetime format",R=>Reflect.apply(R.d,R,[...T]),()=>Qr,R=>z(R))}function St(...T){return Z(R=>Reflect.apply(yl,null,[R,...T]),()=>ns(...T),"number format",R=>Reflect.apply(R.n,R,[...T]),()=>Qr,R=>z(R))}function Me(T){return T.map(R=>z(R)||$e(R)||le(R)?Ll(String(R)):R)}const We={normalize:Me,interpolate:T=>T,type:"vnode"};function Xt(...T){return Z(R=>{let J;const se=R;try{se.processor=We,J=Reflect.apply(fl,null,[se,...T])}finally{se.processor=null}return J},()=>es(...T),"translate",R=>R[os](...T),R=>[Ll(R)],R=>Se(R))}function nt(...T){return Z(R=>Reflect.apply(yl,null,[R,...T]),()=>ns(...T),"number format",R=>R[ss](...T),wl,R=>z(R)||Se(R))}function En(...T){return Z(R=>Reflect.apply(ml,null,[R,...T]),()=>ts(...T),"datetime format",R=>R[as](...T),wl,R=>z(R)||Se(R))}function p(T){F=T,v.pluralRules=F}function A(T,R){return Z(()=>{if(!T)return!1;const J=z(R)?R:c.value,se=x(J),ye=v.messageResolver(se,T);return r?ye!=null:yt(ye)||Qe(ye)||z(ye)},()=>[T],"translate exists",J=>Reflect.apply(J.te,J,[T,R]),wh,J=>le(J))}function h(T){let R=null;const J=Xr(v,u.value,c.value);for(let se=0;se{l&&(c.value=T,v.locale=T,eo(v,c.value,u.value))}),nn(n.fallbackLocale,T=>{l&&(u.value=T,v.fallbackLocale=T,eo(v,c.value,u.value))}));const B={id:Nl,locale:W,fallbackLocale:ne,get inheritLocale(){return l},set inheritLocale(T){l=T,T&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,eo(v,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return P},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return C},set missingWarn(T){C=T,v.missingWarn=C},get fallbackWarn(){return S},set fallbackWarn(T){S=T,v.fallbackWarn=S},get fallbackRoot(){return N},set fallbackRoot(T){N=T},get fallbackFormat(){return w},set fallbackFormat(T){w=T,v.fallbackFormat=w},get warnHtmlMessage(){return y},set warnHtmlMessage(T){y=T,v.warnHtmlMessage=T},get escapeParameter(){return L},set escapeParameter(T){L=T,v.escapeParameter=T},t:ie,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:U,getPostTranslationHandler:H,setPostTranslationHandler:V,getMissingHandler:Q,setMissingHandler:X,[kl]:p};return B.datetimeFormats=D,B.numberFormats=j,B.rt=ke,B.te=A,B.tm=M,B.d=tt,B.n=St,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=$,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Tl]=o,B[os]=Xt,B[as]=En,B[ss]=nt,B}function Ph(e){const t=z(e.locale)?e.locale:kn,n=z(e.fallbackLocale)||Se(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=_e(e.missing)?e.missing:void 0,a=le(e.silentTranslationWarn)||zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=le(e.silentFallbackWarn)||zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=le(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=_e(e.postTranslation)?e.postTranslation:void 0,f=z(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=le(e.sync)?e.sync:!0;let C=e.messages;if(ae(e.sharedMessages)){const L=e.sharedMessages;C=Object.keys(L).reduce((F,v)=>{const q=F[v]||(F[v]={});return Re(q,L[v]),F},C||{})}const{__i18n:S,__root:N,__injectWithOption:w}=e,E=e.datetimeFormats,_=e.numberFormats,b=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:C,flatJson:b,datetimeFormats:E,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:y,__i18n:S,__root:N,__injectWithOption:w}}function ls(e={},t){{const n=rs(Ph(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 le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=le(s)?!s:s},get silentFallbackWarn(){return le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=le(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(!z(i))throw Pe(Ce.INVALID_ARGUMENT);const m=i;return z(r)?c.locale=r:Se(r)?u=r:ae(r)&&(f=r),Se(l)?u=l:ae(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(!z(i))throw Pe(Ce.INVALID_ARGUMENT);const m=i;return z(r)?c.locale=r:$e(r)?c.plural=r:Se(r)?u=r:ae(r)&&(f=r),z(l)?c.locale=l:Se(l)?u=l:ae(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 cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Mh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Ze?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},pe())}function Ml(e){return Ze}const Il=jn({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$e(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||us({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=pe();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=z(e.plural)?+e.plural:e.plural);const r=Mh(t,s),l=a[os](e.keypath,r,i),c=Re(pe(),o),u=z(e.tag)||ue(e.tag)?e.tag:Ml();return sr(u,c,l)}}});function Ih(e){return Se(e)&&!z(e[0])}function Rl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=pe();e.locale&&(i.locale=e.locale),z(e.format)?i.key=e.format:ue(e.format)&&(z(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((m,k)=>n.includes(k)?Re(pe(),m,{[k]:e.format[k]}):m,pe()));const l=o(e.value,i,r);let c=[i.key];Se(l)?c=l.map((m,k)=>{const C=a[m.type],S=C?C({[m.type]:m.value,index:k,parts:l}):[m.value];return Ih(S)&&(S[0].key=`${m.type}-${k}`),S}):z(l)&&(c=[l]);const u=Re(pe(),s),f=z(e.tag)||ue(e.tag)?e.tag:Ml();return sr(f,u,c)}}const Dl=jn({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Rl(e,t,Al,(...o)=>n[ss](...o))}}),Fl=jn({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Rl(e,t,bl,(...o)=>n[as](...o))}});function Rh(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 Dh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw Pe(Ce.UNEXPECTED_ERROR);const u=Rh(e,r.$),f=Ol(c);return[Reflect.apply(u.t,u,[...xl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);zo&&e.global===c&&(i.__i18nWatcher=nn(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{zo&&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=Ol(r);i.textContent=Reflect.apply(l.t,l,[...xl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Ol(e){if(z(e))return{path:e};if(ae(e)){if(!("path"in e))throw Pe(Ce.REQUIRED_VALUE,"path");return e}else throw Pe(Ce.INVALID_VALUE)}function xl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return z(n)&&(i.locale=n),$e(a)&&(i.plural=a),$e(s)&&(i.plural=s),[t,r,i]}function Fh(e,t,...n){const o=ae(n[0])?n[0]:{},a=!!o.useI18nComponentName;(le(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Il.name,"I18nT"].forEach(i=>e.component(i,Il)),[Dl.name,"I18nN"].forEach(i=>e.component(i,Dl)),[Fl.name,"I18nD"].forEach(i=>e.component(i,Fl))),e.directive("t",Dh(t))}function Oh(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Pe(Ce.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=jl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ls(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=jl(e,a);else{this.$i18n=ls({__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&&El(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 Pe(Ce.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 jl(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[kl](t.pluralizationRules||e.pluralizationRules);const n=Zo(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 xh=Gt("global-vue-i18n");function jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=le(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=Bh(e,n),l=Gt("");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,...C){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),ae(C[0])){const w=C[0];m.__composerExtend=w.__composerExtend,m.__vueI18nExtend=w.__vueI18nExtend}let S=null;!n&&o&&(S=Yh(k,m.global)),__VUE_I18N_FULL_INSTALL__&&Fh(k,m,...C),__VUE_I18N_LEGACY_API__&&n&&k.mixin(Oh(r,r.__composer,m));const N=k.unmount;k.unmount=()=>{S&&S(),m.dispose(),N()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function us(e={}){const t=Mt();if(t==null)throw Pe(Ce.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Ce.NOT_INSTALLED);const n=Kh(t),o=Gh(n),a=$l(t),s=Uh(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Ce.NOT_AVAILABLE_IN_LEGACY_MODE);return Vh(t,s,o,e)}if(s==="global")return El(o,e,a),o;if(s==="parent"){let l=zh(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Re({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=rs(l),i.__composerExtend&&(r[is]=i.__composerExtend(r)),Hh(i,t,r),i.__setInstance(t,r)}return r}function Bh(e,t,n){const o=ra();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>rs(e));if(a==null)throw Pe(Ce.UNEXPECTED_ERROR);return[o,a]}}function Kh(e){{const t=Oe(e.isCE?xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Ce.NOT_INSTALLED_WITH_PROVIDE:Ce.UNEXPECTED_ERROR);return t}}function Uh(e,t){return qo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Gh(e){return e.mode==="composition"?e.global:e.global.__composer}function zh(e,t,n=!1){let o=null;const a=t.root;let s=qh(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[Tl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function qh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Hh(e,t,n){Un(()=>{},t),Io(()=>{const o=n;e.__deleteInstance(t);const a=o[is];a&&(a(),delete o[is])},t)}function Vh(e,t,n,o={}){const a=t==="local",s=ya(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Ce.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=le(o.inheritLocale)?o.inheritLocale:!z(o.locale),r=fe(!a||i?n.locale.value:z(o.locale)?o.locale:kn),l=fe(!a||i?n.fallbackLocale.value:z(o.fallbackLocale)||Se(o.fallbackLocale)||ae(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=fe(Zo(r.value,o)),u=fe(ae(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=fe(ae(o.numberFormats)?o.numberFormats:{[r.value]:{}}),m=a?n.missingWarn:le(o.missingWarn)||zt(o.missingWarn)?o.missingWarn:!0,k=a?n.fallbackWarn:le(o.fallbackWarn)||zt(o.fallbackWarn)?o.fallbackWarn:!0,C=a?n.fallbackRoot:le(o.fallbackRoot)?o.fallbackRoot:!0,S=!!o.fallbackFormat,N=_e(o.missing)?o.missing:null,w=_e(o.postTranslation)?o.postTranslation:null,E=a?n.warnHtmlMessage:le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,_=!!o.escapeParameter,b=a?n.modifiers:ae(o.modifiers)?o.modifiers:{},y=o.pluralRules||a&&n.pluralRules;function L(){return[r.value,l.value,c.value,u.value,f.value]}const P=he({get:()=>s.value?s.value.locale.value:r.value,set:h=>{s.value&&(s.value.locale.value=h),r.value=h}}),F=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),v=he(()=>s.value?s.value.messages.value:c.value),q=he(()=>u.value),re=he(()=>f.value);function W(){return s.value?s.value.getPostTranslationHandler():w}function ne(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():N}function D(h){s.value&&s.value.setMissingHandler(h)}function j(h){return L(),h()}function H(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function V(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function Q(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function X(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function Z(h){return s.value?s.value.tm(h):{}}function ie(h,M){return s.value?s.value.te(h,M):!1}function ke(h){return s.value?s.value.getLocaleMessage(h):{}}function tt(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function St(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Me(h){return s.value?s.value.getDateTimeFormat(h):{}}function ze(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function We(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Xt(h){return s.value?s.value.getNumberFormat(h):{}}function nt(h,M){s.value&&(s.value.setNumberFormat(h,M),f.value[h]=M)}function En(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const p={get id(){return s.value?s.value.id:-1},locale:P,fallbackLocale:F,messages:v,datetimeFormats:q,numberFormats:re,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:y},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:C},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:S},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:E},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:H,getPostTranslationHandler:W,setPostTranslationHandler:ne,getMissingHandler:Y,setMissingHandler:D,rt:V,d:Q,n:X,tm:Z,te:ie,getLocaleMessage:ke,setLocaleMessage:tt,mergeLocaleMessage:St,getDateTimeFormat:Me,setDateTimeFormat:ze,mergeDateTimeFormat:We,getNumberFormat:Xt,setNumberFormat:nt,mergeNumberFormat:En};function A(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=S,h.fallbackRoot=C,h.fallbackWarn=k,h.missingWarn=m,h.warnHtmlMessage=E}return Si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Ce.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&&A(h)}),p}const Wh=["locale","fallbackLocale","availableLocales"],Bl=["t","rt","d","n","tm","te"];function Yh(e,t){const n=Object.create(null);return Wh.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Pe(Ce.UNEXPECTED_ERROR);const i=ve(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,Bl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Pe(Ce.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Bl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Lh(),__INTLIFY_JIT_COMPILATION__?nl(Sh):nl(Ah),gh(qp),dh(Xr),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Jh=Object.assign({"./locales/ar/aria.json":td,"./locales/ar/buttons.json":nd,"./locales/ar/detail.json":od,"./locales/ar/legend.json":ad,"./locales/ar/messages.json":sd,"./locales/ar/options.json":id,"./locales/ar/prayerLaps.json":rd,"./locales/ar/search.json":ld,"./locales/ar/tabs.json":cd,"./locales/de/aria.json":ud,"./locales/de/buttons.json":gd,"./locales/de/detail.json":dd,"./locales/de/legend.json":fd,"./locales/de/messages.json":pd,"./locales/de/options.json":hd,"./locales/de/prayerLaps.json":md,"./locales/de/search.json":bd,"./locales/de/tabs.json":_d,"./locales/en/aria.json":yd,"./locales/en/buttons.json":Ad,"./locales/en/detail.json":Sd,"./locales/en/legend.json":vd,"./locales/en/messages.json":kd,"./locales/en/options.json":Td,"./locales/en/popup.json":$d,"./locales/en/prayerLaps.json":Ed,"./locales/en/search.json":Ld,"./locales/en/tabs.json":Cd,"./locales/es/aria.json":wd,"./locales/es/buttons.json":Nd,"./locales/es/detail.json":Pd,"./locales/es/legend.json":Md,"./locales/es/messages.json":Id,"./locales/es/options.json":Rd,"./locales/es/prayerLaps.json":Dd,"./locales/es/search.json":Fd,"./locales/es/tabs.json":Od,"./locales/fr/aria.json":xd,"./locales/fr/buttons.json":jd,"./locales/fr/detail.json":Bd,"./locales/fr/legend.json":Kd,"./locales/fr/messages.json":Ud,"./locales/fr/options.json":Gd,"./locales/fr/popup.json":zd,"./locales/fr/prayerLaps.json":qd,"./locales/fr/search.json":Hd,"./locales/fr/tabs.json":Vd,"./locales/hi/aria.json":Wd,"./locales/hi/buttons.json":Yd,"./locales/hi/detail.json":Jd,"./locales/hi/legend.json":Xd,"./locales/hi/messages.json":Zd,"./locales/hi/options.json":Qd,"./locales/hi/prayerLaps.json":ef,"./locales/hi/search.json":tf,"./locales/it/aria.json":nf,"./locales/it/buttons.json":of,"./locales/it/detail.json":af,"./locales/it/legend.json":sf,"./locales/it/messages.json":rf,"./locales/it/options.json":lf,"./locales/it/prayerLaps.json":cf,"./locales/it/search.json":uf,"./locales/pt/aria.json":gf,"./locales/pt/buttons.json":df,"./locales/pt/detail.json":ff,"./locales/pt/legend.json":pf,"./locales/pt/messages.json":hf,"./locales/pt/options.json":mf,"./locales/pt/prayerLaps.json":bf,"./locales/pt/search.json":_f,"./locales/pt/tabs.json":yf,"./locales/ro/aria.json":Af,"./locales/ro/buttons.json":Sf,"./locales/ro/detail.json":vf,"./locales/ro/legend.json":kf,"./locales/ro/messages.json":Tf,"./locales/ro/options.json":$f,"./locales/ro/prayerLaps.json":Ef,"./locales/ro/search.json":Lf,"./locales/ru/aria.json":Cf,"./locales/ru/buttons.json":wf,"./locales/ru/detail.json":Nf,"./locales/ru/legend.json":Pf,"./locales/ru/messages.json":Mf,"./locales/ru/options.json":If,"./locales/ru/prayerLaps.json":Rf,"./locales/ru/search.json":Df,"./locales/ru/tabs.json":Ff,"./locales/zh/aria.json":Of,"./locales/zh/buttons.json":xf,"./locales/zh/detail.json":jf,"./locales/zh/legend.json":Bf,"./locales/zh/messages.json":Kf,"./locales/zh/options.json":Uf,"./locales/zh/prayerLaps.json":Gf,"./locales/zh/search.json":zf}),no={};for(const[e,t]of Object.entries(Jh)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;no[o]??(no[o]={}),no[o][a]=t}const Kl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Xh(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Kl.includes(t)?t:"en"}function Zh(){return jh({legacy:!1,globalInjection:!0,locale:Xh(),fallbackLocale:"en",messages:no,missingWarn:!1,fallbackWarn:!1})}function Ul(e,t){const n=t||Qh(e);Un(()=>{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 Qh(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=he(()=>{var N;return((N=n==null?void 0:n.value)==null?void 0:N.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=fe(!1),i=fe(null);let r=null,l=null,c=null,u=null,f=null;function m(){s.value=!1}function k(N,w){var _;let E=N==null?void 0:N.parentElement;for(let b=0;E&&b<12;b++,E=E.parentElement){if(E===w||(_=E.classList)!=null&&_.contains("profile-loader"))return null;let y="";try{y=getComputedStyle(E).position}catch{}if(y&&y!=="static"){const L=E.getBoundingClientRect();if(L.height>=120&&L.width>=160)return E}}return null}function C(){const N=i.value;if(N)try{N.style.removeProperty("--pin-hint-lift");const w=N.getBoundingClientRect();if(!w.height)return;const E=Math.round(w.bottom-window.innerHeight);E>0&&N.style.setProperty("--pin-hint-lift",E+8+"px")}catch{}}function S(N){const w=i.value;if(!w||!(N!=null&&N.querySelector))return;let E=0;try{const b=N.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const y=b.getBoundingClientRect(),L=w.parentElement,P=L?L.getBoundingClientRect():null;if(E=P?Math.max(y.height||0,P.bottom-y.top):y.height||0,f!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}f=b,c=new ResizeObserver(()=>S(N)),c.observe(b)}}}catch{}const _=Math.min(Math.max(Math.ceil(E)||20,20),72);w.style.setProperty("--pin-hint-attrib-clear",_+"px"),C()}return Un(()=>{var _,b,y;const N=Mt(),w=(y=(b=(_=N==null?void 0:N.proxy)==null?void 0:_.$el)==null?void 0:b.getRootNode)==null?void 0:y.call(b);if(!w||typeof w.querySelector!="function")return;let E=0;r=setInterval(()=>{E++;const L=w.querySelector("canvas");L?(clearInterval(r),r=null,s.value=!0,Eo(()=>{const P=k(L,w),F=i.value;if(P&&F&&F.parentElement!==P)try{P.appendChild(F),l=P}catch{}S(w),C();try{const v=i.value&&i.value.offsetParent||null;if(v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>C()),u.observe(v)}}catch{}})):E>40&&(clearInterval(r),r=null)},300)}),Ea(()=>{var N;if(r&&clearInterval(r),c){try{c.disconnect()}catch{}c=null}if(f=null,u){try{u.disconnect()}catch{}u=null}if(l&&((N=i.value)==null?void 0:N.parentElement)===l)try{l.removeChild(i.value)}catch{}l=null}),Ul(` + */const Eh="9.14.5";function Lh(){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 Ch=sh.__EXTEND_POINT__,Ft=Ho(Ch);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const vl=ct.__EXTEND_POINT__,Ge=Ho(vl),Ce={UNEXPECTED_RETURN_TYPE:vl,INVALID_ARGUMENT:Ge(),MUST_BE_CALL_SETUP_TOP:Ge(),NOT_INSTALLED:Ge(),NOT_AVAILABLE_IN_LEGACY_MODE:Ge(),REQUIRED_VALUE:Ge(),INVALID_VALUE:Ge(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ge(),NOT_INSTALLED_WITH_PROVIDE:Ge(),UNEXPECTED_ERROR:Ge(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ge(),BRIDGE_SUPPORT_VUE_2_ONLY:Ge(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ge(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ge(),__EXTEND_POINT__:Ge()};function Pe(e,...t){return An(e,null,void 0)}const os=Gt("__translateVNode"),as=Gt("__datetimeParts"),ss=Gt("__numberParts"),kl=Gt("__setPluralRules"),Tl=Gt("__injectWithOption"),is=Gt("__dispose");function to(e){if(!ue(e)||yt(e))return e;for(const t in e)if(rt(e,t))if(!t.includes("."))ue(e[t])&&to(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]||pe(),Wo(c,i[l])):Wo(c,i)}else z(r)&&Wo(JSON.parse(r),i)}),a==null&&s)for(const r in i)rt(i,r)&&to(i[r]);return i}function $l(e){return e.type}function El(e,t,n){let o=ue(t.messages)?t.messages:pe();"__i18nGlobal"in n&&(o=Zo(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 Ll(e){return Ne(qn,null,e,0)}const Cl="__INTLIFY_META__",wl=()=>[],wh=()=>!1;let Nl=0;function Pl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const Nh=()=>{const e=Mt();let t=null;return e&&(t=$l(e)[Cl])?{[Cl]:t}:null};function rs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=zo?fe:ya,r=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:z(e.locale)?e.locale:kn),u=i(n&&l?n.fallbackLocale.value:z(e.fallbackLocale)||Se(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(Zo(c.value,e)),m=i(ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let C=n?n.missingWarn:le(e.missingWarn)||zt(e.missingWarn)?e.missingWarn:!0,S=n?n.fallbackWarn:le(e.fallbackWarn)||zt(e.fallbackWarn)?e.fallbackWarn:!0,N=n?n.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,w=!!e.fallbackFormat,L=_e(e.missing)?e.missing:null,_=_e(e.missing)?Pl(e.missing):null,b=_e(e.postTranslation)?e.postTranslation:null,y=n?n.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const P=n?n.modifiers:ae(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,v;v=(()=>{a&&rl(null);const T={version:Eh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:P,pluralRules:F,missing:_===null?void 0:_,missingWarn:C,fallbackWarn:S,fallbackFormat:w,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:y,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=m.value,T.numberFormats=k.value,T.__datetimeFormatters=ae(v)?v.__datetimeFormatters:void 0,T.__numberFormatters=ae(v)?v.__numberFormatters:void 0;const R=mh(T);return a&&rl(R),R})(),eo(v,c.value,u.value);function re(){return[c.value,u.value,f.value,m.value,k.value]}const W=he({get:()=>c.value,set:T=>{c.value=T,v.locale=c.value}}),ne=he({get:()=>u.value,set:T=>{u.value=T,v.fallbackLocale=u.value,eo(v,c.value,T)}}),Y=he(()=>f.value),D=he(()=>m.value),j=he(()=>k.value);function H(){return _e(b)?b:null}function V(T){b=T,v.postTranslation=T}function Q(){return L}function X(T){T!==null&&(_=Pl(T)),L=T,v.missing=_}const Z=(T,R,J,se,ye,Ke)=>{re();let De;try{__INTLIFY_PROD_DEVTOOLS__,a||(v.fallbackContext=n?hh():void 0),De=T(v)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(v.fallbackContext=void 0)}if(J!=="translate exists"&&$e(De)&&De===Xo||J==="translate exists"&&!De){const[cn,Cs]=R();return n&&N?se(n):ye(cn)}else{if(Ke(De))return De;throw Pe(Ce.UNEXPECTED_RETURN_TYPE)}};function ie(...T){return Z(R=>Reflect.apply(fl,null,[R,...T]),()=>es(...T),"translate",R=>Reflect.apply(R.t,R,[...T]),R=>R,R=>z(R))}function ke(...T){const[R,J,se]=T;if(se&&!ue(se))throw Pe(Ce.INVALID_ARGUMENT);return ie(R,J,Re({resolvedMessage:!0},se||{}))}function tt(...T){return Z(R=>Reflect.apply(ml,null,[R,...T]),()=>ts(...T),"datetime format",R=>Reflect.apply(R.d,R,[...T]),()=>Qr,R=>z(R))}function St(...T){return Z(R=>Reflect.apply(yl,null,[R,...T]),()=>ns(...T),"number format",R=>Reflect.apply(R.n,R,[...T]),()=>Qr,R=>z(R))}function Me(T){return T.map(R=>z(R)||$e(R)||le(R)?Ll(String(R)):R)}const We={normalize:Me,interpolate:T=>T,type:"vnode"};function Xt(...T){return Z(R=>{let J;const se=R;try{se.processor=We,J=Reflect.apply(fl,null,[se,...T])}finally{se.processor=null}return J},()=>es(...T),"translate",R=>R[os](...T),R=>[Ll(R)],R=>Se(R))}function nt(...T){return Z(R=>Reflect.apply(yl,null,[R,...T]),()=>ns(...T),"number format",R=>R[ss](...T),wl,R=>z(R)||Se(R))}function En(...T){return Z(R=>Reflect.apply(ml,null,[R,...T]),()=>ts(...T),"datetime format",R=>R[as](...T),wl,R=>z(R)||Se(R))}function p(T){F=T,v.pluralRules=F}function A(T,R){return Z(()=>{if(!T)return!1;const J=z(R)?R:c.value,se=x(J),ye=v.messageResolver(se,T);return r?ye!=null:yt(ye)||Qe(ye)||z(ye)},()=>[T],"translate exists",J=>Reflect.apply(J.te,J,[T,R]),wh,J=>le(J))}function h(T){let R=null;const J=Xr(v,u.value,c.value);for(let se=0;se{l&&(c.value=T,v.locale=T,eo(v,c.value,u.value))}),nn(n.fallbackLocale,T=>{l&&(u.value=T,v.fallbackLocale=T,eo(v,c.value,u.value))}));const B={id:Nl,locale:W,fallbackLocale:ne,get inheritLocale(){return l},set inheritLocale(T){l=T,T&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,eo(v,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return P},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return C},set missingWarn(T){C=T,v.missingWarn=C},get fallbackWarn(){return S},set fallbackWarn(T){S=T,v.fallbackWarn=S},get fallbackRoot(){return N},set fallbackRoot(T){N=T},get fallbackFormat(){return w},set fallbackFormat(T){w=T,v.fallbackFormat=w},get warnHtmlMessage(){return y},set warnHtmlMessage(T){y=T,v.warnHtmlMessage=T},get escapeParameter(){return $},set escapeParameter(T){$=T,v.escapeParameter=T},t:ie,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:U,getPostTranslationHandler:H,setPostTranslationHandler:V,getMissingHandler:Q,setMissingHandler:X,[kl]:p};return B.datetimeFormats=D,B.numberFormats=j,B.rt=ke,B.te=A,B.tm=M,B.d=tt,B.n=St,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=E,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Tl]=o,B[os]=Xt,B[as]=En,B[ss]=nt,B}function Ph(e){const t=z(e.locale)?e.locale:kn,n=z(e.fallbackLocale)||Se(e.fallbackLocale)||ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=_e(e.missing)?e.missing:void 0,a=le(e.silentTranslationWarn)||zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=le(e.silentFallbackWarn)||zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=le(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=_e(e.postTranslation)?e.postTranslation:void 0,f=z(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=le(e.sync)?e.sync:!0;let C=e.messages;if(ae(e.sharedMessages)){const $=e.sharedMessages;C=Object.keys($).reduce((F,v)=>{const q=F[v]||(F[v]={});return Re(q,$[v]),F},C||{})}const{__i18n:S,__root:N,__injectWithOption:w}=e,L=e.datetimeFormats,_=e.numberFormats,b=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:C,flatJson:b,datetimeFormats:L,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:y,__i18n:S,__root:N,__injectWithOption:w}}function ls(e={},t){{const n=rs(Ph(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 le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=le(s)?!s:s},get silentFallbackWarn(){return le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=le(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(!z(i))throw Pe(Ce.INVALID_ARGUMENT);const m=i;return z(r)?c.locale=r:Se(r)?u=r:ae(r)&&(f=r),Se(l)?u=l:ae(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(!z(i))throw Pe(Ce.INVALID_ARGUMENT);const m=i;return z(r)?c.locale=r:$e(r)?c.plural=r:Se(r)?u=r:ae(r)&&(f=r),z(l)?c.locale=l:Se(l)?u=l:ae(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 cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Mh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Ze?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},pe())}function Ml(e){return Ze}const Il=jn({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$e(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||us({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=pe();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=z(e.plural)?+e.plural:e.plural);const r=Mh(t,s),l=a[os](e.keypath,r,i),c=Re(pe(),o),u=z(e.tag)||ue(e.tag)?e.tag:Ml();return sr(u,c,l)}}});function Ih(e){return Se(e)&&!z(e[0])}function Rl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=pe();e.locale&&(i.locale=e.locale),z(e.format)?i.key=e.format:ue(e.format)&&(z(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((m,k)=>n.includes(k)?Re(pe(),m,{[k]:e.format[k]}):m,pe()));const l=o(e.value,i,r);let c=[i.key];Se(l)?c=l.map((m,k)=>{const C=a[m.type],S=C?C({[m.type]:m.value,index:k,parts:l}):[m.value];return Ih(S)&&(S[0].key=`${m.type}-${k}`),S}):z(l)&&(c=[l]);const u=Re(pe(),s),f=z(e.tag)||ue(e.tag)?e.tag:Ml();return sr(f,u,c)}}const Dl=jn({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Rl(e,t,Al,(...o)=>n[ss](...o))}}),Fl=jn({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Rl(e,t,bl,(...o)=>n[as](...o))}});function Rh(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 Dh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw Pe(Ce.UNEXPECTED_ERROR);const u=Rh(e,r.$),f=Ol(c);return[Reflect.apply(u.t,u,[...xl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);zo&&e.global===c&&(i.__i18nWatcher=nn(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{zo&&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=Ol(r);i.textContent=Reflect.apply(l.t,l,[...xl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Ol(e){if(z(e))return{path:e};if(ae(e)){if(!("path"in e))throw Pe(Ce.REQUIRED_VALUE,"path");return e}else throw Pe(Ce.INVALID_VALUE)}function xl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return z(n)&&(i.locale=n),$e(a)&&(i.plural=a),$e(s)&&(i.plural=s),[t,r,i]}function Fh(e,t,...n){const o=ae(n[0])?n[0]:{},a=!!o.useI18nComponentName;(le(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Il.name,"I18nT"].forEach(i=>e.component(i,Il)),[Dl.name,"I18nN"].forEach(i=>e.component(i,Dl)),[Fl.name,"I18nD"].forEach(i=>e.component(i,Fl))),e.directive("t",Dh(t))}function Oh(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Pe(Ce.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=jl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ls(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=jl(e,a);else{this.$i18n=ls({__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&&El(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 Pe(Ce.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 jl(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[kl](t.pluralizationRules||e.pluralizationRules);const n=Zo(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 xh=Gt("global-vue-i18n");function jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=le(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=Bh(e,n),l=Gt("");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,...C){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),ae(C[0])){const w=C[0];m.__composerExtend=w.__composerExtend,m.__vueI18nExtend=w.__vueI18nExtend}let S=null;!n&&o&&(S=Yh(k,m.global)),__VUE_I18N_FULL_INSTALL__&&Fh(k,m,...C),__VUE_I18N_LEGACY_API__&&n&&k.mixin(Oh(r,r.__composer,m));const N=k.unmount;k.unmount=()=>{S&&S(),m.dispose(),N()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function us(e={}){const t=Mt();if(t==null)throw Pe(Ce.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Ce.NOT_INSTALLED);const n=Kh(t),o=Gh(n),a=$l(t),s=Uh(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Ce.NOT_AVAILABLE_IN_LEGACY_MODE);return Vh(t,s,o,e)}if(s==="global")return El(o,e,a),o;if(s==="parent"){let l=zh(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Re({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=rs(l),i.__composerExtend&&(r[is]=i.__composerExtend(r)),Hh(i,t,r),i.__setInstance(t,r)}return r}function Bh(e,t,n){const o=ra();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>rs(e));if(a==null)throw Pe(Ce.UNEXPECTED_ERROR);return[o,a]}}function Kh(e){{const t=Oe(e.isCE?xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Ce.NOT_INSTALLED_WITH_PROVIDE:Ce.UNEXPECTED_ERROR);return t}}function Uh(e,t){return qo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Gh(e){return e.mode==="composition"?e.global:e.global.__composer}function zh(e,t,n=!1){let o=null;const a=t.root;let s=qh(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[Tl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function qh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Hh(e,t,n){Un(()=>{},t),Io(()=>{const o=n;e.__deleteInstance(t);const a=o[is];a&&(a(),delete o[is])},t)}function Vh(e,t,n,o={}){const a=t==="local",s=ya(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Ce.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=le(o.inheritLocale)?o.inheritLocale:!z(o.locale),r=fe(!a||i?n.locale.value:z(o.locale)?o.locale:kn),l=fe(!a||i?n.fallbackLocale.value:z(o.fallbackLocale)||Se(o.fallbackLocale)||ae(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=fe(Zo(r.value,o)),u=fe(ae(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=fe(ae(o.numberFormats)?o.numberFormats:{[r.value]:{}}),m=a?n.missingWarn:le(o.missingWarn)||zt(o.missingWarn)?o.missingWarn:!0,k=a?n.fallbackWarn:le(o.fallbackWarn)||zt(o.fallbackWarn)?o.fallbackWarn:!0,C=a?n.fallbackRoot:le(o.fallbackRoot)?o.fallbackRoot:!0,S=!!o.fallbackFormat,N=_e(o.missing)?o.missing:null,w=_e(o.postTranslation)?o.postTranslation:null,L=a?n.warnHtmlMessage:le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,_=!!o.escapeParameter,b=a?n.modifiers:ae(o.modifiers)?o.modifiers:{},y=o.pluralRules||a&&n.pluralRules;function $(){return[r.value,l.value,c.value,u.value,f.value]}const P=he({get:()=>s.value?s.value.locale.value:r.value,set:h=>{s.value&&(s.value.locale.value=h),r.value=h}}),F=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),v=he(()=>s.value?s.value.messages.value:c.value),q=he(()=>u.value),re=he(()=>f.value);function W(){return s.value?s.value.getPostTranslationHandler():w}function ne(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():N}function D(h){s.value&&s.value.setMissingHandler(h)}function j(h){return $(),h()}function H(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function V(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function Q(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function X(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function Z(h){return s.value?s.value.tm(h):{}}function ie(h,M){return s.value?s.value.te(h,M):!1}function ke(h){return s.value?s.value.getLocaleMessage(h):{}}function tt(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function St(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Me(h){return s.value?s.value.getDateTimeFormat(h):{}}function ze(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function We(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Xt(h){return s.value?s.value.getNumberFormat(h):{}}function nt(h,M){s.value&&(s.value.setNumberFormat(h,M),f.value[h]=M)}function En(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const p={get id(){return s.value?s.value.id:-1},locale:P,fallbackLocale:F,messages:v,datetimeFormats:q,numberFormats:re,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:y},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:C},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:S},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},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:H,getPostTranslationHandler:W,setPostTranslationHandler:ne,getMissingHandler:Y,setMissingHandler:D,rt:V,d:Q,n:X,tm:Z,te:ie,getLocaleMessage:ke,setLocaleMessage:tt,mergeLocaleMessage:St,getDateTimeFormat:Me,setDateTimeFormat:ze,mergeDateTimeFormat:We,getNumberFormat:Xt,setNumberFormat:nt,mergeNumberFormat:En};function A(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=S,h.fallbackRoot=C,h.fallbackWarn=k,h.missingWarn=m,h.warnHtmlMessage=L}return Si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Ce.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&&A(h)}),p}const Wh=["locale","fallbackLocale","availableLocales"],Bl=["t","rt","d","n","tm","te"];function Yh(e,t){const n=Object.create(null);return Wh.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Pe(Ce.UNEXPECTED_ERROR);const i=ve(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,Bl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Pe(Ce.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Bl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Lh(),__INTLIFY_JIT_COMPILATION__?nl(Sh):nl(Ah),gh(qp),dh(Xr),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Jh=Object.assign({"./locales/ar/aria.json":td,"./locales/ar/buttons.json":nd,"./locales/ar/detail.json":od,"./locales/ar/legend.json":ad,"./locales/ar/messages.json":sd,"./locales/ar/options.json":id,"./locales/ar/prayerLaps.json":rd,"./locales/ar/search.json":ld,"./locales/ar/tabs.json":cd,"./locales/de/aria.json":ud,"./locales/de/buttons.json":gd,"./locales/de/detail.json":dd,"./locales/de/legend.json":fd,"./locales/de/messages.json":pd,"./locales/de/options.json":hd,"./locales/de/prayerLaps.json":md,"./locales/de/search.json":bd,"./locales/de/tabs.json":_d,"./locales/en/aria.json":yd,"./locales/en/buttons.json":Ad,"./locales/en/detail.json":Sd,"./locales/en/legend.json":vd,"./locales/en/messages.json":kd,"./locales/en/options.json":Td,"./locales/en/popup.json":$d,"./locales/en/prayerLaps.json":Ed,"./locales/en/search.json":Ld,"./locales/en/tabs.json":Cd,"./locales/es/aria.json":wd,"./locales/es/buttons.json":Nd,"./locales/es/detail.json":Pd,"./locales/es/legend.json":Md,"./locales/es/messages.json":Id,"./locales/es/options.json":Rd,"./locales/es/prayerLaps.json":Dd,"./locales/es/search.json":Fd,"./locales/es/tabs.json":Od,"./locales/fr/aria.json":xd,"./locales/fr/buttons.json":jd,"./locales/fr/detail.json":Bd,"./locales/fr/legend.json":Kd,"./locales/fr/messages.json":Ud,"./locales/fr/options.json":Gd,"./locales/fr/popup.json":zd,"./locales/fr/prayerLaps.json":qd,"./locales/fr/search.json":Hd,"./locales/fr/tabs.json":Vd,"./locales/hi/aria.json":Wd,"./locales/hi/buttons.json":Yd,"./locales/hi/detail.json":Jd,"./locales/hi/legend.json":Xd,"./locales/hi/messages.json":Zd,"./locales/hi/options.json":Qd,"./locales/hi/prayerLaps.json":ef,"./locales/hi/search.json":tf,"./locales/it/aria.json":nf,"./locales/it/buttons.json":of,"./locales/it/detail.json":af,"./locales/it/legend.json":sf,"./locales/it/messages.json":rf,"./locales/it/options.json":lf,"./locales/it/prayerLaps.json":cf,"./locales/it/search.json":uf,"./locales/pt/aria.json":gf,"./locales/pt/buttons.json":df,"./locales/pt/detail.json":ff,"./locales/pt/legend.json":pf,"./locales/pt/messages.json":hf,"./locales/pt/options.json":mf,"./locales/pt/prayerLaps.json":bf,"./locales/pt/search.json":_f,"./locales/pt/tabs.json":yf,"./locales/ro/aria.json":Af,"./locales/ro/buttons.json":Sf,"./locales/ro/detail.json":vf,"./locales/ro/legend.json":kf,"./locales/ro/messages.json":Tf,"./locales/ro/options.json":$f,"./locales/ro/prayerLaps.json":Ef,"./locales/ro/search.json":Lf,"./locales/ru/aria.json":Cf,"./locales/ru/buttons.json":wf,"./locales/ru/detail.json":Nf,"./locales/ru/legend.json":Pf,"./locales/ru/messages.json":Mf,"./locales/ru/options.json":If,"./locales/ru/prayerLaps.json":Rf,"./locales/ru/search.json":Df,"./locales/ru/tabs.json":Ff,"./locales/zh/aria.json":Of,"./locales/zh/buttons.json":xf,"./locales/zh/detail.json":jf,"./locales/zh/legend.json":Bf,"./locales/zh/messages.json":Kf,"./locales/zh/options.json":Uf,"./locales/zh/prayerLaps.json":Gf,"./locales/zh/search.json":zf}),no={};for(const[e,t]of Object.entries(Jh)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;no[o]??(no[o]={}),no[o][a]=t}const Kl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Xh(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Kl.includes(t)?t:"en"}function Zh(){return jh({legacy:!1,globalInjection:!0,locale:Xh(),fallbackLocale:"en",messages:no,missingWarn:!1,fallbackWarn:!1})}function Ul(e,t){const n=t||Qh(e);Un(()=>{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 Qh(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=he(()=>{var N;return((N=n==null?void 0:n.value)==null?void 0:N.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=fe(!1),i=fe(null);let r=null,l=null,c=null,u=null,f=null;function m(){s.value=!1}function k(N,w){var _;let L=N==null?void 0:N.parentElement;for(let b=0;L&&b<12;b++,L=L.parentElement){if(L===w||(_=L.classList)!=null&&_.contains("profile-loader"))return null;let y="";try{y=getComputedStyle(L).position}catch{}if(y&&y!=="static"){const $=L.getBoundingClientRect();if($.height>=120&&$.width>=160)return L}}return null}function C(){const N=i.value;if(N)try{N.style.removeProperty("--pin-hint-lift");const w=N.getBoundingClientRect();if(!w.height)return;const L=Math.round(w.bottom-window.innerHeight);L>0&&N.style.setProperty("--pin-hint-lift",L+8+"px")}catch{}}function S(N){const w=i.value;if(!w||!(N!=null&&N.querySelector))return;let L=0;try{const b=N.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const y=b.getBoundingClientRect(),$=w.parentElement,P=$?$.getBoundingClientRect():null;if(L=P?Math.max(y.height||0,P.bottom-y.top):y.height||0,f!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}f=b,c=new ResizeObserver(()=>S(N)),c.observe(b)}}}catch{}const _=Math.min(Math.max(Math.ceil(L)||20,20),72);w.style.setProperty("--pin-hint-attrib-clear",_+"px"),C()}return Un(()=>{var _,b,y;const N=Mt(),w=(y=(b=(_=N==null?void 0:N.proxy)==null?void 0:_.$el)==null?void 0:b.getRootNode)==null?void 0:y.call(b);if(!w||typeof w.querySelector!="function")return;let L=0;r=setInterval(()=>{L++;const $=w.querySelector("canvas");$?(clearInterval(r),r=null,s.value=!0,Eo(()=>{const P=k($,w),F=i.value;if(P&&F&&F.parentElement!==P)try{P.appendChild(F),l=P}catch{}S(w),C();try{const v=i.value&&i.value.offsetParent||null;if(v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>C()),u.observe(v)}}catch{}})):L>40&&(clearInterval(r),r=null)},300)}),Ea(()=>{var N;if(r&&clearInterval(r),c){try{c.disconnect()}catch{}c=null}if(f=null,u){try{u.disconnect()}catch{}u=null}if(l&&((N=i.value)==null?void 0:N.parentElement)===l)try{l.removeChild(i.value)}catch{}l=null}),Ul(` .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,7 +68,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(N,w)=>s.value?(Ve(),wt("div",{key:0,ref_key:"hintEl",ref:i,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Le("span",em,[w[0]||(w[0]=Le("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Nt(" "+Zt(a.value)+" ",1),Le("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let nm=0;const om=za("ui",{state:()=>({_storeInstanceId:++nm,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)}))}}}),am=za("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),sm=za("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Dn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Dn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Gl={_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","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}}},im=".profile-loader[data-v-59a02aa7]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:100dvh;position:relative}.profile-error[data-v-59a02aa7]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",rm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},lm={class:"profile-loader"},cm={key:0,class:"profile-error"},um={key:1,class:"profile-error"},gm=rm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=Oe("profileConfig",null),a=he(()=>{var L;if(!n.profileConfig)return null;let y;try{y=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(y&&y.assetsBase===void 0){const P=(L=o==null?void 0:o.value)==null?void 0:L.assetsBase;typeof P=="string"&&P&&(y.assetsBase=P)}return y}),s=he(()=>{var y;return((y=a.value)==null?void 0:y.profile)||null}),i=he(()=>{var y;return((y=a.value)==null?void 0:y.tk)||""}),r=he(()=>{var y;return((y=a.value)==null?void 0:y.dataSource)||Gl.activeSource||"doxa-csv"}),l=he(()=>{var y;return((y=a.value)==null?void 0:y.colorSet)||"default"}),c=he(()=>!1),u=he(()=>{var y;return((y=a.value)==null?void 0:y.pinHint)!==!1}),f=he(()=>{var L,P;const y=(((L=a.value)==null?void 0:L.locale)||((P=a.value)==null?void 0:P.lang)||"").split("-")[0].toLowerCase();return Kl.includes(y)?y:""}),m=Oe("appI18n",null);mu(()=>{f.value&&m&&(m.global.locale.value=f.value)});const k=he(()=>{var y,L;return f.value||((L=(y=m==null?void 0:m.global)==null?void 0:y.locale)==null?void 0:L.value)||"en"}),C=he(()=>{var y;return((y=a.value)==null?void 0:y.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),S=Oe("profileModules",null);if(!S)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=he(()=>{if(!s.value)return null;const y=`./${s.value}.vue`;return S[y]?Su(S[y]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(S)),null)});mt("mapboxToken",i),mt("dataSource",r),mt("colorSet",l),mt("profileConfig",a),mt("instanceId",C),mt("lang",k);const w=om(),E=am(),_=sm();try{const y=typeof localStorage<"u"?localStorage.getItem("theme"):null;y&&((b=w.setTheme)==null||b.call(w,y))}catch{}return mt("uiStore",w),mt("mapStore",E),mt("dataStore",_),(y,L)=>(Ve(),wt("div",lm,[a.value?N.value?(Ve(),Oo(ki(N.value),{key:2})):(Ve(),wt("div",um,[Le("p",null,[L[1]||(L[1]=Nt("⚠️ Profile ",-1)),Le("strong",null,'"'+Zt(s.value)+'"',1),L[2]||(L[2]=Nt(" not found.",-1))])])):(Ve(),wt("div",cm,[...L[0]||(L[0]=[Le("p",null,[Nt("⚠️ "),Le("strong",null,"doxa-map"),Nt(": missing or invalid "),Le("code",null,"profile-config"),Nt(" prop.")],-1),Le("p",null,[Nt("Example: "),Le("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&c.value?(Ve(),Oo(ki(vo(null)),{key:3})):bn("",!0),N.value&&u.value?(Ve(),Oo(tm,{key:4})):bn("",!0)]))}},[["styles",[im]],["__scopeId","data-v-59a02aa7"]]),dm=Object.assign({"./all-people-groups.vue":()=>_c(()=>Promise.resolve().then(()=>gb),void 0)}),fm=Gg(gm,{configureApp(e){e.use(Yg());const t=Zh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",dm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",fm);const pm="rgba(120, 128, 134, 0.28)",zl="36px",ql=()=>{};function hm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return ql;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return ql;const a=E=>E.classList.contains("map-scroll-edge--left");for(const E of o)E.style.background=`linear-gradient(${a(E)?"to right":"to left"}, ${pm} ${zl}, transparent ${zl})`,E.style.opacity="0",E.style.transition="opacity 0.16s ease",E.style.userSelect="none",E.style.webkitUserSelect="none";const s=E=>{E.style.opacity="1"},i=E=>{E.style.opacity="0"},r=()=>o.find(E=>!a(E))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const E of o)l.has(E)||i(E)},m=()=>{const E=r();E&&(s(E),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),C=E=>{if(!(E.touches&&E.touches.length===1))return;const _=E.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},S=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const N=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const w=[];for(const E of o){const _=()=>{l.add(E),s(E)},b=()=>{l.delete(E),i(E)},y=()=>{c=!0,s(E)},L=()=>{c=!1,i(E)};E.addEventListener("mouseenter",_),E.addEventListener("mouseleave",b),E.addEventListener("touchstart",y,{passive:!0}),E.addEventListener("touchend",L,{passive:!0}),w.push(()=>{E.removeEventListener("mouseenter",_),E.removeEventListener("mouseleave",b),E.removeEventListener("touchstart",y),E.removeEventListener("touchend",L)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",C),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",N);for(const _ of w)_();for(const _ of o)i(_)}}const mm=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://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function bm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=mm[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Hl(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const _m=$n.mapbox.css,ym="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Am(e){const t=$n[e]||$n.mapbox;if(gs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Sm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function vm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:ym}const km=85.0511,Vl=-2,Tm=0,$m=-60;function Wl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Em(e,t,n,o){if(!e||e<=0||!t||t<=0)return Tm;const a=Math.log2(e/512),s=Wl(o)-Wl(km),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Vl,Math.min(r,(n??18)-1))}function Lm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:k=$m,maxBounds:C=void 0}){const S=ya(null),N=fe(!1);let w=null,E=null,_=null;const b=a==="maplibre";async function y(){var Q;const F=bm(n,a).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Am(a);const v=gs(a);if(!v){console.error(`[useMapInstance] ${b?"maplibregl":"mapboxgl"} is not available. Add the ${b?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!b){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Sm(e.value,b?$n.maplibre.css:_m),await new Promise(X=>requestAnimationFrame(X));const q=e.value,re=q.clientWidth,W=q.clientHeight;if(re===0||W===0){console.error(`[useMapInstance] Container has ZERO dimensions (${re}×${W}). Map will be invisible. Check that parent elements have CSS sizing.`);let X=q.parentElement,Z=0;for(;X&&Z<5;)X=X.parentElement,Z++}const ne=t;b||(v.accessToken=ne);const Y=()=>typeof window<"u"&&window.innerWidth>=1024,D=(X,Z)=>{if(!Y())return Vl;const ie=Em(X,Z,l,k);return typeof r=="number"?Math.max(r,ie):ie},j=D(q.clientWidth,q.clientHeight);if(b){S.value=new v.Map({container:e.value,style:vm(F),center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(S.value);try{e.value.__doxaMap=S.value}catch{}}else{const X=typeof o=="function"?o():o;S.value=new v.Map({accessToken:ne,container:e.value,style:F,...X?{config:X}:{},center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(S.value);try{e.value.__doxaMap=S.value}catch{}}try{let X=!1;S.value.on("error",Z=>{var tt,St;const ie=((tt=Z==null?void 0:Z.error)==null?void 0:tt.status)??(Z==null?void 0:Z.status),ke=String(((St=Z==null?void 0:Z.error)==null?void 0:St.url)||(Z==null?void 0:Z.sourceId)||"");if(!(ie!==401&&ie!==403)&&!X){X=!0,console.error(`[doxa-maps] Mapbox returned ${ie} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ke?` First failing request: ${ke.slice(0,120)}`:""));try{const Me=e.value;if(Me&&!Me.querySelector(".dx-tile-auth-note")){try{const We=getComputedStyle(Me);We&&We.position==="static"&&(Me.style.position="relative")}catch{}const ze=document.createElement("div");ze.className="dx-tile-auth-note",ze.style.cssText=["position:absolute","z-index:5","left:8px","top:8px","max-width:min(420px,calc(100% - 16px))","background:#fff","color:#3b463d","border:1px solid #d1d4cd","border-radius:8px","padding:8px 10px",'font:12px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif',"box-shadow:0 1px 4px rgba(59,70,61,0.12)","pointer-events:none"].join(";"),ze.innerHTML='Basemap tiles blocked ('+ie+')
This origin is not on the map token’s URL allow-list. The data layer above is live; only the background tiles are missing.',Me.appendChild(ze)}}catch{}}})}catch{}try{S.value.touchZoomRotate.disableRotation()}catch{}_=hm(((Q=e.value)==null?void 0:Q.parentElement)||null,{enabled:m});let H=j,V=null;w=()=>{const X=S.value;if(!X)return;const Z=D(q.clientWidth,q.clientHeight);Z!==H&&(H=Z,X.setMinZoom(Z)),X.getZoom(){V=null;const ie=S.value;if(!ie)return;const ke=D(q.clientWidth,q.clientHeight);if(ie.getZoom(){V&&(clearTimeout(V),V=null)},S.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),S.value.on("style.load",()=>{requestAnimationFrame(()=>{var X;(X=S.value)==null||X.resize(),S.value&&S.value.setMinZoom(D(q.clientWidth,q.clientHeight)),N.value=!0})})}function L(){if(S.value){if(w&&(S.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),E){try{E()}catch{}E=null}_&&(_(),_=null),S.value.remove(),S.value=null,N.value=!1}}return{map:S,isMapReady:N,initializeMap:y,destroy:L}}const Cm=["mapbox","maplibre"],Yl="mapbox";function wm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Nm(e){const t=wm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Yl).toLowerCase().trim();return Cm.includes(s)?s:Yl}const Jl="doxa-prayed-local",Pm=7*24*60*60*1e3;function Mm(){try{const e=localStorage.getItem(Jl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Im(e){try{localStorage.setItem(Jl,JSON.stringify(e))}catch{}}function Rm(){const e=Date.now(),t=Mm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Pm)&&(delete t[o],n=!0);return n&&Im(t),new Set(Object.keys(t))}function Dm(e){const t=Rm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Wt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Xl={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},ds="languageFamily",Fm="#000000",Yt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Om=Yt;function fs(e){return Yt[e]||Fm}const xm=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Yt))t[e(n)]=n;return t})();function ps(e){if(!e)return"Unknown";const t=String(e).trim();return xm[t.toLowerCase()]||t}function Zl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Yt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Ql=hs,jm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Om,PALETTE:Yt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Ql,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Yt,colors:Yt,getColor:Zl,applyColor:hs,buildColorExpression:Ql,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Zl,getLanguageFamilyColor:fs,languageFamilyColors:Yt},Symbol.toStringTag,{value:"Module"})),ec="adoptionStatus",Ot={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Bm=Ot,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Km=ms;function tc(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 bs({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 nc=bs,Um=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Bm,ADOPTION_LABELS:Km,LABELS:ms,PALETTE:Ot,PROPERTY_KEY:ec,applyColor:bs,buildColorExpression:nc,default:{name:"Adoption Progress",propertyKey:ec,palette:Ot,colors:Ot,labels:ms,getColor:tc,applyColor:bs,buildColorExpression:nc},getColor:tc},Symbol.toStringTag,{value:"Module"})),oc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Gm=xt,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},zm=_s;function ac(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 ys({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 sc=ys,qm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Gm,ENGAGEMENT_LABELS:zm,LABELS:_s,PALETTE:xt,PROPERTY_KEY:oc,applyColor:ys,buildColorExpression:sc,default:{name:"Engagement Progress",propertyKey:oc,palette:xt,colors:xt,labels:_s,getColor:ac,applyColor:ys,buildColorExpression:sc},getColor:ac},Symbol.toStringTag,{value:"Module"})),ic="peoplePraying",Qo=144,Jt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Hm=Jt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Vm=As;function ea(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Jt[ea(e)]}function rc(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 lc(e){return ea(e)==="fullPrayer"}function cc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qo],Jt.fullPrayer,[">",t,0],Jt.hasPrayer,Jt.noPrayer]}const uc=vs,Wm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qo,LABELS:As,PALETTE:Jt,PRAYER_COLORS:Hm,PRAYER_LABELS:Vm,PROPERTY_KEY:ic,applyColor:vs,buildColorExpression:uc,checkHasFullPrayer:lc,checkHasPrayer:rc,default:{name:"Prayer Progress",propertyKey:ic,palette:Jt,colors:Jt,labels:As,threshold:Qo,getColor:cc,applyColor:vs,buildColorExpression:uc,getPrayerLevel:ea,getPrayerColor:Ss,checkHasPrayer:rc,checkHasFullPrayer:lc},getColor:cc,getPrayerColor:Ss,getPrayerLevel:ea},Symbol.toStringTag,{value:"Module"})),gc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},et={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function dc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function fc(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 et[dc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",et.C,"M",et.M,"H",et.H,"B",et.B,"E",et.E,"J",et.J,"S",et.S,"N",et.N,"O",et.O,ks]}const pc=$s,Ym=Object.assign({"./adoption.js":Um,"./engagement.js":qm,"./language-family.js":jm,"./prayer-progress.js":Wm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:et,PROPERTY_KEY:gc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:pc,default:{name:"Religion",propertyKey:gc,palette:et,families:Ts,getColor:fc,applyColor:$s,buildColorExpression:pc,fallback:ks},getColor:fc,getReligionFamily:dc},Symbol.toStringTag,{value:"Module"}))}),Jm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Xm=e=>e.replace(/-/g,"_").toUpperCase(),Zm={...{STATUS:"status",CUSTOM:"custom"}};function Qm(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Jm(n);Zm[Xm(n)]=a}}Qm(Ym);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const eb=[[/ sign language$/i,"Sign Language"]];function tb(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Xl[n])return Xl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Wt[c])return Wt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Wt[u])return Wt[u]}}if(Wt[a])return Wt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Wt[i])return Wt[i];for(const[c,u]of eb)if(c.test(a))return u;return""}function nb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=P=>P}=e;o||console.error("useMapData: dataSourceManager is required!");const i=fe(!1),r=fe(null),l=fe(!1),c=fe([]),u=fe([]),f=fe(null),m=fe([]),k=fe([]),C=fe([]),S=fe(null);async function N(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const H=Es(j.language||j.primary_language);H&&(j.language=H);const V=tb(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Dm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const P=o.getDataByLanguageFamily();m.value=Object.entries(P).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();k.value=Object.entries(F).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const v={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let H=!1;D.bible==="Available"&&(v.bible.count++,v.bible.population+=j,v.bible.groups.push(D),H=!0),D.jesusFilm==="Available"&&(v.jesusFilm.count++,v.jesusFilm.population+=j,v.jesusFilm.groups.push(D),H=!0),D.radio==="Available"&&(v.radio.count++,v.radio.population+=j,v.radio.groups.push(D),H=!0),D.gospel==="Available"&&(v.gospel.count++,v.gospel.population+=j,v.gospel.groups.push(D),H=!0),D.audio==="Available"&&(v.audio.count++,v.audio.population+=j,v.audio.groups.push(D),H=!0),D.stories==="Available"&&(v.stories.count++,v.stories.population+=j,v.stories.groups.push(D),H=!0),H?(v.hasResources.count++,v.hasResources.population+=j,v.hasResources.groups.push(D)):(v.noResources.count++,v.noResources.population+=j,v.noResources.groups.push(D))});const q=u.value.length,re=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),W={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ne={bible:{count:q-v.bible.count,population:re-v.bible.population},jesusFilm:{count:q-v.jesusFilm.count,population:re-v.jesusFilm.population},radio:{count:q-v.radio.count,population:re-v.radio.population},gospel:{count:q-v.gospel.count,population:re-v.gospel.population},audio:{count:q-v.audio.count,population:re-v.audio.population},stories:{count:q-v.stories.count,population:re-v.stories.population}},Y="#2c3e50";return C.value=[{name:W.bible,key:"bible",count:v.bible.count,population:v.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ne.bible.count,population:ne.bible.population,color:Y}]},{name:W.jesusFilm,key:"jesusFilm",count:v.jesusFilm.count,population:v.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ne.jesusFilm.count,population:ne.jesusFilm.population,color:Y}]},{name:W.radio,key:"radio",count:v.radio.count,population:v.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ne.radio.count,population:ne.radio.population,color:Y}]},{name:W.gospel,key:"gospel",count:v.gospel.count,population:v.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ne.gospel.count,population:ne.gospel.population,color:Y}]},{name:W.audio,key:"audio",count:v.audio.count,population:v.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ne.audio.count,population:ne.audio.population,color:Y}]},{name:W.stories,key:"stories",count:v.stories.count,population:v.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ne.stories.count,population:ne.stories.population,color:Y}]},{name:W.hasResources,key:"hasResources",count:v.hasResources.count,population:v.hasResources.population,isParent:!0,children:[{name:W.noResources,key:"noResources",count:v.noResources.count,population:v.noResources.population,color:Y}]}],S.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:C.value,stats:S.value}}catch(P){throw console.error(`Failed to load data for map "${t}":`,P),r.value=P.message||"Failed to load data",P}finally{i.value=!1}}async function w(){var P,F,v;try{const q={},re=u.value||[];for(const W of re){const ne=W.countryIso||((F=(P=W._raw)==null?void 0:P.country_code)==null?void 0:F.value)||"",Y=(v=W._raw)==null?void 0:v.wagf_region,D=W.doxaRegion||W.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ne&&D&&!q[ne]&&(q[ne]=D)}return f.value={isoToRegion:q},f.value}catch(q){throw console.error(`Error building regions data for map "${t}":`,q),r.value=q.message||"Failed to build regions",q}}function E(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(P){return E()[P]||[]}function y(P){return _()[P]||[]}function L(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],C.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:C,stats:S,loadData:N,loadRegionsData:w,getDataByLanguageFamily:E,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:y,clearData:L}}const Ls={};function ob(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ta&&ta.tagName.toUpperCase()==="SCRIPT"&&ta.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ls==null?void 0:Ls.VITE_API_BASE_URL)||""}class hc{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=Gl,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?(Ve(),wt("div",{key:0,ref_key:"hintEl",ref:i,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Le("span",em,[w[0]||(w[0]=Le("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Nt(" "+Zt(a.value)+" ",1),Le("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let nm=0;const om=za("ui",{state:()=>({_storeInstanceId:++nm,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)}))}}}),am=za("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),sm=za("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Dn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Dn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Gl={_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","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}}},im=".profile-loader[data-v-b97f9cb6]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:100dvh;position:relative}.profile-error[data-v-b97f9cb6]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",rm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},lm={class:"profile-loader"},cm={key:0,class:"profile-error"},um={key:1,class:"profile-error"},gm=rm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=Oe("profileConfig",null),a=he(()=>{var $;if(!n.profileConfig)return null;let y;try{y=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(y&&y.assetsBase===void 0){const P=($=o==null?void 0:o.value)==null?void 0:$.assetsBase;typeof P=="string"&&P&&(y.assetsBase=P)}return y}),s=he(()=>{var y;return((y=a.value)==null?void 0:y.profile)||null}),i=he(()=>{var $;const y=($=a.value)==null?void 0:$.tk;return typeof y=="string"&&y?y:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),r=he(()=>{var y;return((y=a.value)==null?void 0:y.dataSource)||Gl.activeSource||"doxa-csv"}),l=he(()=>{var y;return((y=a.value)==null?void 0:y.colorSet)||"default"}),c=he(()=>!1),u=he(()=>{var y;return((y=a.value)==null?void 0:y.pinHint)!==!1}),f=he(()=>{var $,P;const y=((($=a.value)==null?void 0:$.locale)||((P=a.value)==null?void 0:P.lang)||"").split("-")[0].toLowerCase();return Kl.includes(y)?y:""}),m=Oe("appI18n",null);mu(()=>{f.value&&m&&(m.global.locale.value=f.value)});const k=he(()=>{var y,$;return f.value||(($=(y=m==null?void 0:m.global)==null?void 0:y.locale)==null?void 0:$.value)||"en"}),C=he(()=>{var y;return((y=a.value)==null?void 0:y.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),S=Oe("profileModules",null);if(!S)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=he(()=>{if(!s.value)return null;const y=`./${s.value}.vue`;return S[y]?Su(S[y]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(S)),null)});mt("mapboxToken",i),mt("dataSource",r),mt("colorSet",l),mt("profileConfig",a),mt("instanceId",C),mt("lang",k);const w=om(),L=am(),_=sm();try{const y=typeof localStorage<"u"?localStorage.getItem("theme"):null;y&&((b=w.setTheme)==null||b.call(w,y))}catch{}return mt("uiStore",w),mt("mapStore",L),mt("dataStore",_),(y,$)=>(Ve(),wt("div",lm,[a.value?N.value?(Ve(),Oo(ki(N.value),{key:2})):(Ve(),wt("div",um,[Le("p",null,[$[1]||($[1]=Nt("⚠️ Profile ",-1)),Le("strong",null,'"'+Zt(s.value)+'"',1),$[2]||($[2]=Nt(" not found.",-1))])])):(Ve(),wt("div",cm,[...$[0]||($[0]=[Le("p",null,[Nt("⚠️ "),Le("strong",null,"doxa-map"),Nt(": missing or invalid "),Le("code",null,"profile-config"),Nt(" prop.")],-1),Le("p",null,[Nt("Example: "),Le("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&c.value?(Ve(),Oo(ki(vo(null)),{key:3})):bn("",!0),N.value&&u.value?(Ve(),Oo(tm,{key:4})):bn("",!0)]))}},[["styles",[im]],["__scopeId","data-v-b97f9cb6"]]),dm=Object.assign({"./all-people-groups.vue":()=>_c(()=>Promise.resolve().then(()=>gb),void 0)}),fm=Gg(gm,{configureApp(e){e.use(Yg());const t=Zh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",dm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",fm);const pm="rgba(120, 128, 134, 0.28)",zl="36px",ql=()=>{};function hm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return ql;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return ql;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${pm} ${zl}, transparent ${zl})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const L of o)l.has(L)||i(L)},m=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),C=L=>{if(!(L.touches&&L.touches.length===1))return;const _=L.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},S=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const N=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const w=[];for(const L of o){const _=()=>{l.add(L),s(L)},b=()=>{l.delete(L),i(L)},y=()=>{c=!0,s(L)},$=()=>{c=!1,i(L)};L.addEventListener("mouseenter",_),L.addEventListener("mouseleave",b),L.addEventListener("touchstart",y,{passive:!0}),L.addEventListener("touchend",$,{passive:!0}),w.push(()=>{L.removeEventListener("mouseenter",_),L.removeEventListener("mouseleave",b),L.removeEventListener("touchstart",y),L.removeEventListener("touchend",$)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",C),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",N);for(const _ of w)_();for(const _ of o)i(_)}}const mm=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://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",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://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function bm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=mm[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Hl(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const _m=$n.mapbox.css,ym="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Am(e){const t=$n[e]||$n.mapbox;if(gs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Sm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function vm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:ym}const km=85.0511,Vl=-2,Tm=0,$m=-60;function Wl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Em(e,t,n,o){if(!e||e<=0||!t||t<=0)return Tm;const a=Math.log2(e/512),s=Wl(o)-Wl(km),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Vl,Math.min(r,(n??18)-1))}function Lm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:k=$m,maxBounds:C=void 0}){const S=ya(null),N=fe(!1);let w=null,L=null,_=null;const b=a==="maplibre";async function y(){var Q;const F=bm(n,a).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Am(a);const v=gs(a);if(!v){console.error(`[useMapInstance] ${b?"maplibregl":"mapboxgl"} is not available. Add the ${b?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!b){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Sm(e.value,b?$n.maplibre.css:_m),await new Promise(X=>requestAnimationFrame(X));const q=e.value,re=q.clientWidth,W=q.clientHeight;if(re===0||W===0){console.error(`[useMapInstance] Container has ZERO dimensions (${re}×${W}). Map will be invisible. Check that parent elements have CSS sizing.`);let X=q.parentElement,Z=0;for(;X&&Z<5;)X=X.parentElement,Z++}const ne=t;b||(v.accessToken=ne);const Y=()=>typeof window<"u"&&window.innerWidth>=1024,D=(X,Z)=>{if(!Y())return Vl;const ie=Em(X,Z,l,k);return typeof r=="number"?Math.max(r,ie):ie},j=D(q.clientWidth,q.clientHeight);if(b){S.value=new v.Map({container:e.value,style:vm(F),center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(S.value);try{e.value.__doxaMap=S.value}catch{}}else{const X=typeof o=="function"?o():o;S.value=new v.Map({accessToken:ne,container:e.value,style:F,...X?{config:X}:{},center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(S.value);try{e.value.__doxaMap=S.value}catch{}}try{let X=!1;S.value.on("error",Z=>{var tt,St;const ie=((tt=Z==null?void 0:Z.error)==null?void 0:tt.status)??(Z==null?void 0:Z.status),ke=String(((St=Z==null?void 0:Z.error)==null?void 0:St.url)||(Z==null?void 0:Z.sourceId)||"");if(!(ie!==401&&ie!==403)&&!X){X=!0,console.error(`[doxa-maps] Mapbox returned ${ie} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ke?` First failing request: ${ke.slice(0,120)}`:""));try{const Me=e.value;if(Me&&!Me.querySelector(".dx-tile-auth-note")){try{const We=getComputedStyle(Me);We&&We.position==="static"&&(Me.style.position="relative")}catch{}const ze=document.createElement("div");ze.className="dx-tile-auth-note",ze.style.cssText=["position:absolute","z-index:5","left:8px","top:8px","max-width:min(420px,calc(100% - 16px))","background:#fff","color:#3b463d","border:1px solid #d1d4cd","border-radius:8px","padding:8px 10px",'font:12px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif',"box-shadow:0 1px 4px rgba(59,70,61,0.12)","pointer-events:none"].join(";"),ze.innerHTML='Basemap tiles blocked ('+ie+')
This origin is not on the map token’s URL allow-list. The data layer above is live; only the background tiles are missing.',Me.appendChild(ze)}}catch{}}})}catch{}try{S.value.touchZoomRotate.disableRotation()}catch{}_=hm(((Q=e.value)==null?void 0:Q.parentElement)||null,{enabled:m});let H=j,V=null;w=()=>{const X=S.value;if(!X)return;const Z=D(q.clientWidth,q.clientHeight);Z!==H&&(H=Z,X.setMinZoom(Z)),X.getZoom(){V=null;const ie=S.value;if(!ie)return;const ke=D(q.clientWidth,q.clientHeight);if(ie.getZoom(){V&&(clearTimeout(V),V=null)},S.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),S.value.on("style.load",()=>{requestAnimationFrame(()=>{var X;(X=S.value)==null||X.resize(),S.value&&S.value.setMinZoom(D(q.clientWidth,q.clientHeight)),N.value=!0})})}function $(){if(S.value){if(w&&(S.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),L){try{L()}catch{}L=null}_&&(_(),_=null),S.value.remove(),S.value=null,N.value=!1}}return{map:S,isMapReady:N,initializeMap:y,destroy:$}}const Cm=["mapbox","maplibre"],Yl="mapbox";function wm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Nm(e){const t=wm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Yl).toLowerCase().trim();return Cm.includes(s)?s:Yl}const Jl="doxa-prayed-local",Pm=7*24*60*60*1e3;function Mm(){try{const e=localStorage.getItem(Jl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Im(e){try{localStorage.setItem(Jl,JSON.stringify(e))}catch{}}function Rm(){const e=Date.now(),t=Mm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Pm)&&(delete t[o],n=!0);return n&&Im(t),new Set(Object.keys(t))}function Dm(e){const t=Rm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Wt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Xl={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},ds="languageFamily",Fm="#000000",Yt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Om=Yt;function fs(e){return Yt[e]||Fm}const xm=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Yt))t[e(n)]=n;return t})();function ps(e){if(!e)return"Unknown";const t=String(e).trim();return xm[t.toLowerCase()]||t}function Zl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Yt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Ql=hs,jm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Om,PALETTE:Yt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Ql,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Yt,colors:Yt,getColor:Zl,applyColor:hs,buildColorExpression:Ql,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Zl,getLanguageFamilyColor:fs,languageFamilyColors:Yt},Symbol.toStringTag,{value:"Module"})),ec="adoptionStatus",Ot={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Bm=Ot,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Km=ms;function tc(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 bs({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 nc=bs,Um=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Bm,ADOPTION_LABELS:Km,LABELS:ms,PALETTE:Ot,PROPERTY_KEY:ec,applyColor:bs,buildColorExpression:nc,default:{name:"Adoption Progress",propertyKey:ec,palette:Ot,colors:Ot,labels:ms,getColor:tc,applyColor:bs,buildColorExpression:nc},getColor:tc},Symbol.toStringTag,{value:"Module"})),oc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Gm=xt,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},zm=_s;function ac(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 ys({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 sc=ys,qm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Gm,ENGAGEMENT_LABELS:zm,LABELS:_s,PALETTE:xt,PROPERTY_KEY:oc,applyColor:ys,buildColorExpression:sc,default:{name:"Engagement Progress",propertyKey:oc,palette:xt,colors:xt,labels:_s,getColor:ac,applyColor:ys,buildColorExpression:sc},getColor:ac},Symbol.toStringTag,{value:"Module"})),ic="peoplePraying",Qo=144,Jt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Hm=Jt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Vm=As;function ea(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Jt[ea(e)]}function rc(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 lc(e){return ea(e)==="fullPrayer"}function cc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qo],Jt.fullPrayer,[">",t,0],Jt.hasPrayer,Jt.noPrayer]}const uc=vs,Wm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qo,LABELS:As,PALETTE:Jt,PRAYER_COLORS:Hm,PRAYER_LABELS:Vm,PROPERTY_KEY:ic,applyColor:vs,buildColorExpression:uc,checkHasFullPrayer:lc,checkHasPrayer:rc,default:{name:"Prayer Progress",propertyKey:ic,palette:Jt,colors:Jt,labels:As,threshold:Qo,getColor:cc,applyColor:vs,buildColorExpression:uc,getPrayerLevel:ea,getPrayerColor:Ss,checkHasPrayer:rc,checkHasFullPrayer:lc},getColor:cc,getPrayerColor:Ss,getPrayerLevel:ea},Symbol.toStringTag,{value:"Module"})),gc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},et={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function dc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function fc(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 et[dc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",et.C,"M",et.M,"H",et.H,"B",et.B,"E",et.E,"J",et.J,"S",et.S,"N",et.N,"O",et.O,ks]}const pc=$s,Ym=Object.assign({"./adoption.js":Um,"./engagement.js":qm,"./language-family.js":jm,"./prayer-progress.js":Wm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:et,PROPERTY_KEY:gc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:pc,default:{name:"Religion",propertyKey:gc,palette:et,families:Ts,getColor:fc,applyColor:$s,buildColorExpression:pc,fallback:ks},getColor:fc,getReligionFamily:dc},Symbol.toStringTag,{value:"Module"}))}),Jm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Xm=e=>e.replace(/-/g,"_").toUpperCase(),Zm={...{STATUS:"status",CUSTOM:"custom"}};function Qm(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Jm(n);Zm[Xm(n)]=a}}Qm(Ym);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const eb=[[/ sign language$/i,"Sign Language"]];function tb(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Xl[n])return Xl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Wt[c])return Wt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Wt[u])return Wt[u]}}if(Wt[a])return Wt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Wt[i])return Wt[i];for(const[c,u]of eb)if(c.test(a))return u;return""}function nb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=P=>P}=e;o||console.error("useMapData: dataSourceManager is required!");const i=fe(!1),r=fe(null),l=fe(!1),c=fe([]),u=fe([]),f=fe(null),m=fe([]),k=fe([]),C=fe([]),S=fe(null);async function N(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const H=Es(j.language||j.primary_language);H&&(j.language=H);const V=tb(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Dm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const P=o.getDataByLanguageFamily();m.value=Object.entries(P).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();k.value=Object.entries(F).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const v={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let H=!1;D.bible==="Available"&&(v.bible.count++,v.bible.population+=j,v.bible.groups.push(D),H=!0),D.jesusFilm==="Available"&&(v.jesusFilm.count++,v.jesusFilm.population+=j,v.jesusFilm.groups.push(D),H=!0),D.radio==="Available"&&(v.radio.count++,v.radio.population+=j,v.radio.groups.push(D),H=!0),D.gospel==="Available"&&(v.gospel.count++,v.gospel.population+=j,v.gospel.groups.push(D),H=!0),D.audio==="Available"&&(v.audio.count++,v.audio.population+=j,v.audio.groups.push(D),H=!0),D.stories==="Available"&&(v.stories.count++,v.stories.population+=j,v.stories.groups.push(D),H=!0),H?(v.hasResources.count++,v.hasResources.population+=j,v.hasResources.groups.push(D)):(v.noResources.count++,v.noResources.population+=j,v.noResources.groups.push(D))});const q=u.value.length,re=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),W={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ne={bible:{count:q-v.bible.count,population:re-v.bible.population},jesusFilm:{count:q-v.jesusFilm.count,population:re-v.jesusFilm.population},radio:{count:q-v.radio.count,population:re-v.radio.population},gospel:{count:q-v.gospel.count,population:re-v.gospel.population},audio:{count:q-v.audio.count,population:re-v.audio.population},stories:{count:q-v.stories.count,population:re-v.stories.population}},Y="#2c3e50";return C.value=[{name:W.bible,key:"bible",count:v.bible.count,population:v.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ne.bible.count,population:ne.bible.population,color:Y}]},{name:W.jesusFilm,key:"jesusFilm",count:v.jesusFilm.count,population:v.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ne.jesusFilm.count,population:ne.jesusFilm.population,color:Y}]},{name:W.radio,key:"radio",count:v.radio.count,population:v.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ne.radio.count,population:ne.radio.population,color:Y}]},{name:W.gospel,key:"gospel",count:v.gospel.count,population:v.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ne.gospel.count,population:ne.gospel.population,color:Y}]},{name:W.audio,key:"audio",count:v.audio.count,population:v.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ne.audio.count,population:ne.audio.population,color:Y}]},{name:W.stories,key:"stories",count:v.stories.count,population:v.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ne.stories.count,population:ne.stories.population,color:Y}]},{name:W.hasResources,key:"hasResources",count:v.hasResources.count,population:v.hasResources.population,isParent:!0,children:[{name:W.noResources,key:"noResources",count:v.noResources.count,population:v.noResources.population,color:Y}]}],S.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:C.value,stats:S.value}}catch(P){throw console.error(`Failed to load data for map "${t}":`,P),r.value=P.message||"Failed to load data",P}finally{i.value=!1}}async function w(){var P,F,v;try{const q={},re=u.value||[];for(const W of re){const ne=W.countryIso||((F=(P=W._raw)==null?void 0:P.country_code)==null?void 0:F.value)||"",Y=(v=W._raw)==null?void 0:v.wagf_region,D=W.doxaRegion||W.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ne&&D&&!q[ne]&&(q[ne]=D)}return f.value={isoToRegion:q},f.value}catch(q){throw console.error(`Error building regions data for map "${t}":`,q),r.value=q.message||"Failed to build regions",q}}function L(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(P){return L()[P]||[]}function y(P){return _()[P]||[]}function $(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],C.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:C,stats:S,loadData:N,loadRegionsData:w,getDataByLanguageFamily:L,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:y,clearData:$}}const Ls={};function ob(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ta&&ta.tagName.toUpperCase()==="SCRIPT"&&ta.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ls==null?void 0:Ls.VITE_API_BASE_URL)||""}class hc{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=Gl,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=ob(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new hc;const ab={class:"apg-root"},sb={key:0,class:"apg-loading"},ib={key:1,class:"apg-error"},rb={key:2,class:"apg-legend"},lb={class:"apg-legend-sub"},cb=["onClick"],ub={class:"apg-count"},gb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ne;Ul(` .apg-root { position:absolute;inset:0;overflow:hidden; @@ -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=Oe("profileConfig"),n=Oe("mapboxToken"),o=Oe("dataSource"),a=Oe("dataStore"),s=Oe("mapStore"),i=Nm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=fe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const k=fe(null),C=fe(!1),S=fe(null),{map:N,initializeMap:w,destroy:E}=Lm({containerRef:k,accessToken:n.value,provider:i,style:((ne=t==null?void 0:t.value)==null?void 0:ne.style)??"ink",center:[20,12],zoom:1.6}),_=new hc,b=nb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let y=[],L=new Map;function P(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(Q=>{if(!Q.ok)throw new Error(`people-groups-slim.json ${Q.status}`);return Q.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(Q=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Q),[]))]),j=new Set;for(const Q of D){const X=String(Q.peopleGroupId||Q.rop3||"");X&&(j.add(X),L.has(X)||L.set(X,{slug:Q.slug||"",name:Q.name||""}))}const H=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const Q of Y.rows||[]){const X=Number(Q.Lat),Z=Number(Q.Long);if(!Number.isFinite(X)||!Number.isFinite(Z)||X===0&&Z===0)continue;const ie=f(Q,j);V[ie]++,H.push({type:"Feature",geometry:{type:"Point",coordinates:[Z,X]},properties:{name:Q.Name||"",country:Q.CountryName||"",population:Number(Q.Population)||0,gsec:Q.GSEC,evangelical:Q.EvangelicalLevel||"",language:Q.LanguageName||"",religion:Q.ReligionName||"",rop3:String(Q.ROP3Code||""),category:ie}})}return u.value=V,y=H,{type:"FeatureCollection",features:H}}function v(Y){const D=N.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const H=j.features&&j.features[0];if(!H)return;const V=H.properties,Q=V.category==="doxa"?L.get(V.rop3):null,X=l.find(ke=>ke.id===V.category),Z=Q&&Q.slug?`Pray for them →`:"",ie=i==="maplibre"?window.maplibregl:window.mapboxgl;new ie.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+`,"all-people-groups");const t=Oe("profileConfig"),n=Oe("mapboxToken"),o=Oe("dataSource"),a=Oe("dataStore"),s=Oe("mapStore"),i=Nm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=fe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const k=fe(null),C=fe(!1),S=fe(null),{map:N,initializeMap:w,destroy:L}=Lm({containerRef:k,accessToken:n.value,provider:i,style:((ne=t==null?void 0:t.value)==null?void 0:ne.style)??"ink",center:[20,12],zoom:1.6}),_=new hc,b=nb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let y=[],$=new Map;function P(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(Q=>{if(!Q.ok)throw new Error(`people-groups-slim.json ${Q.status}`);return Q.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(Q=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Q),[]))]),j=new Set;for(const Q of D){const X=String(Q.peopleGroupId||Q.rop3||"");X&&(j.add(X),$.has(X)||$.set(X,{slug:Q.slug||"",name:Q.name||""}))}const H=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const Q of Y.rows||[]){const X=Number(Q.Lat),Z=Number(Q.Long);if(!Number.isFinite(X)||!Number.isFinite(Z)||X===0&&Z===0)continue;const ie=f(Q,j);V[ie]++,H.push({type:"Feature",geometry:{type:"Point",coordinates:[Z,X]},properties:{name:Q.Name||"",country:Q.CountryName||"",population:Number(Q.Population)||0,gsec:Q.GSEC,evangelical:Q.EvangelicalLevel||"",language:Q.LanguageName||"",religion:Q.ReligionName||"",rop3:String(Q.ROP3Code||""),category:ie}})}return u.value=V,y=H,{type:"FeatureCollection",features:H}}function v(Y){const D=N.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const H=j.features&&j.features[0];if(!H)return;const V=H.properties,Q=V.category==="doxa"?$.get(V.rop3):null,X=l.find(ke=>ke.id===V.category),Z=Q&&Q.slug?`Pray for them →`:"",ie=i==="maplibre"?window.maplibregl:window.mapboxgl;new ie.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
${P(V.name)} ${P(X.label.split(" — ")[0])}
${P(V.country)} · pop ${Number(V.population).toLocaleString()}
${P(V.evangelical||"GSEC "+V.gsec)}
${P(V.language)}${V.religion?" · "+P(V.religion):""}
${Z} -
`).addTo(D)})}const q=fe(null);function re(Y){const D=N.value;if(!D||!D.getLayer("apg-pins"))return;if(q.value===Y){q.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}q.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,H=85,V=-180,Q=-85,X=0;for(const Z of y){if(Z.properties.category!==Y)continue;const[ie,ke]=Z.geometry.coordinates;ieV&&(V=ie),keQ&&(Q=ke),X++}X&&D.fitBounds([[j,H],[V,Q]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(S.value=String((D==null?void 0:D.message)||D),null));try{await w()}catch(D){S.value=String((D==null?void 0:D.message)||D);return}if(!N.value){S.value="Map failed to initialize — check token and container";return}N.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{N.value.setProjection("mercator")}catch{}v(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",N.value),C.value=!0}catch(j){S.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),E()});const W=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(Ve(),wt("div",ab,[!C.value&&!S.value?(Ve(),wt("div",sb,"Loading every people group…")):bn("",!0),S.value?(Ve(),wt("div",ib,"The map could not be loaded. "+Zt(S.value),1)):bn("",!0),Le("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),C.value?(Ve(),wt("div",rb,[D[0]||(D[0]=Le("div",{class:"apg-legend-title"},"All People Groups",-1)),Le("div",lb,Zt(W.value.toLocaleString())+" group–country locations",1),(Ve(),wt(Ze,null,Iu(l,j=>Le("div",{key:j.id,class:wn(["apg-row",{active:q.value===j.id}]),onClick:H=>re(j.id)},[Le("span",{class:"apg-dot",style:go({background:j.color})},null,4),Nt(" "+Zt(j.label)+" ",1),Le("span",ub,Zt((u.value[j.id]||0).toLocaleString()),1)],10,cb)),64)),D[1]||(D[1]=Le("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(D)})}const q=fe(null);function re(Y){const D=N.value;if(!D||!D.getLayer("apg-pins"))return;if(q.value===Y){q.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}q.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,H=85,V=-180,Q=-85,X=0;for(const Z of y){if(Z.properties.category!==Y)continue;const[ie,ke]=Z.geometry.coordinates;ieV&&(V=ie),keQ&&(Q=ke),X++}X&&D.fitBounds([[j,H],[V,Q]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(S.value=String((D==null?void 0:D.message)||D),null));try{await w()}catch(D){S.value=String((D==null?void 0:D.message)||D);return}if(!N.value){S.value="Map failed to initialize — check token and container";return}N.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{N.value.setProjection("mercator")}catch{}v(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",N.value),C.value=!0}catch(j){S.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),L()});const W=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(Ve(),wt("div",ab,[!C.value&&!S.value?(Ve(),wt("div",sb,"Loading every people group…")):bn("",!0),S.value?(Ve(),wt("div",ib,"The map could not be loaded. "+Zt(S.value),1)):bn("",!0),Le("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),C.value?(Ve(),wt("div",rb,[D[0]||(D[0]=Le("div",{class:"apg-legend-title"},"All People Groups",-1)),Le("div",lb,Zt(W.value.toLocaleString())+" group–country locations",1),(Ve(),wt(Ze,null,Iu(l,j=>Le("div",{key:j.id,class:wn(["apg-row",{active:q.value===j.id}]),onClick:H=>re(j.id)},[Le("span",{class:"apg-dot",style:go({background:j.color})},null,4),Nt(" "+Zt(j.label)+" ",1),Le("span",ub,Zt((u.value[j.id]||0).toLocaleString()),1)],10,cb)),64)),D[1]||(D[1]=Le("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); 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 23c573607..ceddcda71 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":17,"profileCount":26,"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-m7xGrV2aKB2ENxVvi1QFailIhK8oYZU9bqDh0ScqFnzgM3ddu2YRAABX/2aKWfED","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-m7xGrV2aKB2ENxVvi1QFailIhK8oYZU9bqDh0ScqFnzgM3ddu2YRAABX/2aKWfED\" 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"}]}]}; - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","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-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d\" 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":"","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-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d\" 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>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-8wo8YrQUtxQMF5YIhYJ80KqK7e0aV2QalMMc+KKtz1rbGkP5xl98hrDKRXwt3aEN","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-8wo8YrQUtxQMF5YIhYJ80KqK7e0aV2QalMMc+KKtz1rbGkP5xl98hrDKRXwt3aEN\" 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"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-gzbASCECxHgOa/Oi1LvzMTLhCHSiU5VwcG3XFfIFcZ0dfawViM44h/jkH5DBsKW8","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","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-gzbASCECxHgOa/Oi1LvzMTLhCHSiU5VwcG3XFfIFcZ0dfawViM44h/jkH5DBsKW8\" 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>"}}]}]}; - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-3grsQ3nMB2/fXlWgtmGskP1eCDxuYryxI4zYg9xN4rwvWB9BBTtvg5XI+LPLbGwY","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","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-3grsQ3nMB2/fXlWgtmGskP1eCDxuYryxI4zYg9xN4rwvWB9BBTtvg5XI+LPLbGwY\" 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>"}}]}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"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-m7xGrV2aKB2ENxVvi1QFailIhK8oYZU9bqDh0ScqFnzgM3ddu2YRAABX/2aKWfED","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-m7xGrV2aKB2ENxVvi1QFailIhK8oYZU9bqDh0ScqFnzgM3ddu2YRAABX/2aKWfED\" 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-soRngAClVe33aZ0x9qX5YGVjmOCWml6J6p7h6ZYAFgGI+fpWolApFo/Y3UZYlMBi","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-soRngAClVe33aZ0x9qX5YGVjmOCWml6J6p7h6ZYAFgGI+fpWolApFo/Y3UZYlMBi\" 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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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":"","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-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS\" 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-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","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-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d\" 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":"","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-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-PuqWKb65Gs6eoWsp8RHW+z0Uiu26qPS1lJLivmw3Hl+Zqh1q3kKq44sNrfLnavdQ","elements":["dashboard-plus-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":false,"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-PuqWKb65Gs6eoWsp8RHW+z0Uiu26qPS1lJLivmw3Hl+Zqh1q3kKq44sNrfLnavdQ\" 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-8wo8YrQUtxQMF5YIhYJ80KqK7e0aV2QalMMc+KKtz1rbGkP5xl98hrDKRXwt3aEN","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-8wo8YrQUtxQMF5YIhYJ80KqK7e0aV2QalMMc+KKtz1rbGkP5xl98hrDKRXwt3aEN\" 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-RZwhOAJ23jbKxK/lRCDOz7ggpDTuLcnY+BXl4n6R5KIE9QutGmFdqBJokVbgoduu","elements":["doxa-maps-spa"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"","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-RZwhOAJ23jbKxK/lRCDOz7ggpDTuLcnY+BXl4n6R5KIE9QutGmFdqBJokVbgoduu\" 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-gzbASCECxHgOa/Oi1LvzMTLhCHSiU5VwcG3XFfIFcZ0dfawViM44h/jkH5DBsKW8","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","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-gzbASCECxHgOa/Oi1LvzMTLhCHSiU5VwcG3XFfIFcZ0dfawViM44h/jkH5DBsKW8\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-3grsQ3nMB2/fXlWgtmGskP1eCDxuYryxI4zYg9xN4rwvWB9BBTtvg5XI+LPLbGwY","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","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-3grsQ3nMB2/fXlWgtmGskP1eCDxuYryxI4zYg9xN4rwvWB9BBTtvg5XI+LPLbGwY\" 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":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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":"","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-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI\" 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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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-JCol/vri0hsYL5ziRSlphv7jLoyhu5ZS5Ll1gREPmX0gs4zw1jmLpdIVbxqAAMie","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"","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-JCol/vri0hsYL5ziRSlphv7jLoyhu5ZS5Ll1gREPmX0gs4zw1jmLpdIVbxqAAMie\" 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-TgQEX+LPYUYcF1PcPli9N3VH1sNm9P+1SOv+EkbGBBYjcXYA6xYjJ4UPaB+1HCHU","elements":["plugin-studio"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"","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-TgQEX+LPYUYcF1PcPli9N3VH1sNm9P+1SOv+EkbGBBYjcXYA6xYjJ4UPaB+1HCHU\" 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":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-3/3qxk7dZ7OupHbgIS/ipSZ6/KilMTvtSBVVOQxUurVFnjKcWNEXQNzeM9zyc/8Y","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":false,"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-3/3qxk7dZ7OupHbgIS/ipSZ6/KilMTvtSBVVOQxUurVFnjKcWNEXQNzeM9zyc/8Y\" 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":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-OERfDCY+oHWG9Z0VYc1UMO5LGVSyKMJj6W0C+yAcb78PIJP81pkwK3HRcC0hoTkq","elements":["stack-demo"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-OERfDCY+oHWG9Z0VYc1UMO5LGVSyKMJj6W0C+yAcb78PIJP81pkwK3HRcC0hoTkq\" 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-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH","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-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH\" 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-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -97,7 +97,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-yJ0sVGmsUcb3gPQWAS+Cn1OYiS1s3rHC+tQ3dWvVi9B+AnW0kDWAz7GRQj80owjr", + "integrity": "sha384-TxqECrIH9paOxCxEJOSIPPJ0iOGlOh/Dp01NQ9WcJQ6Gu5K2pB7IP2NXw6tqOTbS", "elements": [ "cities-internet-map" ], @@ -113,7 +113,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -127,7 +127,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -141,7 +141,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -150,7 +150,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-odkz075XSc+3oUEx32CPP5QxGLTw1/3wcbcxPYQFpy7rDDBQmfGcjxdQC6DhQfpZ", + "integrity": "sha384-YXyhYfLN7tY0z5pWCvJWf9Rc2wN8tpWRG2AXbCmCKvARLUzssBqDTkGOc3Wb+g9d", "elements": [ "country-posters-map" ], @@ -166,7 +166,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -180,7 +180,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -229,7 +229,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-pwSG/lYphcR+wqTxDCj+4WTWZeMGEpBShuQp1RcO0QYAtbEWVraqVDOav36V94gB", + "integrity": "sha384-8wo8YrQUtxQMF5YIhYJ80KqK7e0aV2QalMMc+KKtz1rbGkP5xl98hrDKRXwt3aEN", "elements": [ "demo-map" ], @@ -245,7 +245,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -315,7 +315,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-cqyf3NPKNvkJiNiqL9Qvn5W0rXaNkd0RiVc/jIz7E9e31oGgTewQr7ky2UXC5rm3", + "integrity": "sha384-gzbASCECxHgOa/Oi1LvzMTLhCHSiU5VwcG3XFfIFcZ0dfawViM44h/jkH5DBsKW8", "elements": [ "doxa-research-map" ], @@ -331,7 +331,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -340,7 +340,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-yfsZg4aNn4KcFIiRi6rdQQhi54kO0YeRQqS2Rhr8u5si5R7bPKKCicit6rxEM1i0", + "integrity": "sha384-3grsQ3nMB2/fXlWgtmGskP1eCDxuYryxI4zYg9xN4rwvWB9BBTtvg5XI+LPLbGwY", "elements": [ "doxa-map", "doxa-simple-map" @@ -357,7 +357,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -515,7 +515,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-VasOnZqHGOoSn2fZ/DLgixohssHYSs5BywpD80zv5Cx/6CDl1FKAjbQShO1XeVi2", + "integrity": "sha384-AyMRDqYNDLShkHxHQAWRlGIPRlnfmG1S565v8hz+mCbGxQuc6WqRDiweBUTk86VI", "elements": [ "gospel-resources-map" ], @@ -531,7 +531,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -545,7 +545,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -559,7 +559,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -573,7 +573,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -582,7 +582,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-jktRBzbB1yStOcFFw1nbXi3MpGyy/tKFy7bgVb/Hl9qoRKGsfs3Ff7Uyr/6IDHxZ", + "integrity": "sha384-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI", "elements": [ "my-upg-100-list-map" ], @@ -598,7 +598,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -612,7 +612,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -626,7 +626,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -739,7 +739,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-aLEOzDhgUmd1hOf82UvDb04nXhP1GHVc1148R93tKCv1P7TR5dGhg4s2pv+1a1nE", + "integrity": "sha384-3/3qxk7dZ7OupHbgIS/ipSZ6/KilMTvtSBVVOQxUurVFnjKcWNEXQNzeM9zyc/8Y", "elements": [ "research-dashboard-map" ], @@ -755,7 +755,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -805,7 +805,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-7ApSIAnCmmGa6Wg4lefHjchOHAuYh5BnvyNsWCs3nSofBShU06f7tuddaGON7rrr", + "integrity": "sha384-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH", "elements": [ "template-bundle" ], @@ -821,7 +821,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -836,7 +836,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/index.html b/public/doxa-maps/my-upg-100-list/index.html index 02ba01375..2725c210d 100644 --- a/public/doxa-maps/my-upg-100-list/index.html +++ b/public/doxa-maps/my-upg-100-list/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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":"","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-kp9nHCASuuYGJTAlEJ4gHkCUr9YrbLOHweqkWiyngdBAaDmVsUtOjafvDSBmUSZI\" 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>"}}]}]}; - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-3/3qxk7dZ7OupHbgIS/ipSZ6/KilMTvtSBVVOQxUurVFnjKcWNEXQNzeM9zyc/8Y","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":false,"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-3/3qxk7dZ7OupHbgIS/ipSZ6/KilMTvtSBVVOQxUurVFnjKcWNEXQNzeM9zyc/8Y\" 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"}]}]}; - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":17,"profileCount":26,"bundles":[{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH","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-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH\" 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-aIcrWHM2nmCSPqnMA+9xMC8jfc5ynJ+/eFCrR+WwZcQViaXErkZEjzV2fw/p8IoH\" 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"}]}]}; - + - +