From 2d8361a4a08ad770a9d8c7435db7b11480664268 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 04:31:39 +0000 Subject: [PATCH 1/4] feat(country-posters): two-tab element, reusing the shared view switcher MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Driver: "Country Posters is supposed to have two tabs, structured like the UPG-100 list." ★ THE CARD'S REAL POINT WAS THE CONTROL, and it was already settled: this is the THIRD consumer of the SELECT VIEW switcher, and library/components/ViewSelect.vue already exists precisely because a third hand-rolled copy was imminent — its own header says a fourth divergent copy is not what the library is for. So this element imports the shared component rather than adding one, and the whole feature is one new profile following an established shape. country-posters-mfe.vue mirrors upg-100-mfe deliberately (index.js already records that this bundle is "the same shape as my-upg-100-list"): the pane-wrapper column, each pane under its own ProfileLoader/Pinia, one ShareButton in the header sharing the COMPOSITE leaf — not a child, which is the BUG-SHARE-FROM-CAP4-COMPOSITE bug this pattern already paid for. LIST FIRST, MAP SECOND, per the Driver's principle that maps are a secondary view: the poster wall is the concrete artefact a newcomer can act on, the map is where it gets placed. Pane order lives in at[0] and in the array, because buildPaneColumn sorts by at[0] while ViewSelect renders the array verbatim — desynchronising them is a recorded trap. It also CLOSES A DEAD SEAM. country-poster-wall has dispatched 'doxa-country-posters:show-on-map' since it was written, but only the app shell listened — so in a dropped embed or a nested composite the action fired into a document with no handler and did nothing. This shell owns the event and swaps to the map tab, which is what makes the two tabs one element rather than two pages that share a bundle. Verified in a browser by the new check:mfe-two-tab: host 900px, tabs "Country Posters | Map", both panes mounted at 1280x843, exactly one share affordance, zero page errors. The same gate passes unchanged on upg-100-mfe and regions-mfe, so the three composites are now held to one contract. --- .../country-posters-mfe.meta.json | 12 ++ .../country-posters/country-posters-mfe.vue | 200 ++++++++++++++++++ .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters-mfe/index.html | 182 ++++++++++++++++ .../country-posters/country-posters.js | 179 +++++++++++----- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 98 +++++---- 8 files changed, 580 insertions(+), 97 deletions(-) create mode 100644 plugin-designs/country-posters/country-posters-mfe.meta.json create mode 100644 plugin-designs/country-posters/country-posters-mfe.vue create mode 100644 public/doxa-maps/country-posters/country-posters-mfe/index.html diff --git a/plugin-designs/country-posters/country-posters-mfe.meta.json b/plugin-designs/country-posters/country-posters-mfe.meta.json new file mode 100644 index 000000000..54f667b46 --- /dev/null +++ b/plugin-designs/country-posters/country-posters-mfe.meta.json @@ -0,0 +1,12 @@ +{ + "type": "nested-elements-mfe", + "label": "Country Posters — Wall + Map", + "composes": [ + "country-posters/country-poster-wall", + "country-posters/countries-map" + ], + "note": "The Driver's 2-tab Country Posters element, structured like my-upg-100-list/upg-100-mfe: a SELECT VIEW switcher (the SHARED library/components/ViewSelect.vue — this is its THIRD consumer, which is why it was extracted rather than copied a third time) over Country Posters at [0,0] and Map at [1,0]. LIST FIRST, MAP SECOND per the Driver's principle that maps are a secondary view. The wall already dispatches 'doxa-country-posters:show-on-map' (country-poster-wall.vue:78); until now only the app shell listened, so the action did nothing in a dropped embed — this shell owns it and swaps to the map tab. pinHint:false: the cloned panes carry no coach-mark, and the composite must declare it because a pane's config comes from here, not from the child's own meta. One ShareButton in the header, sharing the COMPOSITE leaf, per the recorded share policy.", + "config": { + "pinHint": false + } +} diff --git a/plugin-designs/country-posters/country-posters-mfe.vue b/plugin-designs/country-posters/country-posters-mfe.vue new file mode 100644 index 000000000..5b9fc0350 --- /dev/null +++ b/plugin-designs/country-posters/country-posters-mfe.vue @@ -0,0 +1,200 @@ + + + diff --git a/public/doxa-maps/country-posters/countries-map/index.html b/public/doxa-maps/country-posters/countries-map/index.html index 0aad9570e..e59dbd284 100644 --- a/public/doxa-maps/country-posters/countries-map/index.html +++ b/public/doxa-maps/country-posters/countries-map/index.html @@ -29,7 +29,7 @@ - + - + + + + + +
+
loading token…
+ + + + + + + + diff --git a/public/doxa-maps/country-posters/country-posters.js b/public/doxa-maps/country-posters/country-posters.js index ae86fced5..9f4fe50d4 100644 --- a/public/doxa-maps/country-posters/country-posters.js +++ b/public/doxa-maps/country-posters/country-posters.js @@ -1,46 +1,46 @@ -(function(){"use strict";var pf;var On=typeof document<"u"?document.currentScript:null;const h3="modulepreload",m3=function(e){return"/"+e},b3={},Ut=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})},$s="affinityBlock",Dn="#95a5a6",To={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf"},ur={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000"},Jo=ur,ql=Object.entries(To).reduce((e,[t,o])=>(e[o]=t,e),{}),Es=Object.entries(To).reduce((e,[t,o])=>(e[o]=Jo[t],e),{}),Wl=To;function Ps(e){return To[e]||"Unknown"}function Ts(e){return Jo[e]||Dn}function Yl(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Jo[e]||Dn:Es[e]||Dn:Dn}function Xl(){return Object.entries(To).map(([e,t])=>({code:e,name:t,color:Jo[e]}))}function Jl(e){return{code:e,name:To[e]||"Unknown",color:Jo[e]||Dn}}function Zl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Ts(t)}function Ql(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Ps(t)}function Ns(){const e=["match",["get",$s]];return Object.entries(Jo).forEach(([t,o])=>{e.push(t,o)}),e.push(Dn),e}const ec=Ns,Ef=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Jo,AFFINITY_BLOCK_COLORS_BY_NAME:Es,AFFINITY_BLOCK_NAMES:To,AFFINITY_BLOCK_NAME_TO_CODE:ql,NAMES:Wl,PALETTE:ur,PROPERTY_KEY:$s,affinityBlockCodeLookup:To,affinityBlockCodeToColor:Jo,affinityBlockCodeToName:To,affinityBlockColors:Es,affinityBlockNameToCode:ql,applyColor:Ns,buildColorExpression:ec,default:{name:"Affinity Block",propertyKey:$s,palette:ur,colors:ur,names:Wl,getColor:Zl,applyColor:Ns,buildColorExpression:ec,getName:Ql,getAffinityBlockName:Ps,getAffinityBlockColor:Yl,getAffinityBlockColorByCode:Ts,getAffinityBlocksArray:Xl,getAffinityBlockData:Jl},getAffinityBlockColor:Yl,getAffinityBlockColorByCode:Ts,getAffinityBlockData:Jl,getAffinityBlockName:Ps,getAffinityBlocksArray:Xl,getColor:Zl,getName:Ql},Symbol.toStringTag,{value:"Module"}));function Pf(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Ms),e}const ac=Os,Nf=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Tf,PALETTE:dr,PROPERTY_KEY:Rs,REGION_COLOR_ALIASES:Fs,SLUG_PALETTE:pr,applyColor:Os,buildColorExpression:ac,default:{name:"DOXA Region",propertyKey:Rs,palette:dr,colors:dr,slugColors:pr,aliases:Fs,fallback:Ms,getColor:nc,applyColor:Os,buildColorExpression:ac,getRegionColor:oc,getRegionColorBySlug:Is},getColor:nc,getRegionColor:oc,getRegionColorBySlug:Is},Symbol.toStringTag,{value:"Module"})),rc="resourceType",Zo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Rf=Zo,ga=["bible","jesusFilm","radio","gospel","audio","stories"],Ds={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Mf=Ds;function fa(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function sc(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return Zo.hasResources;return Zo.noResources}function ic(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return!0;return!1}function lc(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return o;return"noResources"}function Bs(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],Zo.hasResources,Zo.noResources]}const cc=Bs,If=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Ds,PALETTE:Zo,PROPERTY_KEY:rc,RESOURCE_COLORS:Rf,RESOURCE_NAMES:Mf,RESOURCE_PRIORITY:ga,applyColor:Bs,buildColorExpression:cc,default:{name:"Gospel Resources",propertyKey:rc,palette:Zo,colors:Zo,names:Ds,priority:ga,getColor:sc,applyColor:Bs,buildColorExpression:cc,hasAnyResource:ic,getResourceType:lc,getCSVColumn:fa},getCSVColumn:fa,getColor:sc,getResourceType:lc,hasAnyResource:ic},Symbol.toStringTag,{value:"Module"}));/** +(function(){"use strict";var gf;var On=typeof document<"u"?document.currentScript:null;const w3="modulepreload",A3=function(e){return"/"+e},S3={},jt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})},$s="affinityBlock",Dn="#95a5a6",To={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf"},ur={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000"},Jo=ur,ql=Object.entries(To).reduce((e,[t,o])=>(e[o]=t,e),{}),Es=Object.entries(To).reduce((e,[t,o])=>(e[o]=Jo[t],e),{}),Wl=To;function Ps(e){return To[e]||"Unknown"}function Ts(e){return Jo[e]||Dn}function Yl(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Jo[e]||Dn:Es[e]||Dn:Dn}function Xl(){return Object.entries(To).map(([e,t])=>({code:e,name:t,color:Jo[e]}))}function Jl(e){return{code:e,name:To[e]||"Unknown",color:Jo[e]||Dn}}function Zl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Ts(t)}function Ql(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Ps(t)}function Ns(){const e=["match",["get",$s]];return Object.entries(Jo).forEach(([t,o])=>{e.push(t,o)}),e.push(Dn),e}const ec=Ns,Pf=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Jo,AFFINITY_BLOCK_COLORS_BY_NAME:Es,AFFINITY_BLOCK_NAMES:To,AFFINITY_BLOCK_NAME_TO_CODE:ql,NAMES:Wl,PALETTE:ur,PROPERTY_KEY:$s,affinityBlockCodeLookup:To,affinityBlockCodeToColor:Jo,affinityBlockCodeToName:To,affinityBlockColors:Es,affinityBlockNameToCode:ql,applyColor:Ns,buildColorExpression:ec,default:{name:"Affinity Block",propertyKey:$s,palette:ur,colors:ur,names:Wl,getColor:Zl,applyColor:Ns,buildColorExpression:ec,getName:Ql,getAffinityBlockName:Ps,getAffinityBlockColor:Yl,getAffinityBlockColorByCode:Ts,getAffinityBlocksArray:Xl,getAffinityBlockData:Jl},getAffinityBlockColor:Yl,getAffinityBlockColorByCode:Ts,getAffinityBlockData:Jl,getAffinityBlockName:Ps,getAffinityBlocksArray:Xl,getColor:Zl,getName:Ql},Symbol.toStringTag,{value:"Module"}));function Tf(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Ms),e}const ac=Os,Rf=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Nf,PALETTE:dr,PROPERTY_KEY:Rs,REGION_COLOR_ALIASES:Fs,SLUG_PALETTE:pr,applyColor:Os,buildColorExpression:ac,default:{name:"DOXA Region",propertyKey:Rs,palette:dr,colors:dr,slugColors:pr,aliases:Fs,fallback:Ms,getColor:nc,applyColor:Os,buildColorExpression:ac,getRegionColor:oc,getRegionColorBySlug:Is},getColor:nc,getRegionColor:oc,getRegionColorBySlug:Is},Symbol.toStringTag,{value:"Module"})),rc="resourceType",Zo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Mf=Zo,ga=["bible","jesusFilm","radio","gospel","audio","stories"],Ds={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},If=Ds;function fa(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function sc(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return Zo.hasResources;return Zo.noResources}function ic(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return!0;return!1}function lc(e){var t;for(const o of ga)if((e[o]||((t=e._raw)==null?void 0:t[fa(o)]))==="Available")return o;return"noResources"}function Bs(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],Zo.hasResources,Zo.noResources]}const cc=Bs,Ff=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Ds,PALETTE:Zo,PROPERTY_KEY:rc,RESOURCE_COLORS:Mf,RESOURCE_NAMES:If,RESOURCE_PRIORITY:ga,applyColor:Bs,buildColorExpression:cc,default:{name:"Gospel Resources",propertyKey:rc,palette:Zo,colors:Zo,names:Ds,priority:ga,getColor:sc,applyColor:Bs,buildColorExpression:cc,hasAnyResource:ic,getResourceType:lc,getCSVColumn:fa},getCSVColumn:fa,getColor:sc,getResourceType:lc,hasAnyResource:ic},Symbol.toStringTag,{value:"Module"}));/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Gs(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const ot={},Bn=[],fo=()=>{},uc=()=>!1,gr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fr=e=>e.startsWith("onUpdate:"),pt=Object.assign,js=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Ff=Object.prototype.hasOwnProperty,Je=(e,t)=>Ff.call(e,t),Ee=Array.isArray,Qo=e=>ha(e)==="[object Map]",No=e=>ha(e)==="[object Set]",dc=e=>ha(e)==="[object Date]",Ie=e=>typeof e=="function",at=e=>typeof e=="string",Kt=e=>typeof e=="symbol",Ze=e=>e!==null&&typeof e=="object",pc=e=>(Ze(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),gc=Object.prototype.toString,ha=e=>gc.call(e),Of=e=>ha(e).slice(8,-1),hr=e=>ha(e)==="[object Object]",mr=e=>at(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ma=Gs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),br=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Df=/-\w/g,wt=br(e=>e.replace(Df,t=>t.slice(1).toUpperCase())),Bf=/\B([A-Z])/g,Jt=br(e=>e.replace(Bf,"-$1").toLowerCase()),yr=br(e=>e.charAt(0).toUpperCase()+e.slice(1)),zs=br(e=>e?`on${yr(e)}`:""),ho=(e,t)=>!Object.is(e,t),vr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},_r=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=at(e)?Number(e):NaN;return isNaN(t)?e:t};let hc;const xr=()=>hc||(hc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ke(e){if(Ee(e)){const t={};for(let o=0;o{if(o){const n=o.split(jf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Pe(e){let t="";if(at(e))t=e;else if(Ee(e))for(let o=0;oRo(o,t))}const yc=e=>!!(e&&e.__v_isRef===!0),me=e=>at(e)?e:e==null?"":Ee(e)||Ze(e)&&(e.toString===gc||!Ie(e.toString))?yc(e)?me(e.value):JSON.stringify(e,vc,2):String(e),vc=(e,t)=>yc(t)?vc(e,t.value):Qo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Hs(n,r)+" =>"]=a,o),{})}:No(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Hs(o))}:Kt(t)?Hs(t):Ze(t)&&!Ee(t)&&!hr(t)?String(t):t,Hs=(e,t="")=>{var o;return Kt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Gs(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const ot={},Bn=[],fo=()=>{},uc=()=>!1,gr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),fr=e=>e.startsWith("onUpdate:"),pt=Object.assign,js=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Of=Object.prototype.hasOwnProperty,Ze=(e,t)=>Of.call(e,t),$e=Array.isArray,Qo=e=>ha(e)==="[object Map]",No=e=>ha(e)==="[object Set]",dc=e=>ha(e)==="[object Date]",Fe=e=>typeof e=="function",at=e=>typeof e=="string",Kt=e=>typeof e=="symbol",Qe=e=>e!==null&&typeof e=="object",pc=e=>(Qe(e)||Fe(e))&&Fe(e.then)&&Fe(e.catch),gc=Object.prototype.toString,ha=e=>gc.call(e),Df=e=>ha(e).slice(8,-1),hr=e=>ha(e)==="[object Object]",mr=e=>at(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ma=Gs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),br=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Bf=/-\w/g,kt=br(e=>e.replace(Bf,t=>t.slice(1).toUpperCase())),Gf=/\B([A-Z])/g,Qt=br(e=>e.replace(Gf,"-$1").toLowerCase()),yr=br(e=>e.charAt(0).toUpperCase()+e.slice(1)),zs=br(e=>e?`on${yr(e)}`:""),ho=(e,t)=>!Object.is(e,t),vr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},_r=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=at(e)?Number(e):NaN;return isNaN(t)?e:t};let hc;const xr=()=>hc||(hc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function We(e){if($e(e)){const t={};for(let o=0;o{if(o){const n=o.split(zf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ee(e){let t="";if(at(e))t=e;else if($e(e))for(let o=0;oRo(o,t))}const yc=e=>!!(e&&e.__v_isRef===!0),he=e=>at(e)?e:e==null?"":$e(e)||Qe(e)&&(e.toString===gc||!Fe(e.toString))?yc(e)?he(e.value):JSON.stringify(e,vc,2):String(e),vc=(e,t)=>yc(t)?vc(e,t.value):Qo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Hs(n,r)+" =>"]=a,o),{})}:No(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Hs(o))}:Kt(t)?Hs(t):Qe(t)&&!$e(t)&&!hr(t)?String(t):t,Hs=(e,t="")=>{var o;return Kt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let vt;class _c{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&&vt&&(vt.active?(this.parent=vt,this.index=(vt.scopes||(vt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(vt===this)vt=this.prevScope;else{let t=vt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(ya){let t=ya;for(ya=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ba;){let t=ba;for(ba=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Sc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Cc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Js(n),qf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Xs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Lc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Lc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===va)||(e.globalVersion=va,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xs(e))))return;e.flags|=2;const t=e.dep,o=rt,n=so;rt=e,so=!0;try{Sc(e);const a=e.fn(e._value);(t.version===0||ho(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{rt=o,so=n,Cc(e),e.flags&=-3}}function Js(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Js(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function qf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let so=!0;const $c=[];function mo(){$c.push(so),so=!1}function bo(){const e=$c.pop();so=e===void 0?!0:e}function Ec(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=rt;rt=void 0;try{t()}finally{rt=o}}}let va=0;class Wf{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Zs{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(!rt||!so||rt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==rt)o=this.activeLink=new Wf(rt,this),rt.deps?(o.prevDep=rt.depsTail,rt.depsTail.nextDep=o,rt.depsTail=o):rt.deps=rt.depsTail=o,Pc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=rt.depsTail,o.nextDep=void 0,rt.depsTail.nextDep=o,rt.depsTail=o,rt.deps===o&&(rt.deps=n)}return o}trigger(t){this.version++,va++,this.notify(t)}notify(t){Ws();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ys()}}}function Pc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Pc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const kr=new WeakMap,yn=Symbol(""),Qs=Symbol(""),_a=Symbol("");function Nt(e,t,o){if(so&&rt){let n=kr.get(e);n||kr.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Zs),a.map=n,a.key=o),a.track()}}function Mo(e,t,o,n,a,r){const s=kr.get(e);if(!s){va++;return}const i=l=>{l&&l.trigger()};if(Ws(),t==="clear")s.forEach(i);else{const l=Ee(e),c=l&&mr(o);if(l&&o==="length"){const u=Number(n);s.forEach((g,f)=>{(f==="length"||f===_a||!Kt(f)&&f>=u)&&i(g)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(_a)),t){case"add":l?c&&i(s.get("length")):(i(s.get(yn)),Qo(e)&&i(s.get(Qs)));break;case"delete":l||(i(s.get(yn)),Qo(e)&&i(s.get(Qs)));break;case"set":Qo(e)&&i(s.get(yn));break}}Ys()}function Yf(e,t){const o=kr.get(e);return o&&o.get(t)}function Gn(e){const t=He(e);return t===e?t:(Nt(t,"iterate",_a),Ht(e)?t:t.map(io))}function wr(e){return Nt(e=He(e),"iterate",_a),e}function yo(e,t){return Oo(e)?zn(Fo(e)?io(t):t):io(t)}const Xf={__proto__:null,[Symbol.iterator](){return ei(this,Symbol.iterator,e=>yo(this,e))},concat(...e){return Gn(this).concat(...e.map(t=>Ee(t)?Gn(t):t))},entries(){return ei(this,"entries",e=>(e[1]=yo(this,e[1]),e))},every(e,t){return Io(this,"every",e,t,void 0,arguments)},filter(e,t){return Io(this,"filter",e,t,o=>o.map(n=>yo(this,n)),arguments)},find(e,t){return Io(this,"find",e,t,o=>yo(this,o),arguments)},findIndex(e,t){return Io(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Io(this,"findLast",e,t,o=>yo(this,o),arguments)},findLastIndex(e,t){return Io(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Io(this,"forEach",e,t,void 0,arguments)},includes(...e){return ti(this,"includes",e)},indexOf(...e){return ti(this,"indexOf",e)},join(e){return Gn(this).join(e)},lastIndexOf(...e){return ti(this,"lastIndexOf",e)},map(e,t){return Io(this,"map",e,t,void 0,arguments)},pop(){return xa(this,"pop")},push(...e){return xa(this,"push",e)},reduce(e,...t){return Tc(this,"reduce",e,t)},reduceRight(e,...t){return Tc(this,"reduceRight",e,t)},shift(){return xa(this,"shift")},some(e,t){return Io(this,"some",e,t,void 0,arguments)},splice(...e){return xa(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 xa(this,"unshift",e)},values(){return ei(this,"values",e=>yo(this,e))}};function ei(e,t,o){const n=wr(e),a=n[t]();return n!==e&&!Ht(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Jf=Array.prototype;function Io(e,t,o,n,a,r){const s=wr(e),i=s!==e&&!Ht(e),l=s[t];if(l!==Jf[t]){const g=l.apply(e,r);return i?io(g):g}let c=o;s!==e&&(i?c=function(g,f){return o.call(this,yo(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function Tc(e,t,o,n){const a=wr(e),r=a!==e&&!Ht(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,g){return i&&(i=!1,c=yo(e,c)),o.call(this,c,yo(e,u),g,e)}):o.length>3&&(s=function(c,u,g){return o.call(this,c,u,g,e)}));const l=a[t](s,...n);return i?yo(e,l):l}function ti(e,t,o){const n=He(e);Nt(n,"iterate",_a);const a=n[t](...o);return(a===-1||a===!1)&&$r(o[0])?(o[0]=He(o[0]),n[t](...o)):a}function xa(e,t,o=[]){mo(),Ws();const n=He(e)[t].apply(e,o);return Ys(),bo(),n}const Zf=Gs("__proto__,__v_isRef,__isVue"),Nc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Kt));function Qf(e){Kt(e)||(e=String(e));const t=He(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class Rc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?Bc:Dc:r?Oc:Fc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Ee(t);if(!a){let l;if(s&&(l=Xf[o]))return l;if(o==="hasOwnProperty")return Qf}const i=Reflect.get(t,o,ut(t)?t:n);if((Kt(o)?Nc.has(o):Zf(o))||(a||Nt(t,"get",o),r))return i;if(ut(i)){const l=s&&mr(o)?i:i.value;return a&&Ze(l)?vn(l):l}return Ze(i)?a?vn(i):jn(i):i}}class Mc extends Rc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Ee(t)&&mr(o);if(!this._isShallow){const c=Oo(r);if(!Ht(n)&&!Oo(n)&&(r=He(r),n=He(n)),!s&&ut(r)&&!ut(n))return c||(r.value=n),!0}const i=s?Number(o)e,Ar=e=>Reflect.getPrototypeOf(e);function ah(e,t,o){return function(...n){const a=this.__v_raw,r=He(a),s=Qo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?oi:t?zn:io;return!t&&Nt(r,"iterate",l?Qs:yn),pt(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:i?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Sr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function rh(e,t){const o={get(a){const r=this.__v_raw,s=He(r),i=He(a);e||(ho(a,i)&&Nt(s,"get",a),Nt(s,"get",i));const{has:l}=Ar(s),c=t?oi:e?zn:io;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Nt(He(a),"iterate",yn),a.size},has(a){const r=this.__v_raw,s=He(r),i=He(a);return e||(ho(a,i)&&Nt(s,"has",a),Nt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=He(i),c=t?oi:e?zn:io;return!e&&Nt(l,"iterate",yn),i.forEach((u,g)=>a.call(r,c(u),c(g),s))}};return pt(o,e?{add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear")}:{add(a){const r=He(this),s=Ar(r),i=He(a),l=!t&&!Ht(a)&&!Oo(a)?i:a;return s.has.call(r,l)||ho(a,l)&&s.has.call(r,a)||ho(i,l)&&s.has.call(r,i)||(r.add(l),Mo(r,"add",l,l)),this},set(a,r){!t&&!Ht(r)&&!Oo(r)&&(r=He(r));const s=He(this),{has:i,get:l}=Ar(s);let c=i.call(s,a);c||(a=He(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?ho(r,u)&&Mo(s,"set",a,r):Mo(s,"add",a,r),this},delete(a){const r=He(this),{has:s,get:i}=Ar(r);let l=s.call(r,a);l||(a=He(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&Mo(r,"delete",a,void 0),c},clear(){const a=He(this),r=a.size!==0,s=a.clear();return r&&Mo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=ah(a,e,t)}),o}function Cr(e,t){const o=rh(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Je(o,a)&&a in n?o:n,a,r)}const sh={get:Cr(!1,!1)},ih={get:Cr(!1,!0)},lh={get:Cr(!0,!1)},ch={get:Cr(!0,!0)},Fc=new WeakMap,Oc=new WeakMap,Dc=new WeakMap,Bc=new WeakMap;function uh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jn(e){return Oo(e)?e:Lr(e,!1,eh,sh,Fc)}function dh(e){return Lr(e,!1,oh,ih,Oc)}function vn(e){return Lr(e,!0,th,lh,Dc)}function L3(e){return Lr(e,!0,nh,ch,Bc)}function Lr(e,t,o,n,a){if(!Ze(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=uh(Of(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Fo(e){return Oo(e)?Fo(e.__v_raw):!!(e&&e.__v_isReactive)}function Oo(e){return!!(e&&e.__v_isReadonly)}function Ht(e){return!!(e&&e.__v_isShallow)}function $r(e){return e?!!e.__v_raw:!1}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function ka(e){return!Je(e,"__v_skip")&&Object.isExtensible(e)&&fc(e,"__v_skip",!0),e}const io=e=>Ze(e)?jn(e):e,zn=e=>Ze(e)?vn(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function ue(e){return Gc(e,!1)}function wa(e){return Gc(e,!0)}function Gc(e,t){return ut(e)?e:new ph(e,t)}class ph{constructor(t,o){this.dep=new Zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:He(t),this._value=o?t:io(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ht(t)||Oo(t);t=n?t:He(t),ho(t,o)&&(this._rawValue=t,this._value=n?t:io(t),this.dep.trigger())}}function pe(e){return ut(e)?e.value:e}const gh={get:(e,t,o)=>t==="__v_raw"?e:pe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ut(a)&&!ut(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function jc(e){return Fo(e)?e:new Proxy(e,gh)}function fh(e){const t=Ee(e)?new Array(e.length):{};for(const o in e)t[o]=zc(e,o);return t}class hh{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Kt(o)?o:String(o),this._raw=He(t);let a=!0,r=t;if(!Ee(t)||Kt(this._key)||!mr(this._key))do a=!$r(r)||Ht(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ut(this._raw[this._key])){const o=this._object[this._key];if(ut(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Yf(this._raw,this._key)}}class mh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Er(e,t,o){return ut(e)?e:Ie(e)?new mh(e):Ze(e)&&arguments.length>1?zc(e,t,o):ue(e)}function zc(e,t,o){return new hh(e,t,o)}class bh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=va-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&rt!==this)return Ac(this,!0),!0}get value(){const t=this.dep.track();return Lc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function yh(e,t,o=!1){let n,a;return Ie(e)?n=e:(n=e.get,a=e.set),new bh(n,a,o)}const Pr={},Tr=new WeakMap;let _n;function vh(e,t=!1,o=_n){if(o){let n=Tr.get(o);n||Tr.set(o,n=[]),n.push(e)}}function _h(e,t,o=ot){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=p=>a?p:Ht(p)||a===!1||a===0?Do(p,1):Do(p);let u,g,f,k,w=!1,b=!1;if(ut(e)?(g=()=>e.value,w=Ht(e)):Fo(e)?(g=()=>c(e),w=!0):Ee(e)?(b=!0,w=e.some(p=>Fo(p)||Ht(p)),g=()=>e.map(p=>{if(ut(p))return p.value;if(Fo(p))return c(p);if(Ie(p))return l?l(p,2):p()})):Ie(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){mo();try{f()}finally{bo()}}const p=_n;_n=u;try{return l?l(e,3,[k]):e(k)}finally{_n=p}}:g=fo,t&&a){const p=g,y=a===!0?1/0:a;g=()=>Do(p(),y)}const h=xc(),v=()=>{u.stop(),h&&h.active&&js(h.effects,u)};if(r&&t){const p=t;t=(...y)=>{const d=p(...y);return v(),d}}let _=b?new Array(e.length).fill(Pr):Pr;const x=p=>{if(!(!(u.flags&1)||!u.dirty&&!p))if(t){const y=u.run();if(p||a||w||(b?y.some((d,m)=>ho(d,_[m])):ho(y,_))){f&&f();const d=_n;_n=u;try{const m=[y,_===Pr?void 0:b&&_[0]===Pr?[]:_,k];_=y,l?l(t,3,m):t(...m)}finally{_n=d}}}else u.run()};return i&&i(x),u=new kc(g),u.scheduler=s?()=>s(x,!1):x,k=p=>vh(p,!1,u),f=u.onStop=()=>{const p=Tr.get(u);if(p){if(l)l(p,4);else for(const y of p)y();Tr.delete(u)}},t?n?x(!0):_=u.run():s?s(x.bind(null,!0),!0):u.run(),v.pause=u.pause.bind(u),v.resume=u.resume.bind(u),v.stop=v,v}function Do(e,t=1/0,o){if(t<=0||!Ze(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))Do(e.value,t,o);else if(Ee(e))for(let n=0;n{Do(n,t,o)});else if(hr(e)){for(const n in e)Do(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Do(e[n],t,o)}return e}/** +**/let vt;class _c{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&&vt&&(vt.active?(this.parent=vt,this.index=(vt.scopes||(vt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(vt===this)vt=this.prevScope;else{let t=vt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(ya){let t=ya;for(ya=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ba;){let t=ba;for(ba=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Sc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Cc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Js(n),Wf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Xs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Lc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Lc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===va)||(e.globalVersion=va,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xs(e))))return;e.flags|=2;const t=e.dep,o=rt,n=so;rt=e,so=!0;try{Sc(e);const a=e.fn(e._value);(t.version===0||ho(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{rt=o,so=n,Cc(e),e.flags&=-3}}function Js(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Js(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Wf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let so=!0;const $c=[];function mo(){$c.push(so),so=!1}function bo(){const e=$c.pop();so=e===void 0?!0:e}function Ec(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=rt;rt=void 0;try{t()}finally{rt=o}}}let va=0;class Yf{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Zs{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(!rt||!so||rt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==rt)o=this.activeLink=new Yf(rt,this),rt.deps?(o.prevDep=rt.depsTail,rt.depsTail.nextDep=o,rt.depsTail=o):rt.deps=rt.depsTail=o,Pc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=rt.depsTail,o.nextDep=void 0,rt.depsTail.nextDep=o,rt.depsTail=o,rt.deps===o&&(rt.deps=n)}return o}trigger(t){this.version++,va++,this.notify(t)}notify(t){Ws();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ys()}}}function Pc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Pc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const kr=new WeakMap,yn=Symbol(""),Qs=Symbol(""),_a=Symbol("");function Nt(e,t,o){if(so&&rt){let n=kr.get(e);n||kr.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Zs),a.map=n,a.key=o),a.track()}}function Mo(e,t,o,n,a,r){const s=kr.get(e);if(!s){va++;return}const i=l=>{l&&l.trigger()};if(Ws(),t==="clear")s.forEach(i);else{const l=$e(e),c=l&&mr(o);if(l&&o==="length"){const u=Number(n);s.forEach((g,h)=>{(h==="length"||h===_a||!Kt(h)&&h>=u)&&i(g)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(_a)),t){case"add":l?c&&i(s.get("length")):(i(s.get(yn)),Qo(e)&&i(s.get(Qs)));break;case"delete":l||(i(s.get(yn)),Qo(e)&&i(s.get(Qs)));break;case"set":Qo(e)&&i(s.get(yn));break}}Ys()}function Xf(e,t){const o=kr.get(e);return o&&o.get(t)}function Gn(e){const t=Ke(e);return t===e?t:(Nt(t,"iterate",_a),Ht(e)?t:t.map(io))}function wr(e){return Nt(e=Ke(e),"iterate",_a),e}function yo(e,t){return Oo(e)?zn(Fo(e)?io(t):t):io(t)}const Jf={__proto__:null,[Symbol.iterator](){return ei(this,Symbol.iterator,e=>yo(this,e))},concat(...e){return Gn(this).concat(...e.map(t=>$e(t)?Gn(t):t))},entries(){return ei(this,"entries",e=>(e[1]=yo(this,e[1]),e))},every(e,t){return Io(this,"every",e,t,void 0,arguments)},filter(e,t){return Io(this,"filter",e,t,o=>o.map(n=>yo(this,n)),arguments)},find(e,t){return Io(this,"find",e,t,o=>yo(this,o),arguments)},findIndex(e,t){return Io(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Io(this,"findLast",e,t,o=>yo(this,o),arguments)},findLastIndex(e,t){return Io(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Io(this,"forEach",e,t,void 0,arguments)},includes(...e){return ti(this,"includes",e)},indexOf(...e){return ti(this,"indexOf",e)},join(e){return Gn(this).join(e)},lastIndexOf(...e){return ti(this,"lastIndexOf",e)},map(e,t){return Io(this,"map",e,t,void 0,arguments)},pop(){return xa(this,"pop")},push(...e){return xa(this,"push",e)},reduce(e,...t){return Tc(this,"reduce",e,t)},reduceRight(e,...t){return Tc(this,"reduceRight",e,t)},shift(){return xa(this,"shift")},some(e,t){return Io(this,"some",e,t,void 0,arguments)},splice(...e){return xa(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 xa(this,"unshift",e)},values(){return ei(this,"values",e=>yo(this,e))}};function ei(e,t,o){const n=wr(e),a=n[t]();return n!==e&&!Ht(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Zf=Array.prototype;function Io(e,t,o,n,a,r){const s=wr(e),i=s!==e&&!Ht(e),l=s[t];if(l!==Zf[t]){const g=l.apply(e,r);return i?io(g):g}let c=o;s!==e&&(i?c=function(g,h){return o.call(this,yo(e,g),h,e)}:o.length>2&&(c=function(g,h){return o.call(this,g,h,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function Tc(e,t,o,n){const a=wr(e),r=a!==e&&!Ht(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,g){return i&&(i=!1,c=yo(e,c)),o.call(this,c,yo(e,u),g,e)}):o.length>3&&(s=function(c,u,g){return o.call(this,c,u,g,e)}));const l=a[t](s,...n);return i?yo(e,l):l}function ti(e,t,o){const n=Ke(e);Nt(n,"iterate",_a);const a=n[t](...o);return(a===-1||a===!1)&&$r(o[0])?(o[0]=Ke(o[0]),n[t](...o)):a}function xa(e,t,o=[]){mo(),Ws();const n=Ke(e)[t].apply(e,o);return Ys(),bo(),n}const Qf=Gs("__proto__,__v_isRef,__isVue"),Nc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Kt));function eh(e){Kt(e)||(e=String(e));const t=Ke(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class Rc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?Bc:Dc:r?Oc:Fc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=$e(t);if(!a){let l;if(s&&(l=Jf[o]))return l;if(o==="hasOwnProperty")return eh}const i=Reflect.get(t,o,ut(t)?t:n);if((Kt(o)?Nc.has(o):Qf(o))||(a||Nt(t,"get",o),r))return i;if(ut(i)){const l=s&&mr(o)?i:i.value;return a&&Qe(l)?vn(l):l}return Qe(i)?a?vn(i):jn(i):i}}class Mc extends Rc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=$e(t)&&mr(o);if(!this._isShallow){const c=Oo(r);if(!Ht(n)&&!Oo(n)&&(r=Ke(r),n=Ke(n)),!s&&ut(r)&&!ut(n))return c||(r.value=n),!0}const i=s?Number(o)e,Ar=e=>Reflect.getPrototypeOf(e);function rh(e,t,o){return function(...n){const a=this.__v_raw,r=Ke(a),s=Qo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?oi:t?zn:io;return!t&&Nt(r,"iterate",l?Qs:yn),pt(Object.create(c),{next(){const{value:g,done:h}=c.next();return h?{value:g,done:h}:{value:i?[u(g[0]),u(g[1])]:u(g),done:h}}})}}function Sr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sh(e,t){const o={get(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);e||(ho(a,i)&&Nt(s,"get",a),Nt(s,"get",i));const{has:l}=Ar(s),c=t?oi:e?zn:io;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Nt(Ke(a),"iterate",yn),a.size},has(a){const r=this.__v_raw,s=Ke(r),i=Ke(a);return e||(ho(a,i)&&Nt(s,"has",a),Nt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Ke(i),c=t?oi:e?zn:io;return!e&&Nt(l,"iterate",yn),i.forEach((u,g)=>a.call(r,c(u),c(g),s))}};return pt(o,e?{add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear")}:{add(a){const r=Ke(this),s=Ar(r),i=Ke(a),l=!t&&!Ht(a)&&!Oo(a)?i:a;return s.has.call(r,l)||ho(a,l)&&s.has.call(r,a)||ho(i,l)&&s.has.call(r,i)||(r.add(l),Mo(r,"add",l,l)),this},set(a,r){!t&&!Ht(r)&&!Oo(r)&&(r=Ke(r));const s=Ke(this),{has:i,get:l}=Ar(s);let c=i.call(s,a);c||(a=Ke(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?ho(r,u)&&Mo(s,"set",a,r):Mo(s,"add",a,r),this},delete(a){const r=Ke(this),{has:s,get:i}=Ar(r);let l=s.call(r,a);l||(a=Ke(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&Mo(r,"delete",a,void 0),c},clear(){const a=Ke(this),r=a.size!==0,s=a.clear();return r&&Mo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=rh(a,e,t)}),o}function Cr(e,t){const o=sh(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ze(o,a)&&a in n?o:n,a,r)}const ih={get:Cr(!1,!1)},lh={get:Cr(!1,!0)},ch={get:Cr(!0,!1)},uh={get:Cr(!0,!0)},Fc=new WeakMap,Oc=new WeakMap,Dc=new WeakMap,Bc=new WeakMap;function dh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jn(e){return Oo(e)?e:Lr(e,!1,th,ih,Fc)}function ph(e){return Lr(e,!1,nh,lh,Oc)}function vn(e){return Lr(e,!0,oh,ch,Dc)}function I3(e){return Lr(e,!0,ah,uh,Bc)}function Lr(e,t,o,n,a){if(!Qe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=dh(Df(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Fo(e){return Oo(e)?Fo(e.__v_raw):!!(e&&e.__v_isReactive)}function Oo(e){return!!(e&&e.__v_isReadonly)}function Ht(e){return!!(e&&e.__v_isShallow)}function $r(e){return e?!!e.__v_raw:!1}function Ke(e){const t=e&&e.__v_raw;return t?Ke(t):e}function ka(e){return!Ze(e,"__v_skip")&&Object.isExtensible(e)&&fc(e,"__v_skip",!0),e}const io=e=>Qe(e)?jn(e):e,zn=e=>Qe(e)?vn(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function le(e){return Gc(e,!1)}function wa(e){return Gc(e,!0)}function Gc(e,t){return ut(e)?e:new gh(e,t)}class gh{constructor(t,o){this.dep=new Zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ke(t),this._value=o?t:io(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ht(t)||Oo(t);t=n?t:Ke(t),ho(t,o)&&(this._rawValue=t,this._value=n?t:io(t),this.dep.trigger())}}function ge(e){return ut(e)?e.value:e}const fh={get:(e,t,o)=>t==="__v_raw"?e:ge(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ut(a)&&!ut(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function jc(e){return Fo(e)?e:new Proxy(e,fh)}function hh(e){const t=$e(e)?new Array(e.length):{};for(const o in e)t[o]=zc(e,o);return t}class mh{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Kt(o)?o:String(o),this._raw=Ke(t);let a=!0,r=t;if(!$e(t)||Kt(this._key)||!mr(this._key))do a=!$r(r)||Ht(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ge(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ut(this._raw[this._key])){const o=this._object[this._key];if(ut(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Xf(this._raw,this._key)}}class bh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Er(e,t,o){return ut(e)?e:Fe(e)?new bh(e):Qe(e)&&arguments.length>1?zc(e,t,o):le(e)}function zc(e,t,o){return new mh(e,t,o)}class yh{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=va-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&rt!==this)return Ac(this,!0),!0}get value(){const t=this.dep.track();return Lc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function vh(e,t,o=!1){let n,a;return Fe(e)?n=e:(n=e.get,a=e.set),new yh(n,a,o)}const Pr={},Tr=new WeakMap;let _n;function _h(e,t=!1,o=_n){if(o){let n=Tr.get(o);n||Tr.set(o,n=[]),n.push(e)}}function xh(e,t,o=ot){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=v=>a?v:Ht(v)||a===!1||a===0?Do(v,1):Do(v);let u,g,h,k,w=!1,_=!1;if(ut(e)?(g=()=>e.value,w=Ht(e)):Fo(e)?(g=()=>c(e),w=!0):$e(e)?(_=!0,w=e.some(v=>Fo(v)||Ht(v)),g=()=>e.map(v=>{if(ut(v))return v.value;if(Fo(v))return c(v);if(Fe(v))return l?l(v,2):v()})):Fe(e)?t?g=l?()=>l(e,2):e:g=()=>{if(h){mo();try{h()}finally{bo()}}const v=_n;_n=u;try{return l?l(e,3,[k]):e(k)}finally{_n=v}}:g=fo,t&&a){const v=g,y=a===!0?1/0:a;g=()=>Do(v(),y)}const m=xc(),d=()=>{u.stop(),m&&m.active&&js(m.effects,u)};if(r&&t){const v=t;t=(...y)=>{const f=v(...y);return d(),f}}let b=_?new Array(e.length).fill(Pr):Pr;const p=v=>{if(!(!(u.flags&1)||!u.dirty&&!v))if(t){const y=u.run();if(v||a||w||(_?y.some((f,x)=>ho(f,b[x])):ho(y,b))){h&&h();const f=_n;_n=u;try{const x=[y,b===Pr?void 0:_&&b[0]===Pr?[]:b,k];b=y,l?l(t,3,x):t(...x)}finally{_n=f}}}else u.run()};return i&&i(p),u=new kc(g),u.scheduler=s?()=>s(p,!1):p,k=v=>_h(v,!1,u),h=u.onStop=()=>{const v=Tr.get(u);if(v){if(l)l(v,4);else for(const y of v)y();Tr.delete(u)}},t?n?p(!0):b=u.run():s?s(p.bind(null,!0),!0):u.run(),d.pause=u.pause.bind(u),d.resume=u.resume.bind(u),d.stop=d,d}function Do(e,t=1/0,o){if(t<=0||!Qe(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))Do(e.value,t,o);else if($e(e))for(let n=0;n{Do(n,t,o)});else if(hr(e)){for(const n in e)Do(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Do(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Aa=[];let ni=!1;function $3(e,...t){if(ni)return;ni=!0,mo();const o=Aa.length?Aa[Aa.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=xh();if(n)Un(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${Ku(o,r.type)}>`).join(` +**/const Aa=[];let ni=!1;function F3(e,...t){if(ni)return;ni=!0,mo();const o=Aa.length?Aa[Aa.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=kh();if(n)Un(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${Ku(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` -`,...kh(a)),console.warn(...r)}bo(),ni=!1}function xh(){let e=Aa[Aa.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function kh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...wh(o))}),t}function wh({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ku(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Ah(e.props),r]:[a+r]}function Ah(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Uc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Uc(e,t,o){return at(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=Uc(e,He(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=He(t),o?t:[`${e}=`,t])}function Un(e,t,o,n){try{return n?e(...n):e()}catch(a){Sa(a,t,o)}}function Zt(e,t,o,n){if(Ie(e)){const a=Un(e,t,o,n);return a&&pc(a)&&a.catch(r=>{Sa(r,t,o)}),a}if(Ee(e)){const a=[];for(let r=0;r>>1,a=It[n],r=Ca(a);r=Ca(o)?It.push(e):It.splice(Ch(t),0,e),e.flags|=1,Hc()}}function Hc(){Nr||(Nr=Kc.then(Wc))}function Lh(e){if(!Ee(e))en&&e.id===-1?en.splice(Hn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCa(o)-Ca(n));if(Kn.length=0,en){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Wc(e){try{for(vo=0;vo{n._d&&Ur(-1);const r=Rr(t),s=jo.length;let i;try{i=e(...a)}finally{for(let l=jo.length;l>s;l--)xi();Rr(r),n._d&&Ur(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Vt(e,t){if($t===null)return e;const o=qr($t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Ie(t)?t.call(n&&n.proxy):t}}function $h(){return!!(ko()||wn)}const Eh=Symbol.for("v-scx"),Ph=()=>Ne(Eh);function Th(e,t){return ri(e,null,t)}function Oe(e,t,o){return ri(e,t,o)}function ri(e,t,o=ot){const{immediate:n,deep:a,flush:r,once:s}=o,i=pt({},o),l=t&&n||!t&&r!=="post";let c;if(qn){if(r==="sync"){const k=Ph();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=fo,k.resume=fo,k.pause=fo,k}}const u=Et;i.call=(k,w,b)=>Zt(k,u,w,b);let g=!1;r==="post"?i.scheduler=k=>{Dt(k,u&&u.suspense)}:r!=="sync"&&(g=!0,i.scheduler=(k,w)=>{w?k():ai(k)}),i.augmentJob=k=>{t&&(k.flags|=4),g&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const f=_h(e,t,i);return qn&&(c?c.push(f):l&&f()),f}function Nh(e,t,o){const n=this.proxy,a=at(e)?e.includes(".")?Xc(n,e):()=>n[e]:e.bind(n,n);let r;Ie(t)?r=t:(r=t.handler,o=t);const s=Ga(this),i=ri(a,r.bind(n),o);return s(),i}function Xc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,kn=e=>e&&(e.disabled||e.disabled===""),Rh=e=>e&&(e.defer||e.defer===""),Zc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Qc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,si=(e,t)=>{const o=e&&e.to;return at(o)?t?t(o):null:o},Mh={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,c){const{mc:u,pc:g,pbc:f,o:{insert:k,querySelector:w,createText:b,createComment:h,parentNode:v}}=c,_=kn(t.props);let{dynamicChildren:x}=t;const p=(m,T,S)=>{m.shapeFlag&16&&u(m.children,T,S,a,r,s,i,l)},y=(m=t)=>{const T=kn(m.props),S=m.target=si(m.props,w),D=ii(S,m,b,k);S&&(s!=="svg"&&Zc(S)?s="svg":s!=="mathml"&&Qc(S)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(S),T||(p(m,S,D),La(m,!1)))},d=m=>{const T=()=>{if(tn.get(m)===T){if(tn.delete(m),kn(m.props)){const S=v(m.el)||o;p(m,S,m.anchor),La(m,!0)}y(m)}};tn.set(m,T),Dt(T,r)};if(e==null){const m=t.el=b(""),T=t.anchor=b("");if(k(m,o,n),k(T,o,n),Rh(t.props)||r&&r.pendingBranch){d(t);return}_&&(p(t,o,T),La(t,!0)),y()}else{t.el=e.el;const m=t.anchor=e.anchor,T=tn.get(e);if(T){T.flags|=8,tn.delete(e),d(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,D=t.targetAnchor=e.targetAnchor,z=kn(e.props),j=z?o:S,I=z?m:D;if(s==="svg"||Zc(S)?s="svg":(s==="mathml"||Qc(S))&&(s="mathml"),x?(f(e.dynamicChildren,x,j,a,r,s,i),_i(e,t,!0)):l||g(e,t,j,I,a,r,s,i,!1),_)z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ir(t,o,m,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const R=si(t.props,w);R&&(t.target=R,Ir(t,R,null,c,0))}else z&&Ir(t,S,D,c,1);La(t,_)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,k=kn(f),w=r||!k,b=tn.get(e);if(b&&(b.flags|=8,tn.delete(e)),g&&(a(c),a(u)),r&&a(l),!b&&(k||g)&&s&16)for(let h=0;h{e.isMounted=!0}),oo(()=>{e.isUnmounting=!0}),e}const eo=[Function,Array],eu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:eo,onEnter:eo,onAfterEnter:eo,onEnterCancelled:eo,onBeforeLeave:eo,onLeave:eo,onAfterLeave:eo,onLeaveCancelled:eo,onBeforeAppear:eo,onAppear:eo,onAfterAppear:eo,onAppearCancelled:eo},tu=e=>{const t=e.subTree;return t.component?tu(t.component):t},Dh={name:"BaseTransition",props:eu,setup(e,{slots:t}){const o=ko(),n=Oh();return()=>{const a=t.default&&au(t.default(),!0),r=a&&a.length?ou(a):o.subTree?ye():void 0;if(!r)return;const s=He(e),{mode:i}=s;if(n.isLeaving)return ci(r);const l=Fr(r);if(!l)return ci(r);let c=li(l,s,n,o,g=>c=g);l.type!==Rt&&Ea(l,c);let u=o.subTree&&Fr(o.subTree);if(u&&u.type!==Rt&&!Sn(u,l)&&tu(o).type!==Rt){let g=li(u,s,n,o);if(Ea(u,g),i==="out-in"&&l.type!==Rt)return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,o.job.flags&8||o.update(),delete g.afterLeave,u=void 0},ci(r);i==="in-out"&&l.type!==Rt?g.delayLeave=(f,k,w)=>{const b=nu(n,u);b[String(u.key)]=u,f[Qt]=()=>{k(),f[Qt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{w(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function ou(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Rt){t=o;break}}return t}const Bh=Dh;function nu(e,t){const{leavingVNodes:o}=e;let n=o.get(t.type);return n||(n=Object.create(null),o.set(t.type,n)),n}function li(e,t,o,n,a){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:g,onBeforeLeave:f,onLeave:k,onAfterLeave:w,onLeaveCancelled:b,onBeforeAppear:h,onAppear:v,onAfterAppear:_,onAppearCancelled:x}=t,p=String(e.key),y=nu(o,e),d=(S,D)=>{S&&Zt(S,n,9,D)},m=(S,D)=>{const z=D[1];d(S,D),Ee(S)?S.every(j=>j.length<=1)&&z():S.length<=1&&z()},T={mode:s,persisted:i,beforeEnter(S){let D=l;if(!o.isMounted)if(r)D=h||l;else return;S[Qt]&&S[Qt](!0);const z=y[p];z&&Sn(e,z)&&z.el[Qt]&&z.el[Qt](),d(D,[S])},enter(S){if(y[p]===e)return;let D=c,z=u,j=g;if(!o.isMounted)if(r)D=v||c,z=_||u,j=x||g;else return;let I=!1;S[$a]=E=>{I||(I=!0,E?d(j,[S]):d(z,[S]),T.delayedLeave&&T.delayedLeave(),S[$a]=void 0)};const R=S[$a].bind(null,!1);D?m(D,[S,R]):R()},leave(S,D){const z=String(e.key);if(S[$a]&&S[$a](!0),o.isUnmounting)return D();d(f,[S]);let j=!1;S[Qt]=R=>{j||(j=!0,D(),R?d(b,[S]):d(w,[S]),S[Qt]=void 0,y[z]===e&&delete y[z])};const I=S[Qt].bind(null,!1);y[z]=e,k?m(k,[S,I]):I()},clone(S){const D=li(S,t,o,n,a);return a&&a(D),D}};return T}function ci(e){if(Na(e))return e=on(e),e.children=null,e}function Fr(e){if(!Na(e))return Mr(e.type)&&e.children?ou(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ie(o.default))return o.default()}}function Ea(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ea(Mr(o.type)&&Fr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function au(e,t=!1,o){let n=[],a=0;for(let r=0;r1)for(let r=0;rTa(b,t&&(Ee(t)?t[h]:t),o,n,a));return}if(Vn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ta(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?qr(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===ot?i.refs={}:i.refs,g=i.setupState,f=He(g),k=g===ot?uc:b=>ru(u,b)?!1:Je(f,b),w=(b,h)=>!(h&&ru(u,h));if(c!=null&&c!==l){if(su(t),at(c))u[c]=null,k(c)&&(g[c]=null);else if(ut(c)){const b=t;w(c,b.k)&&(c.value=null),b.k&&(u[b.k]=null)}}if(Ie(l))Un(l,i,12,[s,u]);else{const b=at(l),h=ut(l);if(b||h){const v=()=>{if(e.f){const _=b?k(l)?g[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Ee(_)&&js(_,r);else if(Ee(_))_.includes(r)||_.push(r);else if(b)u[l]=[r],k(l)&&(g[l]=u[l]);else{const x=[r];w(l,e.k)&&(l.value=x),e.k&&(u[e.k]=x)}}else b?(u[l]=s,k(l)&&(g[l]=s)):h&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const _=()=>{v(),Or.delete(e)};_.id=-1,Or.set(e,_),Dt(_,o)}else su(e),v()}}}function su(e){const t=Or.get(e);t&&(t.flags|=8,Or.delete(e))}const iu=e=>e.nodeType===8;xr().requestIdleCallback,xr().cancelIdleCallback;function Gh(e,t){if(iu(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(iu(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Vn=e=>!!e.type.__asyncLoader;function jh(e){Ie(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((h,v)=>{l(b,()=>h(f()),()=>v(b),g+1)});throw b}).then(b=>w!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return Pa({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,b,h){const v=w.isConnected;let _=!1;(b.bu||(b.bu=[])).push(()=>_=!0);const x=()=>{_||!w.parentNode||v&&!w.isConnected||h()},p=r?()=>{const y=r(x,d=>Gh(w,d));y&&(b.bum||(b.bum=[])).push(y)}:x;u?p():k().then(()=>!b.isUnmounted&&p())},get __asyncResolved(){return u},setup(){const w=Et;if(ui(w),u)return()=>Dr(u,w);const b=y=>{c=null,Sa(y,w,13,!n)};if(i&&w.suspense||qn)return k().then(y=>()=>Dr(y,w)).catch(y=>(b(y),()=>n?et(n,{error:y}):null));const h=ue(!1),v=ue(),_=ue(!!a);let x,p;return Ra(()=>{x!=null&&clearTimeout(x),p!=null&&clearTimeout(p)}),a&&(p=setTimeout(()=>{w.isUnmounted||(_.value=!1)},a)),s!=null&&(x=setTimeout(()=>{if(!w.isUnmounted&&!h.value&&!v.value){const y=new Error(`Async component timed out after ${s}ms.`);b(y),v.value=y}},s)),k().then(()=>{w.isUnmounted||(h.value=!0,w.parent&&Na(w.parent.vnode)&&w.parent.update())}).catch(y=>{if(w.isUnmounted){c=null;return}b(y),v.value=y}),()=>{if(h.value&&u)return Dr(u,w);if(v.value&&n)return et(n,{error:v.value});if(o&&!_.value)return Dr(o,w)}}})}function Dr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=et(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Na=e=>e.type.__isKeepAlive;function zh(e,t){lu(e,"a",t)}function Uh(e,t){lu(e,"da",t)}function lu(e,t,o=Et){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Br(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Na(a.parent.vnode)&&Kh(n,t,o,a),a=a.parent}}function Kh(e,t,o,n){const a=Br(t,e,n,!0);Ra(()=>{js(n[t],a)},o)}function Br(e,t,o=Et,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{mo();const i=Ga(o),l=Zt(t,o,e,s);return i(),bo(),l});return n?a.unshift(r):a.push(r),r}}const Bo=e=>(t,o=Et)=>{(!qn||e==="sp")&&Br(e,(...n)=>t(...n),o)},cu=Bo("bm"),to=Bo("m"),Hh=Bo("bu"),Vh=Bo("u"),oo=Bo("bum"),Ra=Bo("um"),qh=Bo("sp"),Wh=Bo("rtg"),Yh=Bo("rtc");function Xh(e,t=Et){Br("ec",e,t)}const Jh="components",uu=Symbol.for("v-ndc");function di(e){return at(e)?Zh(Jh,e,!1)||e:e||uu}function Zh(e,t,o=!0,n=!1){const a=$t||Et;if(a){const r=a.type;{const i=Uu(r,!1);if(i&&(i===t||i===wt(t)||i===yr(wt(t))))return r}const s=du(a[e]||r[e],t)||du(a.appContext[e],t);return!s&&n?r:s}}function du(e,t){return e&&(e[t]||e[wt(t)]||e[yr(wt(t))])}function _t(e,t,o,n){let a;const r=o,s=Ee(e);if(s||at(e)){const i=s&&Fo(e);let l=!1,c=!1;i&&(l=!Ht(e),c=Oo(e),e=wr(e)),a=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),V(),Ue(Fe,null,[et("slot",c,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=jo.length;V();let l;try{const c=s&&pu(s(o)),u=o.key||r||c&&c.key;l=Ue(Fe,{key:(u&&!Kt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=jo.length;u>i;u--)xi();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function pu(e){return e.some(t=>Da(t)?!(t.type===Rt||t.type===Fe&&!pu(t.children)):!0)?e:null}const pi=e=>e?Gu(e)?qr(e):pi(e.parent):null,Ma=pt(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=>pi(e.parent),$root:e=>pi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>mu(e),$forceUpdate:e=>e.f||(e.f=()=>{ai(e.update)}),$nextTick:e=>e.n||(e.n=jt.bind(e.proxy)),$watch:e=>Nh.bind(e)}),gi=(e,t)=>e!==ot&&!e.__isScriptSetup&&Je(e,t),Qh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const f=s[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(gi(n,t))return s[t]=1,n[t];if(a!==ot&&Je(a,t))return s[t]=2,a[t];if(Je(r,t))return s[t]=3,r[t];if(o!==ot&&Je(o,t))return s[t]=4,o[t];fi&&(s[t]=0)}}const c=Ma[t];let u,g;if(c)return t==="$attrs"&&Nt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==ot&&Je(o,t))return s[t]=4,o[t];if(g=l.config.globalProperties,Je(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return gi(a,t)?(a[t]=o,!0):n!==ot&&Je(n,t)?(n[t]=o,!0):Je(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==ot&&i[0]!=="$"&&Je(e,i)||gi(t,i)||Je(r,i)||Je(n,i)||Je(Ma,i)||Je(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Je(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function gu(e){return Ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let fi=!0;function em(e){const t=mu(e),o=e.proxy,n=e.ctx;fi=!1,t.beforeCreate&&fu(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:k,updated:w,activated:b,deactivated:h,beforeDestroy:v,beforeUnmount:_,destroyed:x,unmounted:p,render:y,renderTracked:d,renderTriggered:m,errorCaptured:T,serverPrefetch:S,expose:D,inheritAttrs:z,components:j,directives:I,filters:R}=t;if(c&&tm(c,n,null),s)for(const N in s){const Q=s[N];Ie(Q)&&(n[N]=Q.bind(o))}if(a){const N=a.call(o,o);Ze(N)&&(e.data=jn(N))}if(fi=!0,r)for(const N in r){const Q=r[N],de=Ie(Q)?Q.bind(o,o):Ie(Q.get)?Q.get.bind(o,o):fo,W=!Ie(Q)&&Ie(Q.set)?Q.set.bind(o):fo,le=ee({get:de,set:W});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>le.value,set:U=>le.value=U})}if(i)for(const N in i)hu(i[N],n,o,N);if(l){const N=Ie(l)?l.call(o):l;Reflect.ownKeys(N).forEach(Q=>{At(Q,N[Q])})}u&&fu(u,e,"c");function L(N,Q){Ee(Q)?Q.forEach(de=>N(de.bind(o))):Q&&N(Q.bind(o))}if(L(cu,g),L(to,f),L(Hh,k),L(Vh,w),L(zh,b),L(Uh,h),L(Xh,T),L(Yh,d),L(Wh,m),L(oo,_),L(Ra,p),L(qh,S),Ee(D))if(D.length){const N=e.exposed||(e.exposed={});D.forEach(Q=>{Object.defineProperty(N,Q,{get:()=>o[Q],set:de=>o[Q]=de,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===fo&&(e.render=y),z!=null&&(e.inheritAttrs=z),j&&(e.components=j),I&&(e.directives=I),S&&ui(e)}function tm(e,t,o=fo){Ee(e)&&(e=hi(e));for(const n in e){const a=e[n];let r;Ze(a)?"default"in a?r=Ne(a.from||n,a.default,!0):r=Ne(a.from||n):r=Ne(a),ut(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function fu(e,t,o){Zt(Ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function hu(e,t,o,n){let a=n.includes(".")?Xc(o,n):()=>o[n];if(at(e)){const r=t[e];Ie(r)&&Oe(a,r)}else if(Ie(e))Oe(a,e.bind(o));else if(Ze(e))if(Ee(e))e.forEach(r=>hu(r,t,o,n));else{const r=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(r)&&Oe(a,r,e)}}function mu(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Gr(l,c,s,!0)),Gr(l,t,s)),Ze(t)&&r.set(t,l),l}function Gr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Gr(e,r,o,!0),a&&a.forEach(s=>Gr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=om[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const om={data:bu,props:yu,emits:yu,methods:Ia,computed:Ia,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:Ia,directives:Ia,watch:am,provide:bu,inject:nm};function bu(e,t){return t?e?function(){return pt(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function nm(e,t){return Ia(hi(e),hi(t))}function hi(e){if(Ee(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${wt(t)}Modifiers`]||e[`${Jt(t)}Modifiers`];function lm(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||ot;let a=o;const r=t.startsWith("update:"),s=r&&im(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>at(u)?u.trim():u)),s.number&&(a=a.map(_r)));let i,l=n[i=zs(t)]||n[i=zs(wt(t))];!l&&r&&(l=n[i=zs(Jt(t))]),l&&Zt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Zt(c,e,6,a)}}const cm=new WeakMap;function _u(e,t,o=!1){const n=o?cm:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Ie(e)){const l=c=>{const u=_u(c,t,!0);u&&(i=!0,pt(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ze(e)&&n.set(e,null),null):(Ee(r)?r.forEach(l=>s[l]=null):pt(s,r),Ze(e)&&n.set(e,s),s)}function jr(e,t){return!e||!gr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Je(e,t[0].toLowerCase()+t.slice(1))||Je(e,Jt(t))||Je(e,t))}function E3(){}function xu(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:g,data:f,setupState:k,ctx:w,inheritAttrs:b}=e,h=Rr(e);let v,_;try{if(o.shapeFlag&4){const p=a||n,y=p;v=_o(c.call(y,p,u,g,k,f,w)),_=i}else{const p=t;v=_o(p.length>1?p(g,{attrs:i,slots:s,emit:l}):p(g,null)),_=t.props?i:um(i)}}catch(p){jo.length=0,Sa(p,e,1),v=et(Rt)}let x=v;if(_&&b!==!1){const p=Object.keys(_),{shapeFlag:y}=x;p.length&&y&7&&(r&&p.some(fr)&&(_=dm(_,r)),x=on(x,_,!1,!0))}if(o.dirs&&(x=on(x,null,!1,!0),x.dirs=x.dirs?x.dirs.concat(o.dirs):o.dirs),o.transition){const p=Mr(x.type)&&Fr(x)||x;Ea(p,o.transition)}return v=x,Rr(h),v}const um=e=>{let t;for(const o in e)(o==="class"||o==="style"||gr(o))&&((t||(t={}))[o]=e[o]);return t},dm=(e,t)=>{const o={};for(const n in e)(!fr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function pm(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ku(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Au),Cu=e=>Object.getPrototypeOf(e)===Au;function fm(e,t,o,n=!1){const a={},r=Su();e.propsDefaults=Object.create(null),Lu(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:dh(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function hm(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=He(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[f,k]=$u(g,t,!0);pt(s,f),k&&i.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Ze(e)&&n.set(e,Bn),Bn;if(Ee(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",yi=e=>Ee(e)?e.map(_o):[_o(e)],bm=(e,t,o)=>{if(t._n)return t;const n=Ft((...a)=>yi(t(...a)),o);return n._c=!1,n},Pu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(bi(a))continue;const r=e[a];if(Ie(r))t[a]=bm(a,r,n);else if(r!=null){const s=yi(r);t[a]=()=>s}}},Tu=(e,t)=>{const o=yi(t);e.slots.default=()=>o},Nu=(e,t,o)=>{for(const n in t)(o||!bi(n))&&(e[n]=t[n])},ym=(e,t,o)=>{const n=e.slots=Su();if(e.vnode.shapeFlag&32){const a=t._;a?(Nu(n,t,o),o&&fc(n,"_",a,!0)):Pu(t,n)}else t&&Tu(e,t)},vm=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=ot;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Nu(a,t,o):(r=!t.$stable,Pu(t,a)),s=t}else t&&(Tu(e,t),s={default:1});if(r)for(const i in a)!bi(i)&&s[i]==null&&delete a[i]},Dt=Am;function _m(e){return xm(e)}function xm(e,t){const o=xr();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:k=fo,insertStaticContent:w}=e,b=(P,B,O,K=null,X=null,G=null,Y=void 0,re=null,A=!!B.dynamicChildren)=>{if(P===B)return;P&&!Sn(P,B)&&(K=xe(P),U(P,X,G,!0),P=null),B.patchFlag===-2&&(A=!1,B.dynamicChildren=null);const{type:C,ref:H,shapeFlag:se}=B;switch(C){case Fa:h(P,B,O,K);break;case Rt:v(P,B,O,K);break;case zr:P==null&&_(B,O,K,Y);break;case Fe:j(P,B,O,K,X,G,Y,re,A);break;default:se&1?y(P,B,O,K,X,G,Y,re,A):se&6?I(P,B,O,K,X,G,Y,re,A):(se&64||se&128)&&C.process(P,B,O,K,X,G,Y,re,A,be)}H!=null&&X?Ta(H,P&&P.ref,G,B||P,!B):H==null&&P&&P.ref!=null&&Ta(P.ref,null,G,P,!0)},h=(P,B,O,K)=>{if(P==null)n(B.el=i(B.children),O,K);else{const X=B.el=P.el;B.children!==P.children&&c(X,B.children)}},v=(P,B,O,K)=>{P==null?n(B.el=l(B.children||""),O,K):B.el=P.el},_=(P,B,O,K)=>{[P.el,P.anchor]=w(P.children,B,O,K,P.el,P.anchor)},x=({el:P,anchor:B},O,K)=>{let X;for(;P&&P!==B;)X=f(P),n(P,O,K),P=X;n(B,O,K)},p=({el:P,anchor:B})=>{let O;for(;P&&P!==B;)O=f(P),a(P),P=O;a(B)},y=(P,B,O,K,X,G,Y,re,A)=>{if(B.type==="svg"?Y="svg":B.type==="math"&&(Y="mathml"),P==null)d(B,O,K,X,G,Y,re,A);else{const C=P.el&&P.el._isVueCE?P.el:null;try{C&&C._beginPatch(),S(P,B,X,G,Y,re,A)}finally{C&&C._endPatch()}}},d=(P,B,O,K,X,G,Y,re)=>{let A,C;const{props:H,shapeFlag:se,transition:ge,dirs:fe}=P;if(A=P.el=s(P.type,G,H&&H.is,H),se&8?u(A,P.children):se&16&&T(P.children,A,null,K,X,vi(P,G),Y,re),fe&&xn(P,null,K,"created"),m(A,P,P.scopeId,Y,K),H){for(const ie in H)ie!=="value"&&!ma(ie)&&r(A,ie,null,H[ie],G,K);"value"in H&&r(A,"value",null,H.value,G),(C=H.onVnodeBeforeMount)&&xo(C,K,P)}fe&&xn(P,null,K,"beforeMount");const te=km(X,ge);te&&ge.beforeEnter(A),n(A,B,O),((C=H&&H.onVnodeMounted)||te||fe)&&Dt(()=>{try{C&&xo(C,K,P),te&&ge.enter(A),fe&&xn(P,null,K,"mounted")}finally{}},X)},m=(P,B,O,K,X)=>{if(O&&k(P,O),K)for(let G=0;G{for(let C=A;C{const re=B.el=P.el;let{patchFlag:A,dynamicChildren:C,dirs:H}=B;A|=P.patchFlag&16;const se=P.props||ot,ge=B.props||ot;let fe;if(O&&An(O,!1),(fe=ge.onVnodeBeforeUpdate)&&xo(fe,O,B,P),H&&xn(B,P,O,"beforeUpdate"),O&&An(O,!0),C&&(!P.dynamicChildren||P.dynamicChildren.length!==C.length)&&(A=0,Y=!1,C=null),(se.innerHTML&&ge.innerHTML==null||se.textContent&&ge.textContent==null)&&u(re,""),C?D(P.dynamicChildren,C,re,O,K,vi(B,X),G):Y||Q(P,B,re,null,O,K,vi(B,X),G,!1),A>0){if(A&16)z(re,se,ge,O,X);else if(A&2&&se.class!==ge.class&&r(re,"class",null,ge.class,X),A&4&&r(re,"style",se.style,ge.style,X),A&8){const te=B.dynamicProps;for(let ie=0;ie{fe&&xo(fe,O,B,P),H&&xn(B,P,O,"updated")},K)},D=(P,B,O,K,X,G,Y)=>{for(let re=0;re{if(B!==O){if(B!==ot)for(const G in B)!ma(G)&&!(G in O)&&r(P,G,B[G],null,X,K);for(const G in O){if(ma(G))continue;const Y=O[G],re=B[G];Y!==re&&G!=="value"&&r(P,G,re,Y,X,K)}"value"in O&&r(P,"value",B.value,O.value,X)}},j=(P,B,O,K,X,G,Y,re,A)=>{const C=B.el=P?P.el:i(""),H=B.anchor=P?P.anchor:i("");let{patchFlag:se,dynamicChildren:ge,slotScopeIds:fe}=B;fe&&(re=re?re.concat(fe):fe),P==null?(n(C,O,K),n(H,O,K),T(B.children||[],O,H,X,G,Y,re,A)):se>0&&se&64&&ge&&P.dynamicChildren&&P.dynamicChildren.length===ge.length?(D(P.dynamicChildren,ge,O,X,G,Y,re),(B.key!=null||X&&B===X.subTree)&&_i(P,B,!0)):Q(P,B,O,H,X,G,Y,re,A)},I=(P,B,O,K,X,G,Y,re,A)=>{B.slotScopeIds=re,P==null?B.shapeFlag&512?X.ctx.activate(B,O,K,Y,A):R(B,O,K,X,G,Y,A):E(P,B,A)},R=(P,B,O,K,X,G,Y)=>{const re=P.component=Tm(P,K,X);if(Na(P)&&(re.ctx.renderer=be),Nm(re,!1,Y),re.asyncDep){if(X&&X.registerDep(re,L,Y),!P.el){const A=re.subTree=et(Rt);v(null,A,B,O),P.placeholder=A.el}}else L(re,P,B,O,X,G,Y)},E=(P,B,O)=>{const K=B.component=P.component;if(pm(P,B,O))if(K.asyncDep&&!K.asyncResolved){N(K,B,O);return}else K.next=B,K.update();else B.el=P.el,K.vnode=B},L=(P,B,O,K,X,G,Y)=>{const re=()=>{if(P.isMounted){let{next:se,bu:ge,u:fe,parent:te,vnode:ie}=P;{const ae=Ru(P);if(ae){se&&(se.el=ie.el,N(P,se,Y)),ae.asyncDep.then(()=>{Dt(()=>{P.isUnmounted||C()},X)});return}}let Se=se,Re;An(P,!1),se?(se.el=ie.el,N(P,se,Y)):se=ie,ge&&vr(ge),(Re=se.props&&se.props.onVnodeBeforeUpdate)&&xo(Re,te,se,ie),An(P,!0);const ze=xu(P),q=P.subTree;P.subTree=ze,b(q,ze,g(q.el),xe(q),P,X,G),se.el=ze.el,Se===null&&gm(P,ze.el),fe&&Dt(fe,X),(Re=se.props&&se.props.onVnodeUpdated)&&Dt(()=>xo(Re,te,se,ie),X)}else{let se;const{el:ge,props:fe}=B,{bm:te,m:ie,parent:Se,root:Re,type:ze}=P,q=Vn(B);An(P,!1),te&&vr(te),!q&&(se=fe&&fe.onVnodeBeforeMount)&&xo(se,Se,B),An(P,!0);{Re.ce&&Re.ce._hasShadowRoot()&&Re.ce._injectChildStyle(ze,P.parent?P.parent.type:void 0);const ae=P.subTree=xu(P);b(null,ae,O,K,P,X,G),B.el=ae.el}if(ie&&Dt(ie,X),!q&&(se=fe&&fe.onVnodeMounted)){const ae=B;Dt(()=>xo(se,Se,ae),X)}(B.shapeFlag&256||Se&&Vn(Se.vnode)&&Se.vnode.shapeFlag&256)&&P.a&&Dt(P.a,X),P.isMounted=!0,B=O=K=null}};P.scope.on();const A=P.effect=new kc(re);P.scope.off();const C=P.update=A.run.bind(A),H=P.job=A.runIfDirty.bind(A);H.i=P,H.id=P.uid,A.scheduler=()=>ai(H),An(P,!0),C()},N=(P,B,O)=>{B.component=P;const K=P.vnode.props;P.vnode=B,P.next=null,hm(P,B.props,K,O),vm(P,B.children,O),mo(),Vc(P),bo()},Q=(P,B,O,K,X,G,Y,re,A=!1)=>{const C=P&&P.children,H=P?P.shapeFlag:0,se=B.children,{patchFlag:ge,shapeFlag:fe}=B;if(ge>0){if(ge&128){W(C,se,O,K,X,G,Y,re,A);return}else if(ge&256){de(C,se,O,K,X,G,Y,re,A);return}}fe&8?(H&16&&Ce(C,X,G),se!==C&&u(O,se)):H&16?fe&16?W(C,se,O,K,X,G,Y,re,A):Ce(C,X,G,!0):(H&8&&u(O,""),fe&16&&T(se,O,K,X,G,Y,re,A))},de=(P,B,O,K,X,G,Y,re,A)=>{P=P||Bn,B=B||Bn;const C=P.length,H=B.length,se=Math.min(C,H);let ge;for(ge=0;geH?Ce(P,X,G,!0,!1,se):T(B,O,K,X,G,Y,re,A,se)},W=(P,B,O,K,X,G,Y,re,A)=>{let C=0;const H=B.length;let se=P.length-1,ge=H-1;for(;C<=se&&C<=ge;){const fe=P[C],te=B[C]=A?zo(B[C]):_o(B[C]);if(Sn(fe,te))b(fe,te,O,null,X,G,Y,re,A);else break;C++}for(;C<=se&&C<=ge;){const fe=P[se],te=B[ge]=A?zo(B[ge]):_o(B[ge]);if(Sn(fe,te))b(fe,te,O,null,X,G,Y,re,A);else break;se--,ge--}if(C>se){if(C<=ge){const fe=ge+1,te=fege)for(;C<=se;)U(P[C],X,G,!0),C++;else{const fe=C,te=C,ie=new Map;for(C=te;C<=ge;C++){const Le=B[C]=A?zo(B[C]):_o(B[C]);Le.key!=null&&ie.set(Le.key,C)}let Se,Re=0;const ze=ge-te+1;let q=!1,ae=0;const Ae=new Array(ze);for(C=0;C=ze){U(Le,X,G,!0);continue}let Ve;if(Le.key!=null)Ve=ie.get(Le.key);else for(Se=te;Se<=ge;Se++)if(Ae[Se-te]===0&&Sn(Le,B[Se])){Ve=Se;break}Ve===void 0?U(Le,X,G,!0):(Ae[Ve-te]=C+1,Ve>=ae?ae=Ve:q=!0,b(Le,B[Ve],O,null,X,G,Y,re,A),Re++)}const Te=q?wm(Ae):Bn;for(Se=Te.length-1,C=ze-1;C>=0;C--){const Le=te+C,Ve=B[Le],Ge=B[Le+1],Ct=Le+1{const{el:G,type:Y,transition:re,children:A,shapeFlag:C}=P;if(C&6){le(P.component.subTree,B,O,K);return}if(C&128){P.suspense.move(B,O,K);return}if(C&64){Y.move(P,B,O,be);return}if(Y===Fe){n(G,B,O);for(let se=0;sere.enter(G),X));else{const{leave:se,delayLeave:ge,afterLeave:fe}=re,te=()=>{P.ctx.isUnmounted?a(G):n(G,B,O)},ie=()=>{const Se=G._isLeaving||!!G[Qt];G._isLeaving&&G[Qt](!0),re.persisted&&!Se?te():se(G,()=>{te(),fe&&fe()})};ge?ge(G,te,ie):ie()}else n(G,B,O)},U=(P,B,O,K=!1,X=!1)=>{const{type:G,props:Y,ref:re,children:A,dynamicChildren:C,shapeFlag:H,patchFlag:se,dirs:ge,cacheIndex:fe,memo:te}=P;if(se===-2&&(X=!1),re!=null&&(mo(),Ta(re,null,O,P,!0),bo()),fe!=null&&(B.renderCache[fe]=void 0),H&256){B.ctx.deactivate(P);return}const ie=H&1&&ge,Se=!Vn(P);let Re;if(Se&&(Re=Y&&Y.onVnodeBeforeUnmount)&&xo(Re,B,P),H&6)ve(P.component,O,K);else{if(H&128){P.suspense.unmount(O,K);return}ie&&xn(P,null,B,"beforeUnmount"),H&64?P.type.remove(P,B,O,be,K):C&&!C.hasOnce&&(G!==Fe||se>0&&se&64)?Ce(C,B,O,!1,!0):(G===Fe&&se&384||!X&&H&16)&&Ce(A,B,O),K&&oe(P)}const ze=te!=null&&fe==null;(Se&&(Re=Y&&Y.onVnodeUnmounted)||ie||ze)&&Dt(()=>{Re&&xo(Re,B,P),ie&&xn(P,null,B,"unmounted"),ze&&(P.el=null)},O)},oe=P=>{const{type:B,el:O,anchor:K,transition:X}=P;if(B===Fe){he(O,K);return}if(B===zr){p(P);return}const G=()=>{a(O),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(P.shapeFlag&1&&X&&!X.persisted){const{leave:Y,delayLeave:re}=X,A=()=>Y(O,G);re?re(P.el,G,A):A()}else G()},he=(P,B)=>{let O;for(;P!==B;)O=f(P),a(P),P=O;a(B)},ve=(P,B,O)=>{const{bum:K,scope:X,job:G,subTree:Y,um:re,m:A,a:C}=P;Mu(A),Mu(C),K&&vr(K),X.stop(),G&&(G.flags|=8,U(Y,P,B,O)),re&&Dt(re,B),Dt(()=>{P.isUnmounted=!0},B)},Ce=(P,B,O,K=!1,X=!1,G=0)=>{for(let Y=G;Y{if(P.shapeFlag&6)return xe(P.component.subTree);if(P.shapeFlag&128)return P.suspense.next();const B=f(P.anchor||P.el),O=B&&B[Jc];return O?f(O):B};let J=!1;const ke=(P,B,O)=>{let K;P==null?B._vnode&&(U(B._vnode,null,null,!0),K=B._vnode.component):b(B._vnode||null,P,B,null,null,null,O),B._vnode=P,J||(J=!0,Vc(K),qc(),J=!1)},be={p:b,um:U,m:le,r:oe,mt:R,mc:T,pc:Q,pbc:D,n:xe,o:e};return{render:ke,hydrate:void 0,createApp:sm(ke)}}function vi({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function An({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function km(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _i(e,t,o=!1){const n=e.children,a=t.children;if(Ee(n)&&Ee(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function Ru(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ru(t)}function Mu(e){if(e)for(let t=0;te.__isSuspense;function Am(e,t){t&&t.pendingBranch?Ee(e)?t.effects.push(...e):t.effects.push(e):Lh(e)}const Fe=Symbol.for("v-fgt"),Fa=Symbol.for("v-txt"),Rt=Symbol.for("v-cmt"),zr=Symbol.for("v-stc"),jo=[];let qt=null;function V(e=!1){jo.push(qt=e?null:[])}function xi(){jo.pop(),qt=jo[jo.length-1]||null}let Oa=1;function Ur(e,t=!1){Oa+=e,e<0&&qt&&t&&(qt.hasOnce=!0)}function Ou(e){return e.dynamicChildren=Oa>0?qt||Bn:null,xi(),Oa>0&&qt&&qt.push(e),e}function ne(e,t,o,n,a,r){return Ou($(e,t,o,n,a,r,!0))}function Ue(e,t,o,n,a){return Ou(et(e,t,o,n,a,!0))}function Da(e){return e?e.__v_isVNode===!0:!1}function Sn(e,t){return e.type===t.type&&e.key===t.key}const Du=({key:e})=>e??null,Kr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?at(e)||ut(e)||Ie(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function $(e,t=null,o=null,n=0,a=null,r=e===Fe?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Du(t),ref:t&&Kr(t),scopeId:Yc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:$t};return i?(Hr(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=at(o)?8:16),Oa>0&&!s&&qt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&qt.push(l),l}const et=Sm;function Sm(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===uu)&&(e=Rt),Da(e)){const i=on(e,t,!0);return o&&Hr(i,o),Oa>0&&!r&&qt&&(i.shapeFlag&6?qt[qt.indexOf(e)]=i:qt.push(i)),i.patchFlag=-2,i}if(Dm(e)&&(e=e.__vccOpts),t){t=Cm(t);let{class:i,style:l}=t;i&&!at(i)&&(t.class=Pe(i)),Ze(l)&&($r(l)&&!Ee(l)&&(l=pt({},l)),t.style=Ke(l))}const s=at(e)?1:Fu(e)?128:Mr(e)?64:Ze(e)?4:Ie(e)?2:0;return $(e,t,o,n,a,s,r,!0)}function Cm(e){return e?$r(e)||Cu(e)?pt({},e):e:null}function on(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?$m(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Du(c),ref:t&&t.ref?o&&r?Ee(r)?r.concat(Kr(t)):[r,Kr(t)]:Kr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&on(e.ssContent),ssFallback:e.ssFallback&&on(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ea(u,l.clone(u)),u}function ht(e=" ",t=0){return et(Fa,null,e,t)}function Lm(e,t){const o=et(zr,null,e);return o.staticCount=t,o}function ye(e="",t=!1){return t?(V(),Ue(Rt,null,e)):et(Rt,null,e)}function _o(e){return e==null||typeof e=="boolean"?et(Rt):Ee(e)?et(Fe,null,e.slice()):Da(e)?zo(e):et(Fa,null,String(e))}function zo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:on(e)}function Hr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ee(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Hr(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Cu(t)?t._ctx=$t:a===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(n&65){Hr(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),n&64?(o=16,t=[ht(t)]):o=8;e.children=t,e.shapeFlag|=o}function $m(...e){const t={};for(let o=0;oEt||$t;let Vr,Ba;{const e=xr(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Vr=t("__VUE_INSTANCE_SETTERS__",o=>Et=o),Ba=t("__VUE_SSR_SETTERS__",o=>qn=o)}const Ga=e=>{const t=Et;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},Bu=()=>{Et&&Et.scope.off(),Vr(null)};function Gu(e){return e.vnode.shapeFlag&4}let qn=!1;function Nm(e,t=!1,o=!1){t&&Ba(t);const{props:n,children:a}=e.vnode,r=Gu(e);fm(e,n,r,t),ym(e,a,o||t);const s=r?Rm(e,t):void 0;return t&&Ba(!1),s}function Rm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Qh);const{setup:n}=o;if(n){mo();const a=e.setupContext=n.length>1?Im(e):null,r=Ga(e),s=Un(n,e,0,[e.props,a]),i=pc(s);if(bo(),r(),(i||e.sp)&&!Vn(e)&&ui(e),i){if(s.then(Bu,Bu),t)return s.then(l=>{Ba(!0);try{ju(e,l,t)}finally{Ba(!1)}}).catch(l=>{Sa(l,e,0)});e.asyncDep=s}else ju(e,s)}else zu(e)}function ju(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ze(t)&&(e.setupState=jc(t)),zu(e)}function zu(e,t,o){const n=e.type;e.render||(e.render=n.render||fo);{const a=Ga(e);mo();try{em(e)}finally{bo(),a()}}}const Mm={get(e,t){return Nt(e,"get",""),e[t]}};function Im(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Mm),slots:e.slots,emit:e.emit,expose:t}}function qr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(jc(ka(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Ma)return Ma[o](e)},has(t,o){return o in t||o in Ma}})):e.proxy}const Fm=/(?:^|[-_])\w/g,Om=e=>e.replace(Fm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Uu(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function Ku(e,t,o=!1){let n=Uu(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Om(n):o?"App":"Anonymous"}function Dm(e){return Ie(e)&&"__vccOpts"in e}const ee=(e,t)=>yh(e,t,qn);function ki(e,t,o){try{Ur(-1);const n=arguments.length;return n===2?Ze(t)&&!Ee(t)?Da(t)?et(e,null,[t]):et(e,t):et(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Da(o)&&(o=[o]),et(e,t,o))}finally{Ur(1)}}const Bm="3.5.42";/** +`,...wh(a)),console.warn(...r)}bo(),ni=!1}function kh(){let e=Aa[Aa.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function wh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Ah(o))}),t}function Ah({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ku(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Sh(e.props),r]:[a+r]}function Sh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Uc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Uc(e,t,o){return at(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=Uc(e,Ke(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Fe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ke(t),o?t:[`${e}=`,t])}function Un(e,t,o,n){try{return n?e(...n):e()}catch(a){Sa(a,t,o)}}function eo(e,t,o,n){if(Fe(e)){const a=Un(e,t,o,n);return a&&pc(a)&&a.catch(r=>{Sa(r,t,o)}),a}if($e(e)){const a=[];for(let r=0;r>>1,a=It[n],r=Ca(a);r=Ca(o)?It.push(e):It.splice(Lh(t),0,e),e.flags|=1,Hc()}}function Hc(){Nr||(Nr=Kc.then(Wc))}function $h(e){if(!$e(e))en&&e.id===-1?en.splice(Hn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCa(o)-Ca(n));if(Kn.length=0,en){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Wc(e){try{for(vo=0;vo{n._d&&Ur(-1);const r=Rr(t),s=jo.length;let i;try{i=e(...a)}finally{for(let l=jo.length;l>s;l--)xi();Rr(r),n._d&&Ur(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Vt(e,t){if(Lt===null)return e;const o=qr(Lt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Fe(t)?t.call(n&&n.proxy):t}}function Eh(){return!!(ko()||wn)}const Ph=Symbol.for("v-scx"),Th=()=>Pe(Ph);function Nh(e,t){return ri(e,null,t)}function Oe(e,t,o){return ri(e,t,o)}function ri(e,t,o=ot){const{immediate:n,deep:a,flush:r,once:s}=o,i=pt({},o),l=t&&n||!t&&r!=="post";let c;if(qn){if(r==="sync"){const k=Th();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=fo,k.resume=fo,k.pause=fo,k}}const u=$t;i.call=(k,w,_)=>eo(k,u,w,_);let g=!1;r==="post"?i.scheduler=k=>{Dt(k,u&&u.suspense)}:r!=="sync"&&(g=!0,i.scheduler=(k,w)=>{w?k():ai(k)}),i.augmentJob=k=>{t&&(k.flags|=4),g&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const h=xh(e,t,i);return qn&&(c?c.push(h):l&&h()),h}function Rh(e,t,o){const n=this.proxy,a=at(e)?e.includes(".")?Xc(n,e):()=>n[e]:e.bind(n,n);let r;Fe(t)?r=t:(r=t.handler,o=t);const s=Ga(this),i=ri(a,r.bind(n),o);return s(),i}function Xc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,kn=e=>e&&(e.disabled||e.disabled===""),Mh=e=>e&&(e.defer||e.defer===""),Zc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Qc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,si=(e,t)=>{const o=e&&e.to;return at(o)?t?t(o):null:o},Ih={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,c){const{mc:u,pc:g,pbc:h,o:{insert:k,querySelector:w,createText:_,createComment:m,parentNode:d}}=c,b=kn(t.props);let{dynamicChildren:p}=t;const v=(x,N,S)=>{x.shapeFlag&16&&u(x.children,N,S,a,r,s,i,l)},y=(x=t)=>{const N=kn(x.props),S=x.target=si(x.props,w),O=ii(S,x,_,k);S&&(s!=="svg"&&Zc(S)?s="svg":s!=="mathml"&&Qc(S)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(S),N||(v(x,S,O),La(x,!1)))},f=x=>{const N=()=>{if(tn.get(x)===N){if(tn.delete(x),kn(x.props)){const S=d(x.el)||o;v(x,S,x.anchor),La(x,!0)}y(x)}};tn.set(x,N),Dt(N,r)};if(e==null){const x=t.el=_(""),N=t.anchor=_("");if(k(x,o,n),k(N,o,n),Mh(t.props)||r&&r.pendingBranch){f(t);return}b&&(v(t,o,N),La(t,!0)),y()}else{t.el=e.el;const x=t.anchor=e.anchor,N=tn.get(e);if(N){N.flags|=8,tn.delete(e),f(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,O=t.targetAnchor=e.targetAnchor,z=kn(e.props),j=z?o:S,I=z?x:O;if(s==="svg"||Zc(S)?s="svg":(s==="mathml"||Qc(S))&&(s="mathml"),p?(h(e.dynamicChildren,p,j,a,r,s,i),_i(e,t,!0)):l||g(e,t,j,I,a,r,s,i,!1),b)z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ir(t,o,x,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const M=si(t.props,w);M&&(t.target=M,Ir(t,M,null,c,0))}else z&&Ir(t,S,O,c,1);La(t,b)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:h}=e,k=kn(h),w=r||!k,_=tn.get(e);if(_&&(_.flags|=8,tn.delete(e)),g&&(a(c),a(u)),r&&a(l),!_&&(k||g)&&s&16)for(let m=0;m{e.isMounted=!0}),Wt(()=>{e.isUnmounting=!0}),e}const oo=[Function,Array],eu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:oo,onEnter:oo,onAfterEnter:oo,onEnterCancelled:oo,onBeforeLeave:oo,onLeave:oo,onAfterLeave:oo,onLeaveCancelled:oo,onBeforeAppear:oo,onAppear:oo,onAfterAppear:oo,onAppearCancelled:oo},tu=e=>{const t=e.subTree;return t.component?tu(t.component):t},Bh={name:"BaseTransition",props:eu,setup(e,{slots:t}){const o=ko(),n=Dh();return()=>{const a=t.default&&au(t.default(),!0),r=a&&a.length?ou(a):o.subTree?_e():void 0;if(!r)return;const s=Ke(e),{mode:i}=s;if(n.isLeaving)return ci(r);const l=Fr(r);if(!l)return ci(r);let c=li(l,s,n,o,g=>c=g);l.type!==Rt&&Ea(l,c);let u=o.subTree&&Fr(o.subTree);if(u&&u.type!==Rt&&!Sn(u,l)&&tu(o).type!==Rt){let g=li(u,s,n,o);if(Ea(u,g),i==="out-in"&&l.type!==Rt)return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,o.job.flags&8||o.update(),delete g.afterLeave,u=void 0},ci(r);i==="in-out"&&l.type!==Rt?g.delayLeave=(h,k,w)=>{const _=nu(n,u);_[String(u.key)]=u,h[to]=()=>{k(),h[to]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{w(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function ou(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Rt){t=o;break}}return t}const Gh=Bh;function nu(e,t){const{leavingVNodes:o}=e;let n=o.get(t.type);return n||(n=Object.create(null),o.set(t.type,n)),n}function li(e,t,o,n,a){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:g,onBeforeLeave:h,onLeave:k,onAfterLeave:w,onLeaveCancelled:_,onBeforeAppear:m,onAppear:d,onAfterAppear:b,onAppearCancelled:p}=t,v=String(e.key),y=nu(o,e),f=(S,O)=>{S&&eo(S,n,9,O)},x=(S,O)=>{const z=O[1];f(S,O),$e(S)?S.every(j=>j.length<=1)&&z():S.length<=1&&z()},N={mode:s,persisted:i,beforeEnter(S){let O=l;if(!o.isMounted)if(r)O=m||l;else return;S[to]&&S[to](!0);const z=y[v];z&&Sn(e,z)&&z.el[to]&&z.el[to](),f(O,[S])},enter(S){if(y[v]===e)return;let O=c,z=u,j=g;if(!o.isMounted)if(r)O=d||c,z=b||u,j=p||g;else return;let I=!1;S[$a]=P=>{I||(I=!0,P?f(j,[S]):f(z,[S]),N.delayedLeave&&N.delayedLeave(),S[$a]=void 0)};const M=S[$a].bind(null,!1);O?x(O,[S,M]):M()},leave(S,O){const z=String(e.key);if(S[$a]&&S[$a](!0),o.isUnmounting)return O();f(h,[S]);let j=!1;S[to]=M=>{j||(j=!0,O(),M?f(_,[S]):f(w,[S]),S[to]=void 0,y[z]===e&&delete y[z])};const I=S[to].bind(null,!1);y[z]=e,k?x(k,[S,I]):I()},clone(S){const O=li(S,t,o,n,a);return a&&a(O),O}};return N}function ci(e){if(Na(e))return e=on(e),e.children=null,e}function Fr(e){if(!Na(e))return Mr(e.type)&&e.children?ou(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Fe(o.default))return o.default()}}function Ea(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ea(Mr(o.type)&&Fr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function au(e,t=!1,o){let n=[],a=0;for(let r=0;r1)for(let r=0;rTa(_,t&&($e(t)?t[m]:t),o,n,a));return}if(Vn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ta(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?qr(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===ot?i.refs={}:i.refs,g=i.setupState,h=Ke(g),k=g===ot?uc:_=>ru(u,_)?!1:Ze(h,_),w=(_,m)=>!(m&&ru(u,m));if(c!=null&&c!==l){if(su(t),at(c))u[c]=null,k(c)&&(g[c]=null);else if(ut(c)){const _=t;w(c,_.k)&&(c.value=null),_.k&&(u[_.k]=null)}}if(Fe(l))Un(l,i,12,[s,u]);else{const _=at(l),m=ut(l);if(_||m){const d=()=>{if(e.f){const b=_?k(l)?g[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)$e(b)&&js(b,r);else if($e(b))b.includes(r)||b.push(r);else if(_)u[l]=[r],k(l)&&(g[l]=u[l]);else{const p=[r];w(l,e.k)&&(l.value=p),e.k&&(u[e.k]=p)}}else _?(u[l]=s,k(l)&&(g[l]=s)):m&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const b=()=>{d(),Or.delete(e)};b.id=-1,Or.set(e,b),Dt(b,o)}else su(e),d()}}}function su(e){const t=Or.get(e);t&&(t.flags|=8,Or.delete(e))}const iu=e=>e.nodeType===8;xr().requestIdleCallback,xr().cancelIdleCallback;function jh(e,t){if(iu(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(iu(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Vn=e=>!!e.type.__asyncLoader;function zh(e){Fe(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const h=()=>(g++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((m,d)=>{l(_,()=>m(h()),()=>d(_),g+1)});throw _}).then(_=>w!==c&&c?c:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return Pa({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,_,m){const d=w.isConnected;let b=!1;(_.bu||(_.bu=[])).push(()=>b=!0);const p=()=>{b||!w.parentNode||d&&!w.isConnected||m()},v=r?()=>{const y=r(p,f=>jh(w,f));y&&(_.bum||(_.bum=[])).push(y)}:p;u?v():k().then(()=>!_.isUnmounted&&v())},get __asyncResolved(){return u},setup(){const w=$t;if(ui(w),u)return()=>Dr(u,w);const _=y=>{c=null,Sa(y,w,13,!n)};if(i&&w.suspense||qn)return k().then(y=>()=>Dr(y,w)).catch(y=>(_(y),()=>n?Ye(n,{error:y}):null));const m=le(!1),d=le(),b=le(!!a);let p,v;return Ra(()=>{p!=null&&clearTimeout(p),v!=null&&clearTimeout(v)}),a&&(v=setTimeout(()=>{w.isUnmounted||(b.value=!1)},a)),s!=null&&(p=setTimeout(()=>{if(!w.isUnmounted&&!m.value&&!d.value){const y=new Error(`Async component timed out after ${s}ms.`);_(y),d.value=y}},s)),k().then(()=>{w.isUnmounted||(m.value=!0,w.parent&&Na(w.parent.vnode)&&w.parent.update())}).catch(y=>{if(w.isUnmounted){c=null;return}_(y),d.value=y}),()=>{if(m.value&&u)return Dr(u,w);if(d.value&&n)return Ye(n,{error:d.value});if(o&&!b.value)return Dr(o,w)}}})}function Dr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ye(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Na=e=>e.type.__isKeepAlive;function Uh(e,t){lu(e,"a",t)}function Kh(e,t){lu(e,"da",t)}function lu(e,t,o=$t){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Br(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Na(a.parent.vnode)&&Hh(n,t,o,a),a=a.parent}}function Hh(e,t,o,n){const a=Br(t,e,n,!0);Ra(()=>{js(n[t],a)},o)}function Br(e,t,o=$t,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{mo();const i=Ga(o),l=eo(t,o,e,s);return i(),bo(),l});return n?a.unshift(r):a.push(r),r}}const Bo=e=>(t,o=$t)=>{(!qn||e==="sp")&&Br(e,(...n)=>t(...n),o)},cu=Bo("bm"),qt=Bo("m"),Vh=Bo("bu"),qh=Bo("u"),Wt=Bo("bum"),Ra=Bo("um"),Wh=Bo("sp"),Yh=Bo("rtg"),Xh=Bo("rtc");function Jh(e,t=$t){Br("ec",e,t)}const Zh="components",uu=Symbol.for("v-ndc");function di(e){return at(e)?Qh(Zh,e,!1)||e:e||uu}function Qh(e,t,o=!0,n=!1){const a=Lt||$t;if(a){const r=a.type;{const i=Uu(r,!1);if(i&&(i===t||i===kt(t)||i===yr(kt(t))))return r}const s=du(a[e]||r[e],t)||du(a.appContext[e],t);return!s&&n?r:s}}function du(e,t){return e&&(e[t]||e[kt(t)]||e[yr(kt(t))])}function yt(e,t,o,n){let a;const r=o,s=$e(e);if(s||at(e)){const i=s&&Fo(e);let l=!1,c=!1;i&&(l=!Ht(e),c=Oo(e),e=wr(e)),a=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),H(),Ue(Ie,null,[Ye("slot",c,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=jo.length;H();let l;try{const c=s&&pu(s(o)),u=o.key||r||c&&c.key;l=Ue(Ie,{key:(u&&!Kt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=jo.length;u>i;u--)xi();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function pu(e){return e.some(t=>Da(t)?!(t.type===Rt||t.type===Ie&&!pu(t.children)):!0)?e:null}const pi=e=>e?Gu(e)?qr(e):pi(e.parent):null,Ma=pt(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=>pi(e.parent),$root:e=>pi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>mu(e),$forceUpdate:e=>e.f||(e.f=()=>{ai(e.update)}),$nextTick:e=>e.n||(e.n=zt.bind(e.proxy)),$watch:e=>Rh.bind(e)}),gi=(e,t)=>e!==ot&&!e.__isScriptSetup&&Ze(e,t),em={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const h=s[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(gi(n,t))return s[t]=1,n[t];if(a!==ot&&Ze(a,t))return s[t]=2,a[t];if(Ze(r,t))return s[t]=3,r[t];if(o!==ot&&Ze(o,t))return s[t]=4,o[t];fi&&(s[t]=0)}}const c=Ma[t];let u,g;if(c)return t==="$attrs"&&Nt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==ot&&Ze(o,t))return s[t]=4,o[t];if(g=l.config.globalProperties,Ze(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return gi(a,t)?(a[t]=o,!0):n!==ot&&Ze(n,t)?(n[t]=o,!0):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==ot&&i[0]!=="$"&&Ze(e,i)||gi(t,i)||Ze(r,i)||Ze(n,i)||Ze(Ma,i)||Ze(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function gu(e){return $e(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let fi=!0;function tm(e){const t=mu(e),o=e.proxy,n=e.ctx;fi=!1,t.beforeCreate&&fu(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:h,beforeUpdate:k,updated:w,activated:_,deactivated:m,beforeDestroy:d,beforeUnmount:b,destroyed:p,unmounted:v,render:y,renderTracked:f,renderTriggered:x,errorCaptured:N,serverPrefetch:S,expose:O,inheritAttrs:z,components:j,directives:I,filters:M}=t;if(c&&om(c,n,null),s)for(const T in s){const X=s[T];Fe(X)&&(n[T]=X.bind(o))}if(a){const T=a.call(o,o);Qe(T)&&(e.data=jn(T))}if(fi=!0,r)for(const T in r){const X=r[T],pe=Fe(X)?X.bind(o,o):Fe(X.get)?X.get.bind(o,o):fo,W=!Fe(X)&&Fe(X.set)?X.set.bind(o):fo,de=J({get:pe,set:W});Object.defineProperty(n,T,{enumerable:!0,configurable:!0,get:()=>de.value,set:U=>de.value=U})}if(i)for(const T in i)hu(i[T],n,o,T);if(l){const T=Fe(l)?l.call(o):l;Reflect.ownKeys(T).forEach(X=>{wt(X,T[X])})}u&&fu(u,e,"c");function L(T,X){$e(X)?X.forEach(pe=>T(pe.bind(o))):X&&T(X.bind(o))}if(L(cu,g),L(qt,h),L(Vh,k),L(qh,w),L(Uh,_),L(Kh,m),L(Jh,N),L(Xh,f),L(Yh,x),L(Wt,b),L(Ra,v),L(Wh,S),$e(O))if(O.length){const T=e.exposed||(e.exposed={});O.forEach(X=>{Object.defineProperty(T,X,{get:()=>o[X],set:pe=>o[X]=pe,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===fo&&(e.render=y),z!=null&&(e.inheritAttrs=z),j&&(e.components=j),I&&(e.directives=I),S&&ui(e)}function om(e,t,o=fo){$e(e)&&(e=hi(e));for(const n in e){const a=e[n];let r;Qe(a)?"default"in a?r=Pe(a.from||n,a.default,!0):r=Pe(a.from||n):r=Pe(a),ut(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function fu(e,t,o){eo($e(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function hu(e,t,o,n){let a=n.includes(".")?Xc(o,n):()=>o[n];if(at(e)){const r=t[e];Fe(r)&&Oe(a,r)}else if(Fe(e))Oe(a,e.bind(o));else if(Qe(e))if($e(e))e.forEach(r=>hu(r,t,o,n));else{const r=Fe(e.handler)?e.handler.bind(o):t[e.handler];Fe(r)&&Oe(a,r,e)}}function mu(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Gr(l,c,s,!0)),Gr(l,t,s)),Qe(t)&&r.set(t,l),l}function Gr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Gr(e,r,o,!0),a&&a.forEach(s=>Gr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=nm[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const nm={data:bu,props:yu,emits:yu,methods:Ia,computed:Ia,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:Ia,directives:Ia,watch:rm,provide:bu,inject:am};function bu(e,t){return t?e?function(){return pt(Fe(e)?e.call(this,this):e,Fe(t)?t.call(this,this):t)}:t:e}function am(e,t){return Ia(hi(e),hi(t))}function hi(e){if($e(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${kt(t)}Modifiers`]||e[`${Qt(t)}Modifiers`];function cm(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||ot;let a=o;const r=t.startsWith("update:"),s=r&&lm(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>at(u)?u.trim():u)),s.number&&(a=a.map(_r)));let i,l=n[i=zs(t)]||n[i=zs(kt(t))];!l&&r&&(l=n[i=zs(Qt(t))]),l&&eo(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,eo(c,e,6,a)}}const um=new WeakMap;function _u(e,t,o=!1){const n=o?um:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Fe(e)){const l=c=>{const u=_u(c,t,!0);u&&(i=!0,pt(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Qe(e)&&n.set(e,null),null):($e(r)?r.forEach(l=>s[l]=null):pt(s,r),Qe(e)&&n.set(e,s),s)}function jr(e,t){return!e||!gr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Qt(t))||Ze(e,t))}function O3(){}function xu(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:g,data:h,setupState:k,ctx:w,inheritAttrs:_}=e,m=Rr(e);let d,b;try{if(o.shapeFlag&4){const v=a||n,y=v;d=_o(c.call(y,v,u,g,k,h,w)),b=i}else{const v=t;d=_o(v.length>1?v(g,{attrs:i,slots:s,emit:l}):v(g,null)),b=t.props?i:dm(i)}}catch(v){jo.length=0,Sa(v,e,1),d=Ye(Rt)}let p=d;if(b&&_!==!1){const v=Object.keys(b),{shapeFlag:y}=p;v.length&&y&7&&(r&&v.some(fr)&&(b=pm(b,r)),p=on(p,b,!1,!0))}if(o.dirs&&(p=on(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const v=Mr(p.type)&&Fr(p)||p;Ea(v,o.transition)}return d=p,Rr(m),d}const dm=e=>{let t;for(const o in e)(o==="class"||o==="style"||gr(o))&&((t||(t={}))[o]=e[o]);return t},pm=(e,t)=>{const o={};for(const n in e)(!fr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function gm(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ku(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Au),Cu=e=>Object.getPrototypeOf(e)===Au;function hm(e,t,o,n=!1){const a={},r=Su();e.propsDefaults=Object.create(null),Lu(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:ph(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function mm(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ke(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[h,k]=$u(g,t,!0);pt(s,h),k&&i.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Qe(e)&&n.set(e,Bn),Bn;if($e(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",yi=e=>$e(e)?e.map(_o):[_o(e)],ym=(e,t,o)=>{if(t._n)return t;const n=Ft((...a)=>yi(t(...a)),o);return n._c=!1,n},Pu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(bi(a))continue;const r=e[a];if(Fe(r))t[a]=ym(a,r,n);else if(r!=null){const s=yi(r);t[a]=()=>s}}},Tu=(e,t)=>{const o=yi(t);e.slots.default=()=>o},Nu=(e,t,o)=>{for(const n in t)(o||!bi(n))&&(e[n]=t[n])},vm=(e,t,o)=>{const n=e.slots=Su();if(e.vnode.shapeFlag&32){const a=t._;a?(Nu(n,t,o),o&&fc(n,"_",a,!0)):Pu(t,n)}else t&&Tu(e,t)},_m=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=ot;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Nu(a,t,o):(r=!t.$stable,Pu(t,a)),s=t}else t&&(Tu(e,t),s={default:1});if(r)for(const i in a)!bi(i)&&s[i]==null&&delete a[i]},Dt=Sm;function xm(e){return km(e)}function km(e,t){const o=xr();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:h,setScopeId:k=fo,insertStaticContent:w}=e,_=(E,F,D,K=null,te=null,G=null,Y=void 0,oe=null,A=!!F.dynamicChildren)=>{if(E===F)return;E&&!Sn(E,F)&&(K=we(E),U(E,te,G,!0),E=null),F.patchFlag===-2&&(A=!1,F.dynamicChildren=null);const{type:C,ref:q,shapeFlag:re}=F;switch(C){case Fa:m(E,F,D,K);break;case Rt:d(E,F,D,K);break;case zr:E==null&&b(F,D,K,Y);break;case Ie:j(E,F,D,K,te,G,Y,oe,A);break;default:re&1?y(E,F,D,K,te,G,Y,oe,A):re&6?I(E,F,D,K,te,G,Y,oe,A):(re&64||re&128)&&C.process(E,F,D,K,te,G,Y,oe,A,me)}q!=null&&te?Ta(q,E&&E.ref,G,F||E,!F):q==null&&E&&E.ref!=null&&Ta(E.ref,null,G,E,!0)},m=(E,F,D,K)=>{if(E==null)n(F.el=i(F.children),D,K);else{const te=F.el=E.el;F.children!==E.children&&c(te,F.children)}},d=(E,F,D,K)=>{E==null?n(F.el=l(F.children||""),D,K):F.el=E.el},b=(E,F,D,K)=>{[E.el,E.anchor]=w(E.children,F,D,K,E.el,E.anchor)},p=({el:E,anchor:F},D,K)=>{let te;for(;E&&E!==F;)te=h(E),n(E,D,K),E=te;n(F,D,K)},v=({el:E,anchor:F})=>{let D;for(;E&&E!==F;)D=h(E),a(E),E=D;a(F)},y=(E,F,D,K,te,G,Y,oe,A)=>{if(F.type==="svg"?Y="svg":F.type==="math"&&(Y="mathml"),E==null)f(F,D,K,te,G,Y,oe,A);else{const C=E.el&&E.el._isVueCE?E.el:null;try{C&&C._beginPatch(),S(E,F,te,G,Y,oe,A)}finally{C&&C._endPatch()}}},f=(E,F,D,K,te,G,Y,oe)=>{let A,C;const{props:q,shapeFlag:re,transition:be,dirs:fe}=E;if(A=E.el=s(E.type,G,q&&q.is,q),re&8?u(A,E.children):re&16&&N(E.children,A,null,K,te,vi(E,G),Y,oe),fe&&xn(E,null,K,"created"),x(A,E,E.scopeId,Y,K),q){for(const se in q)se!=="value"&&!ma(se)&&r(A,se,null,q[se],G,K);"value"in q&&r(A,"value",null,q.value,G),(C=q.onVnodeBeforeMount)&&xo(C,K,E)}fe&&xn(E,null,K,"beforeMount");const Q=wm(te,be);Q&&be.beforeEnter(A),n(A,F,D),((C=q&&q.onVnodeMounted)||Q||fe)&&Dt(()=>{try{C&&xo(C,K,E),Q&&be.enter(A),fe&&xn(E,null,K,"mounted")}finally{}},te)},x=(E,F,D,K,te)=>{if(D&&k(E,D),K)for(let G=0;G{for(let C=A;C{const oe=F.el=E.el;let{patchFlag:A,dynamicChildren:C,dirs:q}=F;A|=E.patchFlag&16;const re=E.props||ot,be=F.props||ot;let fe;if(D&&An(D,!1),(fe=be.onVnodeBeforeUpdate)&&xo(fe,D,F,E),q&&xn(F,E,D,"beforeUpdate"),D&&An(D,!0),C&&(!E.dynamicChildren||E.dynamicChildren.length!==C.length)&&(A=0,Y=!1,C=null),(re.innerHTML&&be.innerHTML==null||re.textContent&&be.textContent==null)&&u(oe,""),C?O(E.dynamicChildren,C,oe,D,K,vi(F,te),G):Y||X(E,F,oe,null,D,K,vi(F,te),G,!1),A>0){if(A&16)z(oe,re,be,D,te);else if(A&2&&re.class!==be.class&&r(oe,"class",null,be.class,te),A&4&&r(oe,"style",re.style,be.style,te),A&8){const Q=F.dynamicProps;for(let se=0;se{fe&&xo(fe,D,F,E),q&&xn(F,E,D,"updated")},K)},O=(E,F,D,K,te,G,Y)=>{for(let oe=0;oe{if(F!==D){if(F!==ot)for(const G in F)!ma(G)&&!(G in D)&&r(E,G,F[G],null,te,K);for(const G in D){if(ma(G))continue;const Y=D[G],oe=F[G];Y!==oe&&G!=="value"&&r(E,G,oe,Y,te,K)}"value"in D&&r(E,"value",F.value,D.value,te)}},j=(E,F,D,K,te,G,Y,oe,A)=>{const C=F.el=E?E.el:i(""),q=F.anchor=E?E.anchor:i("");let{patchFlag:re,dynamicChildren:be,slotScopeIds:fe}=F;fe&&(oe=oe?oe.concat(fe):fe),E==null?(n(C,D,K),n(q,D,K),N(F.children||[],D,q,te,G,Y,oe,A)):re>0&&re&64&&be&&E.dynamicChildren&&E.dynamicChildren.length===be.length?(O(E.dynamicChildren,be,D,te,G,Y,oe),(F.key!=null||te&&F===te.subTree)&&_i(E,F,!0)):X(E,F,D,q,te,G,Y,oe,A)},I=(E,F,D,K,te,G,Y,oe,A)=>{F.slotScopeIds=oe,E==null?F.shapeFlag&512?te.ctx.activate(F,D,K,Y,A):M(F,D,K,te,G,Y,A):P(E,F,A)},M=(E,F,D,K,te,G,Y)=>{const oe=E.component=Nm(E,K,te);if(Na(E)&&(oe.ctx.renderer=me),Rm(oe,!1,Y),oe.asyncDep){if(te&&te.registerDep(oe,L,Y),!E.el){const A=oe.subTree=Ye(Rt);d(null,A,F,D),E.placeholder=A.el}}else L(oe,E,F,D,te,G,Y)},P=(E,F,D)=>{const K=F.component=E.component;if(gm(E,F,D))if(K.asyncDep&&!K.asyncResolved){T(K,F,D);return}else K.next=F,K.update();else F.el=E.el,K.vnode=F},L=(E,F,D,K,te,G,Y)=>{const oe=()=>{if(E.isMounted){let{next:re,bu:be,u:fe,parent:Q,vnode:se}=E;{const ae=Ru(E);if(ae){re&&(re.el=se.el,T(E,re,Y)),ae.asyncDep.then(()=>{Dt(()=>{E.isUnmounted||C()},te)});return}}let Se=re,Re;An(E,!1),re?(re.el=se.el,T(E,re,Y)):re=se,be&&vr(be),(Re=re.props&&re.props.onVnodeBeforeUpdate)&&xo(Re,Q,re,se),An(E,!0);const He=xu(E),V=E.subTree;E.subTree=He,_(V,He,g(V.el),we(V),E,te,G),re.el=He.el,Se===null&&fm(E,He.el),fe&&Dt(fe,te),(Re=re.props&&re.props.onVnodeUpdated)&&Dt(()=>xo(Re,Q,re,se),te)}else{let re;const{el:be,props:fe}=F,{bm:Q,m:se,parent:Se,root:Re,type:He}=E,V=Vn(F);An(E,!1),Q&&vr(Q),!V&&(re=fe&&fe.onVnodeBeforeMount)&&xo(re,Se,F),An(E,!0);{Re.ce&&Re.ce._hasShadowRoot()&&Re.ce._injectChildStyle(He,E.parent?E.parent.type:void 0);const ae=E.subTree=xu(E);_(null,ae,D,K,E,te,G),F.el=ae.el}if(se&&Dt(se,te),!V&&(re=fe&&fe.onVnodeMounted)){const ae=F;Dt(()=>xo(re,Se,ae),te)}(F.shapeFlag&256||Se&&Vn(Se.vnode)&&Se.vnode.shapeFlag&256)&&E.a&&Dt(E.a,te),E.isMounted=!0,F=D=K=null}};E.scope.on();const A=E.effect=new kc(oe);E.scope.off();const C=E.update=A.run.bind(A),q=E.job=A.runIfDirty.bind(A);q.i=E,q.id=E.uid,A.scheduler=()=>ai(q),An(E,!0),C()},T=(E,F,D)=>{F.component=E;const K=E.vnode.props;E.vnode=F,E.next=null,mm(E,F.props,K,D),_m(E,F.children,D),mo(),Vc(E),bo()},X=(E,F,D,K,te,G,Y,oe,A=!1)=>{const C=E&&E.children,q=E?E.shapeFlag:0,re=F.children,{patchFlag:be,shapeFlag:fe}=F;if(be>0){if(be&128){W(C,re,D,K,te,G,Y,oe,A);return}else if(be&256){pe(C,re,D,K,te,G,Y,oe,A);return}}fe&8?(q&16&&Te(C,te,G),re!==C&&u(D,re)):q&16?fe&16?W(C,re,D,K,te,G,Y,oe,A):Te(C,te,G,!0):(q&8&&u(D,""),fe&16&&N(re,D,K,te,G,Y,oe,A))},pe=(E,F,D,K,te,G,Y,oe,A)=>{E=E||Bn,F=F||Bn;const C=E.length,q=F.length,re=Math.min(C,q);let be;for(be=0;beq?Te(E,te,G,!0,!1,re):N(F,D,K,te,G,Y,oe,A,re)},W=(E,F,D,K,te,G,Y,oe,A)=>{let C=0;const q=F.length;let re=E.length-1,be=q-1;for(;C<=re&&C<=be;){const fe=E[C],Q=F[C]=A?zo(F[C]):_o(F[C]);if(Sn(fe,Q))_(fe,Q,D,null,te,G,Y,oe,A);else break;C++}for(;C<=re&&C<=be;){const fe=E[re],Q=F[be]=A?zo(F[be]):_o(F[be]);if(Sn(fe,Q))_(fe,Q,D,null,te,G,Y,oe,A);else break;re--,be--}if(C>re){if(C<=be){const fe=be+1,Q=febe)for(;C<=re;)U(E[C],te,G,!0),C++;else{const fe=C,Q=C,se=new Map;for(C=Q;C<=be;C++){const Le=F[C]=A?zo(F[C]):_o(F[C]);Le.key!=null&&se.set(Le.key,C)}let Se,Re=0;const He=be-Q+1;let V=!1,ae=0;const Ae=new Array(He);for(C=0;C=He){U(Le,te,G,!0);continue}let je;if(Le.key!=null)je=se.get(Le.key);else for(Se=Q;Se<=be;Se++)if(Ae[Se-Q]===0&&Sn(Le,F[Se])){je=Se;break}je===void 0?U(Le,te,G,!0):(Ae[je-Q]=C+1,je>=ae?ae=je:V=!0,_(Le,F[je],D,null,te,G,Y,oe,A),Re++)}const Ne=V?Am(Ae):Bn;for(Se=Ne.length-1,C=He-1;C>=0;C--){const Le=Q+C,je=F[Le],Ge=F[Le+1],St=Le+1{const{el:G,type:Y,transition:oe,children:A,shapeFlag:C}=E;if(C&6){de(E.component.subTree,F,D,K);return}if(C&128){E.suspense.move(F,D,K);return}if(C&64){Y.move(E,F,D,me);return}if(Y===Ie){n(G,F,D);for(let re=0;reoe.enter(G),te));else{const{leave:re,delayLeave:be,afterLeave:fe}=oe,Q=()=>{E.ctx.isUnmounted?a(G):n(G,F,D)},se=()=>{const Se=G._isLeaving||!!G[to];G._isLeaving&&G[to](!0),oe.persisted&&!Se?Q():re(G,()=>{Q(),fe&&fe()})};be?be(G,Q,se):se()}else n(G,F,D)},U=(E,F,D,K=!1,te=!1)=>{const{type:G,props:Y,ref:oe,children:A,dynamicChildren:C,shapeFlag:q,patchFlag:re,dirs:be,cacheIndex:fe,memo:Q}=E;if(re===-2&&(te=!1),oe!=null&&(mo(),Ta(oe,null,D,E,!0),bo()),fe!=null&&(F.renderCache[fe]=void 0),q&256){F.ctx.deactivate(E);return}const se=q&1&&be,Se=!Vn(E);let Re;if(Se&&(Re=Y&&Y.onVnodeBeforeUnmount)&&xo(Re,F,E),q&6)ce(E.component,D,K);else{if(q&128){E.suspense.unmount(D,K);return}se&&xn(E,null,F,"beforeUnmount"),q&64?E.type.remove(E,F,D,me,K):C&&!C.hasOnce&&(G!==Ie||re>0&&re&64)?Te(C,F,D,!1,!0):(G===Ie&&re&384||!te&&q&16)&&Te(A,F,D),K&&ee(E)}const He=Q!=null&&fe==null;(Se&&(Re=Y&&Y.onVnodeUnmounted)||se||He)&&Dt(()=>{Re&&xo(Re,F,E),se&&xn(E,null,F,"unmounted"),He&&(E.el=null)},D)},ee=E=>{const{type:F,el:D,anchor:K,transition:te}=E;if(F===Ie){ve(D,K);return}if(F===zr){v(E);return}const G=()=>{a(D),te&&!te.persisted&&te.afterLeave&&te.afterLeave()};if(E.shapeFlag&1&&te&&!te.persisted){const{leave:Y,delayLeave:oe}=te,A=()=>Y(D,G);oe?oe(E.el,G,A):A()}else G()},ve=(E,F)=>{let D;for(;E!==F;)D=h(E),a(E),E=D;a(F)},ce=(E,F,D)=>{const{bum:K,scope:te,job:G,subTree:Y,um:oe,m:A,a:C}=E;Mu(A),Mu(C),K&&vr(K),te.stop(),G&&(G.flags|=8,U(Y,E,F,D)),oe&&Dt(oe,F),Dt(()=>{E.isUnmounted=!0},F)},Te=(E,F,D,K=!1,te=!1,G=0)=>{for(let Y=G;Y{if(E.shapeFlag&6)return we(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();const F=h(E.anchor||E.el),D=F&&F[Jc];return D?h(D):F};let ue=!1;const ye=(E,F,D)=>{let K;E==null?F._vnode&&(U(F._vnode,null,null,!0),K=F._vnode.component):_(F._vnode||null,E,F,null,null,null,D),F._vnode=E,ue||(ue=!0,Vc(K),qc(),ue=!1)},me={p:_,um:U,m:de,r:ee,mt:M,mc:N,pc:X,pbc:O,n:we,o:e};return{render:ye,hydrate:void 0,createApp:im(ye)}}function vi({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function An({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function wm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _i(e,t,o=!1){const n=e.children,a=t.children;if($e(n)&&$e(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function Ru(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ru(t)}function Mu(e){if(e)for(let t=0;te.__isSuspense;function Sm(e,t){t&&t.pendingBranch?$e(e)?t.effects.push(...e):t.effects.push(e):$h(e)}const Ie=Symbol.for("v-fgt"),Fa=Symbol.for("v-txt"),Rt=Symbol.for("v-cmt"),zr=Symbol.for("v-stc"),jo=[];let Yt=null;function H(e=!1){jo.push(Yt=e?null:[])}function xi(){jo.pop(),Yt=jo[jo.length-1]||null}let Oa=1;function Ur(e,t=!1){Oa+=e,e<0&&Yt&&t&&(Yt.hasOnce=!0)}function Ou(e){return e.dynamicChildren=Oa>0?Yt||Bn:null,xi(),Oa>0&&Yt&&Yt.push(e),e}function ne(e,t,o,n,a,r){return Ou($(e,t,o,n,a,r,!0))}function Ue(e,t,o,n,a){return Ou(Ye(e,t,o,n,a,!0))}function Da(e){return e?e.__v_isVNode===!0:!1}function Sn(e,t){return e.type===t.type&&e.key===t.key}const Du=({key:e})=>e??null,Kr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?at(e)||ut(e)||Fe(e)?{i:Lt,r:e,k:t,f:!!o}:e:null);function $(e,t=null,o=null,n=0,a=null,r=e===Ie?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Du(t),ref:t&&Kr(t),scopeId:Yc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Lt};return i?(Hr(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=at(o)?8:16),Oa>0&&!s&&Yt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Yt.push(l),l}const Ye=Cm;function Cm(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===uu)&&(e=Rt),Da(e)){const i=on(e,t,!0);return o&&Hr(i,o),Oa>0&&!r&&Yt&&(i.shapeFlag&6?Yt[Yt.indexOf(e)]=i:Yt.push(i)),i.patchFlag=-2,i}if(Bm(e)&&(e=e.__vccOpts),t){t=Lm(t);let{class:i,style:l}=t;i&&!at(i)&&(t.class=Ee(i)),Qe(l)&&($r(l)&&!$e(l)&&(l=pt({},l)),t.style=We(l))}const s=at(e)?1:Fu(e)?128:Mr(e)?64:Qe(e)?4:Fe(e)?2:0;return $(e,t,o,n,a,s,r,!0)}function Lm(e){return e?$r(e)||Cu(e)?pt({},e):e:null}function on(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?Em(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Du(c),ref:t&&t.ref?o&&r?$e(r)?r.concat(Kr(t)):[r,Kr(t)]:Kr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ie?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&on(e.ssContent),ssFallback:e.ssFallback&&on(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ea(u,l.clone(u)),u}function ht(e=" ",t=0){return Ye(Fa,null,e,t)}function $m(e,t){const o=Ye(zr,null,e);return o.staticCount=t,o}function _e(e="",t=!1){return t?(H(),Ue(Rt,null,e)):Ye(Rt,null,e)}function _o(e){return e==null||typeof e=="boolean"?Ye(Rt):$e(e)?Ye(Ie,null,e.slice()):Da(e)?zo(e):Ye(Fa,null,String(e))}function zo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:on(e)}function Hr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if($e(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Hr(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Cu(t)?t._ctx=Lt:a===3&&Lt&&(Lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Fe(t)){if(n&65){Hr(e,{default:t});return}t={default:t,_ctx:Lt},o=32}else t=String(t),n&64?(o=16,t=[ht(t)]):o=8;e.children=t,e.shapeFlag|=o}function Em(...e){const t={};for(let o=0;o$t||Lt;let Vr,Ba;{const e=xr(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Vr=t("__VUE_INSTANCE_SETTERS__",o=>$t=o),Ba=t("__VUE_SSR_SETTERS__",o=>qn=o)}const Ga=e=>{const t=$t;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},Bu=()=>{$t&&$t.scope.off(),Vr(null)};function Gu(e){return e.vnode.shapeFlag&4}let qn=!1;function Rm(e,t=!1,o=!1){t&&Ba(t);const{props:n,children:a}=e.vnode,r=Gu(e);hm(e,n,r,t),vm(e,a,o||t);const s=r?Mm(e,t):void 0;return t&&Ba(!1),s}function Mm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,em);const{setup:n}=o;if(n){mo();const a=e.setupContext=n.length>1?Fm(e):null,r=Ga(e),s=Un(n,e,0,[e.props,a]),i=pc(s);if(bo(),r(),(i||e.sp)&&!Vn(e)&&ui(e),i){if(s.then(Bu,Bu),t)return s.then(l=>{Ba(!0);try{ju(e,l,t)}finally{Ba(!1)}}).catch(l=>{Sa(l,e,0)});e.asyncDep=s}else ju(e,s)}else zu(e)}function ju(e,t,o){Fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Qe(t)&&(e.setupState=jc(t)),zu(e)}function zu(e,t,o){const n=e.type;e.render||(e.render=n.render||fo);{const a=Ga(e);mo();try{tm(e)}finally{bo(),a()}}}const Im={get(e,t){return Nt(e,"get",""),e[t]}};function Fm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Im),slots:e.slots,emit:e.emit,expose:t}}function qr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(jc(ka(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Ma)return Ma[o](e)},has(t,o){return o in t||o in Ma}})):e.proxy}const Om=/(?:^|[-_])\w/g,Dm=e=>e.replace(Om,t=>t.toUpperCase()).replace(/[-_]/g,"");function Uu(e,t=!0){return Fe(e)?e.displayName||e.name:e.name||t&&e.__name}function Ku(e,t,o=!1){let n=Uu(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Dm(n):o?"App":"Anonymous"}function Bm(e){return Fe(e)&&"__vccOpts"in e}const J=(e,t)=>vh(e,t,qn);function ki(e,t,o){try{Ur(-1);const n=arguments.length;return n===2?Qe(t)&&!$e(t)?Da(t)?Ye(e,null,[t]):Ye(e,t):Ye(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Da(o)&&(o=[o]),Ye(e,t,o))}finally{Ur(1)}}const Gm="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let wi;const Hu=typeof window<"u"&&window.trustedTypes;if(Hu)try{wi=Hu.createPolicy("vue",{createHTML:e=>e})}catch{}const Vu=wi?e=>wi.createHTML(e):e=>e,Gm="http://www.w3.org/2000/svg",jm="http://www.w3.org/1998/Math/MathML",Uo=typeof document<"u"?document:null,qu=Uo&&Uo.createElement("template"),zm={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Uo.createElementNS(Gm,e):t==="mathml"?Uo.createElementNS(jm,e):o?Uo.createElement(e,{is:o}):Uo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Uo.createTextNode(e),createComment:e=>Uo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Uo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{qu.innerHTML=Vu(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=qu.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},nn="transition",ja="animation",za=Symbol("_vtc"),Wu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Um=pt({},eu,Wu),Km=(e=>(e.displayName="Transition",e.props=Um,e))((e,{slots:t})=>ki(Bh,Hm(e),t)),Cn=(e,t=[])=>{Ee(e)?e.forEach(o=>o(...t)):e&&e(...t)},Yu=e=>e?Ee(e)?e.some(t=>t.length>1):e.length>1:!1;function Hm(e){const t={};for(const j in e)j in Wu||(t[j]=e[j]);if(e.css===!1)return t;const{name:o="v",type:n,duration:a,enterFromClass:r=`${o}-enter-from`,enterActiveClass:s=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:l=r,appearActiveClass:c=s,appearToClass:u=i,leaveFromClass:g=`${o}-leave-from`,leaveActiveClass:f=`${o}-leave-active`,leaveToClass:k=`${o}-leave-to`}=e,w=Vm(a),b=w&&w[0],h=w&&w[1],{onBeforeEnter:v,onEnter:_,onEnterCancelled:x,onLeave:p,onLeaveCancelled:y,onBeforeAppear:d=v,onAppear:m=_,onAppearCancelled:T=x}=t,S=(j,I,R,E)=>{j._enterCancelled=E,Ln(j,I?u:i),Ln(j,I?c:s),R&&R()},D=(j,I)=>{j._isLeaving=!1,Ln(j,g),Ln(j,k),Ln(j,f),I&&I()},z=j=>(I,R)=>{const E=j?m:_,L=()=>S(I,j,R);Cn(E,[I,L]),Xu(()=>{Ln(I,j?l:r),Ko(I,j?u:i),Yu(E)||Ju(I,n,b,L)})};return pt(t,{onBeforeEnter(j){Cn(v,[j]),Ko(j,r),Ko(j,s)},onBeforeAppear(j){Cn(d,[j]),Ko(j,l),Ko(j,c)},onEnter:z(!1),onAppear:z(!0),onLeave(j,I){j._isLeaving=!0;const R=()=>D(j,I);Ko(j,g),j._enterCancelled?(Ko(j,f),ed(j)):(ed(j),Ko(j,f)),Xu(()=>{j._isLeaving&&(Ln(j,g),Ko(j,k),Yu(p)||Ju(j,n,h,R))}),Cn(p,[j,R])},onEnterCancelled(j){S(j,!1,void 0,!0),Cn(x,[j])},onAppearCancelled(j){S(j,!0,void 0,!0),Cn(T,[j])},onLeaveCancelled(j){D(j),Cn(y,[j])}})}function Vm(e){if(e==null)return null;if(Ze(e))return[Ai(e.enter),Ai(e.leave)];{const t=Ai(e);return[t,t]}}function Ai(e){return Us(e)}function Ko(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[za]||(e[za]=new Set)).add(t)}function Ln(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const o=e[za];o&&(o.delete(t),o.size||(e[za]=void 0))}function Xu(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let qm=0;function Ju(e,t,o,n){const a=e._endId=++qm,r=()=>{a===e._endId&&n()};if(o!=null)return setTimeout(r,o);const{type:s,timeout:i,propCount:l}=Wm(e,t);if(!s)return n();const c=s+"end";let u=0;const g=()=>{e.removeEventListener(c,f),r()},f=k=>{k.target===e&&++u>=l&&g()};setTimeout(()=>{u(o[w]||"").split(", "),a=n(`${nn}Delay`),r=n(`${nn}Duration`),s=Zu(a,r),i=n(`${ja}Delay`),l=n(`${ja}Duration`),c=Zu(i,l);let u=null,g=0,f=0;t===nn?s>0&&(u=nn,g=s,f=r.length):t===ja?c>0&&(u=ja,g=c,f=l.length):(g=Math.max(s,c),u=g>0?s>c?nn:ja:null,f=u?u===nn?r.length:l.length:0);const k=u===nn&&/\b(?:transform|all)(?:,|$)/.test(n(`${nn}Property`).toString());return{type:u,timeout:g,propCount:f,hasTransform:k}}function Zu(e,t){for(;e.lengthQu(o)+Qu(e[n])))}function Qu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ed(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ym(e,t,o){const n=e[za];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Wr=Symbol("_vod"),td=Symbol("_vsh"),od={name:"show",beforeMount(e,{value:t},{transition:o}){e[Wr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ua(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Ua(e,!0),n.enter(e)):n.leave(e,()=>{Ua(e,!1)}):Ua(e,t))},beforeUnmount(e,{value:t}){Ua(e,t)}};function Ua(e,t){e.style.display=t?e[Wr]:"none",e[td]=!t}const Xm=Symbol(""),Jm=/(?:^|;)\s*display\s*:/;function Zm(e,t,o){const n=e.style,a=at(o);let r=!1;if(o&&!a){if(t)if(at(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&Ka(n,i,"")}else for(const s in t)o[s]==null&&Ka(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?eb(e,s,!at(t)&&t?t[s]:void 0,i)||Ka(n,s,i):Ka(n,s,"")}}else if(a){if(t!==o){const s=n[Xm];s&&(o+=";"+s),n.cssText=o,r=Jm.test(o)}}else t&&e.removeAttribute("style");Wr in e&&(e[Wr]=r?n.display:"",e[td]&&(n.display="none"))}const Yr=/\s*!important$/;function Ka(e,t,o){if(Ee(o))o.forEach(n=>Ka(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Yr.test(o)?e.setProperty(t,o.replace(Yr,""),"important"):e.setProperty(t,o);else{const n=Qm(e,t);Yr.test(o)?e.setProperty(Jt(n),o.replace(Yr,""),"important"):e[n]=o}}const nd=["Webkit","Moz","ms"],Si={};function Qm(e,t){const o=Si[t];if(o)return o;let n=wt(t);if(n!=="filter"&&n in e)return Si[t]=n;n=yr(n);for(let a=0;aCi||(sb.then(()=>Ci=0),Ci=Date.now());function lb(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Ee(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,cb=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?Ym(e,n,s):t==="style"?Zm(e,o,n):gr(t)?fr(t)||ob(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ub(e,t,n,s))?(sd(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rd(e,t,n,s,r,t!=="value")):e._isVueCE&&(db(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!at(n)))?sd(e,wt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),rd(e,t,n,s))};function ub(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ld(t)&&Ie(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return ld(t)&&at(o)?!1:t in e}function db(e,t){const o=e._def.props;if(!o)return!1;const n=wt(t);return Array.isArray(o)?o.some(a=>wt(a)===n):Object.keys(o).some(a=>wt(a)===n)}const cd={};function pb(e,t,o){let n=Pa(e,t);hr(n)&&(n=pt({},n,t));class a extends Li{constructor(s){super(n,s,o)}}return a.def=n,a}const gb=typeof HTMLElement<"u"?HTMLElement:class{};class Li extends gb{constructor(t,o={},n=md){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==md?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(pt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Li){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,jt(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!Ee(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(i||(i=Object.create(null)))[wt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Je(this,n)||Object.defineProperty(this,n,{get:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ee(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(wt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):cd;const a=wt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Us(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===cd?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(Jt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Jt(t),o+""):o||this.removeAttribute(Jt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),vb(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=et(this._def,pt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,hr(s[0])?pt({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Jt(r)!==r&&a(Jt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Ee(t)?o=>vr(t,o):t};function fb(e){e.target.composing=!0}function ud(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const wo=Symbol("_assign"),Xr=Symbol("_initialValue");function $i(e,t,o){return t&&(e=e.trim()),o&&(e=_r(e)),e}const Jr={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[Xr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Xr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[wo]=Wn(a);const r=n||a.props&&a.props.type==="number";an(e,t?"change":"input",s=>{s.target.composing||e[wo]($i(e.value,o,r))}),(o||r)&&an(e,"change",()=>{e.value=$i(e.value,o,r)}),t||(an(e,"compositionstart",fb),an(e,"compositionend",ud),an(e,"change",ud))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[Xr];delete e[Xr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[wo]($i(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[wo]=Wn(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?_r(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Ei={deep:!0,created(e,t,o){e[wo]=Wn(o),an(e,"change",()=>{const n=e._modelValue,a=Ha(e),r=e.checked,s=e[wo];if(Ee(n)){const i=Ks(n,a),l=i!==-1;if(r&&!l)s(n.concat(a));else if(!r&&l){const c=[...n];c.splice(i,1),s(c)}}else if(No(n)){const i=new Set(n);r?i.add(a):i.delete(a),s(i)}else s(gd(e,r))})},mounted:dd,beforeUpdate(e,t,o){e[wo]=Wn(o),dd(e,t,o)}};function dd(e,{value:t,oldValue:o},n){e._modelValue=t;let a;if(Ee(t))a=Ks(t,n.props.value)>-1;else if(No(t))a=t.has(n.props.value);else{if(t===o)return;a=Ro(t,gd(e,!0))}e.checked!==a&&(e.checked=a)}const Zr={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,an(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?_r(Ha(l)):Ha(l)),r=e.multiple,s=r?No(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?Ee(s)?a.slice():a:s];try{e[wo](s)}finally{jt(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[wo]=Wn(n)},mounted(e,{value:t}){pd(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[wo]=Wn(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!hb(t,o[1],o[0]))&&pd(e,t)}};function hb(e,t,o){if(!o||Ee(e))return Ro(e,t);if(No(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function pd(e,t){const o=e.multiple,n=Ee(t);if(!(o&&!n&&!No(t))){for(let a=0,r=e.options.length;aString(c)===String(i)):s.selected=Ks(t,i)>-1}else s.selected=t.has(i);else if(Ro(Ha(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ha(e){return"_value"in e?e._value:e.value}function gd(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const mb=["ctrl","shift","alt","meta"],bb={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>mb.some(o=>e[`${o}Key`]&&!t.includes(o))},st=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{hd().render(...e)},md=(...e)=>{const t=hd().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=xb(n);if(!a)return;const r=t._component;!Ie(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,_b(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function _b(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xb(e){return at(e)?document.querySelector(e):e}/*! +**/let wi;const Hu=typeof window<"u"&&window.trustedTypes;if(Hu)try{wi=Hu.createPolicy("vue",{createHTML:e=>e})}catch{}const Vu=wi?e=>wi.createHTML(e):e=>e,jm="http://www.w3.org/2000/svg",zm="http://www.w3.org/1998/Math/MathML",Uo=typeof document<"u"?document:null,qu=Uo&&Uo.createElement("template"),Um={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Uo.createElementNS(jm,e):t==="mathml"?Uo.createElementNS(zm,e):o?Uo.createElement(e,{is:o}):Uo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Uo.createTextNode(e),createComment:e=>Uo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Uo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{qu.innerHTML=Vu(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=qu.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},nn="transition",ja="animation",za=Symbol("_vtc"),Wu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Km=pt({},eu,Wu),Hm=(e=>(e.displayName="Transition",e.props=Km,e))((e,{slots:t})=>ki(Gh,Vm(e),t)),Cn=(e,t=[])=>{$e(e)?e.forEach(o=>o(...t)):e&&e(...t)},Yu=e=>e?$e(e)?e.some(t=>t.length>1):e.length>1:!1;function Vm(e){const t={};for(const j in e)j in Wu||(t[j]=e[j]);if(e.css===!1)return t;const{name:o="v",type:n,duration:a,enterFromClass:r=`${o}-enter-from`,enterActiveClass:s=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:l=r,appearActiveClass:c=s,appearToClass:u=i,leaveFromClass:g=`${o}-leave-from`,leaveActiveClass:h=`${o}-leave-active`,leaveToClass:k=`${o}-leave-to`}=e,w=qm(a),_=w&&w[0],m=w&&w[1],{onBeforeEnter:d,onEnter:b,onEnterCancelled:p,onLeave:v,onLeaveCancelled:y,onBeforeAppear:f=d,onAppear:x=b,onAppearCancelled:N=p}=t,S=(j,I,M,P)=>{j._enterCancelled=P,Ln(j,I?u:i),Ln(j,I?c:s),M&&M()},O=(j,I)=>{j._isLeaving=!1,Ln(j,g),Ln(j,k),Ln(j,h),I&&I()},z=j=>(I,M)=>{const P=j?x:b,L=()=>S(I,j,M);Cn(P,[I,L]),Xu(()=>{Ln(I,j?l:r),Ko(I,j?u:i),Yu(P)||Ju(I,n,_,L)})};return pt(t,{onBeforeEnter(j){Cn(d,[j]),Ko(j,r),Ko(j,s)},onBeforeAppear(j){Cn(f,[j]),Ko(j,l),Ko(j,c)},onEnter:z(!1),onAppear:z(!0),onLeave(j,I){j._isLeaving=!0;const M=()=>O(j,I);Ko(j,g),j._enterCancelled?(Ko(j,h),ed(j)):(ed(j),Ko(j,h)),Xu(()=>{j._isLeaving&&(Ln(j,g),Ko(j,k),Yu(v)||Ju(j,n,m,M))}),Cn(v,[j,M])},onEnterCancelled(j){S(j,!1,void 0,!0),Cn(p,[j])},onAppearCancelled(j){S(j,!0,void 0,!0),Cn(N,[j])},onLeaveCancelled(j){O(j),Cn(y,[j])}})}function qm(e){if(e==null)return null;if(Qe(e))return[Ai(e.enter),Ai(e.leave)];{const t=Ai(e);return[t,t]}}function Ai(e){return Us(e)}function Ko(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[za]||(e[za]=new Set)).add(t)}function Ln(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const o=e[za];o&&(o.delete(t),o.size||(e[za]=void 0))}function Xu(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Wm=0;function Ju(e,t,o,n){const a=e._endId=++Wm,r=()=>{a===e._endId&&n()};if(o!=null)return setTimeout(r,o);const{type:s,timeout:i,propCount:l}=Ym(e,t);if(!s)return n();const c=s+"end";let u=0;const g=()=>{e.removeEventListener(c,h),r()},h=k=>{k.target===e&&++u>=l&&g()};setTimeout(()=>{u(o[w]||"").split(", "),a=n(`${nn}Delay`),r=n(`${nn}Duration`),s=Zu(a,r),i=n(`${ja}Delay`),l=n(`${ja}Duration`),c=Zu(i,l);let u=null,g=0,h=0;t===nn?s>0&&(u=nn,g=s,h=r.length):t===ja?c>0&&(u=ja,g=c,h=l.length):(g=Math.max(s,c),u=g>0?s>c?nn:ja:null,h=u?u===nn?r.length:l.length:0);const k=u===nn&&/\b(?:transform|all)(?:,|$)/.test(n(`${nn}Property`).toString());return{type:u,timeout:g,propCount:h,hasTransform:k}}function Zu(e,t){for(;e.lengthQu(o)+Qu(e[n])))}function Qu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ed(e){return(e?e.ownerDocument:document).body.offsetHeight}function Xm(e,t,o){const n=e[za];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Wr=Symbol("_vod"),td=Symbol("_vsh"),od={name:"show",beforeMount(e,{value:t},{transition:o}){e[Wr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ua(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Ua(e,!0),n.enter(e)):n.leave(e,()=>{Ua(e,!1)}):Ua(e,t))},beforeUnmount(e,{value:t}){Ua(e,t)}};function Ua(e,t){e.style.display=t?e[Wr]:"none",e[td]=!t}const Jm=Symbol(""),Zm=/(?:^|;)\s*display\s*:/;function Qm(e,t,o){const n=e.style,a=at(o);let r=!1;if(o&&!a){if(t)if(at(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&Ka(n,i,"")}else for(const s in t)o[s]==null&&Ka(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?tb(e,s,!at(t)&&t?t[s]:void 0,i)||Ka(n,s,i):Ka(n,s,"")}}else if(a){if(t!==o){const s=n[Jm];s&&(o+=";"+s),n.cssText=o,r=Zm.test(o)}}else t&&e.removeAttribute("style");Wr in e&&(e[Wr]=r?n.display:"",e[td]&&(n.display="none"))}const Yr=/\s*!important$/;function Ka(e,t,o){if($e(o))o.forEach(n=>Ka(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Yr.test(o)?e.setProperty(t,o.replace(Yr,""),"important"):e.setProperty(t,o);else{const n=eb(e,t);Yr.test(o)?e.setProperty(Qt(n),o.replace(Yr,""),"important"):e[n]=o}}const nd=["Webkit","Moz","ms"],Si={};function eb(e,t){const o=Si[t];if(o)return o;let n=kt(t);if(n!=="filter"&&n in e)return Si[t]=n;n=yr(n);for(let a=0;aCi||(ib.then(()=>Ci=0),Ci=Date.now());function cb(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if($e(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ub=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?Xm(e,n,s):t==="style"?Qm(e,o,n):gr(t)?fr(t)||nb(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):db(e,t,n,s))?(sd(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rd(e,t,n,s,r,t!=="value")):e._isVueCE&&(pb(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!at(n)))?sd(e,kt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),rd(e,t,n,s))};function db(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ld(t)&&Fe(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return ld(t)&&at(o)?!1:t in e}function pb(e,t){const o=e._def.props;if(!o)return!1;const n=kt(t);return Array.isArray(o)?o.some(a=>kt(a)===n):Object.keys(o).some(a=>kt(a)===n)}const cd={};function gb(e,t,o){let n=Pa(e,t);hr(n)&&(n=pt({},n,t));class a extends Li{constructor(s){super(n,s,o)}}return a.def=n,a}const fb=typeof HTMLElement<"u"?HTMLElement:class{};class Li extends fb{constructor(t,o={},n=md){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==md?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(pt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Li){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,zt(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!$e(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(i||(i=Object.create(null)))[kt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ze(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=$e(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(kt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):cd;const a=kt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Us(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===cd?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(Qt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Qt(t),o+""):o||this.removeAttribute(Qt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),_b(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ye(this._def,pt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,hr(s[0])?pt({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Qt(r)!==r&&a(Qt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return $e(t)?o=>vr(t,o):t};function hb(e){e.target.composing=!0}function ud(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const wo=Symbol("_assign"),Xr=Symbol("_initialValue");function $i(e,t,o){return t&&(e=e.trim()),o&&(e=_r(e)),e}const Jr={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[Xr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Xr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[wo]=Wn(a);const r=n||a.props&&a.props.type==="number";an(e,t?"change":"input",s=>{s.target.composing||e[wo]($i(e.value,o,r))}),(o||r)&&an(e,"change",()=>{e.value=$i(e.value,o,r)}),t||(an(e,"compositionstart",hb),an(e,"compositionend",ud),an(e,"change",ud))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[Xr];delete e[Xr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[wo]($i(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[wo]=Wn(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?_r(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Ei={deep:!0,created(e,t,o){e[wo]=Wn(o),an(e,"change",()=>{const n=e._modelValue,a=Ha(e),r=e.checked,s=e[wo];if($e(n)){const i=Ks(n,a),l=i!==-1;if(r&&!l)s(n.concat(a));else if(!r&&l){const c=[...n];c.splice(i,1),s(c)}}else if(No(n)){const i=new Set(n);r?i.add(a):i.delete(a),s(i)}else s(gd(e,r))})},mounted:dd,beforeUpdate(e,t,o){e[wo]=Wn(o),dd(e,t,o)}};function dd(e,{value:t,oldValue:o},n){e._modelValue=t;let a;if($e(t))a=Ks(t,n.props.value)>-1;else if(No(t))a=t.has(n.props.value);else{if(t===o)return;a=Ro(t,gd(e,!0))}e.checked!==a&&(e.checked=a)}const Zr={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,an(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?_r(Ha(l)):Ha(l)),r=e.multiple,s=r?No(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?$e(s)?a.slice():a:s];try{e[wo](s)}finally{zt(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[wo]=Wn(n)},mounted(e,{value:t}){pd(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[wo]=Wn(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!mb(t,o[1],o[0]))&&pd(e,t)}};function mb(e,t,o){if(!o||$e(e))return Ro(e,t);if(No(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function pd(e,t){const o=e.multiple,n=$e(t);if(!(o&&!n&&!No(t))){for(let a=0,r=e.options.length;aString(c)===String(i)):s.selected=Ks(t,i)>-1}else s.selected=t.has(i);else if(Ro(Ha(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ha(e){return"_value"in e?e._value:e.value}function gd(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const bb=["ctrl","shift","alt","meta"],yb={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>bb.some(o=>e[`${o}Key`]&&!t.includes(o))},st=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{hd().render(...e)},md=(...e)=>{const t=hd().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=kb(n);if(!a)return;const r=t._component;!Fe(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,xb(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function xb(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function kb(e){return at(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let bd;const Qr=e=>bd=e,yd=Symbol();function Pi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Va;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Va||(Va={}));function kb(){const e=Vs(!0),t=e.run(()=>ue({}));let o=[],n=[];const a=ka({install(r){Qr(a),a._a=r,r.provide(yd,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const vd=()=>{};function _d(e,t,o,n=vd){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&xc()&&Vf(a),a}function Yn(e,...t){e.slice().forEach(o=>{o(...t)})}const wb=e=>e(),xd=Symbol(),Ti=Symbol();function Ni(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];Pi(a)&&Pi(n)&&e.hasOwnProperty(o)&&!ut(n)&&!Fo(n)?e[o]=Ni(a,n):e[o]=n}return e}const Ab=Symbol();function Sb(e){return!Pi(e)||!e.hasOwnProperty(Ab)}const{assign:rn}=Object;function Cb(e){return!!(ut(e)&&e.effect)}function Lb(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=fh(o.state.value[e]);return rn(u,r,Object.keys(s||{}).reduce((g,f)=>(g[f]=ka(ee(()=>{Qr(o);const k=o._s.get(e);return s[f].call(k,k)})),g),{}))}return l=kd(e,c,t,o,n,!0),l}function kd(e,t,o={},n,a,r){let s;const i=rn({actions:{}},o),l={deep:!0};let c,u,g=[],f=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let b;function h(T){let S;c=u=!1,typeof T=="function"?(T(n.state.value[e]),S={type:Va.patchFunction,storeId:e,events:k}):(Ni(n.state.value[e],T),S={type:Va.patchObject,payload:T,storeId:e,events:k});const D=b=Symbol();jt().then(()=>{b===D&&(c=!0)}),u=!0,Yn(g,S,n.state.value[e])}const v=r?function(){const{state:S}=o,D=S?S():{};this.$patch(z=>{rn(z,D)})}:vd;function _(){s.stop(),g=[],f=[],n._s.delete(e)}const x=(T,S="")=>{if(xd in T)return T[Ti]=S,T;const D=function(){Qr(n);const z=Array.from(arguments),j=[],I=[];function R(N){j.push(N)}function E(N){I.push(N)}Yn(f,{args:z,name:D[Ti],store:y,after:R,onError:E});let L;try{L=T.apply(this&&this.$id===e?this:y,z)}catch(N){throw Yn(I,N),N}return L instanceof Promise?L.then(N=>(Yn(j,N),N)).catch(N=>(Yn(I,N),Promise.reject(N))):(Yn(j,L),L)};return D[xd]=!0,D[Ti]=S,D},p={_p:n,$id:e,$onAction:_d.bind(null,f),$patch:h,$reset:v,$subscribe(T,S={}){const D=_d(g,T,S.detached,()=>z()),z=s.run(()=>Oe(()=>n.state.value[e],j=>{(S.flush==="sync"?u:c)&&T({storeId:e,type:Va.direct,events:k},j)},rn({},l,S)));return D},$dispose:_},y=jn(p);n._s.set(e,y);const m=(n._a&&n._a.runWithContext||wb)(()=>n._e.run(()=>(s=Vs()).run(()=>t({action:x}))));for(const T in m){const S=m[T];if(ut(S)&&!Cb(S)||Fo(S))r||(w&&Sb(S)&&(ut(S)?S.value=w[T]:Ni(S,w[T])),n.state.value[e][T]=S);else if(typeof S=="function"){const D=x(S,T);m[T]=D,i.actions[T]=S}}return rn(y,m),rn(He(y),m),Object.defineProperty(y,"$state",{get:()=>n.state.value[e],set:T=>{h(S=>{rn(S,T)})}}),n._p.forEach(T=>{rn(y,s.run(()=>T({store:y,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(y.$state,w),c=!0,u=!0,y}/*! #__NO_SIDE_EFFECTS__ */function Ri(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=$h();return i=i||(c?Ne(yd,null):null),i&&Qr(i),i=bd,i._s.has(n)||(r?kd(n,t,a,i):Lb(n,a,i)),i._s.get(n)}return s.$id=n,s}const Mi="__doxaMapToken",Ii="doxa:map-token",wd="__doxaMapTokenBridge",Xn=()=>{if(typeof window>"u")return"";const e=window[Mi];return typeof e=="string"?e:""};function Ad(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Xn())return Xn();window[Mi]=t;try{window.dispatchEvent(new CustomEvent(Ii,{detail:t}))}catch{}return t}function $b(){if(typeof window>"u"||window[wd])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Xn()&&(window[Mi]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Xn()},set(t){Ad(t)}}),window[wd]=!0}catch{}}function Eb(){$b();const e=ue(Xn());if(typeof window<"u"){const t=()=>{e.value=Xn()};window.addEventListener(Ii,t);try{oo(()=>window.removeEventListener(Ii,t))}catch{}}return e}function qa(e){return jh({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Pb={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Tb={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Nb={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Rb={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:"اللغات"}},Mb={menuComingSoon:"القائمة قادمة قريباً"},Ib={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Fb={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ob={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Db={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Bb={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Gb={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},jb={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"},zb={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ub={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"}},Kb={menuComingSoon:"Menü folgt in Kürze"},Hb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Vb={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},qb={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Wb={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Yb={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"},Xb={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Jb={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"},Zb={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Qb={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"}},ey={menuComingSoon:"Menu coming soon"},ty={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},oy={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},ny={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},ay={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},ry={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"}},sy={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"},iy={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ly={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"},cy={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."}},uy={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"}},dy={menuComingSoon:"Menú próximamente"},py={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},gy={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},fy={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},hy={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"}},my={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"},by={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},yy={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"},vy={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},_y={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"}},xy={menuComingSoon:"Menu bientôt disponible"},ky={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},wy={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Ay={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Sy={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},Cy={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"}},Ly={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"},$y={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Ey={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Py={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Ty={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:"कुल"}},Ny={menuComingSoon:"मेनू शीघ्र आ रहा है"},Ry={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},My={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Iy={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},Fy={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Oy={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Dy={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"},By={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Gy={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"}},jy={menuComingSoon:"Menu in arrivo"},zy={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Uy={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Ky={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Hy={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Vy={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"},qy={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."}},Wy={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"}},Yy={menuComingSoon:"Menu em breve"},Xy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Jy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Zy={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Qy={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"}},e0={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"},t0={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},o0={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ă"},n0={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ă."}},a0={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"}},r0={menuComingSoon:"Meniu în curând"},s0={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},i0={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},l0={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},c0={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},u0={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},d0={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},p0={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:"Языки"}},g0={menuComingSoon:"Меню скоро появится"},f0={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},h0={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},m0={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},b0={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},y0={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},v0={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},_0={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},x0={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},k0={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:"总计"}},w0={menuComingSoon:"菜单即将推出"},A0={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},S0={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},C0={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let bd;const Qr=e=>bd=e,yd=Symbol();function Pi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Va;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Va||(Va={}));function wb(){const e=Vs(!0),t=e.run(()=>le({}));let o=[],n=[];const a=ka({install(r){Qr(a),a._a=r,r.provide(yd,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const vd=()=>{};function _d(e,t,o,n=vd){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&xc()&&qf(a),a}function Yn(e,...t){e.slice().forEach(o=>{o(...t)})}const Ab=e=>e(),xd=Symbol(),Ti=Symbol();function Ni(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];Pi(a)&&Pi(n)&&e.hasOwnProperty(o)&&!ut(n)&&!Fo(n)?e[o]=Ni(a,n):e[o]=n}return e}const Sb=Symbol();function Cb(e){return!Pi(e)||!e.hasOwnProperty(Sb)}const{assign:rn}=Object;function Lb(e){return!!(ut(e)&&e.effect)}function $b(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=hh(o.state.value[e]);return rn(u,r,Object.keys(s||{}).reduce((g,h)=>(g[h]=ka(J(()=>{Qr(o);const k=o._s.get(e);return s[h].call(k,k)})),g),{}))}return l=kd(e,c,t,o,n,!0),l}function kd(e,t,o={},n,a,r){let s;const i=rn({actions:{}},o),l={deep:!0};let c,u,g=[],h=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function m(N){let S;c=u=!1,typeof N=="function"?(N(n.state.value[e]),S={type:Va.patchFunction,storeId:e,events:k}):(Ni(n.state.value[e],N),S={type:Va.patchObject,payload:N,storeId:e,events:k});const O=_=Symbol();zt().then(()=>{_===O&&(c=!0)}),u=!0,Yn(g,S,n.state.value[e])}const d=r?function(){const{state:S}=o,O=S?S():{};this.$patch(z=>{rn(z,O)})}:vd;function b(){s.stop(),g=[],h=[],n._s.delete(e)}const p=(N,S="")=>{if(xd in N)return N[Ti]=S,N;const O=function(){Qr(n);const z=Array.from(arguments),j=[],I=[];function M(T){j.push(T)}function P(T){I.push(T)}Yn(h,{args:z,name:O[Ti],store:y,after:M,onError:P});let L;try{L=N.apply(this&&this.$id===e?this:y,z)}catch(T){throw Yn(I,T),T}return L instanceof Promise?L.then(T=>(Yn(j,T),T)).catch(T=>(Yn(I,T),Promise.reject(T))):(Yn(j,L),L)};return O[xd]=!0,O[Ti]=S,O},v={_p:n,$id:e,$onAction:_d.bind(null,h),$patch:m,$reset:d,$subscribe(N,S={}){const O=_d(g,N,S.detached,()=>z()),z=s.run(()=>Oe(()=>n.state.value[e],j=>{(S.flush==="sync"?u:c)&&N({storeId:e,type:Va.direct,events:k},j)},rn({},l,S)));return O},$dispose:b},y=jn(v);n._s.set(e,y);const x=(n._a&&n._a.runWithContext||Ab)(()=>n._e.run(()=>(s=Vs()).run(()=>t({action:p}))));for(const N in x){const S=x[N];if(ut(S)&&!Lb(S)||Fo(S))r||(w&&Cb(S)&&(ut(S)?S.value=w[N]:Ni(S,w[N])),n.state.value[e][N]=S);else if(typeof S=="function"){const O=p(S,N);x[N]=O,i.actions[N]=S}}return rn(y,x),rn(Ke(y),x),Object.defineProperty(y,"$state",{get:()=>n.state.value[e],set:N=>{m(S=>{rn(S,N)})}}),n._p.forEach(N=>{rn(y,s.run(()=>N({store:y,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(y.$state,w),c=!0,u=!0,y}/*! #__NO_SIDE_EFFECTS__ */function Ri(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=Eh();return i=i||(c?Pe(yd,null):null),i&&Qr(i),i=bd,i._s.has(n)||(r?kd(n,t,a,i):$b(n,a,i)),i._s.get(n)}return s.$id=n,s}const Mi="__doxaMapToken",Ii="doxa:map-token",wd="__doxaMapTokenBridge",Xn=()=>{if(typeof window>"u")return"";const e=window[Mi];return typeof e=="string"?e:""};function Ad(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Xn())return Xn();window[Mi]=t;try{window.dispatchEvent(new CustomEvent(Ii,{detail:t}))}catch{}return t}function Eb(){if(typeof window>"u"||window[wd])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Xn()&&(window[Mi]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Xn()},set(t){Ad(t)}}),window[wd]=!0}catch{}}function Pb(){Eb();const e=le(Xn());if(typeof window<"u"){const t=()=>{e.value=Xn()};window.addEventListener(Ii,t);try{Wt(()=>window.removeEventListener(Ii,t))}catch{}}return e}function qa(e){return zh({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Tb={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Nb={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Rb={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Mb={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:"اللغات"}},Ib={menuComingSoon:"القائمة قادمة قريباً"},Fb={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Ob={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Db={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Bb={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Gb={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},jb={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},zb={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"},Ub={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Kb={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"}},Hb={menuComingSoon:"Menü folgt in Kürze"},Vb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},qb={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Wb={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Yb={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Xb={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"},Jb={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Zb={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"},Qb={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},ey={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"}},ty={menuComingSoon:"Menu coming soon"},oy={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},ny={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},ay={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},ry={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged"},sy={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"}},iy={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"},ly={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},cy={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"},uy={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."}},dy={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"}},py={menuComingSoon:"Menú próximamente"},gy={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},fy={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},hy={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},my={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"}},by={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"},yy={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},vy={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"},_y={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},xy={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"}},ky={menuComingSoon:"Menu bientôt disponible"},wy={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ay={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Sy={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Cy={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},Ly={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"}},$y={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"},Ey={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Py={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Ty={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Ny={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:"कुल"}},Ry={menuComingSoon:"मेनू शीघ्र आ रहा है"},My={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Iy={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Fy={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},Oy={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Dy={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},By={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"},Gy={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},jy={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"}},zy={menuComingSoon:"Menu in arrivo"},Uy={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ky={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Hy={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Vy={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},qy={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"},Wy={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."}},Yy={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"}},Xy={menuComingSoon:"Menu em breve"},Jy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Zy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Qy={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},e0={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"}},t0={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"},o0={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},n0={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ă"},a0={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ă."}},r0={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"}},s0={menuComingSoon:"Meniu în curând"},i0={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},l0={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},c0={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},u0={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},d0={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},p0={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},g0={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:"Языки"}},f0={menuComingSoon:"Меню скоро появится"},h0={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},m0={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},b0={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},y0={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},v0={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},_0={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},x0={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},k0={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},w0={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:"总计"}},A0={menuComingSoon:"菜单即将推出"},S0={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},C0={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},L0={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function L0(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const es=typeof window<"u",sn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),$0=(e,t,o)=>E0({l:e,k:t,s:o}),E0=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),mt=e=>typeof e=="number"&&isFinite(e),P0=e=>Ed(e)==="[object Date]",ln=e=>Ed(e)==="[object RegExp]",ts=e=>Be(e)&&Object.keys(e).length===0,Pt=Object.assign,T0=Object.create,tt=(e=null)=>T0(e);let Sd;const Ho=()=>Sd||(Sd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:tt());function Cd(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ld(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function N0(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Ld(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Ld(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const R0=Object.prototype.hasOwnProperty;function lo(e,t){return R0.call(e,t)}const dt=Array.isArray,it=e=>typeof e=="function",we=e=>typeof e=="string",je=e=>typeof e=="boolean",Ye=e=>e!==null&&typeof e=="object",M0=e=>Ye(e)&&it(e.then)&&it(e.catch),$d=Object.prototype.toString,Ed=e=>$d.call(e),Be=e=>{if(!Ye(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},I0=e=>e==null?"":dt(e)||Be(e)&&e.toString===$d?JSON.stringify(e,null,2):String(e);function F0(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function os(e){let t=e;return()=>++t}const ns=e=>!Ye(e)||dt(e);function as(e,t){if(ns(e)||ns(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Ye(n[r])&&!Ye(a[r])&&(a[r]=Array.isArray(n[r])?[]:tt()),ns(a[r])||ns(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! + */function $0(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const es=typeof window<"u",sn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),E0=(e,t,o)=>P0({l:e,k:t,s:o}),P0=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),mt=e=>typeof e=="number"&&isFinite(e),T0=e=>Ed(e)==="[object Date]",ln=e=>Ed(e)==="[object RegExp]",ts=e=>Be(e)&&Object.keys(e).length===0,Et=Object.assign,N0=Object.create,tt=(e=null)=>N0(e);let Sd;const Ho=()=>Sd||(Sd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:tt());function Cd(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ld(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function R0(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Ld(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Ld(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const M0=Object.prototype.hasOwnProperty;function lo(e,t){return M0.call(e,t)}const dt=Array.isArray,it=e=>typeof e=="function",ke=e=>typeof e=="string",ze=e=>typeof e=="boolean",Xe=e=>e!==null&&typeof e=="object",I0=e=>Xe(e)&&it(e.then)&&it(e.catch),$d=Object.prototype.toString,Ed=e=>$d.call(e),Be=e=>{if(!Xe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},F0=e=>e==null?"":dt(e)||Be(e)&&e.toString===$d?JSON.stringify(e,null,2):String(e);function O0(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function os(e){let t=e;return()=>++t}const ns=e=>!Xe(e)||dt(e);function as(e,t){if(ns(e)||ns(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Xe(n[r])&&!Xe(a[r])&&(a[r]=Array.isArray(n[r])?[]:tt()),ns(a[r])||ns(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function O0(e,t,o){return{line:e,column:t,offset:o}}function rs(e,t,o){return{start:e,end:t}}const D0=/\{([0-9a-zA-Z]+)\}/g;function Pd(e,...t){return t.length===1&&B0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(D0,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Td=Object.assign,Nd=e=>typeof e=="string",B0=e=>e!==null&&typeof e=="object";function Rd(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Fi={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},G0={[Fi.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function j0(e,t,...o){const n=Pd(G0[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Me={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},z0={[Me.EXPECTED_TOKEN]:"Expected token: '{0}'",[Me.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Me.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Me.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Me.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Me.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Me.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Me.EMPTY_PLACEHOLDER]:"Empty placeholder",[Me.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Me.INVALID_LINKED_FORMAT]:"Invalid linked format",[Me.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Me.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Me.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Me.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Me.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Me.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Jn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Pd((a||z0)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function U0(e){throw e}const Vo=" ",K0="\r",Bt=` -`,H0="\u2028",V0="\u2029";function q0(e){const t=e;let o=0,n=1,a=1,r=0;const s=m=>t[m]===K0&&t[m+1]===Bt,i=m=>t[m]===Bt,l=m=>t[m]===V0,c=m=>t[m]===H0,u=m=>s(m)||i(m)||l(m)||c(m),g=()=>o,f=()=>n,k=()=>a,w=()=>r,b=m=>s(m)||l(m)||c(m)?Bt:t[m],h=()=>b(o),v=()=>b(o+r);function _(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function x(){return s(o+r)&&r++,r++,t[o+r]}function p(){o=0,n=1,a=1,r=0}function y(m=0){r=m}function d(){const m=o+r;for(;m!==o;)_();r=0}return{index:g,line:f,column:k,peekOffset:w,charAt:b,currentChar:h,currentPeek:v,next:_,peek:x,reset:p,resetPeek:y,skipToPeek:d}}const cn=void 0,W0=".",Md="'",Y0="tokenizer";function X0(e,t={}){const o=t.location!==!1,n=q0(e),a=()=>n.index(),r=()=>O0(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(A,C,H,...se){const ge=c();if(C.column+=H,C.offset+=H,u){const fe=o?rs(ge.startLoc,C):null,te=Jn(A,fe,{domain:Y0,args:se});u(te)}}function f(A,C,H){A.endLoc=r(),A.currentType=C;const se={type:C};return o&&(se.loc=rs(A.startLoc,A.endLoc)),H!=null&&(se.value=H),se}const k=A=>f(A,14);function w(A,C){return A.currentChar()===C?(A.next(),C):(g(Me.EXPECTED_TOKEN,r(),0,C),"")}function b(A){let C="";for(;A.currentPeek()===Vo||A.currentPeek()===Bt;)C+=A.currentPeek(),A.peek();return C}function h(A){const C=b(A);return A.skipToPeek(),C}function v(A){if(A===cn)return!1;const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C===95}function _(A){if(A===cn)return!1;const C=A.charCodeAt(0);return C>=48&&C<=57}function x(A,C){const{currentType:H}=C;if(H!==2)return!1;b(A);const se=v(A.currentPeek());return A.resetPeek(),se}function p(A,C){const{currentType:H}=C;if(H!==2)return!1;b(A);const se=A.currentPeek()==="-"?A.peek():A.currentPeek(),ge=_(se);return A.resetPeek(),ge}function y(A,C){const{currentType:H}=C;if(H!==2)return!1;b(A);const se=A.currentPeek()===Md;return A.resetPeek(),se}function d(A,C){const{currentType:H}=C;if(H!==8)return!1;b(A);const se=A.currentPeek()===".";return A.resetPeek(),se}function m(A,C){const{currentType:H}=C;if(H!==9)return!1;b(A);const se=v(A.currentPeek());return A.resetPeek(),se}function T(A,C){const{currentType:H}=C;if(!(H===8||H===12))return!1;b(A);const se=A.currentPeek()===":";return A.resetPeek(),se}function S(A,C){const{currentType:H}=C;if(H!==10)return!1;const se=()=>{const fe=A.currentPeek();return fe==="{"?v(A.peek()):fe==="@"||fe==="%"||fe==="|"||fe===":"||fe==="."||fe===Vo||!fe?!1:fe===Bt?(A.peek(),se()):j(A,!1)},ge=se();return A.resetPeek(),ge}function D(A){b(A);const C=A.currentPeek()==="|";return A.resetPeek(),C}function z(A){const C=b(A),H=A.currentPeek()==="%"&&A.peek()==="{";return A.resetPeek(),{isModulo:H,hasSpace:C.length>0}}function j(A,C=!0){const H=(ge=!1,fe="",te=!1)=>{const ie=A.currentPeek();return ie==="{"?fe==="%"?!1:ge:ie==="@"||!ie?fe==="%"?!0:ge:ie==="%"?(A.peek(),H(ge,"%",!0)):ie==="|"?fe==="%"||te?!0:!(fe===Vo||fe===Bt):ie===Vo?(A.peek(),H(!0,Vo,te)):ie===Bt?(A.peek(),H(!0,Bt,te)):!0},se=H();return C&&A.resetPeek(),se}function I(A,C){const H=A.currentChar();return H===cn?cn:C(H)?(A.next(),H):null}function R(A){const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===95||C===36}function E(A){return I(A,R)}function L(A){const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===95||C===36||C===45}function N(A){return I(A,L)}function Q(A){const C=A.charCodeAt(0);return C>=48&&C<=57}function de(A){return I(A,Q)}function W(A){const C=A.charCodeAt(0);return C>=48&&C<=57||C>=65&&C<=70||C>=97&&C<=102}function le(A){return I(A,W)}function U(A){let C="",H="";for(;C=de(A);)H+=C;return H}function oe(A){h(A);const C=A.currentChar();return C!=="%"&&g(Me.EXPECTED_TOKEN,r(),0,C),A.next(),"%"}function he(A){let C="";for(;;){const H=A.currentChar();if(H==="{"||H==="}"||H==="@"||H==="|"||!H)break;if(H==="%")if(j(A))C+=H,A.next();else break;else if(H===Vo||H===Bt)if(j(A))C+=H,A.next();else{if(D(A))break;C+=H,A.next()}else C+=H,A.next()}return C}function ve(A){h(A);let C="",H="";for(;C=N(A);)H+=C;return A.currentChar()===cn&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),H}function Ce(A){h(A);let C="";return A.currentChar()==="-"?(A.next(),C+=`-${U(A)}`):C+=U(A),A.currentChar()===cn&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),C}function xe(A){return A!==Md&&A!==Bt}function J(A){h(A),w(A,"'");let C="",H="";for(;C=I(A,xe);)C==="\\"?H+=ke(A):H+=C;const se=A.currentChar();return se===Bt||se===cn?(g(Me.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),se===Bt&&(A.next(),w(A,"'")),H):(w(A,"'"),H)}function ke(A){const C=A.currentChar();switch(C){case"\\":case"'":return A.next(),`\\${C}`;case"u":return be(A,C,4);case"U":return be(A,C,6);default:return g(Me.UNKNOWN_ESCAPE_SEQUENCE,r(),0,C),""}}function be(A,C,H){w(A,C);let se="";for(let ge=0;ge{const se=A.currentChar();return se==="{"||se==="%"||se==="@"||se==="|"||se==="("||se===")"||!se||se===Vo?H:(H+=se,A.next(),C(H))};return C("")}function K(A){h(A);const C=w(A,"|");return h(A),C}function X(A,C){let H=null;switch(A.currentChar()){case"{":return C.braceNest>=1&&g(Me.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),A.next(),H=f(C,2,"{"),h(A),C.braceNest++,H;case"}":return C.braceNest>0&&C.currentType===2&&g(Me.EMPTY_PLACEHOLDER,r(),0),A.next(),H=f(C,3,"}"),C.braceNest--,C.braceNest>0&&h(A),C.inLinked&&C.braceNest===0&&(C.inLinked=!1),H;case"@":return C.braceNest>0&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),H=G(A,C)||k(C),C.braceNest=0,H;default:{let ge=!0,fe=!0,te=!0;if(D(A))return C.braceNest>0&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),H=f(C,1,K(A)),C.braceNest=0,C.inLinked=!1,H;if(C.braceNest>0&&(C.currentType===5||C.currentType===6||C.currentType===7))return g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),C.braceNest=0,Y(A,C);if(ge=x(A,C))return H=f(C,5,ve(A)),h(A),H;if(fe=p(A,C))return H=f(C,6,Ce(A)),h(A),H;if(te=y(A,C))return H=f(C,7,J(A)),h(A),H;if(!ge&&!fe&&!te)return H=f(C,13,P(A)),g(Me.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,H.value),h(A),H;break}}return H}function G(A,C){const{currentType:H}=C;let se=null;const ge=A.currentChar();switch((H===8||H===9||H===12||H===10)&&(ge===Bt||ge===Vo)&&g(Me.INVALID_LINKED_FORMAT,r(),0),ge){case"@":return A.next(),se=f(C,8,"@"),C.inLinked=!0,se;case".":return h(A),A.next(),f(C,9,".");case":":return h(A),A.next(),f(C,10,":");default:return D(A)?(se=f(C,1,K(A)),C.braceNest=0,C.inLinked=!1,se):d(A,C)||T(A,C)?(h(A),G(A,C)):m(A,C)?(h(A),f(C,12,B(A))):S(A,C)?(h(A),ge==="{"?X(A,C)||se:f(C,11,O(A))):(H===8&&g(Me.INVALID_LINKED_FORMAT,r(),0),C.braceNest=0,C.inLinked=!1,Y(A,C))}}function Y(A,C){let H={type:14};if(C.braceNest>0)return X(A,C)||k(C);if(C.inLinked)return G(A,C)||k(C);switch(A.currentChar()){case"{":return X(A,C)||k(C);case"}":return g(Me.UNBALANCED_CLOSING_BRACE,r(),0),A.next(),f(C,3,"}");case"@":return G(A,C)||k(C);default:{if(D(A))return H=f(C,1,K(A)),C.braceNest=0,C.inLinked=!1,H;const{isModulo:ge,hasSpace:fe}=z(A);if(ge)return fe?f(C,0,he(A)):f(C,4,oe(A));if(j(A))return f(C,0,he(A));break}}return H}function re(){const{currentType:A,offset:C,startLoc:H,endLoc:se}=l;return l.lastType=A,l.lastOffset=C,l.lastStartLoc=H,l.lastEndLoc=se,l.offset=a(),l.startLoc=r(),n.currentChar()===cn?f(l,14):Y(n,l)}return{nextToken:re,currentOffset:a,currentPosition:r,context:c}}const J0="parser",Z0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Q0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function e1(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(x,p,y,d,...m){const T=x.currentPosition();if(T.offset+=d,T.column+=d,o){const S=t?rs(y,T):null,D=Jn(p,S,{domain:J0,args:m});o(D)}}function r(x,p,y,d,...m){const T=x.currentPosition();if(T.offset+=d,T.column+=d,n){const S=t?rs(y,T):null;n(j0(p,S,m))}}function s(x,p,y){const d={type:x};return t&&(d.start=p,d.end=p,d.loc={start:y,end:y}),d}function i(x,p,y,d){t&&(x.end=p,x.loc&&(x.loc.end=y))}function l(x,p){const y=x.context(),d=s(3,y.offset,y.startLoc);return d.value=p,i(d,x.currentOffset(),x.currentPosition()),d}function c(x,p){const y=x.context(),{lastOffset:d,lastStartLoc:m}=y,T=s(5,d,m);return T.index=parseInt(p,10),x.nextToken(),i(T,x.currentOffset(),x.currentPosition()),T}function u(x,p,y){const d=x.context(),{lastOffset:m,lastStartLoc:T}=d,S=s(4,m,T);return S.key=p,y===!0&&(S.modulo=!0),x.nextToken(),i(S,x.currentOffset(),x.currentPosition()),S}function g(x,p){const y=x.context(),{lastOffset:d,lastStartLoc:m}=y,T=s(9,d,m);return T.value=p.replace(Z0,Q0),x.nextToken(),i(T,x.currentOffset(),x.currentPosition()),T}function f(x){const p=x.nextToken(),y=x.context(),{lastOffset:d,lastStartLoc:m}=y,T=s(8,d,m);return p.type!==12?(a(x,Me.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),T.value="",i(T,d,m),{nextConsumeToken:p,node:T}):(p.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,co(p)),T.value=p.value||"",i(T,x.currentOffset(),x.currentPosition()),{node:T})}function k(x,p){const y=x.context(),d=s(7,y.offset,y.startLoc);return d.value=p,i(d,x.currentOffset(),x.currentPosition()),d}function w(x){const p=x.context(),y=s(6,p.offset,p.startLoc);let d=x.nextToken();if(d.type===9){const m=f(x);y.modifier=m.node,d=m.nextConsumeToken||x.nextToken()}switch(d.type!==10&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(d)),d=x.nextToken(),d.type===2&&(d=x.nextToken()),d.type){case 11:d.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(d)),y.key=k(x,d.value||"");break;case 5:d.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(d)),y.key=u(x,d.value||"");break;case 6:d.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(d)),y.key=c(x,d.value||"");break;case 7:d.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(d)),y.key=g(x,d.value||"");break;default:{a(x,Me.UNEXPECTED_EMPTY_LINKED_KEY,p.lastStartLoc,0);const m=x.context(),T=s(7,m.offset,m.startLoc);return T.value="",i(T,m.offset,m.startLoc),y.key=T,i(y,m.offset,m.startLoc),{nextConsumeToken:d,node:y}}}return i(y,x.currentOffset(),x.currentPosition()),{node:y}}function b(x){const p=x.context(),y=p.currentType===1?x.currentOffset():p.offset,d=p.currentType===1?p.endLoc:p.startLoc,m=s(2,y,d);m.items=[];let T=null,S=null;do{const j=T||x.nextToken();switch(T=null,j.type){case 0:j.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(j)),m.items.push(l(x,j.value||""));break;case 6:j.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(j)),m.items.push(c(x,j.value||""));break;case 4:S=!0;break;case 5:j.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(j)),m.items.push(u(x,j.value||"",!!S)),S&&(r(x,Fi.USE_MODULO_SYNTAX,p.lastStartLoc,0,co(j)),S=null);break;case 7:j.value==null&&a(x,Me.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,co(j)),m.items.push(g(x,j.value||""));break;case 8:{const I=w(x);m.items.push(I.node),T=I.nextConsumeToken||null;break}}}while(p.currentType!==14&&p.currentType!==1);const D=p.currentType===1?p.lastOffset:x.currentOffset(),z=p.currentType===1?p.lastEndLoc:x.currentPosition();return i(m,D,z),m}function h(x,p,y,d){const m=x.context();let T=d.items.length===0;const S=s(1,p,y);S.cases=[],S.cases.push(d);do{const D=b(x);T||(T=D.items.length===0),S.cases.push(D)}while(m.currentType!==14);return T&&a(x,Me.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),i(S,x.currentOffset(),x.currentPosition()),S}function v(x){const p=x.context(),{offset:y,startLoc:d}=p,m=b(x);return p.currentType===14?m:h(x,y,d,m)}function _(x){const p=X0(x,Td({},e)),y=p.context(),d=s(0,y.offset,y.startLoc);return t&&d.loc&&(d.loc.source=x),d.body=v(p),e.onCacheKey&&(d.cacheKey=e.onCacheKey(x)),y.currentType!==14&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,x[y.offset]||""),i(d,p.currentOffset(),p.currentPosition()),d}return{parse:_}}function co(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 t1(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Id(e,t){for(let o=0;oFd(o)),e}function Fd(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(b,h){s.code+=b}function c(b,h=!0){const v=h?n:"";l(a?v+" ".repeat(b):v)}function u(b=!0){const h=++s.indentLevel;b&&c(h)}function g(b=!0){const h=--s.indentLevel;b&&c(h)}function f(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:f,helper:b=>`_${b}`,needIndent:()=>s.needIndent}}function i1(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Qn(e,t.key),t.modifier?(e.push(", "),Qn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function l1(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=Nd(t.mode)?t.mode:"normal",n=Nd(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=s1(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${Rd(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Qn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function p1(e,t={}){const o=Td({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=e1(o).parse(e);return n?(r&&n1(i),a&&Zn(i),{ast:i,code:""}):(o1(i,o),d1(i,o))}/*! + */function D0(e,t,o){return{line:e,column:t,offset:o}}function rs(e,t,o){return{start:e,end:t}}const B0=/\{([0-9a-zA-Z]+)\}/g;function Pd(e,...t){return t.length===1&&G0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(B0,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Td=Object.assign,Nd=e=>typeof e=="string",G0=e=>e!==null&&typeof e=="object";function Rd(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Fi={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},j0={[Fi.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function z0(e,t,...o){const n=Pd(j0[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Me={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},U0={[Me.EXPECTED_TOKEN]:"Expected token: '{0}'",[Me.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Me.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Me.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Me.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Me.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Me.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Me.EMPTY_PLACEHOLDER]:"Empty placeholder",[Me.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Me.INVALID_LINKED_FORMAT]:"Invalid linked format",[Me.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Me.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Me.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Me.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Me.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Me.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Jn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Pd((a||U0)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function K0(e){throw e}const Vo=" ",H0="\r",Bt=` +`,V0="\u2028",q0="\u2029";function W0(e){const t=e;let o=0,n=1,a=1,r=0;const s=x=>t[x]===H0&&t[x+1]===Bt,i=x=>t[x]===Bt,l=x=>t[x]===q0,c=x=>t[x]===V0,u=x=>s(x)||i(x)||l(x)||c(x),g=()=>o,h=()=>n,k=()=>a,w=()=>r,_=x=>s(x)||l(x)||c(x)?Bt:t[x],m=()=>_(o),d=()=>_(o+r);function b(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function p(){return s(o+r)&&r++,r++,t[o+r]}function v(){o=0,n=1,a=1,r=0}function y(x=0){r=x}function f(){const x=o+r;for(;x!==o;)b();r=0}return{index:g,line:h,column:k,peekOffset:w,charAt:_,currentChar:m,currentPeek:d,next:b,peek:p,reset:v,resetPeek:y,skipToPeek:f}}const cn=void 0,Y0=".",Md="'",X0="tokenizer";function J0(e,t={}){const o=t.location!==!1,n=W0(e),a=()=>n.index(),r=()=>D0(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(A,C,q,...re){const be=c();if(C.column+=q,C.offset+=q,u){const fe=o?rs(be.startLoc,C):null,Q=Jn(A,fe,{domain:X0,args:re});u(Q)}}function h(A,C,q){A.endLoc=r(),A.currentType=C;const re={type:C};return o&&(re.loc=rs(A.startLoc,A.endLoc)),q!=null&&(re.value=q),re}const k=A=>h(A,14);function w(A,C){return A.currentChar()===C?(A.next(),C):(g(Me.EXPECTED_TOKEN,r(),0,C),"")}function _(A){let C="";for(;A.currentPeek()===Vo||A.currentPeek()===Bt;)C+=A.currentPeek(),A.peek();return C}function m(A){const C=_(A);return A.skipToPeek(),C}function d(A){if(A===cn)return!1;const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C===95}function b(A){if(A===cn)return!1;const C=A.charCodeAt(0);return C>=48&&C<=57}function p(A,C){const{currentType:q}=C;if(q!==2)return!1;_(A);const re=d(A.currentPeek());return A.resetPeek(),re}function v(A,C){const{currentType:q}=C;if(q!==2)return!1;_(A);const re=A.currentPeek()==="-"?A.peek():A.currentPeek(),be=b(re);return A.resetPeek(),be}function y(A,C){const{currentType:q}=C;if(q!==2)return!1;_(A);const re=A.currentPeek()===Md;return A.resetPeek(),re}function f(A,C){const{currentType:q}=C;if(q!==8)return!1;_(A);const re=A.currentPeek()===".";return A.resetPeek(),re}function x(A,C){const{currentType:q}=C;if(q!==9)return!1;_(A);const re=d(A.currentPeek());return A.resetPeek(),re}function N(A,C){const{currentType:q}=C;if(!(q===8||q===12))return!1;_(A);const re=A.currentPeek()===":";return A.resetPeek(),re}function S(A,C){const{currentType:q}=C;if(q!==10)return!1;const re=()=>{const fe=A.currentPeek();return fe==="{"?d(A.peek()):fe==="@"||fe==="%"||fe==="|"||fe===":"||fe==="."||fe===Vo||!fe?!1:fe===Bt?(A.peek(),re()):j(A,!1)},be=re();return A.resetPeek(),be}function O(A){_(A);const C=A.currentPeek()==="|";return A.resetPeek(),C}function z(A){const C=_(A),q=A.currentPeek()==="%"&&A.peek()==="{";return A.resetPeek(),{isModulo:q,hasSpace:C.length>0}}function j(A,C=!0){const q=(be=!1,fe="",Q=!1)=>{const se=A.currentPeek();return se==="{"?fe==="%"?!1:be:se==="@"||!se?fe==="%"?!0:be:se==="%"?(A.peek(),q(be,"%",!0)):se==="|"?fe==="%"||Q?!0:!(fe===Vo||fe===Bt):se===Vo?(A.peek(),q(!0,Vo,Q)):se===Bt?(A.peek(),q(!0,Bt,Q)):!0},re=q();return C&&A.resetPeek(),re}function I(A,C){const q=A.currentChar();return q===cn?cn:C(q)?(A.next(),q):null}function M(A){const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===95||C===36}function P(A){return I(A,M)}function L(A){const C=A.charCodeAt(0);return C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===95||C===36||C===45}function T(A){return I(A,L)}function X(A){const C=A.charCodeAt(0);return C>=48&&C<=57}function pe(A){return I(A,X)}function W(A){const C=A.charCodeAt(0);return C>=48&&C<=57||C>=65&&C<=70||C>=97&&C<=102}function de(A){return I(A,W)}function U(A){let C="",q="";for(;C=pe(A);)q+=C;return q}function ee(A){m(A);const C=A.currentChar();return C!=="%"&&g(Me.EXPECTED_TOKEN,r(),0,C),A.next(),"%"}function ve(A){let C="";for(;;){const q=A.currentChar();if(q==="{"||q==="}"||q==="@"||q==="|"||!q)break;if(q==="%")if(j(A))C+=q,A.next();else break;else if(q===Vo||q===Bt)if(j(A))C+=q,A.next();else{if(O(A))break;C+=q,A.next()}else C+=q,A.next()}return C}function ce(A){m(A);let C="",q="";for(;C=T(A);)q+=C;return A.currentChar()===cn&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),q}function Te(A){m(A);let C="";return A.currentChar()==="-"?(A.next(),C+=`-${U(A)}`):C+=U(A),A.currentChar()===cn&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),C}function we(A){return A!==Md&&A!==Bt}function ue(A){m(A),w(A,"'");let C="",q="";for(;C=I(A,we);)C==="\\"?q+=ye(A):q+=C;const re=A.currentChar();return re===Bt||re===cn?(g(Me.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),re===Bt&&(A.next(),w(A,"'")),q):(w(A,"'"),q)}function ye(A){const C=A.currentChar();switch(C){case"\\":case"'":return A.next(),`\\${C}`;case"u":return me(A,C,4);case"U":return me(A,C,6);default:return g(Me.UNKNOWN_ESCAPE_SEQUENCE,r(),0,C),""}}function me(A,C,q){w(A,C);let re="";for(let be=0;be{const re=A.currentChar();return re==="{"||re==="%"||re==="@"||re==="|"||re==="("||re===")"||!re||re===Vo?q:(q+=re,A.next(),C(q))};return C("")}function K(A){m(A);const C=w(A,"|");return m(A),C}function te(A,C){let q=null;switch(A.currentChar()){case"{":return C.braceNest>=1&&g(Me.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),A.next(),q=h(C,2,"{"),m(A),C.braceNest++,q;case"}":return C.braceNest>0&&C.currentType===2&&g(Me.EMPTY_PLACEHOLDER,r(),0),A.next(),q=h(C,3,"}"),C.braceNest--,C.braceNest>0&&m(A),C.inLinked&&C.braceNest===0&&(C.inLinked=!1),q;case"@":return C.braceNest>0&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),q=G(A,C)||k(C),C.braceNest=0,q;default:{let be=!0,fe=!0,Q=!0;if(O(A))return C.braceNest>0&&g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),q=h(C,1,K(A)),C.braceNest=0,C.inLinked=!1,q;if(C.braceNest>0&&(C.currentType===5||C.currentType===6||C.currentType===7))return g(Me.UNTERMINATED_CLOSING_BRACE,r(),0),C.braceNest=0,Y(A,C);if(be=p(A,C))return q=h(C,5,ce(A)),m(A),q;if(fe=v(A,C))return q=h(C,6,Te(A)),m(A),q;if(Q=y(A,C))return q=h(C,7,ue(A)),m(A),q;if(!be&&!fe&&!Q)return q=h(C,13,E(A)),g(Me.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,q.value),m(A),q;break}}return q}function G(A,C){const{currentType:q}=C;let re=null;const be=A.currentChar();switch((q===8||q===9||q===12||q===10)&&(be===Bt||be===Vo)&&g(Me.INVALID_LINKED_FORMAT,r(),0),be){case"@":return A.next(),re=h(C,8,"@"),C.inLinked=!0,re;case".":return m(A),A.next(),h(C,9,".");case":":return m(A),A.next(),h(C,10,":");default:return O(A)?(re=h(C,1,K(A)),C.braceNest=0,C.inLinked=!1,re):f(A,C)||N(A,C)?(m(A),G(A,C)):x(A,C)?(m(A),h(C,12,F(A))):S(A,C)?(m(A),be==="{"?te(A,C)||re:h(C,11,D(A))):(q===8&&g(Me.INVALID_LINKED_FORMAT,r(),0),C.braceNest=0,C.inLinked=!1,Y(A,C))}}function Y(A,C){let q={type:14};if(C.braceNest>0)return te(A,C)||k(C);if(C.inLinked)return G(A,C)||k(C);switch(A.currentChar()){case"{":return te(A,C)||k(C);case"}":return g(Me.UNBALANCED_CLOSING_BRACE,r(),0),A.next(),h(C,3,"}");case"@":return G(A,C)||k(C);default:{if(O(A))return q=h(C,1,K(A)),C.braceNest=0,C.inLinked=!1,q;const{isModulo:be,hasSpace:fe}=z(A);if(be)return fe?h(C,0,ve(A)):h(C,4,ee(A));if(j(A))return h(C,0,ve(A));break}}return q}function oe(){const{currentType:A,offset:C,startLoc:q,endLoc:re}=l;return l.lastType=A,l.lastOffset=C,l.lastStartLoc=q,l.lastEndLoc=re,l.offset=a(),l.startLoc=r(),n.currentChar()===cn?h(l,14):Y(n,l)}return{nextToken:oe,currentOffset:a,currentPosition:r,context:c}}const Z0="parser",Q0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function e1(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function t1(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(p,v,y,f,...x){const N=p.currentPosition();if(N.offset+=f,N.column+=f,o){const S=t?rs(y,N):null,O=Jn(v,S,{domain:Z0,args:x});o(O)}}function r(p,v,y,f,...x){const N=p.currentPosition();if(N.offset+=f,N.column+=f,n){const S=t?rs(y,N):null;n(z0(v,S,x))}}function s(p,v,y){const f={type:p};return t&&(f.start=v,f.end=v,f.loc={start:y,end:y}),f}function i(p,v,y,f){t&&(p.end=v,p.loc&&(p.loc.end=y))}function l(p,v){const y=p.context(),f=s(3,y.offset,y.startLoc);return f.value=v,i(f,p.currentOffset(),p.currentPosition()),f}function c(p,v){const y=p.context(),{lastOffset:f,lastStartLoc:x}=y,N=s(5,f,x);return N.index=parseInt(v,10),p.nextToken(),i(N,p.currentOffset(),p.currentPosition()),N}function u(p,v,y){const f=p.context(),{lastOffset:x,lastStartLoc:N}=f,S=s(4,x,N);return S.key=v,y===!0&&(S.modulo=!0),p.nextToken(),i(S,p.currentOffset(),p.currentPosition()),S}function g(p,v){const y=p.context(),{lastOffset:f,lastStartLoc:x}=y,N=s(9,f,x);return N.value=v.replace(Q0,e1),p.nextToken(),i(N,p.currentOffset(),p.currentPosition()),N}function h(p){const v=p.nextToken(),y=p.context(),{lastOffset:f,lastStartLoc:x}=y,N=s(8,f,x);return v.type!==12?(a(p,Me.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),N.value="",i(N,f,x),{nextConsumeToken:v,node:N}):(v.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,co(v)),N.value=v.value||"",i(N,p.currentOffset(),p.currentPosition()),{node:N})}function k(p,v){const y=p.context(),f=s(7,y.offset,y.startLoc);return f.value=v,i(f,p.currentOffset(),p.currentPosition()),f}function w(p){const v=p.context(),y=s(6,v.offset,v.startLoc);let f=p.nextToken();if(f.type===9){const x=h(p);y.modifier=x.node,f=x.nextConsumeToken||p.nextToken()}switch(f.type!==10&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(f)),f=p.nextToken(),f.type===2&&(f=p.nextToken()),f.type){case 11:f.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(f)),y.key=k(p,f.value||"");break;case 5:f.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(f)),y.key=u(p,f.value||"");break;case 6:f.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(f)),y.key=c(p,f.value||"");break;case 7:f.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(f)),y.key=g(p,f.value||"");break;default:{a(p,Me.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const x=p.context(),N=s(7,x.offset,x.startLoc);return N.value="",i(N,x.offset,x.startLoc),y.key=N,i(y,x.offset,x.startLoc),{nextConsumeToken:f,node:y}}}return i(y,p.currentOffset(),p.currentPosition()),{node:y}}function _(p){const v=p.context(),y=v.currentType===1?p.currentOffset():v.offset,f=v.currentType===1?v.endLoc:v.startLoc,x=s(2,y,f);x.items=[];let N=null,S=null;do{const j=N||p.nextToken();switch(N=null,j.type){case 0:j.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(j)),x.items.push(l(p,j.value||""));break;case 6:j.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(j)),x.items.push(c(p,j.value||""));break;case 4:S=!0;break;case 5:j.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(j)),x.items.push(u(p,j.value||"",!!S)),S&&(r(p,Fi.USE_MODULO_SYNTAX,v.lastStartLoc,0,co(j)),S=null);break;case 7:j.value==null&&a(p,Me.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,co(j)),x.items.push(g(p,j.value||""));break;case 8:{const I=w(p);x.items.push(I.node),N=I.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const O=v.currentType===1?v.lastOffset:p.currentOffset(),z=v.currentType===1?v.lastEndLoc:p.currentPosition();return i(x,O,z),x}function m(p,v,y,f){const x=p.context();let N=f.items.length===0;const S=s(1,v,y);S.cases=[],S.cases.push(f);do{const O=_(p);N||(N=O.items.length===0),S.cases.push(O)}while(x.currentType!==14);return N&&a(p,Me.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),i(S,p.currentOffset(),p.currentPosition()),S}function d(p){const v=p.context(),{offset:y,startLoc:f}=v,x=_(p);return v.currentType===14?x:m(p,y,f,x)}function b(p){const v=J0(p,Td({},e)),y=v.context(),f=s(0,y.offset,y.startLoc);return t&&f.loc&&(f.loc.source=p),f.body=d(v),e.onCacheKey&&(f.cacheKey=e.onCacheKey(p)),y.currentType!==14&&a(v,Me.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,p[y.offset]||""),i(f,v.currentOffset(),v.currentPosition()),f}return{parse:b}}function co(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 o1(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Id(e,t){for(let o=0;oFd(o)),e}function Fd(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(_,m){s.code+=_}function c(_,m=!0){const d=m?n:"";l(a?d+" ".repeat(_):d)}function u(_=!0){const m=++s.indentLevel;_&&c(m)}function g(_=!0){const m=--s.indentLevel;_&&c(m)}function h(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:h,helper:_=>`_${_}`,needIndent:()=>s.needIndent}}function l1(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Qn(e,t.key),t.modifier?(e.push(", "),Qn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function c1(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=Nd(t.mode)?t.mode:"normal",n=Nd(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=i1(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${Rd(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Qn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function g1(e,t={}){const o=Td({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=t1(o).parse(e);return n?(r&&a1(i),a&&Zn(i),{ast:i,code:""}):(n1(i,o),p1(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function g1(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ho().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ho().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ho().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Ao(e){return Ye(e)&&Di(e)===0&&(lo(e,"b")||lo(e,"body"))}const Od=["b","body"];function f1(e){return un(e,Od)}const Dd=["c","cases"];function h1(e){return un(e,Dd,[])}const Bd=["s","static"];function m1(e){return un(e,Bd)}const Gd=["i","items"];function b1(e){return un(e,Gd,[])}const jd=["t","type"];function Di(e){return un(e,jd)}const zd=["v","value"];function ss(e,t){const o=un(e,zd);if(o!=null)return o;throw Wa(t)}const Ud=["m","modifier"];function y1(e){return un(e,Ud)}const Kd=["k","key"];function v1(e){const t=un(e,Kd);if(t)return t;throw Wa(6)}function un(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},f[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,s===void 0||(s=A1(s),s===!1))return!1;f[1]()}};function k(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,f[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=w1(r),g=dn[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Vd=new Map;function C1(e,t){return Ye(e)?e[t]:null}function L1(e,t){if(!Ye(e))return null;let o=Vd.get(t);if(o||(o=S1(t),o&&Vd.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,E1=e=>"",P1="text",T1=e=>e.length===0?"":F0(e),N1=I0;function qd(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function R1(e){const t=mt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(mt(e.named.count)||mt(e.named.n))?mt(e.named.count)?e.named.count:mt(e.named.n)?e.named.n:t:t}function M1(e,t){t.count||(t.count=e),t.n||(t.n=e)}function I1(e={}){const t=e.locale,o=R1(e),n=Ye(e.pluralRules)&&we(t)&&it(e.pluralRules[t])?e.pluralRules[t]:qd,a=Ye(e.pluralRules)&&we(t)&&it(e.pluralRules[t])?qd:void 0,r=v=>v[n(o,v.length,a)],s=e.list||[],i=v=>s[v],l=e.named||tt();mt(e.pluralIndex)&&M1(o,l);const c=v=>l[v];function u(v){const _=it(e.messages)?e.messages(v):Ye(e.messages)?e.messages[v]:!1;return _||(e.parent?e.parent.message(v):E1)}const g=v=>e.modifiers?e.modifiers[v]:$1,f=Be(e.processor)&&it(e.processor.normalize)?e.processor.normalize:T1,k=Be(e.processor)&&it(e.processor.interpolate)?e.processor.interpolate:N1,w=Be(e.processor)&&we(e.processor.type)?e.processor.type:P1,h={list:i,named:c,plural:r,linked:(v,..._)=>{const[x,p]=_;let y="text",d="";_.length===1?Ye(x)?(d=x.modifier||d,y=x.type||y):we(x)&&(d=x||d):_.length===2&&(we(x)&&(d=x||d),we(p)&&(y=p||y));const m=u(v)(h),T=y==="vnode"&&dt(m)&&d?m[0]:m;return d?g(d)(T,y):T},message:u,type:w,interpolate:k,normalize:f,values:Pt(tt(),s,l)};return h}let Ya=null;function F1(e){Ya=e}function O1(e,t,o){Ya&&Ya.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const D1=B1("function:translate");function B1(e){return t=>Ya&&Ya.emit(e,t)}const G1=Fi.__EXTEND_POINT__,$n=os(G1),j1={FALLBACK_TO_TRANSLATE:$n(),CANNOT_FORMAT_NUMBER:$n(),FALLBACK_TO_NUMBER_FORMAT:$n(),CANNOT_FORMAT_DATE:$n(),FALLBACK_TO_DATE_FORMAT:$n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:$n(),__EXTEND_POINT__:$n()},Wd=Me.__EXTEND_POINT__,En=os(Wd),uo={INVALID_ARGUMENT:Wd,INVALID_DATE_ARGUMENT:En(),INVALID_ISO_DATE_ARGUMENT:En(),NOT_SUPPORT_NON_STRING_MESSAGE:En(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:En(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:En(),NOT_SUPPORT_LOCALE_TYPE:En(),__EXTEND_POINT__:En()};function So(e){return Jn(e,null,void 0)}function Bi(e,t){return t.locale!=null?Yd(t.locale):Yd(e.locale)}let Gi;function Yd(e){if(we(e))return e;if(it(e)){if(e.resolvedOnce&&Gi!=null)return Gi;if(e.constructor.name==="Function"){const t=e();if(M0(t))throw So(uo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Gi=t}else throw So(uo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw So(uo.NOT_SUPPORT_LOCALE_TYPE)}function z1(e,t,o){return[...new Set([o,...dt(t)?t:Ye(t)?Object.keys(t):we(t)?[t]:[o]])]}function Xd(e,t,o){const n=we(o)?o:ea,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;dt(s);)s=Jd(r,s,t);const i=dt(t)||!Be(t)?t:t.default?t.default:null;s=we(i)?[i]:i,dt(s)&&Jd(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Jd(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function V1(){return{upper:(e,t)=>t==="text"&&we(e)?e.toUpperCase():t==="vnode"&&Ye(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&we(e)?e.toLowerCase():t==="vnode"&&Ye(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&we(e)?Qd(e):t==="vnode"&&Ye(e)&&"__v_isVNode"in e?Qd(e.children):e}}let ep;function tp(e){ep=e}let op;function q1(e){op=e}let np;function W1(e){np=e}let ap=null;const Y1=e=>{ap=e},X1=()=>ap;let rp=null;const sp=e=>{rp=e},J1=()=>rp;let ip=0;function Z1(e={}){const t=it(e.onWarn)?e.onWarn:L0,o=we(e.version)?e.version:H1,n=we(e.locale)||it(e.locale)?e.locale:ea,a=it(n)?ea:n,r=dt(e.fallbackLocale)||Be(e.fallbackLocale)||we(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Be(e.messages)?e.messages:ji(a),i=Be(e.datetimeFormats)?e.datetimeFormats:ji(a),l=Be(e.numberFormats)?e.numberFormats:ji(a),c=Pt(tt(),e.modifiers,V1()),u=e.pluralRules||tt(),g=it(e.missing)?e.missing:null,f=je(e.missingWarn)||ln(e.missingWarn)?e.missingWarn:!0,k=je(e.fallbackWarn)||ln(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,b=!!e.unresolving,h=it(e.postTranslation)?e.postTranslation:null,v=Be(e.processor)?e.processor:null,_=je(e.warnHtmlMessage)?e.warnHtmlMessage:!0,x=!!e.escapeParameter,p=it(e.messageCompiler)?e.messageCompiler:ep,y=it(e.messageResolver)?e.messageResolver:op||C1,d=it(e.localeFallbacker)?e.localeFallbacker:np||z1,m=Ye(e.fallbackContext)?e.fallbackContext:void 0,T=e,S=Ye(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,D=Ye(T.__numberFormatters)?T.__numberFormatters:new Map,z=Ye(T.__meta)?T.__meta:{};ip++;const j={version:o,cid:ip,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:g,missingWarn:f,fallbackWarn:k,fallbackFormat:w,unresolving:b,postTranslation:h,processor:v,warnHtmlMessage:_,escapeParameter:x,messageCompiler:p,messageResolver:y,localeFallbacker:d,fallbackContext:m,onWarn:t,__meta:z};return j.datetimeFormats=i,j.numberFormats=l,j.__datetimeFormatters=S,j.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&O1(j,o,z),j}const ji=e=>({[e]:tt()});function zi(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return we(i)?i:t}else return t}function Xa(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Q1(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ev(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;ntv(o,e)}function tv(e,t){const o=f1(t);if(o==null)throw Wa(0);if(Di(o)===1){const r=h1(o);return e.plural(r.reduce((s,i)=>[...s,lp(e,i)],[]))}else return lp(e,o)}function lp(e,t){const o=m1(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=b1(t).reduce((a,r)=>[...a,Ki(e,r)],[]);return e.normalize(n)}}function Ki(e,t){const o=Di(t);switch(o){case 3:return ss(t,o);case 9:return ss(t,o);case 4:{const n=t;if(lo(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(lo(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Wa(o)}case 5:{const n=t;if(lo(n,"i")&&mt(n.i))return e.interpolate(e.list(n.i));if(lo(n,"index")&&mt(n.index))return e.interpolate(e.list(n.index));throw Wa(o)}case 6:{const n=t,a=y1(n),r=v1(n);return e.linked(Ki(e,r),a?Ki(e,a):void 0,e.type)}case 7:return ss(t,o);case 8:return ss(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const cp=e=>e;let ta=tt();function up(e,t={}){let o=!1;const n=t.onError||U0;return t.onError=a=>{o=!0,n(a)},{...p1(e,t),detectError:o}}const ov=(e,t)=>{if(!we(e))throw So(uo.NOT_SUPPORT_NON_STRING_MESSAGE);{je(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cp)(e),a=ta[n];if(a)return a;const{code:r,detectError:s}=up(e,t),i=new Function(`return ${r}`)();return s?i:ta[n]=i}};function nv(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&we(e)){je(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cp)(e),a=ta[n];if(a)return a;const{ast:r,detectError:s}=up(e,{...t,location:!1,jit:!0}),i=Ui(r);return s?i:ta[n]=i}else{const o=e.cacheKey;if(o){const n=ta[o];return n||(ta[o]=Ui(e))}else return Ui(e)}}const dp=()=>"",no=e=>it(e);function pp(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Hi(...t),u=je(c.missingWarn)?c.missingWarn:e.missingWarn,g=je(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=je(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,w=we(c.default)||je(c.default)?je(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",b=o||w!=="",h=Bi(e,c);f&&av(c);let[v,_,x]=k?[l,h,i[h]||tt()]:gp(e,l,h,s,g,u),p=v,y=l;if(!k&&!(we(p)||Ao(p)||no(p))&&b&&(p=w,y=p),!k&&(!(we(p)||Ao(p)||no(p))||!we(_)))return a?is:l;let d=!1;const m=()=>{d=!0},T=no(p)?p:fp(e,l,_,p,y,m);if(d)return p;const S=iv(e,_,x,c),D=I1(S),z=rv(e,T,D);let j=n?n(z,l):z;if(f&&we(j)&&(j=N0(j)),__INTLIFY_PROD_DEVTOOLS__){const I={timestamp:Date.now(),key:we(l)?l:no(p)?p.key:"",locale:_||(no(p)?p.locale:""),format:we(p)?p:no(p)?p.source:"",message:j};I.meta=Pt({},e.__meta,X1()||{}),D1(I)}return j}function av(e){dt(e.list)?e.list=e.list.map(t=>we(t)?Cd(t):t):Ye(e.named)&&Object.keys(e.named).forEach(t=>{we(e.named[t])&&(e.named[t]=Cd(e.named[t]))})}function gp(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=tt(),f,k=null;const w="translate";for(let b=0;bn;return c.locale=o,c.key=t,c}const l=s(n,sv(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function rv(e,t,o){return t(o)}function Hi(...e){const[t,o,n]=e,a=tt();if(!we(t)&&!mt(t)&&!no(t)&&!Ao(t))throw So(uo.INVALID_ARGUMENT);const r=mt(t)?String(t):(no(t),t);return mt(o)?a.plural=o:we(o)?a.default=o:Be(o)&&!ts(o)?a.named=o:dt(o)&&(a.list=o),mt(n)?a.plural=n:we(n)?a.default=n:Be(n)&&Pt(a,n),[r,a]}function sv(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>$0(t,o,s)}}function iv(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:a,pluralRules:r,messages:k=>{let w=s(o,k);if(w==null&&u){const[,,b]=gp(u,k,t,i,l,c);w=s(b,k)}if(we(w)||Ao(w)){let b=!1;const v=fp(e,k,t,w,k,()=>{b=!0});return b?dp:v}else return no(w)?w:dp}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),mt(n.plural)&&(f.pluralIndex=n.plural),f}function hp(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=Vi(...t),f=je(u.missingWarn)?u.missingWarn:e.missingWarn;je(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=Bi(e,u),b=s(e,a,w);if(!we(l)||l==="")return new Intl.DateTimeFormat(w,g).format(c);let h={},v,_=null;const x="datetime format";for(let d=0;d{mp.includes(l)?s[l]=o[l]:r[l]=o[l]}),we(n)?r.locale=n:Be(n)&&(s=n),Be(a)&&(s=a),[r.key||"",i,r,s]}function bp(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function yp(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,g]=qi(...t),f=je(u.missingWarn)?u.missingWarn:e.missingWarn;je(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=Bi(e,u),b=s(e,a,w);if(!we(l)||l==="")return new Intl.NumberFormat(w,g).format(c);let h={},v,_=null;const x="number format";for(let d=0;d{vp.includes(l)?s[l]=o[l]:r[l]=o[l]}),we(n)?r.locale=n:Be(n)&&(s=n),Be(a)&&(s=a),[r.key||"",i,r,s]}function _p(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}g1();/*! + */function f1(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ho().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ho().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ho().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Ao(e){return Xe(e)&&Di(e)===0&&(lo(e,"b")||lo(e,"body"))}const Od=["b","body"];function h1(e){return un(e,Od)}const Dd=["c","cases"];function m1(e){return un(e,Dd,[])}const Bd=["s","static"];function b1(e){return un(e,Bd)}const Gd=["i","items"];function y1(e){return un(e,Gd,[])}const jd=["t","type"];function Di(e){return un(e,jd)}const zd=["v","value"];function ss(e,t){const o=un(e,zd);if(o!=null)return o;throw Wa(t)}const Ud=["m","modifier"];function v1(e){return un(e,Ud)}const Kd=["k","key"];function _1(e){const t=un(e,Kd);if(t)return t;throw Wa(6)}function un(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},h[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},h[2]=()=>{h[0](),a++},h[3]=()=>{if(a>0)a--,n=4,h[0]();else{if(a=0,s===void 0||(s=S1(s),s===!1))return!1;h[1]()}};function k(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,h[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=A1(r),g=dn[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Vd=new Map;function L1(e,t){return Xe(e)?e[t]:null}function $1(e,t){if(!Xe(e))return null;let o=Vd.get(t);if(o||(o=C1(t),o&&Vd.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,P1=e=>"",T1="text",N1=e=>e.length===0?"":O0(e),R1=F0;function qd(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function M1(e){const t=mt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(mt(e.named.count)||mt(e.named.n))?mt(e.named.count)?e.named.count:mt(e.named.n)?e.named.n:t:t}function I1(e,t){t.count||(t.count=e),t.n||(t.n=e)}function F1(e={}){const t=e.locale,o=M1(e),n=Xe(e.pluralRules)&&ke(t)&&it(e.pluralRules[t])?e.pluralRules[t]:qd,a=Xe(e.pluralRules)&&ke(t)&&it(e.pluralRules[t])?qd:void 0,r=d=>d[n(o,d.length,a)],s=e.list||[],i=d=>s[d],l=e.named||tt();mt(e.pluralIndex)&&I1(o,l);const c=d=>l[d];function u(d){const b=it(e.messages)?e.messages(d):Xe(e.messages)?e.messages[d]:!1;return b||(e.parent?e.parent.message(d):P1)}const g=d=>e.modifiers?e.modifiers[d]:E1,h=Be(e.processor)&&it(e.processor.normalize)?e.processor.normalize:N1,k=Be(e.processor)&&it(e.processor.interpolate)?e.processor.interpolate:R1,w=Be(e.processor)&&ke(e.processor.type)?e.processor.type:T1,m={list:i,named:c,plural:r,linked:(d,...b)=>{const[p,v]=b;let y="text",f="";b.length===1?Xe(p)?(f=p.modifier||f,y=p.type||y):ke(p)&&(f=p||f):b.length===2&&(ke(p)&&(f=p||f),ke(v)&&(y=v||y));const x=u(d)(m),N=y==="vnode"&&dt(x)&&f?x[0]:x;return f?g(f)(N,y):N},message:u,type:w,interpolate:k,normalize:h,values:Et(tt(),s,l)};return m}let Ya=null;function O1(e){Ya=e}function D1(e,t,o){Ya&&Ya.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const B1=G1("function:translate");function G1(e){return t=>Ya&&Ya.emit(e,t)}const j1=Fi.__EXTEND_POINT__,$n=os(j1),z1={FALLBACK_TO_TRANSLATE:$n(),CANNOT_FORMAT_NUMBER:$n(),FALLBACK_TO_NUMBER_FORMAT:$n(),CANNOT_FORMAT_DATE:$n(),FALLBACK_TO_DATE_FORMAT:$n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:$n(),__EXTEND_POINT__:$n()},Wd=Me.__EXTEND_POINT__,En=os(Wd),uo={INVALID_ARGUMENT:Wd,INVALID_DATE_ARGUMENT:En(),INVALID_ISO_DATE_ARGUMENT:En(),NOT_SUPPORT_NON_STRING_MESSAGE:En(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:En(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:En(),NOT_SUPPORT_LOCALE_TYPE:En(),__EXTEND_POINT__:En()};function So(e){return Jn(e,null,void 0)}function Bi(e,t){return t.locale!=null?Yd(t.locale):Yd(e.locale)}let Gi;function Yd(e){if(ke(e))return e;if(it(e)){if(e.resolvedOnce&&Gi!=null)return Gi;if(e.constructor.name==="Function"){const t=e();if(I0(t))throw So(uo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Gi=t}else throw So(uo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw So(uo.NOT_SUPPORT_LOCALE_TYPE)}function U1(e,t,o){return[...new Set([o,...dt(t)?t:Xe(t)?Object.keys(t):ke(t)?[t]:[o]])]}function Xd(e,t,o){const n=ke(o)?o:ea,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;dt(s);)s=Jd(r,s,t);const i=dt(t)||!Be(t)?t:t.default?t.default:null;s=ke(i)?[i]:i,dt(s)&&Jd(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Jd(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function q1(){return{upper:(e,t)=>t==="text"&&ke(e)?e.toUpperCase():t==="vnode"&&Xe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ke(e)?e.toLowerCase():t==="vnode"&&Xe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ke(e)?Qd(e):t==="vnode"&&Xe(e)&&"__v_isVNode"in e?Qd(e.children):e}}let ep;function tp(e){ep=e}let op;function W1(e){op=e}let np;function Y1(e){np=e}let ap=null;const X1=e=>{ap=e},J1=()=>ap;let rp=null;const sp=e=>{rp=e},Z1=()=>rp;let ip=0;function Q1(e={}){const t=it(e.onWarn)?e.onWarn:$0,o=ke(e.version)?e.version:V1,n=ke(e.locale)||it(e.locale)?e.locale:ea,a=it(n)?ea:n,r=dt(e.fallbackLocale)||Be(e.fallbackLocale)||ke(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Be(e.messages)?e.messages:ji(a),i=Be(e.datetimeFormats)?e.datetimeFormats:ji(a),l=Be(e.numberFormats)?e.numberFormats:ji(a),c=Et(tt(),e.modifiers,q1()),u=e.pluralRules||tt(),g=it(e.missing)?e.missing:null,h=ze(e.missingWarn)||ln(e.missingWarn)?e.missingWarn:!0,k=ze(e.fallbackWarn)||ln(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,_=!!e.unresolving,m=it(e.postTranslation)?e.postTranslation:null,d=Be(e.processor)?e.processor:null,b=ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,v=it(e.messageCompiler)?e.messageCompiler:ep,y=it(e.messageResolver)?e.messageResolver:op||L1,f=it(e.localeFallbacker)?e.localeFallbacker:np||U1,x=Xe(e.fallbackContext)?e.fallbackContext:void 0,N=e,S=Xe(N.__datetimeFormatters)?N.__datetimeFormatters:new Map,O=Xe(N.__numberFormatters)?N.__numberFormatters:new Map,z=Xe(N.__meta)?N.__meta:{};ip++;const j={version:o,cid:ip,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:g,missingWarn:h,fallbackWarn:k,fallbackFormat:w,unresolving:_,postTranslation:m,processor:d,warnHtmlMessage:b,escapeParameter:p,messageCompiler:v,messageResolver:y,localeFallbacker:f,fallbackContext:x,onWarn:t,__meta:z};return j.datetimeFormats=i,j.numberFormats=l,j.__datetimeFormatters=S,j.__numberFormatters=O,__INTLIFY_PROD_DEVTOOLS__&&D1(j,o,z),j}const ji=e=>({[e]:tt()});function zi(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return ke(i)?i:t}else return t}function Xa(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function ev(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function tv(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nov(o,e)}function ov(e,t){const o=h1(t);if(o==null)throw Wa(0);if(Di(o)===1){const r=m1(o);return e.plural(r.reduce((s,i)=>[...s,lp(e,i)],[]))}else return lp(e,o)}function lp(e,t){const o=b1(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=y1(t).reduce((a,r)=>[...a,Ki(e,r)],[]);return e.normalize(n)}}function Ki(e,t){const o=Di(t);switch(o){case 3:return ss(t,o);case 9:return ss(t,o);case 4:{const n=t;if(lo(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(lo(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Wa(o)}case 5:{const n=t;if(lo(n,"i")&&mt(n.i))return e.interpolate(e.list(n.i));if(lo(n,"index")&&mt(n.index))return e.interpolate(e.list(n.index));throw Wa(o)}case 6:{const n=t,a=v1(n),r=_1(n);return e.linked(Ki(e,r),a?Ki(e,a):void 0,e.type)}case 7:return ss(t,o);case 8:return ss(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const cp=e=>e;let ta=tt();function up(e,t={}){let o=!1;const n=t.onError||K0;return t.onError=a=>{o=!0,n(a)},{...g1(e,t),detectError:o}}const nv=(e,t)=>{if(!ke(e))throw So(uo.NOT_SUPPORT_NON_STRING_MESSAGE);{ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cp)(e),a=ta[n];if(a)return a;const{code:r,detectError:s}=up(e,t),i=new Function(`return ${r}`)();return s?i:ta[n]=i}};function av(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ke(e)){ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cp)(e),a=ta[n];if(a)return a;const{ast:r,detectError:s}=up(e,{...t,location:!1,jit:!0}),i=Ui(r);return s?i:ta[n]=i}else{const o=e.cacheKey;if(o){const n=ta[o];return n||(ta[o]=Ui(e))}else return Ui(e)}}const dp=()=>"",no=e=>it(e);function pp(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Hi(...t),u=ze(c.missingWarn)?c.missingWarn:e.missingWarn,g=ze(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=ze(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,w=ke(c.default)||ze(c.default)?ze(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",_=o||w!=="",m=Bi(e,c);h&&rv(c);let[d,b,p]=k?[l,m,i[m]||tt()]:gp(e,l,m,s,g,u),v=d,y=l;if(!k&&!(ke(v)||Ao(v)||no(v))&&_&&(v=w,y=v),!k&&(!(ke(v)||Ao(v)||no(v))||!ke(b)))return a?is:l;let f=!1;const x=()=>{f=!0},N=no(v)?v:fp(e,l,b,v,y,x);if(f)return v;const S=lv(e,b,p,c),O=F1(S),z=sv(e,N,O);let j=n?n(z,l):z;if(h&&ke(j)&&(j=R0(j)),__INTLIFY_PROD_DEVTOOLS__){const I={timestamp:Date.now(),key:ke(l)?l:no(v)?v.key:"",locale:b||(no(v)?v.locale:""),format:ke(v)?v:no(v)?v.source:"",message:j};I.meta=Et({},e.__meta,J1()||{}),B1(I)}return j}function rv(e){dt(e.list)?e.list=e.list.map(t=>ke(t)?Cd(t):t):Xe(e.named)&&Object.keys(e.named).forEach(t=>{ke(e.named[t])&&(e.named[t]=Cd(e.named[t]))})}function gp(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=tt(),h,k=null;const w="translate";for(let _=0;_n;return c.locale=o,c.key=t,c}const l=s(n,iv(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function sv(e,t,o){return t(o)}function Hi(...e){const[t,o,n]=e,a=tt();if(!ke(t)&&!mt(t)&&!no(t)&&!Ao(t))throw So(uo.INVALID_ARGUMENT);const r=mt(t)?String(t):(no(t),t);return mt(o)?a.plural=o:ke(o)?a.default=o:Be(o)&&!ts(o)?a.named=o:dt(o)&&(a.list=o),mt(n)?a.plural=n:ke(n)?a.default=n:Be(n)&&Et(a,n),[r,a]}function iv(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>E0(t,o,s)}}function lv(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:a,pluralRules:r,messages:k=>{let w=s(o,k);if(w==null&&u){const[,,_]=gp(u,k,t,i,l,c);w=s(_,k)}if(ke(w)||Ao(w)){let _=!1;const d=fp(e,k,t,w,k,()=>{_=!0});return _?dp:d}else return no(w)?w:dp}};return e.processor&&(h.processor=e.processor),n.list&&(h.list=n.list),n.named&&(h.named=n.named),mt(n.plural)&&(h.pluralIndex=n.plural),h}function hp(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=Vi(...t),h=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=Bi(e,u),_=s(e,a,w);if(!ke(l)||l==="")return new Intl.DateTimeFormat(w,g).format(c);let m={},d,b=null;const p="datetime format";for(let f=0;f<_.length&&(d=_[f],m=o[d]||{},b=m[l],!Be(b));f++)zi(e,l,d,h,p);if(!Be(b)||!ke(d))return n?is:l;let v=`${d}__${l}`;ts(g)||(v=`${v}__${JSON.stringify(g)}`);let y=i.get(v);return y||(y=new Intl.DateTimeFormat(d,Et({},b,g)),i.set(v,y)),k?y.formatToParts(c):y.format(c)}const mp=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Vi(...e){const[t,o,n,a]=e,r=tt();let s=tt(),i;if(ke(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw So(uo.INVALID_ISO_DATE_ARGUMENT);const c=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();i=new Date(c);try{i.toISOString()}catch{throw So(uo.INVALID_ISO_DATE_ARGUMENT)}}else if(T0(t)){if(isNaN(t.getTime()))throw So(uo.INVALID_DATE_ARGUMENT);i=t}else if(mt(t))i=t;else throw So(uo.INVALID_ARGUMENT);return ke(o)?r.key=o:Be(o)&&Object.keys(o).forEach(l=>{mp.includes(l)?s[l]=o[l]:r[l]=o[l]}),ke(n)?r.locale=n:Be(n)&&(s=n),Be(a)&&(s=a),[r.key||"",i,r,s]}function bp(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function yp(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,g]=qi(...t),h=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=Bi(e,u),_=s(e,a,w);if(!ke(l)||l==="")return new Intl.NumberFormat(w,g).format(c);let m={},d,b=null;const p="number format";for(let f=0;f<_.length&&(d=_[f],m=o[d]||{},b=m[l],!Be(b));f++)zi(e,l,d,h,p);if(!Be(b)||!ke(d))return n?is:l;let v=`${d}__${l}`;ts(g)||(v=`${v}__${JSON.stringify(g)}`);let y=i.get(v);return y||(y=new Intl.NumberFormat(d,Et({},b,g)),i.set(v,y)),k?y.formatToParts(c):y.format(c)}const vp=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function qi(...e){const[t,o,n,a]=e,r=tt();let s=tt();if(!mt(t))throw So(uo.INVALID_ARGUMENT);const i=t;return ke(o)?r.key=o:Be(o)&&Object.keys(o).forEach(l=>{vp.includes(l)?s[l]=o[l]:r[l]=o[l]}),ke(n)?r.locale=n:Be(n)&&(s=n),Be(a)&&(s=a),[r.key||"",i,r,s]}function _p(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}f1();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const lv="9.14.5";function cv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ho().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ho().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ho().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ho().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ho().__INTLIFY_PROD_DEVTOOLS__=!1)}const uv=j1.__EXTEND_POINT__,qo=os(uv);qo(),qo(),qo(),qo(),qo(),qo(),qo(),qo(),qo();const xp=uo.__EXTEND_POINT__,zt=os(xp),xt={UNEXPECTED_RETURN_TYPE:xp,INVALID_ARGUMENT:zt(),MUST_BE_CALL_SETUP_TOP:zt(),NOT_INSTALLED:zt(),NOT_AVAILABLE_IN_LEGACY_MODE:zt(),REQUIRED_VALUE:zt(),INVALID_VALUE:zt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:zt(),NOT_INSTALLED_WITH_PROVIDE:zt(),UNEXPECTED_ERROR:zt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:zt(),BRIDGE_SUPPORT_VUE_2_ONLY:zt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:zt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:zt(),__EXTEND_POINT__:zt()};function St(e,...t){return Jn(e,null,void 0)}const Wi=sn("__translateVNode"),Yi=sn("__datetimeParts"),Xi=sn("__numberParts"),kp=sn("__setPluralRules"),wp=sn("__injectWithOption"),Ji=sn("__dispose");function Ja(e){if(!Ye(e)||Ao(e))return e;for(const t in e)if(lo(e,t))if(!t.includes("."))Ye(e[t])&&Ja(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||tt(),as(c,s[l])):as(c,s)}else we(i)&&as(JSON.parse(i),s)}),a==null&&r)for(const i in s)lo(s,i)&&Ja(s[i]);return s}function Ap(e){return e.type}function Sp(e,t,o){let n=Ye(t.messages)?t.messages:tt();"__i18nGlobal"in o&&(n=ls(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ye(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ye(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Cp(e){return et(Fa,null,e,0)}const Lp="__INTLIFY_META__",$p=()=>[],dv=()=>!1;let Ep=0;function Pp(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const pv=()=>{const e=ko();let t=null;return e&&(t=Ap(e)[Lp])?{[Lp]:t}:null};function Zi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=es?ue:wa,i=!!e.translateExistCompatible;let l=je(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:we(e.locale)?e.locale:ea),u=s(o&&l?o.fallbackLocale.value:we(e.fallbackLocale)||dt(e.fallbackLocale)||Be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=s(ls(c.value,e)),f=s(Be(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=s(Be(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:je(e.missingWarn)||ln(e.missingWarn)?e.missingWarn:!0,b=o?o.fallbackWarn:je(e.fallbackWarn)||ln(e.fallbackWarn)?e.fallbackWarn:!0,h=o?o.fallbackRoot:je(e.fallbackRoot)?e.fallbackRoot:!0,v=!!e.fallbackFormat,_=it(e.missing)?e.missing:null,x=it(e.missing)?Pp(e.missing):null,p=it(e.postTranslation)?e.postTranslation:null,y=o?o.warnHtmlMessage:je(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter;const m=o?o.modifiers:Be(e.modifiers)?e.modifiers:{};let T=e.pluralRules||o&&o.pluralRules,S;S=(()=>{a&&sp(null);const te={version:lv,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:m,pluralRules:T,missing:x===null?void 0:x,missingWarn:w,fallbackWarn:b,fallbackFormat:v,unresolving:!0,postTranslation:p===null?void 0:p,warnHtmlMessage:y,escapeParameter:d,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};te.datetimeFormats=f.value,te.numberFormats=k.value,te.__datetimeFormatters=Be(S)?S.__datetimeFormatters:void 0,te.__numberFormatters=Be(S)?S.__numberFormatters:void 0;const ie=Z1(te);return a&&sp(ie),ie})(),Xa(S,c.value,u.value);function z(){return[c.value,u.value,g.value,f.value,k.value]}const j=ee({get:()=>c.value,set:te=>{c.value=te,S.locale=c.value}}),I=ee({get:()=>u.value,set:te=>{u.value=te,S.fallbackLocale=u.value,Xa(S,c.value,te)}}),R=ee(()=>g.value),E=ee(()=>f.value),L=ee(()=>k.value);function N(){return it(p)?p:null}function Q(te){p=te,S.postTranslation=te}function de(){return _}function W(te){te!==null&&(x=Pp(te)),_=te,S.missing=x}const le=(te,ie,Se,Re,ze,q)=>{z();let ae;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=o?J1():void 0),ae=te(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(Se!=="translate exists"&&mt(ae)&&ae===is||Se==="translate exists"&&!ae){const[Ae,Te]=ie();return o&&h?Re(o):ze(Ae)}else{if(q(ae))return ae;throw St(xt.UNEXPECTED_RETURN_TYPE)}};function U(...te){return le(ie=>Reflect.apply(pp,null,[ie,...te]),()=>Hi(...te),"translate",ie=>Reflect.apply(ie.t,ie,[...te]),ie=>ie,ie=>we(ie))}function oe(...te){const[ie,Se,Re]=te;if(Re&&!Ye(Re))throw St(xt.INVALID_ARGUMENT);return U(ie,Se,Pt({resolvedMessage:!0},Re||{}))}function he(...te){return le(ie=>Reflect.apply(hp,null,[ie,...te]),()=>Vi(...te),"datetime format",ie=>Reflect.apply(ie.d,ie,[...te]),()=>Zd,ie=>we(ie))}function ve(...te){return le(ie=>Reflect.apply(yp,null,[ie,...te]),()=>qi(...te),"number format",ie=>Reflect.apply(ie.n,ie,[...te]),()=>Zd,ie=>we(ie))}function Ce(te){return te.map(ie=>we(ie)||mt(ie)||je(ie)?Cp(String(ie)):ie)}const J={normalize:Ce,interpolate:te=>te,type:"vnode"};function ke(...te){return le(ie=>{let Se;const Re=ie;try{Re.processor=J,Se=Reflect.apply(pp,null,[Re,...te])}finally{Re.processor=null}return Se},()=>Hi(...te),"translate",ie=>ie[Wi](...te),ie=>[Cp(ie)],ie=>dt(ie))}function be(...te){return le(ie=>Reflect.apply(yp,null,[ie,...te]),()=>qi(...te),"number format",ie=>ie[Xi](...te),$p,ie=>we(ie)||dt(ie))}function $e(...te){return le(ie=>Reflect.apply(hp,null,[ie,...te]),()=>Vi(...te),"datetime format",ie=>ie[Yi](...te),$p,ie=>we(ie)||dt(ie))}function P(te){T=te,S.pluralRules=T}function B(te,ie){return le(()=>{if(!te)return!1;const Se=we(ie)?ie:c.value,Re=X(Se),ze=S.messageResolver(Re,te);return i?ze!=null:Ao(ze)||no(ze)||we(ze)},()=>[te],"translate exists",Se=>Reflect.apply(Se.te,Se,[te,ie]),dv,Se=>je(Se))}function O(te){let ie=null;const Se=Xd(S,u.value,c.value);for(let Re=0;Re{l&&(c.value=te,S.locale=te,Xa(S,c.value,u.value))}),Oe(o.fallbackLocale,te=>{l&&(u.value=te,S.fallbackLocale=te,Xa(S,c.value,u.value))}));const fe={id:Ep,locale:j,fallbackLocale:I,get inheritLocale(){return l},set inheritLocale(te){l=te,te&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Xa(S,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:R,get modifiers(){return m},get pluralRules(){return T||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(te){w=te,S.missingWarn=w},get fallbackWarn(){return b},set fallbackWarn(te){b=te,S.fallbackWarn=b},get fallbackRoot(){return h},set fallbackRoot(te){h=te},get fallbackFormat(){return v},set fallbackFormat(te){v=te,S.fallbackFormat=v},get warnHtmlMessage(){return y},set warnHtmlMessage(te){y=te,S.warnHtmlMessage=te},get escapeParameter(){return d},set escapeParameter(te){d=te,S.escapeParameter=te},t:U,getLocaleMessage:X,setLocaleMessage:G,mergeLocaleMessage:Y,getPostTranslationHandler:N,setPostTranslationHandler:Q,getMissingHandler:de,setMissingHandler:W,[kp]:P};return fe.datetimeFormats=E,fe.numberFormats=L,fe.rt=oe,fe.te=B,fe.tm=K,fe.d=he,fe.n=ve,fe.getDateTimeFormat=re,fe.setDateTimeFormat=A,fe.mergeDateTimeFormat=C,fe.getNumberFormat=H,fe.setNumberFormat=se,fe.mergeNumberFormat=ge,fe[wp]=n,fe[Wi]=ke,fe[Yi]=$e,fe[Xi]=be,fe}function gv(e){const t=we(e.locale)?e.locale:ea,o=we(e.fallbackLocale)||dt(e.fallbackLocale)||Be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=it(e.missing)?e.missing:void 0,a=je(e.silentTranslationWarn)||ln(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=je(e.silentFallbackWarn)||ln(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=je(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Be(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=it(e.postTranslation)?e.postTranslation:void 0,g=we(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,k=je(e.sync)?e.sync:!0;let w=e.messages;if(Be(e.sharedMessages)){const d=e.sharedMessages;w=Object.keys(d).reduce((T,S)=>{const D=T[S]||(T[S]={});return Pt(D,d[S]),T},w||{})}const{__i18n:b,__root:h,__injectWithOption:v}=e,_=e.datetimeFormats,x=e.numberFormats,p=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:p,datetimeFormats:_,numberFormats:x,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:y,__i18n:b,__root:h,__injectWithOption:v}}function Qi(e={},t){{const o=Zi(gv(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return je(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=je(r)?!r:r},get silentFallbackWarn(){return je(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=je(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,g=null;if(!we(s))throw St(xt.INVALID_ARGUMENT);const f=s;return we(i)?c.locale=i:dt(i)?u=i:Be(i)&&(g=i),dt(l)?u=l:Be(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,g=null;if(!we(s))throw St(xt.INVALID_ARGUMENT);const f=s;return we(i)?c.locale=i:mt(i)?c.plural=i:dt(i)?u=i:Be(i)&&(g=i),we(l)?c.locale=l:dt(l)?u=l:Be(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const el={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function fv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Fe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},tt())}function Tp(e){return Fe}const Np=Pa({name:"i18n-t",props:Pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>mt(e)||!isNaN(e)}},el),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(g=>g!=="_"),s=tt();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=we(e.plural)?+e.plural:e.plural);const i=fv(t,r),l=a[Wi](e.keypath,i,s),c=Pt(tt(),n),u=we(e.tag)||Ye(e.tag)?e.tag:Tp();return ki(u,c,l)}}});function hv(e){return dt(e)&&!we(e[0])}function Rp(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=tt();e.locale&&(s.locale=e.locale),we(e.format)?s.key=e.format:Ye(e.format)&&(we(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((f,k)=>o.includes(k)?Pt(tt(),f,{[k]:e.format[k]}):f,tt()));const l=n(e.value,s,i);let c=[s.key];dt(l)?c=l.map((f,k)=>{const w=a[f.type],b=w?w({[f.type]:f.value,index:k,parts:l}):[f.value];return hv(b)&&(b[0].key=`${f.type}-${k}`),b}):we(l)&&(c=[l]);const u=Pt(tt(),r),g=we(e.tag)||Ye(e.tag)?e.tag:Tp();return ki(g,u,c)}}const Mp=Pa({name:"i18n-n",props:Pt({value:{type:Number,required:!0},format:{type:[String,Object]}},el),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Rp(e,t,vp,(...n)=>o[Xi](...n))}}),Ip=Pa({name:"i18n-d",props:Pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},el),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Rp(e,t,mp,(...n)=>o[Yi](...n))}});function mv(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function bv(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw St(xt.UNEXPECTED_ERROR);const u=mv(e,i.$),g=Fp(c);return[Reflect.apply(u.t,u,[...Op(g)]),u]};return{created:(s,i)=>{const[l,c]=t(i);es&&e.global===c&&(s.__i18nWatcher=Oe(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{es&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=Fp(i);s.textContent=Reflect.apply(l.t,l,[...Op(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function Fp(e){if(we(e))return{path:e};if(Be(e)){if(!("path"in e))throw St(xt.REQUIRED_VALUE,"path");return e}else throw St(xt.INVALID_VALUE)}function Op(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return we(o)&&(s.locale=o),mt(a)&&(s.plural=a),mt(r)&&(s.plural=r),[t,i,s]}function yv(e,t,...o){const n=Be(o[0])?o[0]:{},a=!!n.useI18nComponentName;(je(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Np.name,"I18nT"].forEach(s=>e.component(s,Np)),[Mp.name,"I18nN"].forEach(s=>e.component(s,Mp)),[Ip.name,"I18nD"].forEach(s=>e.component(s,Ip))),e.directive("t",bv(t))}function vv(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw St(xt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Dp(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Qi(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Dp(e,a);else{this.$i18n=Qi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Sp(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw St(xt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Dp(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[kp](t.pluralizationRules||e.pluralizationRules);const o=ls(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const _v=sn("global-vue-i18n");function xv(e={},t){const o=__VUE_I18N_LEGACY_API__&&je(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=je(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=kv(e,o),l=sn("");function c(f){return r.get(f)||null}function u(f,k){r.set(f,k)}function g(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,f),Be(w[0])){const v=w[0];f.__composerExtend=v.__composerExtend,f.__vueI18nExtend=v.__vueI18nExtend}let b=null;!o&&n&&(b=Tv(k,f.global)),__VUE_I18N_FULL_INSTALL__&&yv(k,f,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(vv(i,i.__composer,f));const h=k.unmount;k.unmount=()=>{b&&b(),f.dispose(),h()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function bt(e={}){const t=ko();if(t==null)throw St(xt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw St(xt.NOT_INSTALLED);const o=wv(t),n=Sv(o),a=Ap(t),r=Av(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw St(xt.NOT_AVAILABLE_IN_LEGACY_MODE);return Ev(t,r,n,e)}if(r==="global")return Sp(n,e,a),n;if(r==="parent"){let l=Cv(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Pt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Zi(l),s.__composerExtend&&(i[Ji]=s.__composerExtend(i)),$v(s,t,i),s.__setInstance(t,i)}return i}function kv(e,t,o){const n=Vs();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Qi(e)):n.run(()=>Zi(e));if(a==null)throw St(xt.UNEXPECTED_ERROR);return[n,a]}}function wv(e){{const t=Ne(e.isCE?_v:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw St(e.isCE?xt.NOT_INSTALLED_WITH_PROVIDE:xt.UNEXPECTED_ERROR);return t}}function Av(e,t){return ts(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Sv(e){return e.mode==="composition"?e.global:e.global.__composer}function Cv(e,t,o=!1){let n=null;const a=t.root;let r=Lv(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[wp]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function Lv(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function $v(e,t,o){to(()=>{},t),Ra(()=>{const n=o;e.__deleteInstance(t);const a=n[Ji];a&&(a(),delete n[Ji])},t)}function Ev(e,t,o,n={}){const a=t==="local",r=wa(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw St(xt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=je(n.inheritLocale)?n.inheritLocale:!we(n.locale),i=ue(!a||s?o.locale.value:we(n.locale)?n.locale:ea),l=ue(!a||s?o.fallbackLocale.value:we(n.fallbackLocale)||dt(n.fallbackLocale)||Be(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(ls(i.value,n)),u=ue(Be(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=ue(Be(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:je(n.missingWarn)||ln(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:je(n.fallbackWarn)||ln(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:je(n.fallbackRoot)?n.fallbackRoot:!0,b=!!n.fallbackFormat,h=it(n.missing)?n.missing:null,v=it(n.postTranslation)?n.postTranslation:null,_=a?o.warnHtmlMessage:je(n.warnHtmlMessage)?n.warnHtmlMessage:!0,x=!!n.escapeParameter,p=a?o.modifiers:Be(n.modifiers)?n.modifiers:{},y=n.pluralRules||a&&o.pluralRules;function d(){return[i.value,l.value,c.value,u.value,g.value]}const m=ee({get:()=>r.value?r.value.locale.value:i.value,set:O=>{r.value&&(r.value.locale.value=O),i.value=O}}),T=ee({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:O=>{r.value&&(r.value.fallbackLocale.value=O),l.value=O}}),S=ee(()=>r.value?r.value.messages.value:c.value),D=ee(()=>u.value),z=ee(()=>g.value);function j(){return r.value?r.value.getPostTranslationHandler():v}function I(O){r.value&&r.value.setPostTranslationHandler(O)}function R(){return r.value?r.value.getMissingHandler():h}function E(O){r.value&&r.value.setMissingHandler(O)}function L(O){return d(),O()}function N(...O){return r.value?L(()=>Reflect.apply(r.value.t,null,[...O])):L(()=>"")}function Q(...O){return r.value?Reflect.apply(r.value.rt,null,[...O]):""}function de(...O){return r.value?L(()=>Reflect.apply(r.value.d,null,[...O])):L(()=>"")}function W(...O){return r.value?L(()=>Reflect.apply(r.value.n,null,[...O])):L(()=>"")}function le(O){return r.value?r.value.tm(O):{}}function U(O,K){return r.value?r.value.te(O,K):!1}function oe(O){return r.value?r.value.getLocaleMessage(O):{}}function he(O,K){r.value&&(r.value.setLocaleMessage(O,K),c.value[O]=K)}function ve(O,K){r.value&&r.value.mergeLocaleMessage(O,K)}function Ce(O){return r.value?r.value.getDateTimeFormat(O):{}}function xe(O,K){r.value&&(r.value.setDateTimeFormat(O,K),u.value[O]=K)}function J(O,K){r.value&&r.value.mergeDateTimeFormat(O,K)}function ke(O){return r.value?r.value.getNumberFormat(O):{}}function be(O,K){r.value&&(r.value.setNumberFormat(O,K),g.value[O]=K)}function $e(O,K){r.value&&r.value.mergeNumberFormat(O,K)}const P={get id(){return r.value?r.value.id:-1},locale:m,fallbackLocale:T,messages:S,datetimeFormats:D,numberFormats:z,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(O){r.value&&(r.value.inheritLocale=O)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:p},get pluralRules(){return r.value?r.value.pluralRules:y},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(O){r.value&&(r.value.missingWarn=O)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn(O){r.value&&(r.value.missingWarn=O)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(O){r.value&&(r.value.fallbackRoot=O)},get fallbackFormat(){return r.value?r.value.fallbackFormat:b},set fallbackFormat(O){r.value&&(r.value.fallbackFormat=O)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:_},set warnHtmlMessage(O){r.value&&(r.value.warnHtmlMessage=O)},get escapeParameter(){return r.value?r.value.escapeParameter:x},set escapeParameter(O){r.value&&(r.value.escapeParameter=O)},t:N,getPostTranslationHandler:j,setPostTranslationHandler:I,getMissingHandler:R,setMissingHandler:E,rt:Q,d:de,n:W,tm:le,te:U,getLocaleMessage:oe,setLocaleMessage:he,mergeLocaleMessage:ve,getDateTimeFormat:Ce,setDateTimeFormat:xe,mergeDateTimeFormat:J,getNumberFormat:ke,setNumberFormat:be,mergeNumberFormat:$e};function B(O){O.locale.value=i.value,O.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{O.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{O.mergeDateTimeFormat(K,u.value[K])}),Object.keys(g.value).forEach(K=>{O.mergeNumberFormat(K,g.value[K])}),O.escapeParameter=x,O.fallbackFormat=b,O.fallbackRoot=w,O.fallbackWarn=k,O.missingWarn=f,O.warnHtmlMessage=_}return cu(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw St(xt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const O=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=O.locale.value,l.value=O.fallbackLocale.value,c.value=O.messages.value,u.value=O.datetimeFormats.value,g.value=O.numberFormats.value):a&&B(O)}),P}const Pv=["locale","fallbackLocale","availableLocales"],Bp=["t","rt","d","n","tm","te"];function Tv(e,t){const o=Object.create(null);return Pv.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw St(xt.UNEXPECTED_ERROR);const s=ut(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Bp.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw St(xt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Bp.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(cv(),__INTLIFY_JIT_COMPILATION__?tp(nv):tp(ov),q1(L1),W1(Xd),__INTLIFY_PROD_DEVTOOLS__){const e=Ho();e.__INTLIFY__=!0,F1(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Nv=Object.assign({"./locales/ar/aria.json":Pb,"./locales/ar/buttons.json":Tb,"./locales/ar/detail.json":Nb,"./locales/ar/legend.json":Rb,"./locales/ar/messages.json":Mb,"./locales/ar/options.json":Ib,"./locales/ar/prayerLaps.json":Fb,"./locales/ar/regions.json":Ob,"./locales/ar/search.json":Db,"./locales/ar/tabs.json":Bb,"./locales/de/aria.json":Gb,"./locales/de/buttons.json":jb,"./locales/de/detail.json":zb,"./locales/de/legend.json":Ub,"./locales/de/messages.json":Kb,"./locales/de/options.json":Hb,"./locales/de/prayerLaps.json":Vb,"./locales/de/regions.json":qb,"./locales/de/search.json":Wb,"./locales/de/tabs.json":Yb,"./locales/en/aria.json":Xb,"./locales/en/buttons.json":Jb,"./locales/en/detail.json":Zb,"./locales/en/legend.json":Qb,"./locales/en/messages.json":ey,"./locales/en/options.json":ty,"./locales/en/popup.json":oy,"./locales/en/prayerLaps.json":ny,"./locales/en/regions.json":ay,"./locales/en/search.json":ry,"./locales/en/tabs.json":sy,"./locales/es/aria.json":iy,"./locales/es/buttons.json":ly,"./locales/es/detail.json":cy,"./locales/es/legend.json":uy,"./locales/es/messages.json":dy,"./locales/es/options.json":py,"./locales/es/prayerLaps.json":gy,"./locales/es/regions.json":fy,"./locales/es/search.json":hy,"./locales/es/tabs.json":my,"./locales/fr/aria.json":by,"./locales/fr/buttons.json":yy,"./locales/fr/detail.json":vy,"./locales/fr/legend.json":_y,"./locales/fr/messages.json":xy,"./locales/fr/options.json":ky,"./locales/fr/popup.json":wy,"./locales/fr/prayerLaps.json":Ay,"./locales/fr/regions.json":Sy,"./locales/fr/search.json":Cy,"./locales/fr/tabs.json":Ly,"./locales/hi/aria.json":$y,"./locales/hi/buttons.json":Ey,"./locales/hi/detail.json":Py,"./locales/hi/legend.json":Ty,"./locales/hi/messages.json":Ny,"./locales/hi/options.json":Ry,"./locales/hi/prayerLaps.json":My,"./locales/hi/regions.json":Iy,"./locales/hi/search.json":Fy,"./locales/it/aria.json":Oy,"./locales/it/buttons.json":Dy,"./locales/it/detail.json":By,"./locales/it/legend.json":Gy,"./locales/it/messages.json":jy,"./locales/it/options.json":zy,"./locales/it/prayerLaps.json":Uy,"./locales/it/search.json":Ky,"./locales/pt/aria.json":Hy,"./locales/pt/buttons.json":Vy,"./locales/pt/detail.json":qy,"./locales/pt/legend.json":Wy,"./locales/pt/messages.json":Yy,"./locales/pt/options.json":Xy,"./locales/pt/prayerLaps.json":Jy,"./locales/pt/regions.json":Zy,"./locales/pt/search.json":Qy,"./locales/pt/tabs.json":e0,"./locales/ro/aria.json":t0,"./locales/ro/buttons.json":o0,"./locales/ro/detail.json":n0,"./locales/ro/legend.json":a0,"./locales/ro/messages.json":r0,"./locales/ro/options.json":s0,"./locales/ro/prayerLaps.json":i0,"./locales/ro/search.json":l0,"./locales/ru/aria.json":c0,"./locales/ru/buttons.json":u0,"./locales/ru/detail.json":d0,"./locales/ru/legend.json":p0,"./locales/ru/messages.json":g0,"./locales/ru/options.json":f0,"./locales/ru/prayerLaps.json":h0,"./locales/ru/regions.json":m0,"./locales/ru/search.json":b0,"./locales/ru/tabs.json":y0,"./locales/zh/aria.json":v0,"./locales/zh/buttons.json":_0,"./locales/zh/detail.json":x0,"./locales/zh/legend.json":k0,"./locales/zh/messages.json":w0,"./locales/zh/options.json":A0,"./locales/zh/prayerLaps.json":S0,"./locales/zh/search.json":C0}),Za={};for(const[e,t]of Object.entries(Nv)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Za[n]??(Za[n]={}),Za[n][a]=t}const tl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Rv(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return tl.includes(t)?t:"en"}function Mv(){return xv({legacy:!1,globalInjection:!0,locale:Rv(),fallbackLocale:"en",messages:Za,missingWarn:!1,fallbackWarn:!1})}function yt(e,t){const o=t||Iv(e);to(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function Iv(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=ee(()=>{var h;return((h=o==null?void 0:o.value)==null?void 0:h.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=ue(!1),s=ue(null);let i=null,l=null,c=null,u=null,g=null;function f(){r.value=!1}function k(h,v){var x;let _=h==null?void 0:h.parentElement;for(let p=0;_&&p<12;p++,_=_.parentElement){if(_===v||(x=_.classList)!=null&&x.contains("profile-loader"))return null;let y="";try{y=getComputedStyle(_).position}catch{}if(y&&y!=="static"){const d=_.getBoundingClientRect();if(d.height>=120&&d.width>=160)return _}}return null}function w(){const h=s.value;if(h)try{h.style.removeProperty("--pin-hint-lift");const v=h.getBoundingClientRect();if(!v.height)return;const _=Math.round(v.bottom-window.innerHeight);_>0&&h.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function b(h){const v=s.value;if(!v||!(h!=null&&h.querySelector))return;let _=0;try{const p=h.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(p){const y=p.getBoundingClientRect(),d=v.parentElement,m=d?d.getBoundingClientRect():null;if(_=m?Math.max(y.height||0,m.bottom-y.top):y.height||0,g!==p&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=p,c=new ResizeObserver(()=>b(h)),c.observe(p)}}}catch{}const x=Math.min(Math.max(Math.ceil(_)||20,20),72);v.style.setProperty("--pin-hint-attrib-clear",x+"px"),w()}return to(()=>{var x,p,y;const h=ko(),v=(y=(p=(x=h==null?void 0:h.proxy)==null?void 0:x.$el)==null?void 0:p.getRootNode)==null?void 0:y.call(p);if(!v||typeof v.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const d=v.querySelector("canvas");d?(clearInterval(i),i=null,r.value=!0,jt(()=>{const m=k(d,v),T=s.value;if(m&&T&&T.parentElement!==m)try{m.appendChild(T),l=m}catch{}b(v),w();try{const S=s.value&&s.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(S)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),oo(()=>{var h;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((h=s.value)==null?void 0:h.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),yt(` + */const cv="9.14.5";function uv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ho().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ho().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ho().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ho().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ho().__INTLIFY_PROD_DEVTOOLS__=!1)}const dv=z1.__EXTEND_POINT__,qo=os(dv);qo(),qo(),qo(),qo(),qo(),qo(),qo(),qo(),qo();const xp=uo.__EXTEND_POINT__,Ut=os(xp),_t={UNEXPECTED_RETURN_TYPE:xp,INVALID_ARGUMENT:Ut(),MUST_BE_CALL_SETUP_TOP:Ut(),NOT_INSTALLED:Ut(),NOT_AVAILABLE_IN_LEGACY_MODE:Ut(),REQUIRED_VALUE:Ut(),INVALID_VALUE:Ut(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ut(),NOT_INSTALLED_WITH_PROVIDE:Ut(),UNEXPECTED_ERROR:Ut(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ut(),BRIDGE_SUPPORT_VUE_2_ONLY:Ut(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ut(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ut(),__EXTEND_POINT__:Ut()};function At(e,...t){return Jn(e,null,void 0)}const Wi=sn("__translateVNode"),Yi=sn("__datetimeParts"),Xi=sn("__numberParts"),kp=sn("__setPluralRules"),wp=sn("__injectWithOption"),Ji=sn("__dispose");function Ja(e){if(!Xe(e)||Ao(e))return e;for(const t in e)if(lo(e,t))if(!t.includes("."))Xe(e[t])&&Ja(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||tt(),as(c,s[l])):as(c,s)}else ke(i)&&as(JSON.parse(i),s)}),a==null&&r)for(const i in s)lo(s,i)&&Ja(s[i]);return s}function Ap(e){return e.type}function Sp(e,t,o){let n=Xe(t.messages)?t.messages:tt();"__i18nGlobal"in o&&(n=ls(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Xe(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Xe(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Cp(e){return Ye(Fa,null,e,0)}const Lp="__INTLIFY_META__",$p=()=>[],pv=()=>!1;let Ep=0;function Pp(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const gv=()=>{const e=ko();let t=null;return e&&(t=Ap(e)[Lp])?{[Lp]:t}:null};function Zi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=es?le:wa,i=!!e.translateExistCompatible;let l=ze(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:ke(e.locale)?e.locale:ea),u=s(o&&l?o.fallbackLocale.value:ke(e.fallbackLocale)||dt(e.fallbackLocale)||Be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=s(ls(c.value,e)),h=s(Be(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=s(Be(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:ze(e.missingWarn)||ln(e.missingWarn)?e.missingWarn:!0,_=o?o.fallbackWarn:ze(e.fallbackWarn)||ln(e.fallbackWarn)?e.fallbackWarn:!0,m=o?o.fallbackRoot:ze(e.fallbackRoot)?e.fallbackRoot:!0,d=!!e.fallbackFormat,b=it(e.missing)?e.missing:null,p=it(e.missing)?Pp(e.missing):null,v=it(e.postTranslation)?e.postTranslation:null,y=o?o.warnHtmlMessage:ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,f=!!e.escapeParameter;const x=o?o.modifiers:Be(e.modifiers)?e.modifiers:{};let N=e.pluralRules||o&&o.pluralRules,S;S=(()=>{a&&sp(null);const Q={version:cv,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:x,pluralRules:N,missing:p===null?void 0:p,missingWarn:w,fallbackWarn:_,fallbackFormat:d,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:y,escapeParameter:f,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};Q.datetimeFormats=h.value,Q.numberFormats=k.value,Q.__datetimeFormatters=Be(S)?S.__datetimeFormatters:void 0,Q.__numberFormatters=Be(S)?S.__numberFormatters:void 0;const se=Q1(Q);return a&&sp(se),se})(),Xa(S,c.value,u.value);function z(){return[c.value,u.value,g.value,h.value,k.value]}const j=J({get:()=>c.value,set:Q=>{c.value=Q,S.locale=c.value}}),I=J({get:()=>u.value,set:Q=>{u.value=Q,S.fallbackLocale=u.value,Xa(S,c.value,Q)}}),M=J(()=>g.value),P=J(()=>h.value),L=J(()=>k.value);function T(){return it(v)?v:null}function X(Q){v=Q,S.postTranslation=Q}function pe(){return b}function W(Q){Q!==null&&(p=Pp(Q)),b=Q,S.missing=p}const de=(Q,se,Se,Re,He,V)=>{z();let ae;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=o?Z1():void 0),ae=Q(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(Se!=="translate exists"&&mt(ae)&&ae===is||Se==="translate exists"&&!ae){const[Ae,Ne]=se();return o&&m?Re(o):He(Ae)}else{if(V(ae))return ae;throw At(_t.UNEXPECTED_RETURN_TYPE)}};function U(...Q){return de(se=>Reflect.apply(pp,null,[se,...Q]),()=>Hi(...Q),"translate",se=>Reflect.apply(se.t,se,[...Q]),se=>se,se=>ke(se))}function ee(...Q){const[se,Se,Re]=Q;if(Re&&!Xe(Re))throw At(_t.INVALID_ARGUMENT);return U(se,Se,Et({resolvedMessage:!0},Re||{}))}function ve(...Q){return de(se=>Reflect.apply(hp,null,[se,...Q]),()=>Vi(...Q),"datetime format",se=>Reflect.apply(se.d,se,[...Q]),()=>Zd,se=>ke(se))}function ce(...Q){return de(se=>Reflect.apply(yp,null,[se,...Q]),()=>qi(...Q),"number format",se=>Reflect.apply(se.n,se,[...Q]),()=>Zd,se=>ke(se))}function Te(Q){return Q.map(se=>ke(se)||mt(se)||ze(se)?Cp(String(se)):se)}const ue={normalize:Te,interpolate:Q=>Q,type:"vnode"};function ye(...Q){return de(se=>{let Se;const Re=se;try{Re.processor=ue,Se=Reflect.apply(pp,null,[Re,...Q])}finally{Re.processor=null}return Se},()=>Hi(...Q),"translate",se=>se[Wi](...Q),se=>[Cp(se)],se=>dt(se))}function me(...Q){return de(se=>Reflect.apply(yp,null,[se,...Q]),()=>qi(...Q),"number format",se=>se[Xi](...Q),$p,se=>ke(se)||dt(se))}function Ce(...Q){return de(se=>Reflect.apply(hp,null,[se,...Q]),()=>Vi(...Q),"datetime format",se=>se[Yi](...Q),$p,se=>ke(se)||dt(se))}function E(Q){N=Q,S.pluralRules=N}function F(Q,se){return de(()=>{if(!Q)return!1;const Se=ke(se)?se:c.value,Re=te(Se),He=S.messageResolver(Re,Q);return i?He!=null:Ao(He)||no(He)||ke(He)},()=>[Q],"translate exists",Se=>Reflect.apply(Se.te,Se,[Q,se]),pv,Se=>ze(Se))}function D(Q){let se=null;const Se=Xd(S,u.value,c.value);for(let Re=0;Re{l&&(c.value=Q,S.locale=Q,Xa(S,c.value,u.value))}),Oe(o.fallbackLocale,Q=>{l&&(u.value=Q,S.fallbackLocale=Q,Xa(S,c.value,u.value))}));const fe={id:Ep,locale:j,fallbackLocale:I,get inheritLocale(){return l},set inheritLocale(Q){l=Q,Q&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Xa(S,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:M,get modifiers(){return x},get pluralRules(){return N||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(Q){w=Q,S.missingWarn=w},get fallbackWarn(){return _},set fallbackWarn(Q){_=Q,S.fallbackWarn=_},get fallbackRoot(){return m},set fallbackRoot(Q){m=Q},get fallbackFormat(){return d},set fallbackFormat(Q){d=Q,S.fallbackFormat=d},get warnHtmlMessage(){return y},set warnHtmlMessage(Q){y=Q,S.warnHtmlMessage=Q},get escapeParameter(){return f},set escapeParameter(Q){f=Q,S.escapeParameter=Q},t:U,getLocaleMessage:te,setLocaleMessage:G,mergeLocaleMessage:Y,getPostTranslationHandler:T,setPostTranslationHandler:X,getMissingHandler:pe,setMissingHandler:W,[kp]:E};return fe.datetimeFormats=P,fe.numberFormats=L,fe.rt=ee,fe.te=F,fe.tm=K,fe.d=ve,fe.n=ce,fe.getDateTimeFormat=oe,fe.setDateTimeFormat=A,fe.mergeDateTimeFormat=C,fe.getNumberFormat=q,fe.setNumberFormat=re,fe.mergeNumberFormat=be,fe[wp]=n,fe[Wi]=ye,fe[Yi]=Ce,fe[Xi]=me,fe}function fv(e){const t=ke(e.locale)?e.locale:ea,o=ke(e.fallbackLocale)||dt(e.fallbackLocale)||Be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=it(e.missing)?e.missing:void 0,a=ze(e.silentTranslationWarn)||ln(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ze(e.silentFallbackWarn)||ln(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=ze(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Be(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=it(e.postTranslation)?e.postTranslation:void 0,g=ke(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,k=ze(e.sync)?e.sync:!0;let w=e.messages;if(Be(e.sharedMessages)){const f=e.sharedMessages;w=Object.keys(f).reduce((N,S)=>{const O=N[S]||(N[S]={});return Et(O,f[S]),N},w||{})}const{__i18n:_,__root:m,__injectWithOption:d}=e,b=e.datetimeFormats,p=e.numberFormats,v=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:v,datetimeFormats:b,numberFormats:p,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:y,__i18n:_,__root:m,__injectWithOption:d}}function Qi(e={},t){{const o=Zi(fv(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return ze(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=ze(r)?!r:r},get silentFallbackWarn(){return ze(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=ze(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,g=null;if(!ke(s))throw At(_t.INVALID_ARGUMENT);const h=s;return ke(i)?c.locale=i:dt(i)?u=i:Be(i)&&(g=i),dt(l)?u=l:Be(l)&&(g=l),Reflect.apply(o.t,o,[h,u||g||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,g=null;if(!ke(s))throw At(_t.INVALID_ARGUMENT);const h=s;return ke(i)?c.locale=i:mt(i)?c.plural=i:dt(i)?u=i:Be(i)&&(g=i),ke(l)?c.locale=l:dt(l)?u=l:Be(l)&&(g=l),Reflect.apply(o.t,o,[h,u||g||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const el={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function hv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ie?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},tt())}function Tp(e){return Ie}const Np=Pa({name:"i18n-t",props:Et({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>mt(e)||!isNaN(e)}},el),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(g=>g!=="_"),s=tt();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=ke(e.plural)?+e.plural:e.plural);const i=hv(t,r),l=a[Wi](e.keypath,i,s),c=Et(tt(),n),u=ke(e.tag)||Xe(e.tag)?e.tag:Tp();return ki(u,c,l)}}});function mv(e){return dt(e)&&!ke(e[0])}function Rp(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=tt();e.locale&&(s.locale=e.locale),ke(e.format)?s.key=e.format:Xe(e.format)&&(ke(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((h,k)=>o.includes(k)?Et(tt(),h,{[k]:e.format[k]}):h,tt()));const l=n(e.value,s,i);let c=[s.key];dt(l)?c=l.map((h,k)=>{const w=a[h.type],_=w?w({[h.type]:h.value,index:k,parts:l}):[h.value];return mv(_)&&(_[0].key=`${h.type}-${k}`),_}):ke(l)&&(c=[l]);const u=Et(tt(),r),g=ke(e.tag)||Xe(e.tag)?e.tag:Tp();return ki(g,u,c)}}const Mp=Pa({name:"i18n-n",props:Et({value:{type:Number,required:!0},format:{type:[String,Object]}},el),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Rp(e,t,vp,(...n)=>o[Xi](...n))}}),Ip=Pa({name:"i18n-d",props:Et({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},el),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Rp(e,t,mp,(...n)=>o[Yi](...n))}});function bv(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function yv(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw At(_t.UNEXPECTED_ERROR);const u=bv(e,i.$),g=Fp(c);return[Reflect.apply(u.t,u,[...Op(g)]),u]};return{created:(s,i)=>{const[l,c]=t(i);es&&e.global===c&&(s.__i18nWatcher=Oe(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{es&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=Fp(i);s.textContent=Reflect.apply(l.t,l,[...Op(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function Fp(e){if(ke(e))return{path:e};if(Be(e)){if(!("path"in e))throw At(_t.REQUIRED_VALUE,"path");return e}else throw At(_t.INVALID_VALUE)}function Op(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return ke(o)&&(s.locale=o),mt(a)&&(s.plural=a),mt(r)&&(s.plural=r),[t,i,s]}function vv(e,t,...o){const n=Be(o[0])?o[0]:{},a=!!n.useI18nComponentName;(ze(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Np.name,"I18nT"].forEach(s=>e.component(s,Np)),[Mp.name,"I18nN"].forEach(s=>e.component(s,Mp)),[Ip.name,"I18nD"].forEach(s=>e.component(s,Ip))),e.directive("t",yv(t))}function _v(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw At(_t.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Dp(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Qi(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Dp(e,a);else{this.$i18n=Qi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Sp(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw At(_t.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Dp(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[kp](t.pluralizationRules||e.pluralizationRules);const o=ls(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const xv=sn("global-vue-i18n");function kv(e={},t){const o=__VUE_I18N_LEGACY_API__&&ze(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ze(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=wv(e,o),l=sn("");function c(h){return r.get(h)||null}function u(h,k){r.set(h,k)}function g(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,h),Be(w[0])){const d=w[0];h.__composerExtend=d.__composerExtend,h.__vueI18nExtend=d.__vueI18nExtend}let _=null;!o&&n&&(_=Nv(k,h.global)),__VUE_I18N_FULL_INSTALL__&&vv(k,h,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(_v(i,i.__composer,h));const m=k.unmount;k.unmount=()=>{_&&_(),h.dispose(),m()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:g};return h}}function bt(e={}){const t=ko();if(t==null)throw At(_t.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw At(_t.NOT_INSTALLED);const o=Av(t),n=Cv(o),a=Ap(t),r=Sv(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw At(_t.NOT_AVAILABLE_IN_LEGACY_MODE);return Pv(t,r,n,e)}if(r==="global")return Sp(n,e,a),n;if(r==="parent"){let l=Lv(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Et({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Zi(l),s.__composerExtend&&(i[Ji]=s.__composerExtend(i)),Ev(s,t,i),s.__setInstance(t,i)}return i}function wv(e,t,o){const n=Vs();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Qi(e)):n.run(()=>Zi(e));if(a==null)throw At(_t.UNEXPECTED_ERROR);return[n,a]}}function Av(e){{const t=Pe(e.isCE?xv:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw At(e.isCE?_t.NOT_INSTALLED_WITH_PROVIDE:_t.UNEXPECTED_ERROR);return t}}function Sv(e,t){return ts(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Cv(e){return e.mode==="composition"?e.global:e.global.__composer}function Lv(e,t,o=!1){let n=null;const a=t.root;let r=$v(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[wp]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function $v(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ev(e,t,o){qt(()=>{},t),Ra(()=>{const n=o;e.__deleteInstance(t);const a=n[Ji];a&&(a(),delete n[Ji])},t)}function Pv(e,t,o,n={}){const a=t==="local",r=wa(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw At(_t.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=ze(n.inheritLocale)?n.inheritLocale:!ke(n.locale),i=le(!a||s?o.locale.value:ke(n.locale)?n.locale:ea),l=le(!a||s?o.fallbackLocale.value:ke(n.fallbackLocale)||dt(n.fallbackLocale)||Be(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=le(ls(i.value,n)),u=le(Be(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=le(Be(n.numberFormats)?n.numberFormats:{[i.value]:{}}),h=a?o.missingWarn:ze(n.missingWarn)||ln(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:ze(n.fallbackWarn)||ln(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:ze(n.fallbackRoot)?n.fallbackRoot:!0,_=!!n.fallbackFormat,m=it(n.missing)?n.missing:null,d=it(n.postTranslation)?n.postTranslation:null,b=a?o.warnHtmlMessage:ze(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,v=a?o.modifiers:Be(n.modifiers)?n.modifiers:{},y=n.pluralRules||a&&o.pluralRules;function f(){return[i.value,l.value,c.value,u.value,g.value]}const x=J({get:()=>r.value?r.value.locale.value:i.value,set:D=>{r.value&&(r.value.locale.value=D),i.value=D}}),N=J({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:D=>{r.value&&(r.value.fallbackLocale.value=D),l.value=D}}),S=J(()=>r.value?r.value.messages.value:c.value),O=J(()=>u.value),z=J(()=>g.value);function j(){return r.value?r.value.getPostTranslationHandler():d}function I(D){r.value&&r.value.setPostTranslationHandler(D)}function M(){return r.value?r.value.getMissingHandler():m}function P(D){r.value&&r.value.setMissingHandler(D)}function L(D){return f(),D()}function T(...D){return r.value?L(()=>Reflect.apply(r.value.t,null,[...D])):L(()=>"")}function X(...D){return r.value?Reflect.apply(r.value.rt,null,[...D]):""}function pe(...D){return r.value?L(()=>Reflect.apply(r.value.d,null,[...D])):L(()=>"")}function W(...D){return r.value?L(()=>Reflect.apply(r.value.n,null,[...D])):L(()=>"")}function de(D){return r.value?r.value.tm(D):{}}function U(D,K){return r.value?r.value.te(D,K):!1}function ee(D){return r.value?r.value.getLocaleMessage(D):{}}function ve(D,K){r.value&&(r.value.setLocaleMessage(D,K),c.value[D]=K)}function ce(D,K){r.value&&r.value.mergeLocaleMessage(D,K)}function Te(D){return r.value?r.value.getDateTimeFormat(D):{}}function we(D,K){r.value&&(r.value.setDateTimeFormat(D,K),u.value[D]=K)}function ue(D,K){r.value&&r.value.mergeDateTimeFormat(D,K)}function ye(D){return r.value?r.value.getNumberFormat(D):{}}function me(D,K){r.value&&(r.value.setNumberFormat(D,K),g.value[D]=K)}function Ce(D,K){r.value&&r.value.mergeNumberFormat(D,K)}const E={get id(){return r.value?r.value.id:-1},locale:x,fallbackLocale:N,messages:S,datetimeFormats:O,numberFormats:z,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(D){r.value&&(r.value.inheritLocale=D)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:v},get pluralRules(){return r.value?r.value.pluralRules:y},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(D){r.value&&(r.value.missingWarn=D)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn(D){r.value&&(r.value.missingWarn=D)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(D){r.value&&(r.value.fallbackRoot=D)},get fallbackFormat(){return r.value?r.value.fallbackFormat:_},set fallbackFormat(D){r.value&&(r.value.fallbackFormat=D)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:b},set warnHtmlMessage(D){r.value&&(r.value.warnHtmlMessage=D)},get escapeParameter(){return r.value?r.value.escapeParameter:p},set escapeParameter(D){r.value&&(r.value.escapeParameter=D)},t:T,getPostTranslationHandler:j,setPostTranslationHandler:I,getMissingHandler:M,setMissingHandler:P,rt:X,d:pe,n:W,tm:de,te:U,getLocaleMessage:ee,setLocaleMessage:ve,mergeLocaleMessage:ce,getDateTimeFormat:Te,setDateTimeFormat:we,mergeDateTimeFormat:ue,getNumberFormat:ye,setNumberFormat:me,mergeNumberFormat:Ce};function F(D){D.locale.value=i.value,D.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{D.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{D.mergeDateTimeFormat(K,u.value[K])}),Object.keys(g.value).forEach(K=>{D.mergeNumberFormat(K,g.value[K])}),D.escapeParameter=p,D.fallbackFormat=_,D.fallbackRoot=w,D.fallbackWarn=k,D.missingWarn=h,D.warnHtmlMessage=b}return cu(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw At(_t.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const D=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=D.locale.value,l.value=D.fallbackLocale.value,c.value=D.messages.value,u.value=D.datetimeFormats.value,g.value=D.numberFormats.value):a&&F(D)}),E}const Tv=["locale","fallbackLocale","availableLocales"],Bp=["t","rt","d","n","tm","te"];function Nv(e,t){const o=Object.create(null);return Tv.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw At(_t.UNEXPECTED_ERROR);const s=ut(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Bp.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw At(_t.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Bp.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(uv(),__INTLIFY_JIT_COMPILATION__?tp(av):tp(nv),W1($1),Y1(Xd),__INTLIFY_PROD_DEVTOOLS__){const e=Ho();e.__INTLIFY__=!0,O1(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Rv=Object.assign({"./locales/ar/aria.json":Tb,"./locales/ar/buttons.json":Nb,"./locales/ar/detail.json":Rb,"./locales/ar/legend.json":Mb,"./locales/ar/messages.json":Ib,"./locales/ar/options.json":Fb,"./locales/ar/prayerLaps.json":Ob,"./locales/ar/regions.json":Db,"./locales/ar/search.json":Bb,"./locales/ar/tabs.json":Gb,"./locales/de/aria.json":jb,"./locales/de/buttons.json":zb,"./locales/de/detail.json":Ub,"./locales/de/legend.json":Kb,"./locales/de/messages.json":Hb,"./locales/de/options.json":Vb,"./locales/de/prayerLaps.json":qb,"./locales/de/regions.json":Wb,"./locales/de/search.json":Yb,"./locales/de/tabs.json":Xb,"./locales/en/aria.json":Jb,"./locales/en/buttons.json":Zb,"./locales/en/detail.json":Qb,"./locales/en/legend.json":ey,"./locales/en/messages.json":ty,"./locales/en/options.json":oy,"./locales/en/popup.json":ny,"./locales/en/prayerLaps.json":ay,"./locales/en/regions.json":ry,"./locales/en/search.json":sy,"./locales/en/tabs.json":iy,"./locales/es/aria.json":ly,"./locales/es/buttons.json":cy,"./locales/es/detail.json":uy,"./locales/es/legend.json":dy,"./locales/es/messages.json":py,"./locales/es/options.json":gy,"./locales/es/prayerLaps.json":fy,"./locales/es/regions.json":hy,"./locales/es/search.json":my,"./locales/es/tabs.json":by,"./locales/fr/aria.json":yy,"./locales/fr/buttons.json":vy,"./locales/fr/detail.json":_y,"./locales/fr/legend.json":xy,"./locales/fr/messages.json":ky,"./locales/fr/options.json":wy,"./locales/fr/popup.json":Ay,"./locales/fr/prayerLaps.json":Sy,"./locales/fr/regions.json":Cy,"./locales/fr/search.json":Ly,"./locales/fr/tabs.json":$y,"./locales/hi/aria.json":Ey,"./locales/hi/buttons.json":Py,"./locales/hi/detail.json":Ty,"./locales/hi/legend.json":Ny,"./locales/hi/messages.json":Ry,"./locales/hi/options.json":My,"./locales/hi/prayerLaps.json":Iy,"./locales/hi/regions.json":Fy,"./locales/hi/search.json":Oy,"./locales/it/aria.json":Dy,"./locales/it/buttons.json":By,"./locales/it/detail.json":Gy,"./locales/it/legend.json":jy,"./locales/it/messages.json":zy,"./locales/it/options.json":Uy,"./locales/it/prayerLaps.json":Ky,"./locales/it/search.json":Hy,"./locales/pt/aria.json":Vy,"./locales/pt/buttons.json":qy,"./locales/pt/detail.json":Wy,"./locales/pt/legend.json":Yy,"./locales/pt/messages.json":Xy,"./locales/pt/options.json":Jy,"./locales/pt/prayerLaps.json":Zy,"./locales/pt/regions.json":Qy,"./locales/pt/search.json":e0,"./locales/pt/tabs.json":t0,"./locales/ro/aria.json":o0,"./locales/ro/buttons.json":n0,"./locales/ro/detail.json":a0,"./locales/ro/legend.json":r0,"./locales/ro/messages.json":s0,"./locales/ro/options.json":i0,"./locales/ro/prayerLaps.json":l0,"./locales/ro/search.json":c0,"./locales/ru/aria.json":u0,"./locales/ru/buttons.json":d0,"./locales/ru/detail.json":p0,"./locales/ru/legend.json":g0,"./locales/ru/messages.json":f0,"./locales/ru/options.json":h0,"./locales/ru/prayerLaps.json":m0,"./locales/ru/regions.json":b0,"./locales/ru/search.json":y0,"./locales/ru/tabs.json":v0,"./locales/zh/aria.json":_0,"./locales/zh/buttons.json":x0,"./locales/zh/detail.json":k0,"./locales/zh/legend.json":w0,"./locales/zh/messages.json":A0,"./locales/zh/options.json":S0,"./locales/zh/prayerLaps.json":C0,"./locales/zh/search.json":L0}),Za={};for(const[e,t]of Object.entries(Rv)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Za[n]??(Za[n]={}),Za[n][a]=t}const tl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Mv(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return tl.includes(t)?t:"en"}function Iv(){return kv({legacy:!1,globalInjection:!0,locale:Mv(),fallbackLocale:"en",messages:Za,missingWarn:!1,fallbackWarn:!1})}function ft(e,t){const o=t||Fv(e);qt(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function Fv(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=J(()=>{var m;return((m=o==null?void 0:o.value)==null?void 0:m.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=le(!1),s=le(null);let i=null,l=null,c=null,u=null,g=null;function h(){r.value=!1}function k(m,d){var p;let b=m==null?void 0:m.parentElement;for(let v=0;b&&v<12;v++,b=b.parentElement){if(b===d||(p=b.classList)!=null&&p.contains("profile-loader"))return null;let y="";try{y=getComputedStyle(b).position}catch{}if(y&&y!=="static"){const f=b.getBoundingClientRect();if(f.height>=120&&f.width>=160)return b}}return null}function w(){const m=s.value;if(m)try{m.style.removeProperty("--pin-hint-lift");const d=m.getBoundingClientRect();if(!d.height)return;const b=Math.round(d.bottom-window.innerHeight);b>0&&m.style.setProperty("--pin-hint-lift",b+8+"px")}catch{}}function _(m){const d=s.value;if(!d||!(m!=null&&m.querySelector))return;let b=0;try{const v=m.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(v){const y=v.getBoundingClientRect(),f=d.parentElement,x=f?f.getBoundingClientRect():null;if(b=x?Math.max(y.height||0,x.bottom-y.top):y.height||0,g!==v&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=v,c=new ResizeObserver(()=>_(m)),c.observe(v)}}}catch{}const p=Math.min(Math.max(Math.ceil(b)||20,20),72);d.style.setProperty("--pin-hint-attrib-clear",p+"px"),w()}return qt(()=>{var p,v,y;const m=ko(),d=(y=(v=(p=m==null?void 0:m.proxy)==null?void 0:p.$el)==null?void 0:v.getRootNode)==null?void 0:y.call(v);if(!d||typeof d.querySelector!="function")return;let b=0;i=setInterval(()=>{b++;const f=d.querySelector("canvas");f?(clearInterval(i),i=null,r.value=!0,zt(()=>{const x=k(f,d),N=s.value;if(x&&N&&N.parentElement!==x)try{x.appendChild(N),l=x}catch{}_(d),w();try{const S=s.value&&s.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(S)}}catch{}})):b>40&&(clearInterval(i),i=null)},300)}),Wt(()=>{var m;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((m=s.value)==null?void 0:m.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),ft(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,7 +69,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(h,v)=>r.value?(V(),ne("div",{key:0,ref_key:"hintEl",ref:s,class:Pe(["pin-hint",{dark:n.value}]),role:"status"},[$("span",Fv,[v[0]||(v[0]=$("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ht(" "+me(a.value)+" ",1),$("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:f},"×")])],2)):ye("",!0)}},cs="mapbox://styles/mapbox/standard",Dv=cs,Bv=cs,Gv=!1,Gp={lightPreset:"night",theme:"default"},jv={lightPreset:"day",theme:"monochrome"};function zv(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function Uv(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let r="dark";function s(v){return zv(v)}function i(v,_){v!=="light"&&v!=="dark"||(r=v,_&&b(_))}function l(){return{...r==="light"?jv:Gp}}function c(){return cs}function u(){return{basemap:l()}}function g(v,_){try{return typeof v.getConfigProperty=="function"?v.getConfigProperty("basemap",_):void 0}catch{return}}function f(v){return!!v&&typeof v.setConfigProperty=="function"&&typeof v.getConfigProperty=="function"}function k(v,_=!1){if(!f(v))return!1;const x=l();let p=!1;try{for(const[y,d]of Object.entries(x))!_&&g(v,y)===d||(v.setConfigProperty("basemap",y,d),p=!0)}catch(y){console.warn("[useMapTheme] setConfigProperty failed:",y)}return p}function w(v){if(!o.has(v)&&(o.add(v),!!f(v)))try{v.on("style.load",()=>k(v)),v.on("styledata",()=>k(v))}catch{}}function b(v){if(!v)return;if(w(v),k(v)&&!t){t=!0;try{v.once("idle",()=>{t=!1,k(v,!0)})}catch{t=!1}}}function h(v){e.toggleTheme(),b(v)}return{setLook:i,lookFor:s,STANDARD_STYLE:cs,LIGHT_STYLE:Dv,DARK_STYLE:Bv,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:b,swapTheme:h}}let Kv=0;const Hv=Ri("ui",{state:()=>({_storeInstanceId:++Kv,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Vv=Ri("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),qv=Ri("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=ka({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=ka({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Pn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Wv=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Gt=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Yv={class:"profile-loader"},Xv={key:0,class:"profile-error"},Jv={key:1,class:"profile-error"},Zv=Gt({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const o=e,n=Ne("profileConfig",null),a=ee(()=>{var m;if(!o.profileConfig)return null;let d;try{d=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(d&&d.assetsBase===void 0){const T=(m=n==null?void 0:n.value)==null?void 0:m.assetsBase;typeof T=="string"&&T&&(d.assetsBase=T)}return d}),r=ee(()=>{var d;return((d=a.value)==null?void 0:d.profile)||null}),s=Eb(),i=ee(()=>{var m;const d=(m=a.value)==null?void 0:m.tk;return typeof d=="string"&&d?d:s.value||""});Oe(()=>{var d;return(d=a.value)==null?void 0:d.tk},d=>{typeof d=="string"&&d&&Ad(d)},{immediate:!0});const l=ee(()=>{var d;return((d=a.value)==null?void 0:d.dataSource)||Pn.activeSource||"doxa-csv"}),c=ee(()=>{var d;return((d=a.value)==null?void 0:d.colorSet)||"default"}),u=ee(()=>!1),g=ee(()=>{var d;return((d=a.value)==null?void 0:d.pinHint)!==!1}),f=ee(()=>{var m,T;const d=(((m=a.value)==null?void 0:m.locale)||((T=a.value)==null?void 0:T.lang)||"").split("-")[0].toLowerCase();return tl.includes(d)?d:""}),k=Ne("appI18n",null);Th(()=>{f.value&&k&&(k.global.locale.value=f.value)});const w=ee(()=>{var d,m;return f.value||((m=(d=k==null?void 0:k.global)==null?void 0:d.locale)==null?void 0:m.value)||"en"}),b=ee(()=>{var d;return((d=a.value)==null?void 0:d.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),h=Ne("profileModules",null);if(!h)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=ee(()=>{if(!r.value)return null;const d=`./${r.value}.vue`;return h[d]?qa(h[d]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(h)),null)});At("mapboxToken",i),At("dataSource",l),At("colorSet",c),At("profileConfig",a),At("instanceId",b),At("lang",w);const _=Hv(),x=Vv(),p=qv();try{const d=typeof localStorage<"u"?localStorage.getItem("theme"):null;d&&((y=_.setTheme)==null||y.call(_,d))}catch{}return At("uiStore",_),At("mapStore",x),At("dataStore",p),(d,m)=>(V(),ne("div",Yv,[a.value?v.value?(V(),Ue(di(v.value),{key:2})):(V(),ne("div",Jv,[$("p",null,[m[1]||(m[1]=ht("⚠️ Profile ",-1)),$("strong",null,'"'+me(r.value)+'"',1),m[2]||(m[2]=ht(" not found.",-1))])])):(V(),ne("div",Xv,[...m[0]||(m[0]=[$("p",null,[ht("⚠️ "),$("strong",null,"doxa-map"),ht(": missing or invalid "),$("code",null,"profile-config"),ht(" prop.")],-1),$("p",null,[ht("Example: "),$("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&u.value?(V(),Ue(di(pe(null)),{key:3})):ye("",!0),v.value&&g.value?(V(),Ue(Ov,{key:4})):ye("",!0)]))}},[["styles",[Wv]],["__scopeId","data-v-ba19fc13"]]),jp="adoptionStatus",Wo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ol=Wo,nl={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Qv=nl;function zp(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Wo.hasAdoption:Wo.notAdopted}function al({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Wo.hasAdoption,["==",t,1],Wo.hasAdoption,Wo.notAdopted]}const Up=al,e_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ol,ADOPTION_LABELS:Qv,LABELS:nl,PALETTE:Wo,PROPERTY_KEY:jp,applyColor:al,buildColorExpression:Up,default:{name:"Adoption Progress",propertyKey:jp,palette:Wo,colors:Wo,labels:nl,getColor:zp,applyColor:al,buildColorExpression:Up},getColor:zp},Symbol.toStringTag,{value:"Module"})),Kp="engagementStatus",Yo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},rl=Yo,sl={notEngaged:"Unengaged",hasEngagement:"Engaged"},t_=sl;function Hp(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Yo.hasEngagement:Yo.notEngaged}function il({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Yo.hasEngagement,["==",t,1],Yo.hasEngagement,Yo.notEngaged]}const Vp=il,o_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:rl,ENGAGEMENT_LABELS:t_,LABELS:sl,PALETTE:Yo,PROPERTY_KEY:Kp,applyColor:il,buildColorExpression:Vp,default:{name:"Engagement Progress",propertyKey:Kp,palette:Yo,colors:Yo,labels:sl,getColor:Hp,applyColor:il,buildColorExpression:Vp},getColor:Hp},Symbol.toStringTag,{value:"Module"})),ll="languageFamily",n_="#000000",pn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},qp=pn;function po(e){return pn[e]||n_}const a_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(pn))t[e(o)]=o;return t})(),r_={"tai-kadai":"Kra-Dai",none:"Unknown"};function us(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return r_[o]||a_[o]||t}function Wp(e){var t;return po(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function cl(){const e=["match",["get",ll]];return Object.entries(pn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yp=cl,s_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:qp,PALETTE:pn,PROPERTY_KEY:ll,applyColor:cl,buildColorExpression:Yp,canonicalFamilyName:us,default:{name:"Language Family",propertyKey:ll,palette:pn,colors:pn,getColor:Wp,applyColor:cl,buildColorExpression:Yp,getLanguageFamilyColor:po,canonicalFamilyName:us},defaultFamilyColor:"#95a5a6",getColor:Wp,getLanguageFamilyColor:po,languageFamilyColors:pn},Symbol.toStringTag,{value:"Module"})),Xp="peoplePraying",Co=144,gn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Tn=gn,ul={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},i_=ul;function ds(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,o=Number(t)||0;return o>=Co?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function dl(e){return gn[ds(e)]}function Jp(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;return t!==null&&t>0}function Zp(e){return ds(e)==="fullPrayer"}function Qp(e){return dl(e)}function pl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Co],gn.fullPrayer,[">",t,0],gn.hasPrayer,gn.noPrayer]}const eg=pl,l_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Co,LABELS:ul,PALETTE:gn,PRAYER_COLORS:Tn,PRAYER_LABELS:i_,PROPERTY_KEY:Xp,applyColor:pl,buildColorExpression:eg,checkHasFullPrayer:Zp,checkHasPrayer:Jp,default:{name:"Prayer Progress",propertyKey:Xp,palette:gn,colors:gn,labels:ul,threshold:Co,getColor:Qp,applyColor:pl,buildColorExpression:eg,getPrayerLevel:ds,getPrayerColor:dl,checkHasPrayer:Jp,checkHasFullPrayer:Zp},getColor:Qp,getPrayerColor:dl,getPrayerLevel:ds},Symbol.toStringTag,{value:"Module"})),tg="religion",gl="#94a3b8",Nn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Wt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Qa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Nn[t]?t:"U"}function og(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Wt[Qa(t)]||gl}function fl(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Wt.C,"M",Wt.M,"H",Wt.H,"B",Wt.B,"E",Wt.E,"J",Wt.J,"S",Wt.S,"N",Wt.N,"O",Wt.O,gl]}const ng=fl,c_=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Wt,PROPERTY_KEY:tg,RELIGION_FAMILIES:Nn,applyColor:fl,buildColorExpression:ng,default:{name:"Religion",propertyKey:tg,palette:Wt,families:Nn,getColor:og,applyColor:fl,buildColorExpression:ng,fallback:gl},getColor:og,getReligionFamily:Qa},Symbol.toStringTag,{value:"Module"})),ag="region",hl="#6d766e",rg={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},er={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},ml=Object.keys(er);function sg(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return er[t]||hl}function bl(){const e=["match",["coalesce",["get","region"],""]];for(const t of ml)e.push(t,er[t]);return e.push(hl),e}const ig=bl,u_=Object.assign({"./adoption.js":e_,"./engagement.js":o_,"./language-family.js":s_,"./prayer-progress.js":l_,"./religion.js":c_,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:er,PROPERTY_KEY:ag,REGION_ORDER:ml,WAGF_REGIONS:rg,applyColor:bl,buildColorExpression:ig,default:{name:"WAGF Region",propertyKey:ag,palette:er,regions:rg,order:ml,getColor:sg,applyColor:bl,buildColorExpression:ig,fallback:hl},getColor:sg},Symbol.toStringTag,{value:"Module"}))}),d_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),p_=e=>e.replace(/-/g,"_").toUpperCase(),oa={...{STATUS:"status",CUSTOM:"custom"}},yl={};function lg(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=d_(o);oa[p_(o)]=a,yl[a]=n}}lg(u_);function g_(e){e&&lg(e)}function Lo(e){return yl[e]||yl[oa.LANGUAGE_FAMILY]}function f_(e,t={}){return Lo(e).applyColor(t)}const h_=Object.assign({"./countries-map.vue":()=>Ut(()=>Promise.resolve().then(()=>KS),void 0),"./country-poster-wall.vue":()=>Ut(()=>Promise.resolve().then(()=>k2),void 0)});if(g_(Object.assign({"./src/colors/affinity-block.js":Ef,"./src/colors/doxa-region.js":Nf,"./src/colors/resource.js":If})),typeof window<"u"&&((pf=window.mapboxgl)!=null&&pf.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function m_(){return pb(Zv,{configureApp(e){e.use(kb()),e.use(Mv()),e.provide("profileModules",h_)}})}const b_=m_();typeof customElements<"u"&&(customElements.get("country-posters-map")||customElements.define("country-posters-map",b_));const y_="rgba(120, 128, 134, 0.28)",cg="36px",ug=()=>{};function v_(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return ug;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return ug;const a=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${a(_)?"to right":"to left"}, ${y_} ${cg}, transparent ${cg})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const r=_=>{_.style.opacity="1"},s=_=>{_.style.opacity="0"},i=()=>n.find(_=>!a(_))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const _ of n)l.has(_)||s(_)},f=()=>{const _=i();_&&(r(_),u&&clearTimeout(u),u=setTimeout(g,250))},k=()=>f(),w=_=>{if(!(_.touches&&_.touches.length===1))return;const x=_.target;x&&x.classList&&x.classList.contains("map-scroll-edge")||f()},b=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",b,{passive:!0}),e.addEventListener("touchcancel",b,{passive:!0});const h=()=>{c||f()};typeof window<"u"&&window.addEventListener("scroll",h,{passive:!0});const v=[];for(const _ of n){const x=()=>{l.add(_),r(_)},p=()=>{l.delete(_),s(_)},y=()=>{c=!0,r(_)},d=()=>{c=!1,s(_)};_.addEventListener("mouseenter",x),_.addEventListener("mouseleave",p),_.addEventListener("touchstart",y,{passive:!0}),_.addEventListener("touchend",d,{passive:!0}),v.push(()=>{_.removeEventListener("mouseenter",x),_.removeEventListener("mouseleave",p),_.removeEventListener("touchstart",y),_.removeEventListener("touchend",d)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",b),e.removeEventListener("touchcancel",b),typeof window<"u"&&window.removeEventListener("scroll",h);for(const x of v)x();for(const x of n)s(x)}}const __=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function x_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=__[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function k_(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const w_=["mapbox","maplibre"],dg="mapbox";function A_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function pg(e){const t=A_(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(o||n||a||dg).toLowerCase().trim();return w_.includes(r)?r:dg}function gg(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function tr(e){return gg(e)?{"circle-emissive-strength":1}:{}}const na={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 fg(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const S_=na.mapbox.css,C_="https://tiles.openfreemap.org/styles/liberty",L_="https://tiles.openfreemap.org/styles/fiord";function vl(e){var o;const t=((o=na[e])==null?void 0:o.global)||na.mapbox.global;return typeof window<"u"?window[t]:void 0}async function $_(e){const t=na[e]||na.mapbox;if(vl(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(vl(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}async function E_(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(i=>setTimeout(i,s)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const r=document.createElement("link");r.rel="stylesheet",r.href=t,await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0}),o.prepend(r)}),n(2e3)])}function P_(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?L_:C_}const T_=85.0511,_l=-2,N_=0,R_=-60;function hg(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function M_(e,t,o,n){if(!e||e<=0||!t||t<=0)return N_;const a=Math.log2(e/512),r=hg(n)-hg(T_),s=Math.log2(t/(512*r)),i=Math.max(a,s);return Math.max(_l,Math.min(i,(o??18)-1))}function I_({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:r=[20,10],zoom:s=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:g=0,renderWorldCopies:f=!0,showEdgeBorders:k=!0,southCutoff:w=R_,maxBounds:b=void 0}){const h=wa(null),v=ue(!1);let _=null,x=null,p=null,y=null;try{y=Ne("profileConfig",null)}catch{}a=a||pg(y);const d=a==="maplibre";async function m(){var U;const S=x_(o,a),D=S.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await $_(a);const z=vl(a);if(!z){console.error(`[useMapInstance] ${d?"maplibregl":"mapboxgl"} is not available. Add the ${d?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!d){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 E_(e.value,d?na.maplibre.css:S_),await new Promise(oe=>requestAnimationFrame(oe));const j=e.value,I=j.clientWidth,R=j.clientHeight;if(I===0||R===0){console.error(`[useMapInstance] Container has ZERO dimensions (${I}×${R}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=j.parentElement,he=0;for(;oe&&he<5;)oe=oe.parentElement,he++}const E=t;d||(z.accessToken=E);const L=()=>typeof window<"u"&&window.innerWidth>=1024,N=(oe,he)=>{if(l)return typeof i=="number"?i:_l;if(!L())return _l;const ve=M_(oe,he,c,w);return typeof i=="number"?Math.max(i,ve):ve},Q=N(j.clientWidth,j.clientHeight),de=S.lightPreset||(()=>{var oe;try{const he=typeof n=="function"?n():n;return(oe=he==null?void 0:he.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(d){h.value=new z.Map({container:e.value,style:P_(D,de),center:r,zoom:s,minZoom:Q,maxZoom:c,pitch:u,bearing:g,dragRotate:!1,renderWorldCopies:f,...b?{maxBounds:b}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),fg(h.value);try{e.value.__doxaMap=h.value}catch{}}else{const oe=typeof n=="function"?n():n;h.value=new z.Map({accessToken:E,container:e.value,style:D,...oe?{config:oe}:{},center:r,zoom:s,minZoom:Q,maxZoom:c,pitch:u,bearing:g,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...b?{maxBounds:b}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),fg(h.value);try{e.value.__doxaMap=h.value}catch{}}try{let oe=!1;h.value.on("error",he=>{var xe,J;const ve=((xe=he==null?void 0:he.error)==null?void 0:xe.status)??(he==null?void 0:he.status),Ce=String(((J=he==null?void 0:he.error)==null?void 0:J.url)||(he==null?void 0:he.sourceId)||"");ve!==401&&ve!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${ve} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Ce?` First failing request: ${Ce.slice(0,120)}`:"")))})}catch{}try{h.value.touchZoomRotate.disableRotation()}catch{}p=v_(((U=e.value)==null?void 0:U.parentElement)||null,{enabled:k});let W=Q,le=null;_=()=>{const oe=h.value;if(!oe)return;const he=N(j.clientWidth,j.clientHeight);he!==W&&(W=he,oe.setMinZoom(he)),oe.getZoom(){le=null;const ve=h.value;if(!ve)return;const Ce=N(j.clientWidth,j.clientHeight);if(ve.getZoom(){le&&(clearTimeout(le),le=null)},h.value.on("resize",_),typeof window<"u"&&(window.addEventListener("resize",_),window.addEventListener("orientationchange",_)),h.value.on("style.load",()=>{if(S.paint&&h.value){const oe=k_(h.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=h.value)==null||oe.resize(),h.value&&h.value.setMinZoom(N(j.clientWidth,j.clientHeight)),v.value=!0})})}function T(){if(h.value){if(_&&(h.value.off("resize",_),typeof window<"u"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",_)),_=null),x){try{x()}catch{}x=null}p&&(p(),p=null),h.value.remove(),h.value=null,v.value=!1}}return{map:h,isMapReady:v,initializeMap:m,destroy:T}}const F_={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},mg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function O_(e){return F_[e]||null}function xl(e="standard"){return mg.circleRadius[e]||mg.circleRadius.standard}function bg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Ne("uiStore"),{t:s,locale:i}=bt(),l=ue([]);function c(x){const p=n(x.languageFamily),y="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let d=x.imageUrl;(!d||d.includes("NoImageAvailable"))&&(d=y);const m=(x.name||"U")[0].toUpperCase(),T=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],S=m.charCodeAt(0)%T.length;return` +`,"pin-hint"),(m,d)=>r.value?(H(),ne("div",{key:0,ref_key:"hintEl",ref:s,class:Ee(["pin-hint",{dark:n.value}]),role:"status"},[$("span",Ov,[d[0]||(d[0]=$("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ht(" "+he(a.value)+" ",1),$("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):_e("",!0)}},cs="mapbox://styles/mapbox/standard",Bv=cs,Gv=cs,jv=!1,Gp={lightPreset:"night",theme:"default"},zv={lightPreset:"day",theme:"monochrome"};function Uv(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function Kv(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let r="dark";function s(d){return Uv(d)}function i(d,b){d!=="light"&&d!=="dark"||(r=d,b&&_(b))}function l(){return{...r==="light"?zv:Gp}}function c(){return cs}function u(){return{basemap:l()}}function g(d,b){try{return typeof d.getConfigProperty=="function"?d.getConfigProperty("basemap",b):void 0}catch{return}}function h(d){return!!d&&typeof d.setConfigProperty=="function"&&typeof d.getConfigProperty=="function"}function k(d,b=!1){if(!h(d))return!1;const p=l();let v=!1;try{for(const[y,f]of Object.entries(p))!b&&g(d,y)===f||(d.setConfigProperty("basemap",y,f),v=!0)}catch(y){console.warn("[useMapTheme] setConfigProperty failed:",y)}return v}function w(d){if(!o.has(d)&&(o.add(d),!!h(d)))try{d.on("style.load",()=>k(d)),d.on("styledata",()=>k(d))}catch{}}function _(d){if(!d)return;if(w(d),k(d)&&!t){t=!0;try{d.once("idle",()=>{t=!1,k(d,!0)})}catch{t=!1}}}function m(d){e.toggleTheme(),_(d)}return{setLook:i,lookFor:s,STANDARD_STYLE:cs,LIGHT_STYLE:Bv,DARK_STYLE:Gv,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:_,swapTheme:m}}let Hv=0;const Vv=Ri("ui",{state:()=>({_storeInstanceId:++Hv,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),qv=Ri("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Wv=Ri("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=ka({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=ka({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Pn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Yv=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Gt=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Xv={class:"profile-loader"},Jv={key:0,class:"profile-error"},Zv={key:1,class:"profile-error"},Qv=Gt({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const o=e,n=Pe("profileConfig",null),a=J(()=>{var x;if(!o.profileConfig)return null;let f;try{f=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(f&&f.assetsBase===void 0){const N=(x=n==null?void 0:n.value)==null?void 0:x.assetsBase;typeof N=="string"&&N&&(f.assetsBase=N)}return f}),r=J(()=>{var f;return((f=a.value)==null?void 0:f.profile)||null}),s=Pb(),i=J(()=>{var x;const f=(x=a.value)==null?void 0:x.tk;return typeof f=="string"&&f?f:s.value||""});Oe(()=>{var f;return(f=a.value)==null?void 0:f.tk},f=>{typeof f=="string"&&f&&Ad(f)},{immediate:!0});const l=J(()=>{var f;return((f=a.value)==null?void 0:f.dataSource)||Pn.activeSource||"doxa-csv"}),c=J(()=>{var f;return((f=a.value)==null?void 0:f.colorSet)||"default"}),u=J(()=>!1),g=J(()=>{var f;return((f=a.value)==null?void 0:f.pinHint)!==!1}),h=J(()=>{var x,N;const f=(((x=a.value)==null?void 0:x.locale)||((N=a.value)==null?void 0:N.lang)||"").split("-")[0].toLowerCase();return tl.includes(f)?f:""}),k=Pe("appI18n",null);Nh(()=>{h.value&&k&&(k.global.locale.value=h.value)});const w=J(()=>{var f,x;return h.value||((x=(f=k==null?void 0:k.global)==null?void 0:f.locale)==null?void 0:x.value)||"en"}),_=J(()=>{var f;return((f=a.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),m=Pe("profileModules",null);if(!m)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const d=J(()=>{if(!r.value)return null;const f=`./${r.value}.vue`;return m[f]?qa(m[f]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(m)),null)});wt("mapboxToken",i),wt("dataSource",l),wt("colorSet",c),wt("profileConfig",a),wt("instanceId",_),wt("lang",w);const b=Vv(),p=qv(),v=Wv();try{const f=typeof localStorage<"u"?localStorage.getItem("theme"):null;f&&((y=b.setTheme)==null||y.call(b,f))}catch{}return wt("uiStore",b),wt("mapStore",p),wt("dataStore",v),(f,x)=>(H(),ne("div",Xv,[a.value?d.value?(H(),Ue(di(d.value),{key:2})):(H(),ne("div",Zv,[$("p",null,[x[1]||(x[1]=ht("⚠️ Profile ",-1)),$("strong",null,'"'+he(r.value)+'"',1),x[2]||(x[2]=ht(" not found.",-1))])])):(H(),ne("div",Jv,[...x[0]||(x[0]=[$("p",null,[ht("⚠️ "),$("strong",null,"doxa-map"),ht(": missing or invalid "),$("code",null,"profile-config"),ht(" prop.")],-1),$("p",null,[ht("Example: "),$("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),d.value&&u.value?(H(),Ue(di(ge(null)),{key:3})):_e("",!0),d.value&&g.value?(H(),Ue(Dv,{key:4})):_e("",!0)]))}},[["styles",[Yv]],["__scopeId","data-v-ba19fc13"]]),jp="adoptionStatus",Wo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ol=Wo,nl={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},e_=nl;function zp(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Wo.hasAdoption:Wo.notAdopted}function al({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Wo.hasAdoption,["==",t,1],Wo.hasAdoption,Wo.notAdopted]}const Up=al,t_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ol,ADOPTION_LABELS:e_,LABELS:nl,PALETTE:Wo,PROPERTY_KEY:jp,applyColor:al,buildColorExpression:Up,default:{name:"Adoption Progress",propertyKey:jp,palette:Wo,colors:Wo,labels:nl,getColor:zp,applyColor:al,buildColorExpression:Up},getColor:zp},Symbol.toStringTag,{value:"Module"})),Kp="engagementStatus",Yo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},rl=Yo,sl={notEngaged:"Unengaged",hasEngagement:"Engaged"},o_=sl;function Hp(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Yo.hasEngagement:Yo.notEngaged}function il({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Yo.hasEngagement,["==",t,1],Yo.hasEngagement,Yo.notEngaged]}const Vp=il,n_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:rl,ENGAGEMENT_LABELS:o_,LABELS:sl,PALETTE:Yo,PROPERTY_KEY:Kp,applyColor:il,buildColorExpression:Vp,default:{name:"Engagement Progress",propertyKey:Kp,palette:Yo,colors:Yo,labels:sl,getColor:Hp,applyColor:il,buildColorExpression:Vp},getColor:Hp},Symbol.toStringTag,{value:"Module"})),ll="languageFamily",a_="#000000",pn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},qp=pn;function po(e){return pn[e]||a_}const r_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(pn))t[e(o)]=o;return t})(),s_={"tai-kadai":"Kra-Dai",none:"Unknown"};function us(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return s_[o]||r_[o]||t}function Wp(e){var t;return po(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function cl(){const e=["match",["get",ll]];return Object.entries(pn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yp=cl,i_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:qp,PALETTE:pn,PROPERTY_KEY:ll,applyColor:cl,buildColorExpression:Yp,canonicalFamilyName:us,default:{name:"Language Family",propertyKey:ll,palette:pn,colors:pn,getColor:Wp,applyColor:cl,buildColorExpression:Yp,getLanguageFamilyColor:po,canonicalFamilyName:us},defaultFamilyColor:"#95a5a6",getColor:Wp,getLanguageFamilyColor:po,languageFamilyColors:pn},Symbol.toStringTag,{value:"Module"})),Xp="peoplePraying",Co=144,gn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Tn=gn,ul={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},l_=ul;function ds(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,o=Number(t)||0;return o>=Co?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function dl(e){return gn[ds(e)]}function Jp(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;return t!==null&&t>0}function Zp(e){return ds(e)==="fullPrayer"}function Qp(e){return dl(e)}function pl({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Co],gn.fullPrayer,[">",t,0],gn.hasPrayer,gn.noPrayer]}const eg=pl,c_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Co,LABELS:ul,PALETTE:gn,PRAYER_COLORS:Tn,PRAYER_LABELS:l_,PROPERTY_KEY:Xp,applyColor:pl,buildColorExpression:eg,checkHasFullPrayer:Zp,checkHasPrayer:Jp,default:{name:"Prayer Progress",propertyKey:Xp,palette:gn,colors:gn,labels:ul,threshold:Co,getColor:Qp,applyColor:pl,buildColorExpression:eg,getPrayerLevel:ds,getPrayerColor:dl,checkHasPrayer:Jp,checkHasFullPrayer:Zp},getColor:Qp,getPrayerColor:dl,getPrayerLevel:ds},Symbol.toStringTag,{value:"Module"})),tg="religion",gl="#94a3b8",Nn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Xt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Qa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Nn[t]?t:"U"}function og(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Xt[Qa(t)]||gl}function fl(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Xt.C,"M",Xt.M,"H",Xt.H,"B",Xt.B,"E",Xt.E,"J",Xt.J,"S",Xt.S,"N",Xt.N,"O",Xt.O,gl]}const ng=fl,u_=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Xt,PROPERTY_KEY:tg,RELIGION_FAMILIES:Nn,applyColor:fl,buildColorExpression:ng,default:{name:"Religion",propertyKey:tg,palette:Xt,families:Nn,getColor:og,applyColor:fl,buildColorExpression:ng,fallback:gl},getColor:og,getReligionFamily:Qa},Symbol.toStringTag,{value:"Module"})),ag="region",hl="#6d766e",rg={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},er={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},ml=Object.keys(er);function sg(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return er[t]||hl}function bl(){const e=["match",["coalesce",["get","region"],""]];for(const t of ml)e.push(t,er[t]);return e.push(hl),e}const ig=bl,d_=Object.assign({"./adoption.js":t_,"./engagement.js":n_,"./language-family.js":i_,"./prayer-progress.js":c_,"./religion.js":u_,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:er,PROPERTY_KEY:ag,REGION_ORDER:ml,WAGF_REGIONS:rg,applyColor:bl,buildColorExpression:ig,default:{name:"WAGF Region",propertyKey:ag,palette:er,regions:rg,order:ml,getColor:sg,applyColor:bl,buildColorExpression:ig,fallback:hl},getColor:sg},Symbol.toStringTag,{value:"Module"}))}),p_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),g_=e=>e.replace(/-/g,"_").toUpperCase(),oa={...{STATUS:"status",CUSTOM:"custom"}},yl={};function lg(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=p_(o);oa[g_(o)]=a,yl[a]=n}}lg(d_);function f_(e){e&&lg(e)}function Lo(e){return yl[e]||yl[oa.LANGUAGE_FAMILY]}function h_(e,t={}){return Lo(e).applyColor(t)}const m_=Object.assign({"./countries-map.vue":()=>jt(()=>Promise.resolve().then(()=>HS),void 0),"./country-poster-wall.vue":()=>jt(()=>Promise.resolve().then(()=>w2),void 0),"./country-posters-mfe.vue":()=>jt(()=>Promise.resolve().then(()=>R2),void 0)});if(f_(Object.assign({"./src/colors/affinity-block.js":Pf,"./src/colors/doxa-region.js":Rf,"./src/colors/resource.js":Ff})),typeof window<"u"&&((gf=window.mapboxgl)!=null&&gf.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function b_(){return gb(Qv,{configureApp(e){e.use(wb()),e.use(Iv()),e.provide("profileModules",m_)}})}const y_=b_();typeof customElements<"u"&&(customElements.get("country-posters-map")||customElements.define("country-posters-map",y_));const v_="rgba(120, 128, 134, 0.28)",cg="36px",ug=()=>{};function __(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return ug;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return ug;const a=b=>b.classList.contains("map-scroll-edge--left");for(const b of n)b.style.background=`linear-gradient(${a(b)?"to right":"to left"}, ${v_} ${cg}, transparent ${cg})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const r=b=>{b.style.opacity="1"},s=b=>{b.style.opacity="0"},i=()=>n.find(b=>!a(b))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const b of n)l.has(b)||s(b)},h=()=>{const b=i();b&&(r(b),u&&clearTimeout(u),u=setTimeout(g,250))},k=()=>h(),w=b=>{if(!(b.touches&&b.touches.length===1))return;const p=b.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||h()},_=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",_,{passive:!0}),e.addEventListener("touchcancel",_,{passive:!0});const m=()=>{c||h()};typeof window<"u"&&window.addEventListener("scroll",m,{passive:!0});const d=[];for(const b of n){const p=()=>{l.add(b),r(b)},v=()=>{l.delete(b),s(b)},y=()=>{c=!0,r(b)},f=()=>{c=!1,s(b)};b.addEventListener("mouseenter",p),b.addEventListener("mouseleave",v),b.addEventListener("touchstart",y,{passive:!0}),b.addEventListener("touchend",f,{passive:!0}),d.push(()=>{b.removeEventListener("mouseenter",p),b.removeEventListener("mouseleave",v),b.removeEventListener("touchstart",y),b.removeEventListener("touchend",f)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",_),e.removeEventListener("touchcancel",_),typeof window<"u"&&window.removeEventListener("scroll",m);for(const p of d)p();for(const p of n)s(p)}}const x_=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function k_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=x_[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function w_(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const A_=["mapbox","maplibre"],dg="mapbox";function S_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function C_(e){const t=S_(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(o||n||a||dg).toLowerCase().trim();return A_.includes(r)?r:dg}function pg(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function tr(e){return pg(e)?{"circle-emissive-strength":1}:{}}const na={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 gg(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const L_=na.mapbox.css,$_="https://tiles.openfreemap.org/styles/liberty";function vl(e){var o;const t=((o=na[e])==null?void 0:o.global)||na.mapbox.global;return typeof window<"u"?window[t]:void 0}async function E_(e){const t=na[e]||na.mapbox;if(vl(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(vl(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}async function P_(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(i=>setTimeout(i,s)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const r=document.createElement("link");r.rel="stylesheet",r.href=t,await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0}),o.prepend(r)}),n(2e3)])}function T_(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:$_}const N_=85.0511,_l=-2,R_=0,M_=-60;function fg(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function I_(e,t,o,n){if(!e||e<=0||!t||t<=0)return R_;const a=Math.log2(e/512),r=fg(n)-fg(N_),s=Math.log2(t/(512*r)),i=Math.max(a,s);return Math.max(_l,Math.min(i,(o??18)-1))}function F_({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:r=[20,10],zoom:s=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:g=0,renderWorldCopies:h=!0,showEdgeBorders:k=!0,southCutoff:w=M_,maxBounds:_=void 0}){const m=wa(null),d=le(!1);let b=null,p=null,v=null,y=null;try{y=Pe("profileConfig",null)}catch{}a=a||C_(y);const f=a==="maplibre";async function x(){var de;const S=k_(o,a),O=S.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await E_(a);const z=vl(a);if(!z){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await P_(e.value,f?na.maplibre.css:L_),await new Promise(U=>requestAnimationFrame(U));const j=e.value,I=j.clientWidth,M=j.clientHeight;if(I===0||M===0){console.error(`[useMapInstance] Container has ZERO dimensions (${I}×${M}). Map will be invisible. Check that parent elements have CSS sizing.`);let U=j.parentElement,ee=0;for(;U&&ee<5;)U=U.parentElement,ee++}const P=t;f||(z.accessToken=P);const L=()=>typeof window<"u"&&window.innerWidth>=1024,T=(U,ee)=>{if(l)return typeof i=="number"?i:_l;if(!L())return _l;const ve=I_(U,ee,c,w);return typeof i=="number"?Math.max(i,ve):ve},X=T(j.clientWidth,j.clientHeight);if(f){m.value=new z.Map({container:e.value,style:T_(O),center:r,zoom:s,minZoom:X,maxZoom:c,pitch:u,bearing:g,dragRotate:!1,renderWorldCopies:h,..._?{maxBounds:_}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),gg(m.value);try{e.value.__doxaMap=m.value}catch{}}else{const U=typeof n=="function"?n():n;m.value=new z.Map({accessToken:P,container:e.value,style:O,...U?{config:U}:{},center:r,zoom:s,minZoom:X,maxZoom:c,pitch:u,bearing:g,dragRotate:!1,touchPitch:!1,renderWorldCopies:h,..._?{maxBounds:_}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),gg(m.value);try{e.value.__doxaMap=m.value}catch{}}try{let U=!1;m.value.on("error",ee=>{var Te,we;const ve=((Te=ee==null?void 0:ee.error)==null?void 0:Te.status)??(ee==null?void 0:ee.status),ce=String(((we=ee==null?void 0:ee.error)==null?void 0:we.url)||(ee==null?void 0:ee.sourceId)||"");ve!==401&&ve!==403||U||(U=!0,console.error(`[doxa-maps] Mapbox returned ${ve} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{m.value.touchZoomRotate.disableRotation()}catch{}v=__(((de=e.value)==null?void 0:de.parentElement)||null,{enabled:k});let pe=X,W=null;b=()=>{const U=m.value;if(!U)return;const ee=T(j.clientWidth,j.clientHeight);ee!==pe&&(pe=ee,U.setMinZoom(ee)),U.getZoom(){W=null;const ve=m.value;if(!ve)return;const ce=T(j.clientWidth,j.clientHeight);if(ve.getZoom(){W&&(clearTimeout(W),W=null)},m.value.on("resize",b),typeof window<"u"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",b)),m.value.on("style.load",()=>{if(S.paint&&m.value){const U=w_(m.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",U.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var U;(U=m.value)==null||U.resize(),m.value&&m.value.setMinZoom(T(j.clientWidth,j.clientHeight)),d.value=!0})})}function N(){if(m.value){if(b&&(m.value.off("resize",b),typeof window<"u"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",b)),b=null),p){try{p()}catch{}p=null}v&&(v(),v=null),m.value.remove(),m.value=null,d.value=!1}}return{map:m,isMapReady:d,initializeMap:x,destroy:N}}const O_={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},hg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function D_(e){return O_[e]||null}function xl(e="standard"){return hg.circleRadius[e]||hg.circleRadius.standard}function mg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Pe("uiStore"),{t:s,locale:i}=bt(),l=le([]);function c(p){const v=n(p.languageFamily),y="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let f=p.imageUrl;(!f||f.includes("NoImageAvailable"))&&(f=y);const x=(p.name||"U")[0].toUpperCase(),N=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],S=x.charCodeAt(0)%N.length;return`
- ${m} + ${x}
@@ -110,12 +110,12 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - ">${x.name} + ">${p.name}

${x.country||"Unknown"} • ${x.status||"Unknown Status"}

+ ">${p.country||"Unknown"} • ${p.status||"Unknown Status"}

@@ -130,8 +130,8 @@ overflow: hidden; "> ${x.name}

- Language: ${x.language||"Unknown"} + Language: ${p.language||"Unknown"}

Family: - - ${x.languageFamily||"Unknown"} + + ${p.languageFamily||"Unknown"}

- ${x.population?`

Population: ${x.population}

`:""} - ${x.description?`

${x.description}

`:""} + ${p.population?`

Population: ${p.population}

`:""} + ${p.description?`

${p.description}

`:""} - `}function u(x){const p=x.iso_3166_1_alpha_3||"",d=x["name_"+((i==null?void 0:i.value)||"en")]||x.name_en||x.name||p,m=a(),T=p.toUpperCase(),S=m.filter(R=>{const E=(R.countryIso||R.country||"").toUpperCase();return E&&E===T}),D=S.length,z=S[0],j=(z==null?void 0:z.wagfRegionLabel)||(z==null?void 0:z.doxaRegionLabel)||(z==null?void 0:z.doxaRegion)||(z==null?void 0:z.wagfRegion)||"—",I=(z==null?void 0:z.wagfBlockLabel)||(z==null?void 0:z.wagfBlock)||"—";return` + `}function u(p){const v=p.iso_3166_1_alpha_3||"",f=p["name_"+((i==null?void 0:i.value)||"en")]||p.name_en||p.name||v,x=a(),N=v.toUpperCase(),S=x.filter(M=>{const P=(M.countryIso||M.country||"").toUpperCase();return P&&P===N}),O=S.length,z=S[0],j=(z==null?void 0:z.wagfRegionLabel)||(z==null?void 0:z.doxaRegionLabel)||(z==null?void 0:z.doxaRegion)||(z==null?void 0:z.wagfRegion)||"—",I=(z==null?void 0:z.wagfBlockLabel)||(z==null?void 0:z.wagfBlock)||"—";return`

- ${d} + ${f}

${s("popup.country.wagfRegion")}: ${j} @@ -168,13 +168,13 @@ ${s("popup.country.wagfBlock")}: ${I}

- ${s("popup.country.country")}: ${d} (${p}) + ${s("popup.country.country")}: ${f} (${v})

- ${s("popup.country.uupgCount")}: ${D} + ${s("popup.country.uupgCount")}: ${O}

- `}function g(x){const p=t();if(!p)return;const y=x||"language-family-pins";if(!p.getLayer(y))return;const d=m=>{try{const T=m.features[0],S=T.properties,D=T.geometry.coordinates.slice();for(;Math.abs(m.lngLat.lng-D[0])>180;)D[0]+=m.lngLat.lng>D[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(T),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(D).setHTML(c(S)).addTo(p)}catch(T){console.error(` [${o}] Pin click handler error:`,T)}};p.on("click",y,d),l.value.push({event:"click",layer:y,handler:d})}function f(){const x=t();if(!x)return;const p="regions-fill";if(!x.getLayer(p))return;const y=d=>{const m=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const T of m)if(x.getLayer(T)){const S=x.queryRenderedFeatures(d.point,{layers:[T]});if(S&&S.length>0)return}if(d.features&&d.features.length>0){const T=d.features[0].properties;new mapboxgl.Popup().setLngLat(d.lngLat).setHTML(u(T)).addTo(x)}};x.on("click",p,y),l.value.push({event:"click",layer:p,handler:y})}function k(){const x=t();if(!x)return;const p="clusters";if(!x.getLayer(p))return;const y=d=>{const m=x.queryRenderedFeatures(d.point,{layers:[p]});if(!m.length)return;const T=m[0].properties.cluster_id,S=m[0].source;x.getSource(S).getClusterExpansionZoom(T,(D,z)=>{D||x.easeTo({center:m[0].geometry.coordinates,zoom:z})})};x.on("click",p,y),l.value.push({event:"click",layer:p,handler:y})}function w(x){const p=t();if(!p||!p.getLayer(x))return;const y=()=>{p.getCanvas().style.cursor="pointer"},d=()=>{p.getCanvas().style.cursor=""};p.on("mouseenter",x,y),p.on("mouseleave",x,d),l.value.push({event:"mouseenter",layer:x,handler:y}),l.value.push({event:"mouseleave",layer:x,handler:d})}function b(){g(),w("language-family-pins"),g("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function h(){f(),w("regions-fill")}function v(){const x=t();x&&(x.getLayer("language-family-pins")&&b(),x.getLayer("regions-fill")&&h(),x.getLayer("people-groups-pins")&&(g(),w("people-groups-pins")))}function _(){const x=t();if(x){for(const{event:p,layer:y,handler:d}of l.value)try{x.off(p,y,d)}catch{}l.value=[]}}return{attachAllEventHandlers:v,attachLanguageFamilyEvents:b,attachRegionEvents:h,attachPinClickHandler:g,attachRegionClickHandler:f,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:_,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Xe={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"},kl=[">",["to-number",["get","peoplePraying"],0],0],wl={0:.25,8:.4,14:.5},aa={0:.1,8:.18,14:.22},ra={0:1.2,8:1.6,14:2},yg=["interpolate",["linear"],["zoom"],0,["case",kl,wl[0],aa[0]],8,["case",kl,wl[8],aa[8]],14,["case",kl,wl[14],aa[14]]],D_=["interpolate",["linear"],["zoom"],0,ra[0],8,ra[8],14,ra[14]],vg=["==",["to-number",["get","peoplePraying"],0],0],B_={prayer:[vg],prayerProgress:[vg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function G_(e){const t=B_[e]||[];if(!t.length)return D_;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,aa[0],ra[0]],8,["case",o,aa[8],ra[8]],14,["case",o,aa[14],ra[14]]]}const j_=[[/ sign language$/i,"Sign Language"]];function z_(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Xe[a])return Xe[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(Xe[r])return Xe[r]}}if(Xe[t])return Xe[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Xe[n])return Xe[n];for(const[a,r]of j_)if(a.test(t))return r;return null}function U_(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const J=t();return J?He(J):null},s=bg({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=ue({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=ue({});function c(J,ke="languageFamily"){const be=r();if(!be||!(J!=null&&J.length))return;const $e=f_(ke),P=J.map(G=>{var Y,re,A,C,H,se,ge,fe,te,ie,Se,Re,ze,q,ae,Ae,Te,Le,Ve;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((Y=G._normalized)==null?void 0:Y.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((re=G._normalized)==null?void 0:re.languageFamily)||z_(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((A=G._normalized)==null?void 0:A.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((H=G._normalized)==null?void 0:H.cluster)||"",clusterLabel:G.clusterLabel||((se=G._normalized)==null?void 0:se.clusterLabel)||"",peopleGroup:G.peopleGroup||((ge=G._normalized)==null?void 0:ge.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((fe=G._normalized)==null?void 0:fe.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((te=G._normalized)==null?void 0:te.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((ie=G._normalized)==null?void 0:ie.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Se=G._normalized)==null?void 0:Se.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Re=G._normalized)==null?void 0:Re.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((ze=G._normalized)==null?void 0:ze.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((q=G._normalized)==null?void 0:q.bible)||"Not Available",jesusFilm:G.jesusFilm||((ae=G._normalized)==null?void 0:ae.jesusFilm)||"Not Available",radio:G.radio||((Ae=G._normalized)==null?void 0:Ae.radio)||"Not Available",gospel:G.gospel||((Te=G._normalized)==null?void 0:Te.gospel)||"Not Available",audio:G.audio||((Le=G._normalized)==null?void 0:Le.audio)||"Not Available",stories:G.stories||((Ve=G._normalized)==null?void 0:Ve.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),B=.04,O=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,K=new Map;for(const G of P){const Y=O(G);K.has(Y)||K.set(Y,[]),K.get(Y).push(G)}for(const G of K.values()){if(G.length<2)continue;const[Y,re]=G[0].geometry.coordinates,A=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),be.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":xl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function u(J,ke="doxa-regions"){const be=r();if(!be)return;be.getLayer("regions-fill")&&be.removeLayer("regions-fill"),be.getLayer("regions-border")&&be.removeLayer("regions-border"),be.getSource("regions")&&be.removeSource("regions");const $e={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},P="#cccccc",B=J&&J.isoToRegion?J.isoToRegion:{},O=[],K={};for(const[Y,re]of Object.entries(B)){const A=$e[String(re).toLowerCase()];A&&O.push(Y,A),K[re]||(K[re]=[]),K[re].push(Y)}l.value=K;const X=O.length?["match",["get","iso_3166_1_alpha_3"],...O,P]:P,G=be.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":be.getLayer("language-family-pins")?"language-family-pins":void 0;be.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),be.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":X,"fill-opacity":ke==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},G),be.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":X,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},G),i.value.regions=!0,s.attachRegionEvents()}function g(J,ke){const be=r();if(!be||!J||!(ke!=null&&ke.length))return;f();const $e=ke.filter(X=>{var Y;return(X.languageFamily||((Y=X._normalized)==null?void 0:Y.languageFamily)||"Unknown")===J});if($e.length<2)return;const P=n(J),B=[],O=15,K=[...$e].sort((X,G)=>(X.longitude||X.lng)-(G.longitude||G.lng));for(let X=0;X=",["get","peoplePraying"],Co],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const Q=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function de(J,ke){const be=["interpolate",["linear"],["zoom"]];for(let $e=0;$e",["get","peoplePraying"],0],be=N();if(!T.every(P=>J.getLayer(P))){for(const P of T)if(J.getLayer(P))try{J.removeLayer(P)}catch{}J.addLayer({id:y,type:"circle",source:"language-families",filter:ke,paint:{"circle-radius":de(Q,1),"circle-color":be,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...tr(J)}},"language-family-pins");for(const P of m)J.addLayer({id:P,type:"circle",source:"language-families",filter:ke,paint:{"circle-radius":de(Q,1),"circle-radius-transition":R,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":be,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":R,...tr(J)}},"language-family-pins")}}function le(){const J=r();if(J)for(const ke of T)J.getLayer(ke)&&J.removeLayer(ke)}function U(J){const ke=r();if(!ke)return;const be=[">",["get","peoplePraying"],0],$e=J?["all",be,J]:be;for(const P of T)if(ke.getLayer(P))try{ke.setFilter(P,$e)}catch{}}function oe(){const J=r();if(J){if(W(),_&&(cancelAnimationFrame(_),_=null),x=!0,J.getLayer("language-family-pins"))try{J.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Co],1,[">",["get","peoplePraying"],0],1,3])}catch{}ve(J),he()}}function he(){_&&(cancelAnimationFrame(_),_=null);const J=++p;let ke=performance.now(),be=-1/0;function $e(P){if(!x||J!==p)return;const B=r();if(!B||!T.some(K=>B.getLayer(K))){_=null;return}if(P-be"u")return;const ke=typeof J.getContainer=="function"?J.getContainer():null;if(ke)try{L=new IntersectionObserver(be=>{for(const $e of be)E=$e.isIntersecting},{threshold:0}),L.observe(ke)}catch{L=null,E=!0}}function Ce(){if(L){try{L.disconnect()}catch{}L=null}E=!0}function xe(){x=!1,_&&(cancelAnimationFrame(_),_=null),Ce();try{le();const J=r();J&&J.getLayer("language-family-pins")&&J.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:g,removeFamilyConnectionLines:f,updateLayerSource:k,removeLayer:w,hasLayer:b,setPaintProperty:h,mapEvents:s,startPrayerGlow:oe,stopPrayerGlow:xe,syncGlowFilter:U,cleanup:v}}const go={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function K_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(go==null?void 0:go.center)||[20,10],defaultZoom:s=go==null?void 0:go.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(R,E,L={x:150,y:0}){const N=t();if(!N)return R;try{const Q=N.getCanvas(),de=Q.width,W=Q.height,le=N.project(R),U=window.devicePixelRatio||1,oe=(L.x||0)*U,he=(L.y||0)*U,ve={x:le.x-oe,y:le.y-he},Ce=N.unproject(ve);return[Ce.lng,Ce.lat]}catch{return R}}function c(R,E=[]){const L=t();if(!L)return;let N=null,Q=5;const de=E.filter(le=>le.languageFamily===R);if(de.length>0){let le=1/0,U=-1/0,oe=1/0,he=-1/0;if(de.forEach(ve=>{ve.longitude&&ve.latitude&&(le=Math.min(le,ve.longitude),U=Math.max(U,ve.longitude),oe=Math.min(oe,ve.latitude),he=Math.max(he,ve.latitude))}),le!==1/0){N=[(le+U)/2,(oe+he)/2];const ve=U-le,Ce=he-oe,xe=Math.max(ve,Ce);xe>50?Q=2:xe>20?Q=3:xe>10?Q=4:xe>5?Q=5:Q=6}}if(!N)return;const W=l(N);L.flyTo({center:W,zoom:Q,...i})}function u(R){const E=t();if(!E)return;let L=null,N=4;const Q=O_(R);if(Q)L=Q.center,N=Q.zoom||4;else if(a!=null&&a.features){const W=a.features.find(le=>{var U,oe;return((U=le.properties)==null?void 0:U.region)===R||((oe=le.properties)==null?void 0:oe.name)===R});W&&(L=g(W))}if(!L)return;const de=l(L);E.flyTo({center:de,zoom:N,...i})}function g(R){if(!R||!R.geometry)return null;const{type:E,coordinates:L}=R.geometry;let N=[];if(E==="Polygon"?N=L[0]||[]:E==="MultiPolygon"&&L.forEach(W=>{N=N.concat(W[0]||[])}),N.length===0)return null;let Q=0,de=0;return N.forEach(W=>{Q+=W[0],de+=W[1]}),[Q/N.length,de/N.length]}function f(R,E={}){const L=t();if(!L)return;const N={center:R,...i,...E};L.flyTo(N)}function k(R,E){const L=t();if(!L||(R==null?void 0:R.longitude)==null||(R==null?void 0:R.latitude)==null)return;const N=E??Math.min(L.getZoom()+2,8);f([R.longitude,R.latitude],{zoom:N})}function w(R,E={top:40,right:40,bottom:40,left:40},L={}){const N=t();if(!N||!R)return;const Q=L.maxZoom??4,de=L.duration??900;N.fitBounds(R,{padding:E,maxZoom:Q,duration:de,...i,...L})}function b(){const R=t();R&&R.flyTo({center:r,zoom:s,...i})}const h=80,v=800,_=5,x=5,p=110,y=1.2;function d(R){const E=R.filter(Number.isFinite).slice().sort((P,B)=>P-B),L=E.length;if(!L)return null;let N=-1,Q=0;for(let P=0;PN&&(N=O,Q=P)}const de=(Q+1)%L,W=new Array(L);for(let P=0;P0&&B((P+180)%360+360)%360-180,Ce=ve(oe),xe=24,J=360/xe,ke=new Array(xe).fill(0);for(const P of E){let B=Math.floor(((P+180)%360+360)%360/J);B>=xe&&(B=xe-1),ke[B]++}let be=0;for(let P=1;Pke[be]&&(be=P);return{center:ve(-180+(be+.5)*J),minLng:Ce,maxLng:Ce+(he-oe),span:he-oe}}function m(R){try{const E=R.getContainer&&R.getContainer().clientWidth||0,L=E>0?Math.log2(E/512):y,N=typeof R.getMinZoom=="function"?R.getMinZoom():L;return Math.max(N,L)}catch{return y}}function T(R,E,L,N){R.easeTo({center:[E,(L+N)/2],zoom:m(R),duration:v,essential:!0})}function S(R,E,L){if(L>p)return!0;try{const N=typeof R.cameraForBounds=="function"?R.cameraForBounds(E,{padding:h,maxZoom:_}):null;return N==null?!0:typeof N.zoom=="number"&&N.zoom<=m(R)+.05}catch{return!1}}function D(R,E){if(!Array.isArray(R))return R;switch(R[0]){case"get":return E==null?void 0:E[R[1]];case"literal":return R[1];case"has":return E!=null&&R[1]in E;case"!has":return E==null||!(R[1]in E);case"!":return!D(R[1],E);case"coalesce":{for(let N=1;N2){const de=Number(D(R[2],E));return Number.isFinite(de)?de:0}return NaN}case"to-string":{const N=D(R[1],E);return N==null?"":String(N)}case"to-boolean":return!!D(R[1],E);case"slice":{const N=D(R[1],E),Q=D(R[2],E),de=R.length>3?D(R[3],E):void 0;return typeof N!="string"?"":de!=null?N.slice(Q,de):N.slice(Q)}default:return R}}function z(R,E){if(R===!0)return!0;if(R===!1)return!1;if(!Array.isArray(R))return!!R;const L=R[0];if(L==="all"){for(let N=1;N"||L===">="||L==="<"||L==="<="){const N=typeof R[1]=="string"?E==null?void 0:E[R[1]]:D(R[1],E),Q=D(R[2],E);switch(L){case"==":return N===Q||N==null&&Q==null;case"!=":return!(N===Q||N==null&&Q==null);case">":return N>Q;case">=":return N>=Q;case"<":return N{const K=(O==null?void 0:O.properties)||{};return K.region===P||K.name===P||K.id===P});if(B){const O=[];let K=1/0,X=-1/0;const G=re=>{for(const A of re)Array.isArray(A[0])?G(A):Number.isFinite(A[0])&&Number.isFinite(A[1])&&(O.push(A[0]),A[1]X&&(X=A[1]))};(ke=B.geometry)!=null&&ke.coordinates&&G(B.geometry.coordinates);const Y=d(O);if(Y&&Number.isFinite(K)){const re=[[Y.minLng,K],[Y.maxLng,X]];S(L,re,Y.span)?T(L,Y.center,K,X):L.fitBounds(re,{padding:h,maxZoom:_,duration:v,essential:!0});return}}}const N=E.sourceId??"language-families";if(!L.getSource(N))return;const Q=E.matchExpr??R.filter;if(!Q)return;const de=j(L,N);if(!de.length)return;const W=[];let le=1/0,U=-1/0,oe=0,he=0,ve=0;const Ce=new Set;for(const $e of de){const P=$e==null?void 0:$e.properties;if(!z(Q,P))continue;const B=P==null?void 0:P.uniqueId;if(B!=null){if(Ce.has(B))continue;Ce.add(B)}const O=(be=$e.geometry)==null?void 0:be.coordinates;if(!Array.isArray(O)||O.length<2)continue;const K=O[0],X=O[1];!Number.isFinite(K)||!Number.isFinite(X)||(oe===0&&(he=K,ve=X),W.push(K),XU&&(U=X),oe++)}if(oe===0)return;if(oe===1){L.flyTo({center:[he,ve],zoom:x,duration:v,essential:!0});return}const xe=d(W)||{center:0,minLng:0,maxLng:0,span:0},J=[[xe.minLng,le],[xe.maxLng,U]];if(S(L,J,xe.span)){T(L,xe.center,le,U);return}try{L.fitBounds(J,{padding:h,maxZoom:_,duration:v,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:f,flyToCoords:k,fitBounds:w,resetView:b,zoomToLegendRow:I,calculateRegionCenterFromPolygon:g}}const ps="#1a1a1a",Xo="selected-pin-highlight";function H_(e=ps){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function g(p){const v=t();if(!v)return;const y=p||"language-family-pins";if(!v.getLayer(y))return;const f=x=>{try{const N=x.features[0],S=N.properties,O=N.geometry.coordinates.slice();for(;Math.abs(x.lngLat.lng-O[0])>180;)O[0]+=x.lngLat.lng>O[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(N),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(O).setHTML(c(S)).addTo(v)}catch(N){console.error(` [${o}] Pin click handler error:`,N)}};v.on("click",y,f),l.value.push({event:"click",layer:y,handler:f})}function h(){const p=t();if(!p)return;const v="regions-fill";if(!p.getLayer(v))return;const y=f=>{const x=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const N of x)if(p.getLayer(N)){const S=p.queryRenderedFeatures(f.point,{layers:[N]});if(S&&S.length>0)return}if(f.features&&f.features.length>0){const N=f.features[0].properties;new mapboxgl.Popup().setLngLat(f.lngLat).setHTML(u(N)).addTo(p)}};p.on("click",v,y),l.value.push({event:"click",layer:v,handler:y})}function k(){const p=t();if(!p)return;const v="clusters";if(!p.getLayer(v))return;const y=f=>{const x=p.queryRenderedFeatures(f.point,{layers:[v]});if(!x.length)return;const N=x[0].properties.cluster_id,S=x[0].source;p.getSource(S).getClusterExpansionZoom(N,(O,z)=>{O||p.easeTo({center:x[0].geometry.coordinates,zoom:z})})};p.on("click",v,y),l.value.push({event:"click",layer:v,handler:y})}function w(p){const v=t();if(!v||!v.getLayer(p))return;const y=()=>{v.getCanvas().style.cursor="pointer"},f=()=>{v.getCanvas().style.cursor=""};v.on("mouseenter",p,y),v.on("mouseleave",p,f),l.value.push({event:"mouseenter",layer:p,handler:y}),l.value.push({event:"mouseleave",layer:p,handler:f})}function _(){g(),w("language-family-pins"),g("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function m(){h(),w("regions-fill")}function d(){const p=t();p&&(p.getLayer("language-family-pins")&&_(),p.getLayer("regions-fill")&&m(),p.getLayer("people-groups-pins")&&(g(),w("people-groups-pins")))}function b(){const p=t();if(p){for(const{event:v,layer:y,handler:f}of l.value)try{p.off(v,y,f)}catch{}l.value=[]}}return{attachAllEventHandlers:d,attachLanguageFamilyEvents:_,attachRegionEvents:m,attachPinClickHandler:g,attachRegionClickHandler:h,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:b,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Je={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"},kl=[">",["to-number",["get","peoplePraying"],0],0],wl={0:.25,8:.4,14:.5},aa={0:.1,8:.18,14:.22},ra={0:1.2,8:1.6,14:2},bg=["interpolate",["linear"],["zoom"],0,["case",kl,wl[0],aa[0]],8,["case",kl,wl[8],aa[8]],14,["case",kl,wl[14],aa[14]]],B_=["interpolate",["linear"],["zoom"],0,ra[0],8,ra[8],14,ra[14]],yg=["==",["to-number",["get","peoplePraying"],0],0],G_={prayer:[yg],prayerProgress:[yg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function j_(e){const t=G_[e]||[];if(!t.length)return B_;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,aa[0],ra[0]],8,["case",o,aa[8],ra[8]],14,["case",o,aa[14],ra[14]]]}const z_=[[/ sign language$/i,"Sign Language"]];function U_(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Je[a])return Je[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(Je[r])return Je[r]}}if(Je[t])return Je[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Je[n])return Je[n];for(const[a,r]of z_)if(a.test(t))return r;return null}function K_(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const ue=t();return ue?Ke(ue):null},s=mg({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=le({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=le({});function c(ue,ye="languageFamily"){const me=r();if(!me||!(ue!=null&&ue.length))return;const Ce=h_(ye),E=ue.map(G=>{var Y,oe,A,C,q,re,be,fe,Q,se,Se,Re,He,V,ae,Ae,Ne,Le,je;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((Y=G._normalized)==null?void 0:Y.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((oe=G._normalized)==null?void 0:oe.languageFamily)||U_(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((A=G._normalized)==null?void 0:A.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((q=G._normalized)==null?void 0:q.cluster)||"",clusterLabel:G.clusterLabel||((re=G._normalized)==null?void 0:re.clusterLabel)||"",peopleGroup:G.peopleGroup||((be=G._normalized)==null?void 0:be.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((fe=G._normalized)==null?void 0:fe.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((Q=G._normalized)==null?void 0:Q.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((se=G._normalized)==null?void 0:se.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Se=G._normalized)==null?void 0:Se.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Re=G._normalized)==null?void 0:Re.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((He=G._normalized)==null?void 0:He.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((V=G._normalized)==null?void 0:V.bible)||"Not Available",jesusFilm:G.jesusFilm||((ae=G._normalized)==null?void 0:ae.jesusFilm)||"Not Available",radio:G.radio||((Ae=G._normalized)==null?void 0:Ae.radio)||"Not Available",gospel:G.gospel||((Ne=G._normalized)==null?void 0:Ne.gospel)||"Not Available",audio:G.audio||((Le=G._normalized)==null?void 0:Le.audio)||"Not Available",stories:G.stories||((je=G._normalized)==null?void 0:je.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),F=.04,D=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,K=new Map;for(const G of E){const Y=D(G);K.has(Y)||K.set(Y,[]),K.get(Y).push(G)}for(const G of K.values()){if(G.length<2)continue;const[Y,oe]=G[0].geometry.coordinates,A=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),me.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":xl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function u(ue,ye="doxa-regions"){const me=r();if(!me)return;me.getLayer("regions-fill")&&me.removeLayer("regions-fill"),me.getLayer("regions-border")&&me.removeLayer("regions-border"),me.getSource("regions")&&me.removeSource("regions");const Ce={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},E="#cccccc",F=ue&&ue.isoToRegion?ue.isoToRegion:{},D=[],K={};for(const[Y,oe]of Object.entries(F)){const A=Ce[String(oe).toLowerCase()];A&&D.push(Y,A),K[oe]||(K[oe]=[]),K[oe].push(Y)}l.value=K;const te=D.length?["match",["get","iso_3166_1_alpha_3"],...D,E]:E,G=me.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":me.getLayer("language-family-pins")?"language-family-pins":void 0;me.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),me.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":te,"fill-opacity":ye==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},G),me.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":te,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},G),i.value.regions=!0,s.attachRegionEvents()}function g(ue,ye){const me=r();if(!me||!ue||!(ye!=null&&ye.length))return;h();const Ce=ye.filter(te=>{var Y;return(te.languageFamily||((Y=te._normalized)==null?void 0:Y.languageFamily)||"Unknown")===ue});if(Ce.length<2)return;const E=n(ue),F=[],D=15,K=[...Ce].sort((te,G)=>(te.longitude||te.lng)-(G.longitude||G.lng));for(let te=0;te=",["get","peoplePraying"],Co],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const X=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function pe(ue,ye){const me=["interpolate",["linear"],["zoom"]];for(let Ce=0;Ce",["get","peoplePraying"],0],me=T();if(!N.every(E=>ue.getLayer(E))){for(const E of N)if(ue.getLayer(E))try{ue.removeLayer(E)}catch{}ue.addLayer({id:y,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":pe(X,1),"circle-color":me,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...tr(ue)}},"language-family-pins");for(const E of x)ue.addLayer({id:E,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":pe(X,1),"circle-radius-transition":M,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":me,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":M,...tr(ue)}},"language-family-pins")}}function de(){const ue=r();if(ue)for(const ye of N)ue.getLayer(ye)&&ue.removeLayer(ye)}function U(ue){const ye=r();if(!ye)return;const me=[">",["get","peoplePraying"],0],Ce=ue?["all",me,ue]:me;for(const E of N)if(ye.getLayer(E))try{ye.setFilter(E,Ce)}catch{}}function ee(){const ue=r();if(ue){if(W(),b&&(cancelAnimationFrame(b),b=null),p=!0,ue.getLayer("language-family-pins"))try{ue.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Co],1,[">",["get","peoplePraying"],0],1,3])}catch{}ce(ue),ve()}}function ve(){b&&(cancelAnimationFrame(b),b=null);const ue=++v;let ye=performance.now(),me=-1/0;function Ce(E){if(!p||ue!==v)return;const F=r();if(!F||!N.some(K=>F.getLayer(K))){b=null;return}if(E-me"u")return;const ye=typeof ue.getContainer=="function"?ue.getContainer():null;if(ye)try{L=new IntersectionObserver(me=>{for(const Ce of me)P=Ce.isIntersecting},{threshold:0}),L.observe(ye)}catch{L=null,P=!0}}function Te(){if(L){try{L.disconnect()}catch{}L=null}P=!0}function we(){p=!1,b&&(cancelAnimationFrame(b),b=null),Te();try{de();const ue=r();ue&&ue.getLayer("language-family-pins")&&ue.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:g,removeFamilyConnectionLines:h,updateLayerSource:k,removeLayer:w,hasLayer:_,setPaintProperty:m,mapEvents:s,startPrayerGlow:ee,stopPrayerGlow:we,syncGlowFilter:U,cleanup:d}}const go={center:[20,10],zoom:1.8,minZoom:.5,pitch:20,bearing:0};function H_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(go==null?void 0:go.center)||[20,10],defaultZoom:s=go==null?void 0:go.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(M,P,L={x:150,y:0}){const T=t();if(!T)return M;try{const X=T.getCanvas(),pe=X.width,W=X.height,de=T.project(M),U=window.devicePixelRatio||1,ee=(L.x||0)*U,ve=(L.y||0)*U,ce={x:de.x-ee,y:de.y-ve},Te=T.unproject(ce);return[Te.lng,Te.lat]}catch{return M}}function c(M,P=[]){const L=t();if(!L)return;let T=null,X=5;const pe=P.filter(de=>de.languageFamily===M);if(pe.length>0){let de=1/0,U=-1/0,ee=1/0,ve=-1/0;if(pe.forEach(ce=>{ce.longitude&&ce.latitude&&(de=Math.min(de,ce.longitude),U=Math.max(U,ce.longitude),ee=Math.min(ee,ce.latitude),ve=Math.max(ve,ce.latitude))}),de!==1/0){T=[(de+U)/2,(ee+ve)/2];const ce=U-de,Te=ve-ee,we=Math.max(ce,Te);we>50?X=2:we>20?X=3:we>10?X=4:we>5?X=5:X=6}}if(!T)return;const W=l(T);L.flyTo({center:W,zoom:X,...i})}function u(M){const P=t();if(!P)return;let L=null,T=4;const X=D_(M);if(X)L=X.center,T=X.zoom||4;else if(a!=null&&a.features){const W=a.features.find(de=>{var U,ee;return((U=de.properties)==null?void 0:U.region)===M||((ee=de.properties)==null?void 0:ee.name)===M});W&&(L=g(W))}if(!L)return;const pe=l(L);P.flyTo({center:pe,zoom:T,...i})}function g(M){if(!M||!M.geometry)return null;const{type:P,coordinates:L}=M.geometry;let T=[];if(P==="Polygon"?T=L[0]||[]:P==="MultiPolygon"&&L.forEach(W=>{T=T.concat(W[0]||[])}),T.length===0)return null;let X=0,pe=0;return T.forEach(W=>{X+=W[0],pe+=W[1]}),[X/T.length,pe/T.length]}function h(M,P={}){const L=t();if(!L)return;const T={center:M,...i,...P};L.flyTo(T)}function k(M,P){const L=t();if(!L||(M==null?void 0:M.longitude)==null||(M==null?void 0:M.latitude)==null)return;const T=P??Math.min(L.getZoom()+2,8);h([M.longitude,M.latitude],{zoom:T})}function w(M,P={top:40,right:40,bottom:40,left:40},L={}){const T=t();if(!T||!M)return;const X=L.maxZoom??4,pe=L.duration??900;T.fitBounds(M,{padding:P,maxZoom:X,duration:pe,...i,...L})}function _(){const M=t();M&&M.flyTo({center:r,zoom:s,...i})}const m=80,d=800,b=5,p=5,v=110,y=1.2;function f(M){const P=M.filter(Number.isFinite).slice().sort((E,F)=>E-F),L=P.length;if(!L)return null;let T=-1,X=0;for(let E=0;ET&&(T=D,X=E)}const pe=(X+1)%L,W=new Array(L);for(let E=0;E0&&F((E+180)%360+360)%360-180,Te=ce(ee),we=24,ue=360/we,ye=new Array(we).fill(0);for(const E of P){let F=Math.floor(((E+180)%360+360)%360/ue);F>=we&&(F=we-1),ye[F]++}let me=0;for(let E=1;Eye[me]&&(me=E);return{center:ce(-180+(me+.5)*ue),minLng:Te,maxLng:Te+(ve-ee),span:ve-ee}}function x(M){try{const P=M.getContainer&&M.getContainer().clientWidth||0,L=P>0?Math.log2(P/512):y,T=typeof M.getMinZoom=="function"?M.getMinZoom():L;return Math.max(T,L)}catch{return y}}function N(M,P,L,T){M.easeTo({center:[P,(L+T)/2],zoom:x(M),duration:d,essential:!0})}function S(M,P,L){if(L>v)return!0;try{const T=typeof M.cameraForBounds=="function"?M.cameraForBounds(P,{padding:m,maxZoom:b}):null;return T==null?!0:typeof T.zoom=="number"&&T.zoom<=x(M)+.05}catch{return!1}}function O(M,P){if(!Array.isArray(M))return M;switch(M[0]){case"get":return P==null?void 0:P[M[1]];case"literal":return M[1];case"has":return P!=null&&M[1]in P;case"!has":return P==null||!(M[1]in P);case"!":return!O(M[1],P);case"coalesce":{for(let T=1;T2){const pe=Number(O(M[2],P));return Number.isFinite(pe)?pe:0}return NaN}case"to-string":{const T=O(M[1],P);return T==null?"":String(T)}case"to-boolean":return!!O(M[1],P);case"slice":{const T=O(M[1],P),X=O(M[2],P),pe=M.length>3?O(M[3],P):void 0;return typeof T!="string"?"":pe!=null?T.slice(X,pe):T.slice(X)}default:return M}}function z(M,P){if(M===!0)return!0;if(M===!1)return!1;if(!Array.isArray(M))return!!M;const L=M[0];if(L==="all"){for(let T=1;T"||L===">="||L==="<"||L==="<="){const T=typeof M[1]=="string"?P==null?void 0:P[M[1]]:O(M[1],P),X=O(M[2],P);switch(L){case"==":return T===X||T==null&&X==null;case"!=":return!(T===X||T==null&&X==null);case">":return T>X;case">=":return T>=X;case"<":return T{const K=(D==null?void 0:D.properties)||{};return K.region===E||K.name===E||K.id===E});if(F){const D=[];let K=1/0,te=-1/0;const G=oe=>{for(const A of oe)Array.isArray(A[0])?G(A):Number.isFinite(A[0])&&Number.isFinite(A[1])&&(D.push(A[0]),A[1]te&&(te=A[1]))};(ye=F.geometry)!=null&&ye.coordinates&&G(F.geometry.coordinates);const Y=f(D);if(Y&&Number.isFinite(K)){const oe=[[Y.minLng,K],[Y.maxLng,te]];S(L,oe,Y.span)?N(L,Y.center,K,te):L.fitBounds(oe,{padding:m,maxZoom:b,duration:d,essential:!0});return}}}const T=P.sourceId??"language-families";if(!L.getSource(T))return;const X=P.matchExpr??M.filter;if(!X)return;const pe=j(L,T);if(!pe.length)return;const W=[];let de=1/0,U=-1/0,ee=0,ve=0,ce=0;const Te=new Set;for(const Ce of pe){const E=Ce==null?void 0:Ce.properties;if(!z(X,E))continue;const F=E==null?void 0:E.uniqueId;if(F!=null){if(Te.has(F))continue;Te.add(F)}const D=(me=Ce.geometry)==null?void 0:me.coordinates;if(!Array.isArray(D)||D.length<2)continue;const K=D[0],te=D[1];!Number.isFinite(K)||!Number.isFinite(te)||(ee===0&&(ve=K,ce=te),W.push(K),teU&&(U=te),ee++)}if(ee===0)return;if(ee===1){L.flyTo({center:[ve,ce],zoom:p,duration:d,essential:!0});return}const we=f(W)||{center:0,minLng:0,maxLng:0,span:0},ue=[[we.minLng,de],[we.maxLng,U]];if(S(L,ue,we.span)){N(L,we.center,de,U);return}try{L.fitBounds(ue,{padding:m,maxZoom:b,duration:d,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:h,flyToCoords:k,fitBounds:w,resetView:_,zoomToLegendRow:I,calculateRegionCenterFromPolygon:g}}const ps="#1a1a1a",Xo="selected-pin-highlight";function V_(e=ps){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` `)}async function JC(e,{scale:t=2,type:o="image/webp",quality:n=.85}={}){const a=df(e),r=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a)}`,s=new Image;s.src=r,await s.decode();const i=Math.round(s.naturalWidth*t),l=Math.round(s.naturalHeight*t),c=document.createElement("canvas");c.width=i,c.height=l;const u=c.getContext("2d");u.fillStyle="#ffffff",u.fillRect(0,0,i,l),u.drawImage(s,0,0,i,l);const g=await new Promise(f=>c.toBlob(f,o,n));if(!g)throw new Error("canvas.toBlob returned nothing");return g}async function ZC(e){const t=await createImageBitmap(e),o=document.createElement("canvas");o.width=40,o.height=40;const n=o.getContext("2d");n.drawImage(t,t.width*.4,t.height*.45,40,40,0,0,40,40);const a=n.getImageData(0,0,40,40).data;let r=0;for(let s=0;s40}const QC=Object.freeze(Object.defineProperty({__proto__:null,inlineSvg:df,looksRendered:ZC,rasterPoster:JC},Symbol.toStringTag,{value:"Module"}))})(); + `}function la(e){return e==="<"?"<":e===">"?">":"&"}const rC=Object.freeze(Object.defineProperty({__proto__:null,posterPixels:Gl,useMapPoster:Bl},Symbol.toStringTag,{value:"Module"})),sC=".title-slot[data-v-7caa85cc]{padding:4% 2%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%;height:100%;color:#0a0a0a}.title-slot__title[data-v-7caa85cc]{font-weight:700;font-size:clamp(20px,6vw,64px);line-height:1.05;letter-spacing:-.01em}.title-slot__subtitle[data-v-7caa85cc]{margin-top:.35em;font-weight:500;font-size:clamp(12px,2.4vw,28px);color:#444}",iC={class:"title-slot__title"},lC={key:0,class:"title-slot__subtitle"},cC=Gt({__name:"TitleSlot",props:{title:{type:String,default:""},subtitle:{type:String,default:""},align:{type:String,default:"left"}},emits:[],setup(e){const t=e,o=J(()=>({textAlign:t.align,fontFamily:gt.title.fontFamily,background:"rgba(255,255,255,0.92)",borderBottom:"1px solid #eee"}));return(n,a)=>(H(),ne("div",{class:"title-slot",style:We(o.value)},[$("div",iC,he(e.title||"Untitled"),1),e.subtitle?(H(),ne("div",lC,he(e.subtitle),1)):_e("",!0)],4))}},[["styles",[sC]],["__scopeId","data-v-7caa85cc"]]),uC=".poster-slot[data-v-1a65b1e9]{display:none}",dC={class:"poster-slot poster-slot--LegendSlot","data-slot":"LegendSlot"},pC=Gt({__name:"LegendSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",dC))}},[["styles",[uC]],["__scopeId","data-v-1a65b1e9"]]),gC=".poster-slot[data-v-2cbe964e]{display:none}",fC={class:"poster-slot poster-slot--ScaleBarSlot","data-slot":"ScaleBarSlot"},hC=Gt({__name:"ScaleBarSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",fC))}},[["styles",[gC]],["__scopeId","data-v-2cbe964e"]]),mC=".poster-slot[data-v-d12819c9]{display:none}",bC={class:"poster-slot poster-slot--NorthArrowSlot","data-slot":"NorthArrowSlot"},yC=Gt({__name:"NorthArrowSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",bC))}},[["styles",[mC]],["__scopeId","data-v-d12819c9"]]),vC=".poster-slot[data-v-93c6c172]{display:none}",_C={class:"poster-slot poster-slot--FooterSlot","data-slot":"FooterSlot"},xC=Gt({__name:"FooterSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",_C))}},[["styles",[vC]],["__scopeId","data-v-93c6c172"]]),kC=".poster-preview[data-v-563f7dcd]{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;padding:0}.poster-preview__page[data-v-563f7dcd]{display:block}.poster-preview__map[data-v-563f7dcd]{object-fit:cover;display:block}.poster-preview__map.placeholder[data-v-563f7dcd]{display:flex;align-items:center;justify-content:center;background:#ddd;color:#555;font-size:14px}.poster-preview__slot[data-v-563f7dcd]{pointer-events:none}",wC=["src"],AC=Gt({__name:"PosterPreview",props:{spec:{type:Object,required:!0},getMap:{type:Function,required:!0},legendRows:{type:Array,default:()=>[]},metadata:{type:Object,default:()=>({})}},setup(e){const t=e,o=le(null),n=le(""),a=le(800),r=le(0),s=le(0),i=le(null),l=J(()=>Gl(t.spec)),c=J(()=>qg(t.spec,l.value)),u=J(()=>{const _=l.value.width;return _?Math.min(1,(a.value-24)/_):1}),g=J(()=>({width:l.value.width+"px",height:l.value.height+"px",transform:`scale(${u.value})`,transformOrigin:"top left",background:"#fff",position:"relative",boxShadow:"0 6px 24px rgba(0,0,0,0.25)"}));function h(_){return _?{position:"absolute",left:_.x+"px",top:_.y+"px",width:_.w+"px",height:_.h+"px"}:{display:"none"}}let k=null;qt(()=>{o.value&&typeof ResizeObserver<"u"&&(k=new ResizeObserver(()=>{var _;a.value=((_=o.value)==null?void 0:_.clientWidth)||800}),k.observe(o.value),a.value=o.value.clientWidth),w()}),Ra(()=>{k&&(k.disconnect(),k=null)}),Oe(()=>[t.spec.widthIn,t.spec.heightIn,t.spec.orientation,t.spec.dpi],()=>{w()});async function w(){var m,d,b,p;const _=(m=t.getMap)==null?void 0:m.call(t);if(_)try{(!_.loaded()||_.isMoving())&&await new Promise(y=>_.once("idle",y)),n.value=_.getCanvas().toDataURL("image/png"),r.value=((d=_.getBearing)==null?void 0:d.call(_))||0;const v=(b=_.getCenter)==null?void 0:b.call(_);s.value=(v==null?void 0:v.lat)||0,i.value=(p=_.getBounds)==null?void 0:p.call(_)}catch(v){console.warn("[PosterPreview] snapshot failed",v)}}return(_,m)=>{var d,b,p,v,y,f,x,N,S,O,z;return H(),ne("div",{ref_key:"rootEl",ref:o,class:"poster-preview"},[$("div",{class:"poster-preview__page",style:We(g.value)},[n.value?(H(),ne("img",{key:0,class:"poster-preview__map",src:n.value,style:We(h(c.value.map)),alt:"map preview"},null,12,wC)):(H(),ne("div",{key:1,class:"poster-preview__map placeholder",style:We(h(c.value.map))}," Loading map snapshot… ",4)),(d=e.spec.slots)!=null&&d.title?(H(),Ue(cC,{key:2,class:"poster-preview__slot",style:We(h(c.value.title)),title:e.spec.slots.title.text,subtitle:e.spec.slots.title.subtitle},null,8,["style","title","subtitle"])):_e("",!0),(b=e.spec.slots)!=null&&b.legend&&((p=e.spec.slots.legend.rows)!=null&&p.length)?(H(),Ue(pC,{key:3,class:"poster-preview__slot",style:We(h(c.value.legend)),rows:e.spec.slots.legend.rows,type:e.spec.slots.legend.type},null,8,["style","rows","type"])):_e("",!0),(v=e.spec.slots)!=null&&v.scaleBar?(H(),Ue(hC,{key:4,class:"poster-preview__slot",style:We(h(c.value.scaleBar)),"map-bounds":i.value,"map-center-lat":s.value},null,8,["style","map-bounds","map-center-lat"])):_e("",!0),(y=e.spec.slots)!=null&&y.north?(H(),Ue(yC,{key:5,class:"poster-preview__slot",style:We(h(c.value.north)),bearing:r.value},null,8,["style","bearing"])):_e("",!0),Ye(xC,{class:"poster-preview__slot",style:We(h(c.value.footer)),left:(x=(f=e.spec.slots)==null?void 0:f.footer)==null?void 0:x.left,right:(S=(N=e.spec.slots)==null?void 0:N.footer)==null?void 0:S.right,attribution:(z=(O=e.spec.slots)==null?void 0:O.footer)==null?void 0:z.attribution,metadata:e.metadata},null,8,["style","left","right","attribution","metadata"])],4)],512)}}},[["styles",[kC]],["__scopeId","data-v-563f7dcd"]]),Zg=25.4,Qg=e=>e/Zg,ef=e=>e*Zg;function Po(e,t,o,n,a,r,s,i){const l=a==="in"?{w:o,h:n}:{w:tf(Qg(o)),h:tf(Qg(n))},c=a==="mm"?{w:o,h:n}:{w:of(ef(o)),h:of(ef(n))},u={w:Math.round(l.w*300),h:Math.round(l.h*300)};return{id:e,label:t,inches:l,mm:c,px300:u,category:r,orientation:s,recommendedDpi:i}}function tf(e){return Math.round(e*1e3)/1e3}function of(e){return Math.round(e*10)/10}const nf={letter:Po("letter",'Letter (8.5×11")',8.5,11,"in","us","either",300),tabloid:Po("tabloid",'Tabloid (11×17")',11,17,"in","us","either",300),"18x24":Po("18x24",'18 × 24"',18,24,"in","us","portrait",300),"24x36":Po("24x36",'24 × 36"',24,36,"in","us","portrait",300),"27x40":Po("27x40",'27 × 40"',27,40,"in","us","portrait",200),a4:Po("a4","A4 (210 × 297 mm)",210,297,"mm","iso","either",300),a3:Po("a3","A3 (297 × 420 mm)",297,420,"mm","iso","either",300),a2:Po("a2","A2 (420 × 594 mm)",420,594,"mm","iso","portrait",300),a1:Po("a1","A1 (594 × 841 mm)",594,841,"mm","iso","portrait",200),a0:Po("a0","A0 (841 × 1189 mm)",841,1189,"mm","iso","portrait",150)},SC=["letter","tabloid","18x24","24x36","27x40","a4","a3","a2","a1","a0"],CC="24x36";function af(e){return nf[e]||null}function LC(){return SC.map(e=>nf[e])}const $C=".poster-dlg-backdrop[data-v-39b141d9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}.poster-dlg[data-v-39b141d9]{background:#fff;width:min(1100px,95vw);height:min(800px,92vh);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000059}.poster-dlg__header[data-v-39b141d9]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #eee}.poster-dlg__header h2[data-v-39b141d9]{margin:0;font-size:16px;font-weight:600}.poster-dlg__close[data-v-39b141d9]{background:none;border:0;font-size:22px;cursor:pointer;color:#555}.poster-dlg__body[data-v-39b141d9]{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr}.poster-dlg__controls[data-v-39b141d9]{padding:14px;border-right:1px solid #eee;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#fafafa}.poster-dlg__preview[data-v-39b141d9]{padding:14px;overflow:auto;background:#2b2b2b}.ctl[data-v-39b141d9]{display:flex;flex-direction:column;font-size:12px;color:#444;gap:4px}.ctl--check[data-v-39b141d9]{border:0;padding:0;margin:0}.ctl--check legend[data-v-39b141d9]{font-size:12px;color:#444;padding:0 0 4px}.ctl--check label[data-v-39b141d9]{display:flex;align-items:center;gap:6px;font-size:12px}.ctl input[data-v-39b141d9],.ctl select[data-v-39b141d9]{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.muted[data-v-39b141d9]{opacity:.65}.actions[data-v-39b141d9]{display:flex;gap:8px;margin-top:auto}.btn[data-v-39b141d9]{padding:8px 12px;border-radius:4px;border:1px solid #ccc;cursor:pointer;font-size:13px}.btn--primary[data-v-39b141d9]{background:#26d;color:#fff;border-color:#26d}.btn--primary[data-v-39b141d9]:disabled{background:#88aae0;cursor:progress}.btn--ghost[data-v-39b141d9]{background:transparent}.render-status[data-v-39b141d9]{display:flex;flex-direction:column;gap:6px;padding:8px;background:#fff;border:1px solid #eee;border-radius:4px;font-size:12px}.render-status progress[data-v-39b141d9]{width:100%}.poster-dlg-enter-active[data-v-39b141d9],.poster-dlg-leave-active[data-v-39b141d9]{transition:opacity .15s ease}.poster-dlg-enter-from[data-v-39b141d9],.poster-dlg-leave-to[data-v-39b141d9]{opacity:0}",EC={class:"poster-dlg",role:"dialog","aria-modal":"true","aria-label":"Export Poster"},PC={class:"poster-dlg__header"},TC={class:"poster-dlg__body"},NC={class:"poster-dlg__controls"},RC={class:"ctl"},MC=["value"],IC={class:"ctl"},FC={class:"ctl"},OC={class:"ctl"},DC={class:"ctl"},BC={class:"ctl"},GC={class:"ctl ctl--check"},jC={key:0,class:"render-status"},zC=["max","value"],UC={class:"actions"},KC=["disabled"],HC={class:"poster-dlg__preview"},VC=Object.freeze(Object.defineProperty({__proto__:null,default:Gt({__name:"PosterDialog",props:{modelValue:{type:Boolean,default:!1},getMap:{type:Function,required:!0},legendRows:{type:Array,default:()=>[]},metadata:{type:Object,default:()=>({})},initialSize:{type:String,default:CC}},emits:["update:modelValue","rendered","error"],setup(e,{emit:t}){const o=e,n=t,a=J({get:()=>o.modelValue,set:f=>n("update:modelValue",f)}),{scrimRef:r,scrimStyle:s}=vs(a),i=LC(),l=le(o.initialSize),c=le("portrait"),u=le(300),g=le("png"),h=le(""),k=le(""),w=le(!0),_=le(!0),m=le(!0);Oe(l,f=>{const x=af(f);x&&(u.value=x.recommendedDpi,x.orientation!=="either"&&(c.value=x.orientation))},{immediate:!0});const d=J(()=>{const f=af(l.value);if(!f)return Dl({widthIn:24,heightIn:36});const x=Dl({widthIn:f.inches.w,heightIn:f.inches.h,dpi:u.value,orientation:c.value});return x.slots.title={...x.slots.title,text:h.value,subtitle:k.value},x.slots.legend=w.value?{...x.slots.legend,rows:o.legendRows}:null,x.slots.scaleBar=_.value,x.slots.north=m.value,x.slots.footer={...x.slots.footer,left:o.metadata.source?`Source: ${o.metadata.source}`:"",right:o.metadata.date?`${o.metadata.date}`:new Date().toISOString().slice(0,10),attribution:gt.footer.attribution},x}),b=Bl(o.getMap);async function p(){try{const f=await b.render(d.value,g.value),x=g.value==="pdf"?"pdf":"png",N=(h.value||"poster").replace(/\W+/g,"-").toLowerCase();y(f,`${N}.${x}`),n("rendered",{blob:f,format:g.value,spec:d.value})}catch(f){console.error("[PosterDialog] render failed",f),n("error",f)}}function v(){a.value=!1}function y(f,x){const N=URL.createObjectURL(f),S=document.createElement("a");S.href=N,S.download=x,document.body.appendChild(S),S.click(),S.remove(),setTimeout(()=>URL.revokeObjectURL(N),1500)}return(f,x)=>(H(),Ue(Hm,{name:"poster-dlg"},{default:Ft(()=>[a.value?(H(),ne("div",{key:0,ref_key:"scrimRef",ref:r,style:We(ge(s)),class:"poster-dlg-backdrop",onClick:st(v,["self"])},[$("section",EC,[$("header",PC,[Go(f.$slots,"header",{},()=>[x[10]||(x[10]=$("h2",null,"Export Poster",-1))],!0),$("button",{class:"poster-dlg__close",type:"button","aria-label":"Close",onClick:v},"×")]),$("div",TC,[$("aside",NC,[$("label",RC,[x[11]||(x[11]=$("span",null,"Size",-1)),Vt($("select",{"onUpdate:modelValue":x[0]||(x[0]=N=>l.value=N)},[(H(!0),ne(Ie,null,yt(ge(i),N=>(H(),ne("option",{key:N.id,value:N.id},he(N.label),9,MC))),128))],512),[[Zr,l.value]])]),$("label",IC,[x[13]||(x[13]=$("span",null,"Orientation",-1)),Vt($("select",{"onUpdate:modelValue":x[1]||(x[1]=N=>c.value=N)},[...x[12]||(x[12]=[$("option",{value:"portrait"},"Portrait",-1),$("option",{value:"landscape"},"Landscape",-1)])],512),[[Zr,c.value]])]),$("label",FC,[x[15]||(x[15]=$("span",null,"DPI",-1)),Vt($("select",{"onUpdate:modelValue":x[2]||(x[2]=N=>u.value=N)},[...x[14]||(x[14]=[$("option",{value:150},"150 (large posters)",-1),$("option",{value:200},"200 (balanced)",-1),$("option",{value:300},"300 (sharp)",-1)])],512),[[Zr,u.value,void 0,{number:!0}]])]),$("label",OC,[x[17]||(x[17]=$("span",null,"Format",-1)),Vt($("select",{"onUpdate:modelValue":x[3]||(x[3]=N=>g.value=N)},[...x[16]||(x[16]=[$("option",{value:"png"},"PNG (raster)",-1),$("option",{value:"pdf"},"PDF (raster on vector page)",-1)])],512),[[Zr,g.value]]),Go(f.$slots,"format-extras",{},void 0,!0)]),$("label",DC,[x[18]||(x[18]=$("span",null,"Title",-1)),Vt($("input",{"onUpdate:modelValue":x[4]||(x[4]=N=>h.value=N),type:"text",placeholder:"Map title"},null,512),[[Jr,h.value]])]),$("label",BC,[x[19]||(x[19]=$("span",null,"Subtitle",-1)),Vt($("input",{"onUpdate:modelValue":x[5]||(x[5]=N=>k.value=N),type:"text",placeholder:"(optional)"},null,512),[[Jr,k.value]])]),$("fieldset",GC,[x[23]||(x[23]=$("legend",null,"Slots",-1)),$("label",null,[Vt($("input",{"onUpdate:modelValue":x[6]||(x[6]=N=>w.value=N),type:"checkbox"},null,512),[[Ei,w.value]]),x[20]||(x[20]=ht(" Legend",-1))]),$("label",null,[Vt($("input",{"onUpdate:modelValue":x[7]||(x[7]=N=>_.value=N),type:"checkbox"},null,512),[[Ei,_.value]]),x[21]||(x[21]=ht(" Scale bar",-1))]),$("label",null,[Vt($("input",{"onUpdate:modelValue":x[8]||(x[8]=N=>m.value=N),type:"checkbox"},null,512),[[Ei,m.value]]),x[22]||(x[22]=ht(" North arrow",-1))]),x[24]||(x[24]=$("label",{class:"muted"},[$("input",{type:"checkbox",checked:"",disabled:""}),ht(" Footer (attribution required)")],-1))]),ge(b).isRendering.value?(H(),ne("div",jC,[$("strong",null,he(ge(b).progress.value.phase),1),$("progress",{max:ge(b).progress.value.total||1,value:ge(b).progress.value.completed},null,8,zC),$("small",null,he(ge(b).progress.value.message),1),$("button",{class:"btn btn--ghost",type:"button",onClick:x[9]||(x[9]=(...N)=>ge(b).cancel&&ge(b).cancel(...N))},"Cancel")])):_e("",!0),$("div",UC,[$("button",{class:"btn btn--ghost",type:"button",onClick:v},"Close"),$("button",{class:"btn btn--primary",type:"button",disabled:ge(b).isRendering.value,onClick:p},he(ge(b).isRendering.value?"Rendering…":`Render ${g.value.toUpperCase()}`),9,KC)])]),$("main",HC,[Ye(AC,{spec:d.value,"get-map":e.getMap,"legend-rows":e.legendRows,metadata:e.metadata},null,8,["spec","get-map","legend-rows","metadata"])])])])],4)):_e("",!0)]),_:3}))}},[["styles",[$C]],["__scopeId","data-v-39b141d9"]])},Symbol.toStringTag,{value:"Module"}));function rf(e,t,o,n){const a=parseFloat(t)-parseFloat(n),r=parseFloat(e)-parseFloat(o);return Math.sqrt(a*a+r*r)}function qC(e,t){const o={};for(const n of e){const a=t(n);o[a]||(o[a]=[]),o[a].push(n)}return o}const WC=Object.freeze({cluster:!0,clusterMaxZoom:6,clusterRadius:40}),YC=Object.freeze(["step",["get","point_count"],"#51bbd6",10,"#f1f075",50,"#f28cb1",500,"#e74c3c"]),XC=Object.freeze(["step",["get","point_count"],15,10,20,50,25,500,35]);class sf{constructor(t={}){this.maxConnectionDistance=t.maxConnectionDistance??1/0}_calculateDistance(t,o){return rf(parseFloat(t.latitude),parseFloat(t.longitude),parseFloat(o.latitude),parseFloat(o.longitude))}_createUnionFind(t){const o=Array.from({length:t},(s,i)=>i),n=new Array(t).fill(0),a=s=>(o[s]!==s&&(o[s]=a(o[s])),o[s]);return{find:a,union:(s,i)=>{const l=a(s),c=a(i);return l===c?!1:(n[l]n[c]?o[c]=l:(o[c]=l,n[l]++),!0)}}}generateMSTLines(t,o={}){const n=o.maxConnectionDistance??this.maxConnectionDistance;if(!t||t.length<2)return[];const a=t.filter(g=>{const h=parseFloat(g.latitude),k=parseFloat(g.longitude);return!isNaN(h)&&!isNaN(k)});if(a.length<2)return[];const r=[];for(let g=0;gg.distance-h.distance);const s=this._createUnionFind(a.length),i=[];let l=0;const c=a.length-1;for(const g of r){if(l>=c)break;s.union(g.from,g.to)&&(i.push(g),l++)}const u=i.map(g=>({type:"Feature",geometry:{type:"LineString",coordinates:[[parseFloat(g.fromPoint.longitude),parseFloat(g.fromPoint.latitude)],[parseFloat(g.toPoint.longitude),parseFloat(g.toPoint.latitude)]]},properties:{distance:g.distance,algorithm:"MST"}}));return i.length${n} deg).`),u}generateMultiGroupMSTLines(t,o=null,n={}){const a={},r=Object.keys(t).sort((s,i)=>t[i].length-t[s].length);for(const s of r){const i=t[s];if(!i||i.length<2){a[s]={lines:[],count:0,pointCount:(i==null?void 0:i.length)||0};continue}const l=this.generateMSTLines(i,n);if(typeof o=="function"){const c=o(s);l.forEach(u=>{u.properties={...u.properties,group:s,color:c}})}else l.forEach(c=>{c.properties={...c.properties,group:s}});a[s]={lines:l,count:l.length,pointCount:i.length}}return a}generateAllMSTLines(t,o=null,n={}){const a=this.generateMultiGroupMSTLines(t,o,n),r=[];for(const s in a)r.push(...a[s].lines);return r}getMSTStats(t,o={}){const n=this.generateMultiGroupMSTLines(t,null,o);let a=0,r=0;const s=[];for(const l in n){const{lines:c,pointCount:u}=n[l];a+=c.length,r+=u;const g=Math.max(0,u-1),h=u>1?(c.length/g*100).toFixed(1):100;s.push({name:l,points:u,lines:c.length,expected:g,coverage:h+"%",hasOrphans:c.lengthc.points-l.points);const i=s.filter(l=>l.hasOrphans).length;return{algorithm:"MST (Minimum Spanning Tree)",totalGroups:Object.keys(t).length,totalPoints:r,totalLines:a,expectedLines:Math.max(0,r-Object.keys(t).length),groupsWithOrphans:i,allPointsConnected:i===0,groups:s}}}new sf;class lf{constructor(t={}){this.maxDistance=t.maxDistance??15,this.maxNeighbors=t.maxNeighbors??15,this.sortKey=t.sortKey??"longitude"}_calculateDistance(t,o,n,a){return rf(t,o,n,a)}generateNetworkLines(t,o={}){const n=o.maxDistance??this.maxDistance,a=o.maxNeighbors??this.maxNeighbors,r=o.sortKey??this.sortKey,s=o.connectOrphans??!0;if(!t||t.length<2)return[];const i=t.filter(g=>{const h=parseFloat(g.latitude),k=parseFloat(g.longitude);return!isNaN(h)&&!isNaN(k)});if(i.length<2)return[];const l=[],c=new Set,u=[...i].sort((g,h)=>parseFloat(g[r])-parseFloat(h[r]));for(let g=0;gt[i].length-t[s].length);for(const s of r){const i=t[s];if(!i||i.length<2){a[s]={lines:[],count:0,pointCount:(i==null?void 0:i.length)||0};continue}const l=this.generateNetworkLines(i,n);if(typeof o=="function"){const c=o(s);l.forEach(u=>{u.properties={...u.properties,group:s,color:c}})}else l.forEach(c=>{c.properties={...c.properties,group:s}});a[s]={lines:l,count:l.length,pointCount:i.length}}return a}generateAllNetworkLines(t,o=null,n={}){const a=this.generateMultiGroupNetworkLines(t,o,n),r=[];for(const s in a)r.push(...a[s].lines);return r}getClusteringStats(t,o={}){const n=this.generateMultiGroupNetworkLines(t,null,o);let a=0,r=0;const s=[];for(const i in n){const{lines:l,pointCount:c}=n[i];a+=l.length,r+=c,s.push({name:i,points:c,lines:l.length,ratio:c>0?(l.length/c).toFixed(2):0})}return s.sort((i,l)=>l.points-i.points),{algorithm:"Network (nearest-neighbor)",totalGroups:Object.keys(t).length,totalPoints:r,totalLines:a,avgLinesPerPoint:r>0?(a/r).toFixed(2):0,groups:s}}}new lf({maxDistance:15,maxNeighbors:15,sortKey:"longitude"});const ca="cluster-lines-source",ua="cluster-lines",hn="mapbox-clusters",ao="mapbox-clusters-circle",da="mapbox-clusters-count",JC=Object.freeze({type:"FeatureCollection",features:[]});function cf(e={}){const{getMap:t=()=>null,mapId:o="unknown",getPeopleGroups:n=()=>[],pinSourceId:a="language-families",pinLayerId:r="language-family-pins",groupKey:s="languageFamily",getGroupColor:i=null,mapboxClusterOptions:l={}}=e,c=Pe("mapStore",null),u=new sf({maxConnectionDistance:1/0}),g=new lf({maxDistance:15,maxNeighbors:15,sortKey:"longitude"}),h=le(!1),k=le("mapbox"),w=J(()=>c&&"clusteringEnabled"in c?!!c.clusteringEnabled:h.value),_=J(()=>c&&c.clusteringMode?c.clusteringMode:k.value),m=le([]);let d=null,b=null,p=null;function v(U){const ee=["mapbox","mst","network"];if(!ee.includes(U)){console.warn(`[${o}] useMapClustering.setMode: unknown mode "${U}". Allowed: ${ee.join(", ")}`);return}c&&typeof c.setClusteringMode=="function"?c.setClusteringMode(U):c&&"clusteringMode"in c?c.clusteringMode=U:k.value=U,w.value&&(O(),S())}function y(U){const ee=!!U;c&&typeof c.setClusteringEnabled=="function"?c.setClusteringEnabled(ee):c&&"clusteringEnabled"in c?c.clusteringEnabled=ee:h.value=ee,ee?S():O()}function f(U){!U||!U.property||U.value==null?p=null:p={property:U.property,value:U.value},c&&("clusterFilterProperty"in c&&(c.clusterFilterProperty=(p==null?void 0:p.property)??null),"clusterFilterValue"in c&&(c.clusterFilterValue=(p==null?void 0:p.value)??null)),w.value&&(O(),S())}function x(U){if(!p)return U;const{property:ee,value:ve}=p,ce=we=>String(we||"").toLowerCase().replace(/[^a-z0-9]+/g,""),Te=ce(ve);return Te?U.filter(we=>{var ye,me;const ue=(we==null?void 0:we[ee])??((ye=we==null?void 0:we.properties)==null?void 0:ye[ee])??((me=we==null?void 0:we._normalized)==null?void 0:me[ee]);return ce(ue)===Te}):U}function N(U){d=U}function S(){const U=t();if(U){switch(O(),_.value){case"mapbox":M(U);break;case"mst":P(U,"mst");break;case"network":P(U,"network");break;default:console.warn(`[${o}] Unknown clustering mode: ${_.value}`)}de(U,!0)}}function O(){const U=t();U&&(j(U,da,!1),j(U,ao,!1),I(U,hn),j(U,ua,!1),I(U,ca),m.value=[],T(U),de(U,!1))}function z(){const U=t();U&&(T(U),U.getLayer(da)&&U.removeLayer(da),U.getLayer(ao)&&U.removeLayer(ao),U.getSource(hn)&&U.removeSource(hn),U.getLayer(ua)&&U.removeLayer(ua),U.getSource(ca)&&U.removeSource(ca),de(U,!1)),m.value=[],d=null}function j(U,ee,ve){if(U.getLayer(ee))try{U.setLayoutProperty(ee,"visibility",ve?"visible":"none")}catch{}}function I(U,ee){const ve=U.getSource(ee);if(ve&&typeof ve.setData=="function")try{ve.setData(JC)}catch{}}function M(U){const ee=x(n());if(!ee.length)return;const ve=ee.map(we=>{const ue=parseFloat(we.longitude??we.lng),ye=parseFloat(we.latitude??we.lat);return isNaN(ue)||isNaN(ye)?null:{type:"Feature",geometry:{type:"Point",coordinates:[ue,ye]},properties:{...we.properties||we}}}).filter(Boolean),ce={type:"FeatureCollection",features:ve},Te=U.getSource(hn);Te&&typeof Te.setData=="function"?Te.setData(ce):U.addSource(hn,{type:"geojson",data:ce,...WC,...l}),U.getLayer(ao)?j(U,ao,!0):U.addLayer({id:ao,type:"circle",source:hn,filter:["has","point_count"],paint:{"circle-color":YC,"circle-radius":XC,"circle-stroke-width":2,"circle-stroke-color":"#ffffff",...tr(U),"circle-opacity":.85}}),U.getLayer(da)?j(U,da,!0):U.addLayer({id:da,type:"symbol",source:hn,filter:["has","point_count"],layout:{"text-field":["get","point_count_abbreviated"],"text-font":["DIN Offc Pro Medium","Arial Unicode MS Bold"],"text-size":12},paint:{"text-color":"#000000"}}),L(U),console.log(`[${o}] Clustering: mapbox-native applied (${ve.length} features)`)}function P(U,ee){const ve=x(n());if(!ve.length)return;const ce=qC(ve,Ce=>{var E;return Ce[s]??((E=Ce._normalized)==null?void 0:E[s])??"Unknown"}),Te=typeof i=="function"?i:()=>"#666666";let we=[],ue=null;if(ee==="mst"?(we=u.generateAllMSTLines(ce,Te),ue=u.getMSTStats(ce)):(we=g.generateAllNetworkLines(ce,Te),ue=g.getClusteringStats(ce)),m.value=we,we.length===0)return;const ye={type:"FeatureCollection",features:we},me=U.getSource(ca);if(me&&typeof me.setData=="function"?me.setData(ye):U.addSource(ca,{type:"geojson",data:ye}),U.getLayer(ua))j(U,ua,!0);else{const Ce={id:ua,type:"line",source:ca,paint:{"line-color":["coalesce",["get","color"],"#666666"],"line-width":["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],"line-emissive-strength":1,"line-opacity":.5},layout:{"line-cap":"round","line-join":"round"}};U.getLayer(r)?U.addLayer(Ce,r):U.addLayer(Ce)}console.log(`[${o}] Clustering: ${ee} applied — ${we.length} lines across ${(ue==null?void 0:ue.totalGroups)??0} groups`)}function L(U){U.getLayer(ao)&&(U.on("click",ao,X),U.on("mouseenter",ao,pe),U.on("mouseleave",ao,W),b=ao)}function T(U){if(!b)return;const ee=b;try{U.off("click",ee,X),U.off("mouseenter",ee,pe),U.off("mouseleave",ee,W)}catch{}b=null}function X(U){const ee=t();if(!ee)return;const ve=ee.queryRenderedFeatures(U.point,{layers:[ao]});if(!ve.length)return;const ce=ve[0],Te=ce.properties.cluster_id,we=ce.geometry.coordinates,ue=ce.properties.point_count;if(typeof d=="function"){d({clusterId:Te,coordinates:we,pointCount:ue,originalEvent:U});return}const ye=ee.getSource(hn);!ye||typeof ye.getClusterExpansionZoom!="function"||ye.getClusterExpansionZoom(Te,(me,Ce)=>{me||ee.easeTo({center:we,zoom:Ce})})}function pe(){const U=t();U&&(U.getCanvas().style.cursor="pointer")}function W(){const U=t();U&&(U.getCanvas().style.cursor="")}function de(U,ee){if(U.getLayer(r))try{U.setPaintProperty(r,"circle-opacity",ee?.25:.9)}catch{}}return{enabled:w,mode:_,clusterLines:m,setMode:v,setEnabled:y,setSelectionFilter:f,onClusterClick:N,applyClustering:S,clearClustering:O,cleanup:z,mstUtil:u,networkUtil:g}}const ZC=Object.freeze(Object.defineProperty({__proto__:null,default:cf,useMapClustering:cf},Symbol.toStringTag,{value:"Module"}));function QC(e){const t=le({phase:"idle",completed:0,total:0,message:""}),o=le(!1);function n(r,s,i,l){t.value={phase:r,completed:s,total:i,message:l}}async function a(r,s,i={}){if(o.value)throw new Error("useMapPacket: already rendering");o.value=!0;const l=Array.isArray(s)?s:[],c=1+l.length;try{n("map",0,c,"rendering map page");const u=await Bl(e).render(r,"png"),g=await s3(u);n("pdf-init",1,c,"building PDF");let h;try{const d=await jt(()=>import("https://esm.sh/jspdf@4.2.1"),void 0);h=d.jsPDF||d.default}catch{throw new Error("useMapPacket: jspdf not installed (npm i jspdf)")}const k=new h({orientation:r.widthIn>r.heightIn?"l":"p",unit:"in",format:[r.widthIn,r.heightIn]}),w=r.widthIn,_=r.heightIn,m=t3(i);k.addImage(g,"PNG",0,0,w,_),uf(k,w,_,m);for(let d=0;d0&&r<=1?r*100:r).toFixed(1)}%`}function r3(e){var a;const t=rr(e),o=sr(t.peoplePraying,(a=t._raw)==null?void 0:a.people_praying,e.peoplePraying);if(o===void 0)return"—";const n=Number(o);return Number.isNaN(n)?"—":n.toLocaleString()}function s3(e){return new Promise((t,o)=>{const n=new FileReader;n.onload=()=>t(n.result),n.onerror=()=>o(new Error("useMapPacket: failed to read map blob")),n.readAsDataURL(e)})}const i3=Object.freeze(Object.defineProperty({__proto__:null,useMapPacket:QC},Symbol.toStringTag,{value:"Module"}));function pf(e){const t=(e.match(//)||[])[0];if(!t)throw new Error("poster HTML contains no ");const n=((e.match(/
- ${x} + ${_}
@@ -110,12 +110,12 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - ">${p.name} + ">${x.name}

${p.country||"Unknown"} • ${p.status||"Unknown Status"}

+ ">${x.country||"Unknown"} • ${x.status||"Unknown Status"}

@@ -130,8 +130,8 @@ overflow: hidden; "> ${p.name}

- Language: ${p.language||"Unknown"} + Language: ${x.language||"Unknown"}

Family: - - ${p.languageFamily||"Unknown"} + + ${x.languageFamily||"Unknown"}

- ${p.population?`

Population: ${p.population}

`:""} - ${p.description?`

${p.description}

`:""} + ${x.population?`

Population: ${x.population}

`:""} + ${x.description?`

${x.description}

`:""} - `}function u(p){const v=p.iso_3166_1_alpha_3||"",f=p["name_"+((i==null?void 0:i.value)||"en")]||p.name_en||p.name||v,x=a(),N=v.toUpperCase(),S=x.filter(M=>{const P=(M.countryIso||M.country||"").toUpperCase();return P&&P===N}),O=S.length,z=S[0],j=(z==null?void 0:z.wagfRegionLabel)||(z==null?void 0:z.doxaRegionLabel)||(z==null?void 0:z.doxaRegion)||(z==null?void 0:z.wagfRegion)||"—",I=(z==null?void 0:z.wagfBlockLabel)||(z==null?void 0:z.wagfBlock)||"—";return` + `}function u(x){const p=x.iso_3166_1_alpha_3||"",d=x["name_"+((i==null?void 0:i.value)||"en")]||x.name_en||x.name||p,_=a(),T=p.toUpperCase(),S=_.filter(R=>{const E=(R.countryIso||R.country||"").toUpperCase();return E&&E===T}),D=S.length,z=S[0],j=(z==null?void 0:z.wagfRegionLabel)||(z==null?void 0:z.doxaRegionLabel)||(z==null?void 0:z.doxaRegion)||(z==null?void 0:z.wagfRegion)||"—",I=(z==null?void 0:z.wagfBlockLabel)||(z==null?void 0:z.wagfBlock)||"—";return`

- ${f} + ${d}

${s("popup.country.wagfRegion")}: ${j} @@ -168,13 +168,13 @@ ${s("popup.country.wagfBlock")}: ${I}

- ${s("popup.country.country")}: ${f} (${v}) + ${s("popup.country.country")}: ${d} (${p})

- ${s("popup.country.uupgCount")}: ${O} + ${s("popup.country.uupgCount")}: ${D}

- `}function g(p){const v=t();if(!v)return;const y=p||"language-family-pins";if(!v.getLayer(y))return;const f=x=>{try{const N=x.features[0],S=N.properties,O=N.geometry.coordinates.slice();for(;Math.abs(x.lngLat.lng-O[0])>180;)O[0]+=x.lngLat.lng>O[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(N),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(O).setHTML(c(S)).addTo(v)}catch(N){console.error(` [${o}] Pin click handler error:`,N)}};v.on("click",y,f),l.value.push({event:"click",layer:y,handler:f})}function h(){const p=t();if(!p)return;const v="regions-fill";if(!p.getLayer(v))return;const y=f=>{const x=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const N of x)if(p.getLayer(N)){const S=p.queryRenderedFeatures(f.point,{layers:[N]});if(S&&S.length>0)return}if(f.features&&f.features.length>0){const N=f.features[0].properties;new mapboxgl.Popup().setLngLat(f.lngLat).setHTML(u(N)).addTo(p)}};p.on("click",v,y),l.value.push({event:"click",layer:v,handler:y})}function k(){const p=t();if(!p)return;const v="clusters";if(!p.getLayer(v))return;const y=f=>{const x=p.queryRenderedFeatures(f.point,{layers:[v]});if(!x.length)return;const N=x[0].properties.cluster_id,S=x[0].source;p.getSource(S).getClusterExpansionZoom(N,(O,z)=>{O||p.easeTo({center:x[0].geometry.coordinates,zoom:z})})};p.on("click",v,y),l.value.push({event:"click",layer:v,handler:y})}function w(p){const v=t();if(!v||!v.getLayer(p))return;const y=()=>{v.getCanvas().style.cursor="pointer"},f=()=>{v.getCanvas().style.cursor=""};v.on("mouseenter",p,y),v.on("mouseleave",p,f),l.value.push({event:"mouseenter",layer:p,handler:y}),l.value.push({event:"mouseleave",layer:p,handler:f})}function _(){g(),w("language-family-pins"),g("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function m(){h(),w("regions-fill")}function d(){const p=t();p&&(p.getLayer("language-family-pins")&&_(),p.getLayer("regions-fill")&&m(),p.getLayer("people-groups-pins")&&(g(),w("people-groups-pins")))}function b(){const p=t();if(p){for(const{event:v,layer:y,handler:f}of l.value)try{p.off(v,y,f)}catch{}l.value=[]}}return{attachAllEventHandlers:d,attachLanguageFamilyEvents:_,attachRegionEvents:m,attachPinClickHandler:g,attachRegionClickHandler:h,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:b,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Je={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"},kl=[">",["to-number",["get","peoplePraying"],0],0],wl={0:.25,8:.4,14:.5},aa={0:.1,8:.18,14:.22},ra={0:1.2,8:1.6,14:2},bg=["interpolate",["linear"],["zoom"],0,["case",kl,wl[0],aa[0]],8,["case",kl,wl[8],aa[8]],14,["case",kl,wl[14],aa[14]]],B_=["interpolate",["linear"],["zoom"],0,ra[0],8,ra[8],14,ra[14]],yg=["==",["to-number",["get","peoplePraying"],0],0],G_={prayer:[yg],prayerProgress:[yg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function j_(e){const t=G_[e]||[];if(!t.length)return B_;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,aa[0],ra[0]],8,["case",o,aa[8],ra[8]],14,["case",o,aa[14],ra[14]]]}const z_=[[/ sign language$/i,"Sign Language"]];function U_(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Je[a])return Je[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(Je[r])return Je[r]}}if(Je[t])return Je[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Je[n])return Je[n];for(const[a,r]of z_)if(a.test(t))return r;return null}function K_(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const ue=t();return ue?Ke(ue):null},s=mg({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=le({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=le({});function c(ue,ye="languageFamily"){const me=r();if(!me||!(ue!=null&&ue.length))return;const Ce=h_(ye),E=ue.map(G=>{var Y,oe,A,C,q,re,be,fe,Q,se,Se,Re,He,V,ae,Ae,Ne,Le,je;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((Y=G._normalized)==null?void 0:Y.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((oe=G._normalized)==null?void 0:oe.languageFamily)||U_(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((A=G._normalized)==null?void 0:A.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((q=G._normalized)==null?void 0:q.cluster)||"",clusterLabel:G.clusterLabel||((re=G._normalized)==null?void 0:re.clusterLabel)||"",peopleGroup:G.peopleGroup||((be=G._normalized)==null?void 0:be.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((fe=G._normalized)==null?void 0:fe.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((Q=G._normalized)==null?void 0:Q.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((se=G._normalized)==null?void 0:se.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Se=G._normalized)==null?void 0:Se.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Re=G._normalized)==null?void 0:Re.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((He=G._normalized)==null?void 0:He.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((V=G._normalized)==null?void 0:V.bible)||"Not Available",jesusFilm:G.jesusFilm||((ae=G._normalized)==null?void 0:ae.jesusFilm)||"Not Available",radio:G.radio||((Ae=G._normalized)==null?void 0:Ae.radio)||"Not Available",gospel:G.gospel||((Ne=G._normalized)==null?void 0:Ne.gospel)||"Not Available",audio:G.audio||((Le=G._normalized)==null?void 0:Le.audio)||"Not Available",stories:G.stories||((je=G._normalized)==null?void 0:je.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),F=.04,D=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,K=new Map;for(const G of E){const Y=D(G);K.has(Y)||K.set(Y,[]),K.get(Y).push(G)}for(const G of K.values()){if(G.length<2)continue;const[Y,oe]=G[0].geometry.coordinates,A=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),me.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":xl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function u(ue,ye="doxa-regions"){const me=r();if(!me)return;me.getLayer("regions-fill")&&me.removeLayer("regions-fill"),me.getLayer("regions-border")&&me.removeLayer("regions-border"),me.getSource("regions")&&me.removeSource("regions");const Ce={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},E="#cccccc",F=ue&&ue.isoToRegion?ue.isoToRegion:{},D=[],K={};for(const[Y,oe]of Object.entries(F)){const A=Ce[String(oe).toLowerCase()];A&&D.push(Y,A),K[oe]||(K[oe]=[]),K[oe].push(Y)}l.value=K;const te=D.length?["match",["get","iso_3166_1_alpha_3"],...D,E]:E,G=me.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":me.getLayer("language-family-pins")?"language-family-pins":void 0;me.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),me.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":te,"fill-opacity":ye==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},G),me.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":te,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},G),i.value.regions=!0,s.attachRegionEvents()}function g(ue,ye){const me=r();if(!me||!ue||!(ye!=null&&ye.length))return;h();const Ce=ye.filter(te=>{var Y;return(te.languageFamily||((Y=te._normalized)==null?void 0:Y.languageFamily)||"Unknown")===ue});if(Ce.length<2)return;const E=n(ue),F=[],D=15,K=[...Ce].sort((te,G)=>(te.longitude||te.lng)-(G.longitude||G.lng));for(let te=0;te=",["get","peoplePraying"],Co],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const X=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function pe(ue,ye){const me=["interpolate",["linear"],["zoom"]];for(let Ce=0;Ce",["get","peoplePraying"],0],me=T();if(!N.every(E=>ue.getLayer(E))){for(const E of N)if(ue.getLayer(E))try{ue.removeLayer(E)}catch{}ue.addLayer({id:y,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":pe(X,1),"circle-color":me,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...tr(ue)}},"language-family-pins");for(const E of x)ue.addLayer({id:E,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":pe(X,1),"circle-radius-transition":M,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":me,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":M,...tr(ue)}},"language-family-pins")}}function de(){const ue=r();if(ue)for(const ye of N)ue.getLayer(ye)&&ue.removeLayer(ye)}function U(ue){const ye=r();if(!ye)return;const me=[">",["get","peoplePraying"],0],Ce=ue?["all",me,ue]:me;for(const E of N)if(ye.getLayer(E))try{ye.setFilter(E,Ce)}catch{}}function ee(){const ue=r();if(ue){if(W(),b&&(cancelAnimationFrame(b),b=null),p=!0,ue.getLayer("language-family-pins"))try{ue.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Co],1,[">",["get","peoplePraying"],0],1,3])}catch{}ce(ue),ve()}}function ve(){b&&(cancelAnimationFrame(b),b=null);const ue=++v;let ye=performance.now(),me=-1/0;function Ce(E){if(!p||ue!==v)return;const F=r();if(!F||!N.some(K=>F.getLayer(K))){b=null;return}if(E-me"u")return;const ye=typeof ue.getContainer=="function"?ue.getContainer():null;if(ye)try{L=new IntersectionObserver(me=>{for(const Ce of me)P=Ce.isIntersecting},{threshold:0}),L.observe(ye)}catch{L=null,P=!0}}function Te(){if(L){try{L.disconnect()}catch{}L=null}P=!0}function we(){p=!1,b&&(cancelAnimationFrame(b),b=null),Te();try{de();const ue=r();ue&&ue.getLayer("language-family-pins")&&ue.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:g,removeFamilyConnectionLines:h,updateLayerSource:k,removeLayer:w,hasLayer:_,setPaintProperty:m,mapEvents:s,startPrayerGlow:ee,stopPrayerGlow:we,syncGlowFilter:U,cleanup:d}}const go={center:[20,10],zoom:1.8,minZoom:.5,pitch:20,bearing:0};function H_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(go==null?void 0:go.center)||[20,10],defaultZoom:s=go==null?void 0:go.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(M,P,L={x:150,y:0}){const T=t();if(!T)return M;try{const X=T.getCanvas(),pe=X.width,W=X.height,de=T.project(M),U=window.devicePixelRatio||1,ee=(L.x||0)*U,ve=(L.y||0)*U,ce={x:de.x-ee,y:de.y-ve},Te=T.unproject(ce);return[Te.lng,Te.lat]}catch{return M}}function c(M,P=[]){const L=t();if(!L)return;let T=null,X=5;const pe=P.filter(de=>de.languageFamily===M);if(pe.length>0){let de=1/0,U=-1/0,ee=1/0,ve=-1/0;if(pe.forEach(ce=>{ce.longitude&&ce.latitude&&(de=Math.min(de,ce.longitude),U=Math.max(U,ce.longitude),ee=Math.min(ee,ce.latitude),ve=Math.max(ve,ce.latitude))}),de!==1/0){T=[(de+U)/2,(ee+ve)/2];const ce=U-de,Te=ve-ee,we=Math.max(ce,Te);we>50?X=2:we>20?X=3:we>10?X=4:we>5?X=5:X=6}}if(!T)return;const W=l(T);L.flyTo({center:W,zoom:X,...i})}function u(M){const P=t();if(!P)return;let L=null,T=4;const X=D_(M);if(X)L=X.center,T=X.zoom||4;else if(a!=null&&a.features){const W=a.features.find(de=>{var U,ee;return((U=de.properties)==null?void 0:U.region)===M||((ee=de.properties)==null?void 0:ee.name)===M});W&&(L=g(W))}if(!L)return;const pe=l(L);P.flyTo({center:pe,zoom:T,...i})}function g(M){if(!M||!M.geometry)return null;const{type:P,coordinates:L}=M.geometry;let T=[];if(P==="Polygon"?T=L[0]||[]:P==="MultiPolygon"&&L.forEach(W=>{T=T.concat(W[0]||[])}),T.length===0)return null;let X=0,pe=0;return T.forEach(W=>{X+=W[0],pe+=W[1]}),[X/T.length,pe/T.length]}function h(M,P={}){const L=t();if(!L)return;const T={center:M,...i,...P};L.flyTo(T)}function k(M,P){const L=t();if(!L||(M==null?void 0:M.longitude)==null||(M==null?void 0:M.latitude)==null)return;const T=P??Math.min(L.getZoom()+2,8);h([M.longitude,M.latitude],{zoom:T})}function w(M,P={top:40,right:40,bottom:40,left:40},L={}){const T=t();if(!T||!M)return;const X=L.maxZoom??4,pe=L.duration??900;T.fitBounds(M,{padding:P,maxZoom:X,duration:pe,...i,...L})}function _(){const M=t();M&&M.flyTo({center:r,zoom:s,...i})}const m=80,d=800,b=5,p=5,v=110,y=1.2;function f(M){const P=M.filter(Number.isFinite).slice().sort((E,F)=>E-F),L=P.length;if(!L)return null;let T=-1,X=0;for(let E=0;ET&&(T=D,X=E)}const pe=(X+1)%L,W=new Array(L);for(let E=0;E0&&F((E+180)%360+360)%360-180,Te=ce(ee),we=24,ue=360/we,ye=new Array(we).fill(0);for(const E of P){let F=Math.floor(((E+180)%360+360)%360/ue);F>=we&&(F=we-1),ye[F]++}let me=0;for(let E=1;Eye[me]&&(me=E);return{center:ce(-180+(me+.5)*ue),minLng:Te,maxLng:Te+(ve-ee),span:ve-ee}}function x(M){try{const P=M.getContainer&&M.getContainer().clientWidth||0,L=P>0?Math.log2(P/512):y,T=typeof M.getMinZoom=="function"?M.getMinZoom():L;return Math.max(T,L)}catch{return y}}function N(M,P,L,T){M.easeTo({center:[P,(L+T)/2],zoom:x(M),duration:d,essential:!0})}function S(M,P,L){if(L>v)return!0;try{const T=typeof M.cameraForBounds=="function"?M.cameraForBounds(P,{padding:m,maxZoom:b}):null;return T==null?!0:typeof T.zoom=="number"&&T.zoom<=x(M)+.05}catch{return!1}}function O(M,P){if(!Array.isArray(M))return M;switch(M[0]){case"get":return P==null?void 0:P[M[1]];case"literal":return M[1];case"has":return P!=null&&M[1]in P;case"!has":return P==null||!(M[1]in P);case"!":return!O(M[1],P);case"coalesce":{for(let T=1;T2){const pe=Number(O(M[2],P));return Number.isFinite(pe)?pe:0}return NaN}case"to-string":{const T=O(M[1],P);return T==null?"":String(T)}case"to-boolean":return!!O(M[1],P);case"slice":{const T=O(M[1],P),X=O(M[2],P),pe=M.length>3?O(M[3],P):void 0;return typeof T!="string"?"":pe!=null?T.slice(X,pe):T.slice(X)}default:return M}}function z(M,P){if(M===!0)return!0;if(M===!1)return!1;if(!Array.isArray(M))return!!M;const L=M[0];if(L==="all"){for(let T=1;T"||L===">="||L==="<"||L==="<="){const T=typeof M[1]=="string"?P==null?void 0:P[M[1]]:O(M[1],P),X=O(M[2],P);switch(L){case"==":return T===X||T==null&&X==null;case"!=":return!(T===X||T==null&&X==null);case">":return T>X;case">=":return T>=X;case"<":return T{const K=(D==null?void 0:D.properties)||{};return K.region===E||K.name===E||K.id===E});if(F){const D=[];let K=1/0,te=-1/0;const G=oe=>{for(const A of oe)Array.isArray(A[0])?G(A):Number.isFinite(A[0])&&Number.isFinite(A[1])&&(D.push(A[0]),A[1]te&&(te=A[1]))};(ye=F.geometry)!=null&&ye.coordinates&&G(F.geometry.coordinates);const Y=f(D);if(Y&&Number.isFinite(K)){const oe=[[Y.minLng,K],[Y.maxLng,te]];S(L,oe,Y.span)?N(L,Y.center,K,te):L.fitBounds(oe,{padding:m,maxZoom:b,duration:d,essential:!0});return}}}const T=P.sourceId??"language-families";if(!L.getSource(T))return;const X=P.matchExpr??M.filter;if(!X)return;const pe=j(L,T);if(!pe.length)return;const W=[];let de=1/0,U=-1/0,ee=0,ve=0,ce=0;const Te=new Set;for(const Ce of pe){const E=Ce==null?void 0:Ce.properties;if(!z(X,E))continue;const F=E==null?void 0:E.uniqueId;if(F!=null){if(Te.has(F))continue;Te.add(F)}const D=(me=Ce.geometry)==null?void 0:me.coordinates;if(!Array.isArray(D)||D.length<2)continue;const K=D[0],te=D[1];!Number.isFinite(K)||!Number.isFinite(te)||(ee===0&&(ve=K,ce=te),W.push(K),teU&&(U=te),ee++)}if(ee===0)return;if(ee===1){L.flyTo({center:[ve,ce],zoom:p,duration:d,essential:!0});return}const we=f(W)||{center:0,minLng:0,maxLng:0,span:0},ue=[[we.minLng,de],[we.maxLng,U]];if(S(L,ue,we.span)){N(L,we.center,de,U);return}try{L.fitBounds(ue,{padding:m,maxZoom:b,duration:d,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:h,flyToCoords:k,fitBounds:w,resetView:_,zoomToLegendRow:I,calculateRegionCenterFromPolygon:g}}const ps="#1a1a1a",Xo="selected-pin-highlight";function V_(e=ps){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function g(x){const p=t();if(!p)return;const y=x||"language-family-pins";if(!p.getLayer(y))return;const d=_=>{try{const T=_.features[0],S=T.properties,D=T.geometry.coordinates.slice();for(;Math.abs(_.lngLat.lng-D[0])>180;)D[0]+=_.lngLat.lng>D[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(T),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(D).setHTML(c(S)).addTo(p)}catch(T){console.error(` [${o}] Pin click handler error:`,T)}};p.on("click",y,d),l.value.push({event:"click",layer:y,handler:d})}function h(){const x=t();if(!x)return;const p="regions-fill";if(!x.getLayer(p))return;const y=d=>{const _=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const T of _)if(x.getLayer(T)){const S=x.queryRenderedFeatures(d.point,{layers:[T]});if(S&&S.length>0)return}if(d.features&&d.features.length>0){const T=d.features[0].properties;new mapboxgl.Popup().setLngLat(d.lngLat).setHTML(u(T)).addTo(x)}};x.on("click",p,y),l.value.push({event:"click",layer:p,handler:y})}function k(){const x=t();if(!x)return;const p="clusters";if(!x.getLayer(p))return;const y=d=>{const _=x.queryRenderedFeatures(d.point,{layers:[p]});if(!_.length)return;const T=_[0].properties.cluster_id,S=_[0].source;x.getSource(S).getClusterExpansionZoom(T,(D,z)=>{D||x.easeTo({center:_[0].geometry.coordinates,zoom:z})})};x.on("click",p,y),l.value.push({event:"click",layer:p,handler:y})}function w(x){const p=t();if(!p||!p.getLayer(x))return;const y=()=>{p.getCanvas().style.cursor="pointer"},d=()=>{p.getCanvas().style.cursor=""};p.on("mouseenter",x,y),p.on("mouseleave",x,d),l.value.push({event:"mouseenter",layer:x,handler:y}),l.value.push({event:"mouseleave",layer:x,handler:d})}function v(){g(),w("language-family-pins"),g("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function m(){h(),w("regions-fill")}function f(){const x=t();x&&(x.getLayer("language-family-pins")&&v(),x.getLayer("regions-fill")&&m(),x.getLayer("people-groups-pins")&&(g(),w("people-groups-pins")))}function b(){const x=t();if(x){for(const{event:p,layer:y,handler:d}of l.value)try{x.off(p,y,d)}catch{}l.value=[]}}return{attachAllEventHandlers:f,attachLanguageFamilyEvents:v,attachRegionEvents:m,attachPinClickHandler:g,attachRegionClickHandler:h,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:b,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Je={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"},kl=[">",["to-number",["get","peoplePraying"],0],0],wl={0:.25,8:.4,14:.5},aa={0:.1,8:.18,14:.22},ra={0:1.2,8:1.6,14:2},yg=["interpolate",["linear"],["zoom"],0,["case",kl,wl[0],aa[0]],8,["case",kl,wl[8],aa[8]],14,["case",kl,wl[14],aa[14]]],j_=["interpolate",["linear"],["zoom"],0,ra[0],8,ra[8],14,ra[14]],vg=["==",["to-number",["get","peoplePraying"],0],0],z_={prayer:[vg],prayerProgress:[vg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function U_(e){const t=z_[e]||[];if(!t.length)return j_;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,aa[0],ra[0]],8,["case",o,aa[8],ra[8]],14,["case",o,aa[14],ra[14]]]}const K_=[[/ sign language$/i,"Sign Language"]];function H_(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Je[a])return Je[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(Je[r])return Je[r]}}if(Je[t])return Je[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Je[n])return Je[n];for(const[a,r]of K_)if(a.test(t))return r;return null}function V_(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const Z=t();return Z?He(Z):null},s=bg({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=ue({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=ue({});function c(Z,ke="languageFamily"){const be=r();if(!be||!(Z!=null&&Z.length))return;const $e=b_(ke),P=Z.map(G=>{var Y,re,A,C,V,se,ge,fe,te,ie,Se,Re,ze,q,ae,Ae,Ne,Le,Ve;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||((Y=G._normalized)==null?void 0:Y.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((re=G._normalized)==null?void 0:re.languageFamily)||H_(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((A=G._normalized)==null?void 0:A.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((V=G._normalized)==null?void 0:V.cluster)||"",clusterLabel:G.clusterLabel||((se=G._normalized)==null?void 0:se.clusterLabel)||"",peopleGroup:G.peopleGroup||((ge=G._normalized)==null?void 0:ge.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((fe=G._normalized)==null?void 0:fe.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((te=G._normalized)==null?void 0:te.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((ie=G._normalized)==null?void 0:ie.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Se=G._normalized)==null?void 0:Se.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Re=G._normalized)==null?void 0:Re.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((ze=G._normalized)==null?void 0:ze.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((q=G._normalized)==null?void 0:q.bible)||"Not Available",jesusFilm:G.jesusFilm||((ae=G._normalized)==null?void 0:ae.jesusFilm)||"Not Available",radio:G.radio||((Ae=G._normalized)==null?void 0:Ae.radio)||"Not Available",gospel:G.gospel||((Ne=G._normalized)==null?void 0:Ne.gospel)||"Not Available",audio:G.audio||((Le=G._normalized)==null?void 0:Le.audio)||"Not Available",stories:G.stories||((Ve=G._normalized)==null?void 0:Ve.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),B=.04,O=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,K=new Map;for(const G of P){const Y=O(G);K.has(Y)||K.set(Y,[]),K.get(Y).push(G)}for(const G of K.values()){if(G.length<2)continue;const[Y,re]=G[0].geometry.coordinates,A=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),be.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":xl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function u(Z,ke="doxa-regions"){const be=r();if(!be)return;be.getLayer("regions-fill")&&be.removeLayer("regions-fill"),be.getLayer("regions-border")&&be.removeLayer("regions-border"),be.getSource("regions")&&be.removeSource("regions");const $e={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},P="#cccccc",B=Z&&Z.isoToRegion?Z.isoToRegion:{},O=[],K={};for(const[Y,re]of Object.entries(B)){const A=$e[String(re).toLowerCase()];A&&O.push(Y,A),K[re]||(K[re]=[]),K[re].push(Y)}l.value=K;const X=O.length?["match",["get","iso_3166_1_alpha_3"],...O,P]:P,G=be.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":be.getLayer("language-family-pins")?"language-family-pins":void 0;be.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),be.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":X,"fill-opacity":ke==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},G),be.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":X,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},G),i.value.regions=!0,s.attachRegionEvents()}function g(Z,ke){const be=r();if(!be||!Z||!(ke!=null&&ke.length))return;h();const $e=ke.filter(X=>{var Y;return(X.languageFamily||((Y=X._normalized)==null?void 0:Y.languageFamily)||"Unknown")===Z});if($e.length<2)return;const P=n(Z),B=[],O=15,K=[...$e].sort((X,G)=>(X.longitude||X.lng)-(G.longitude||G.lng));for(let X=0;X=",["get","peoplePraying"],Co],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const ee=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function de(Z,ke){const be=["interpolate",["linear"],["zoom"]];for(let $e=0;$e",["get","peoplePraying"],0],be=N();if(!T.every(P=>Z.getLayer(P))){for(const P of T)if(Z.getLayer(P))try{Z.removeLayer(P)}catch{}Z.addLayer({id:y,type:"circle",source:"language-families",filter:ke,paint:{"circle-radius":de(ee,1),"circle-color":be,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...tr(Z)}},"language-family-pins");for(const P of _)Z.addLayer({id:P,type:"circle",source:"language-families",filter:ke,paint:{"circle-radius":de(ee,1),"circle-radius-transition":R,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":be,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":R,...tr(Z)}},"language-family-pins")}}function le(){const Z=r();if(Z)for(const ke of T)Z.getLayer(ke)&&Z.removeLayer(ke)}function U(Z){const ke=r();if(!ke)return;const be=[">",["get","peoplePraying"],0],$e=Z?["all",be,Z]:be;for(const P of T)if(ke.getLayer(P))try{ke.setFilter(P,$e)}catch{}}function oe(){const Z=r();if(Z){if(W(),b&&(cancelAnimationFrame(b),b=null),x=!0,Z.getLayer("language-family-pins"))try{Z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Co],1,[">",["get","peoplePraying"],0],1,3])}catch{}ve(Z),he()}}function he(){b&&(cancelAnimationFrame(b),b=null);const Z=++p;let ke=performance.now(),be=-1/0;function $e(P){if(!x||Z!==p)return;const B=r();if(!B||!T.some(K=>B.getLayer(K))){b=null;return}if(P-be"u")return;const ke=typeof Z.getContainer=="function"?Z.getContainer():null;if(ke)try{L=new IntersectionObserver(be=>{for(const $e of be)E=$e.isIntersecting},{threshold:0}),L.observe(ke)}catch{L=null,E=!0}}function Ce(){if(L){try{L.disconnect()}catch{}L=null}E=!0}function xe(){x=!1,b&&(cancelAnimationFrame(b),b=null),Ce();try{le();const Z=r();Z&&Z.getLayer("language-family-pins")&&Z.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:g,removeFamilyConnectionLines:h,updateLayerSource:k,removeLayer:w,hasLayer:v,setPaintProperty:m,mapEvents:s,startPrayerGlow:oe,stopPrayerGlow:xe,syncGlowFilter:U,cleanup:f}}const go={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function q_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(go==null?void 0:go.center)||[20,10],defaultZoom:s=go==null?void 0:go.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(R,E,L={x:150,y:0}){const N=t();if(!N)return R;try{const ee=N.getCanvas(),de=ee.width,W=ee.height,le=N.project(R),U=window.devicePixelRatio||1,oe=(L.x||0)*U,he=(L.y||0)*U,ve={x:le.x-oe,y:le.y-he},Ce=N.unproject(ve);return[Ce.lng,Ce.lat]}catch{return R}}function c(R,E=[]){const L=t();if(!L)return;let N=null,ee=5;const de=E.filter(le=>le.languageFamily===R);if(de.length>0){let le=1/0,U=-1/0,oe=1/0,he=-1/0;if(de.forEach(ve=>{ve.longitude&&ve.latitude&&(le=Math.min(le,ve.longitude),U=Math.max(U,ve.longitude),oe=Math.min(oe,ve.latitude),he=Math.max(he,ve.latitude))}),le!==1/0){N=[(le+U)/2,(oe+he)/2];const ve=U-le,Ce=he-oe,xe=Math.max(ve,Ce);xe>50?ee=2:xe>20?ee=3:xe>10?ee=4:xe>5?ee=5:ee=6}}if(!N)return;const W=l(N);L.flyTo({center:W,zoom:ee,...i})}function u(R){const E=t();if(!E)return;let L=null,N=4;const ee=G_(R);if(ee)L=ee.center,N=ee.zoom||4;else if(a!=null&&a.features){const W=a.features.find(le=>{var U,oe;return((U=le.properties)==null?void 0:U.region)===R||((oe=le.properties)==null?void 0:oe.name)===R});W&&(L=g(W))}if(!L)return;const de=l(L);E.flyTo({center:de,zoom:N,...i})}function g(R){if(!R||!R.geometry)return null;const{type:E,coordinates:L}=R.geometry;let N=[];if(E==="Polygon"?N=L[0]||[]:E==="MultiPolygon"&&L.forEach(W=>{N=N.concat(W[0]||[])}),N.length===0)return null;let ee=0,de=0;return N.forEach(W=>{ee+=W[0],de+=W[1]}),[ee/N.length,de/N.length]}function h(R,E={}){const L=t();if(!L)return;const N={center:R,...i,...E};L.flyTo(N)}function k(R,E){const L=t();if(!L||(R==null?void 0:R.longitude)==null||(R==null?void 0:R.latitude)==null)return;const N=E??Math.min(L.getZoom()+2,8);h([R.longitude,R.latitude],{zoom:N})}function w(R,E={top:40,right:40,bottom:40,left:40},L={}){const N=t();if(!N||!R)return;const ee=L.maxZoom??4,de=L.duration??900;N.fitBounds(R,{padding:E,maxZoom:ee,duration:de,...i,...L})}function v(){const R=t();R&&R.flyTo({center:r,zoom:s,...i})}const m=80,f=800,b=5,x=5,p=110,y=1.2;function d(R){const E=R.filter(Number.isFinite).slice().sort((P,B)=>P-B),L=E.length;if(!L)return null;let N=-1,ee=0;for(let P=0;PN&&(N=O,ee=P)}const de=(ee+1)%L,W=new Array(L);for(let P=0;P0&&B((P+180)%360+360)%360-180,Ce=ve(oe),xe=24,Z=360/xe,ke=new Array(xe).fill(0);for(const P of E){let B=Math.floor(((P+180)%360+360)%360/Z);B>=xe&&(B=xe-1),ke[B]++}let be=0;for(let P=1;Pke[be]&&(be=P);return{center:ve(-180+(be+.5)*Z),minLng:Ce,maxLng:Ce+(he-oe),span:he-oe}}function _(R){try{const E=R.getContainer&&R.getContainer().clientWidth||0,L=E>0?Math.log2(E/512):y,N=typeof R.getMinZoom=="function"?R.getMinZoom():L;return Math.max(N,L)}catch{return y}}function T(R,E,L,N){R.easeTo({center:[E,(L+N)/2],zoom:_(R),duration:f,essential:!0})}function S(R,E,L){if(L>p)return!0;try{const N=typeof R.cameraForBounds=="function"?R.cameraForBounds(E,{padding:m,maxZoom:b}):null;return N==null?!0:typeof N.zoom=="number"&&N.zoom<=_(R)+.05}catch{return!1}}function D(R,E){if(!Array.isArray(R))return R;switch(R[0]){case"get":return E==null?void 0:E[R[1]];case"literal":return R[1];case"has":return E!=null&&R[1]in E;case"!has":return E==null||!(R[1]in E);case"!":return!D(R[1],E);case"coalesce":{for(let N=1;N2){const de=Number(D(R[2],E));return Number.isFinite(de)?de:0}return NaN}case"to-string":{const N=D(R[1],E);return N==null?"":String(N)}case"to-boolean":return!!D(R[1],E);case"slice":{const N=D(R[1],E),ee=D(R[2],E),de=R.length>3?D(R[3],E):void 0;return typeof N!="string"?"":de!=null?N.slice(ee,de):N.slice(ee)}default:return R}}function z(R,E){if(R===!0)return!0;if(R===!1)return!1;if(!Array.isArray(R))return!!R;const L=R[0];if(L==="all"){for(let N=1;N"||L===">="||L==="<"||L==="<="){const N=typeof R[1]=="string"?E==null?void 0:E[R[1]]:D(R[1],E),ee=D(R[2],E);switch(L){case"==":return N===ee||N==null&&ee==null;case"!=":return!(N===ee||N==null&&ee==null);case">":return N>ee;case">=":return N>=ee;case"<":return N{const K=(O==null?void 0:O.properties)||{};return K.region===P||K.name===P||K.id===P});if(B){const O=[];let K=1/0,X=-1/0;const G=re=>{for(const A of re)Array.isArray(A[0])?G(A):Number.isFinite(A[0])&&Number.isFinite(A[1])&&(O.push(A[0]),A[1]X&&(X=A[1]))};(ke=B.geometry)!=null&&ke.coordinates&&G(B.geometry.coordinates);const Y=d(O);if(Y&&Number.isFinite(K)){const re=[[Y.minLng,K],[Y.maxLng,X]];S(L,re,Y.span)?T(L,Y.center,K,X):L.fitBounds(re,{padding:m,maxZoom:b,duration:f,essential:!0});return}}}const N=E.sourceId??"language-families";if(!L.getSource(N))return;const ee=E.matchExpr??R.filter;if(!ee)return;const de=j(L,N);if(!de.length)return;const W=[];let le=1/0,U=-1/0,oe=0,he=0,ve=0;const Ce=new Set;for(const $e of de){const P=$e==null?void 0:$e.properties;if(!z(ee,P))continue;const B=P==null?void 0:P.uniqueId;if(B!=null){if(Ce.has(B))continue;Ce.add(B)}const O=(be=$e.geometry)==null?void 0:be.coordinates;if(!Array.isArray(O)||O.length<2)continue;const K=O[0],X=O[1];!Number.isFinite(K)||!Number.isFinite(X)||(oe===0&&(he=K,ve=X),W.push(K),XU&&(U=X),oe++)}if(oe===0)return;if(oe===1){L.flyTo({center:[he,ve],zoom:x,duration:f,essential:!0});return}const xe=d(W)||{center:0,minLng:0,maxLng:0,span:0},Z=[[xe.minLng,le],[xe.maxLng,U]];if(S(L,Z,xe.span)){T(L,xe.center,le,U);return}try{L.fitBounds(Z,{padding:m,maxZoom:b,duration:f,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:h,flyToCoords:k,fitBounds:w,resetView:v,zoomToLegendRow:I,calculateRegionCenterFromPolygon:g}}const ps="#1a1a1a",Xo="selected-pin-highlight";function W_(e=ps){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` `)}async function l3(e,{scale:t=2,type:o="image/webp",quality:n=.85}={}){const a=pf(e),r=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a)}`,s=new Image;s.src=r,await s.decode();const i=Math.round(s.naturalWidth*t),l=Math.round(s.naturalHeight*t),c=document.createElement("canvas");c.width=i,c.height=l;const u=c.getContext("2d");u.fillStyle="#ffffff",u.fillRect(0,0,i,l),u.drawImage(s,0,0,i,l);const g=await new Promise(h=>c.toBlob(h,o,n));if(!g)throw new Error("canvas.toBlob returned nothing");return g}async function c3(e){const t=await createImageBitmap(e),o=document.createElement("canvas");o.width=40,o.height=40;const n=o.getContext("2d");n.drawImage(t,t.width*.4,t.height*.45,40,40,0,0,40,40);const a=n.getImageData(0,0,40,40).data;let r=0;for(let s=0;s40}const u3=Object.freeze(Object.defineProperty({__proto__:null,inlineSvg:pf,looksRendered:c3,rasterPoster:l3},Symbol.toStringTag,{value:"Module"}))})(); + `}function la(e){return e==="<"?"<":e===">"?">":"&"}const sC=Object.freeze(Object.defineProperty({__proto__:null,posterPixels:Gl,useMapPoster:Bl},Symbol.toStringTag,{value:"Module"})),iC=".title-slot[data-v-7caa85cc]{padding:4% 2%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%;height:100%;color:#0a0a0a}.title-slot__title[data-v-7caa85cc]{font-weight:700;font-size:clamp(20px,6vw,64px);line-height:1.05;letter-spacing:-.01em}.title-slot__subtitle[data-v-7caa85cc]{margin-top:.35em;font-weight:500;font-size:clamp(12px,2.4vw,28px);color:#444}",lC={class:"title-slot__title"},cC={key:0,class:"title-slot__subtitle"},uC=Gt({__name:"TitleSlot",props:{title:{type:String,default:""},subtitle:{type:String,default:""},align:{type:String,default:"left"}},emits:[],setup(e){const t=e,o=J(()=>({textAlign:t.align,fontFamily:ft.title.fontFamily,background:"rgba(255,255,255,0.92)",borderBottom:"1px solid #eee"}));return(n,a)=>(H(),ne("div",{class:"title-slot",style:Ke(o.value)},[$("div",lC,me(e.title||"Untitled"),1),e.subtitle?(H(),ne("div",cC,me(e.subtitle),1)):ye("",!0)],4))}},[["styles",[iC]],["__scopeId","data-v-7caa85cc"]]),dC=".poster-slot[data-v-1a65b1e9]{display:none}",pC={class:"poster-slot poster-slot--LegendSlot","data-slot":"LegendSlot"},gC=Gt({__name:"LegendSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",pC))}},[["styles",[dC]],["__scopeId","data-v-1a65b1e9"]]),fC=".poster-slot[data-v-2cbe964e]{display:none}",hC={class:"poster-slot poster-slot--ScaleBarSlot","data-slot":"ScaleBarSlot"},mC=Gt({__name:"ScaleBarSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",hC))}},[["styles",[fC]],["__scopeId","data-v-2cbe964e"]]),bC=".poster-slot[data-v-d12819c9]{display:none}",yC={class:"poster-slot poster-slot--NorthArrowSlot","data-slot":"NorthArrowSlot"},vC=Gt({__name:"NorthArrowSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",yC))}},[["styles",[bC]],["__scopeId","data-v-d12819c9"]]),_C=".poster-slot[data-v-93c6c172]{display:none}",xC={class:"poster-slot poster-slot--FooterSlot","data-slot":"FooterSlot"},kC=Gt({__name:"FooterSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(H(),ne("div",xC))}},[["styles",[_C]],["__scopeId","data-v-93c6c172"]]),wC=".poster-preview[data-v-563f7dcd]{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;padding:0}.poster-preview__page[data-v-563f7dcd]{display:block}.poster-preview__map[data-v-563f7dcd]{object-fit:cover;display:block}.poster-preview__map.placeholder[data-v-563f7dcd]{display:flex;align-items:center;justify-content:center;background:#ddd;color:#555;font-size:14px}.poster-preview__slot[data-v-563f7dcd]{pointer-events:none}",AC=["src"],SC=Gt({__name:"PosterPreview",props:{spec:{type:Object,required:!0},getMap:{type:Function,required:!0},legendRows:{type:Array,default:()=>[]},metadata:{type:Object,default:()=>({})}},setup(e){const t=e,o=ue(null),n=ue(""),a=ue(800),r=ue(0),s=ue(0),i=ue(null),l=J(()=>Gl(t.spec)),c=J(()=>Yg(t.spec,l.value)),u=J(()=>{const v=l.value.width;return v?Math.min(1,(a.value-24)/v):1}),g=J(()=>({width:l.value.width+"px",height:l.value.height+"px",transform:`scale(${u.value})`,transformOrigin:"top left",background:"#fff",position:"relative",boxShadow:"0 6px 24px rgba(0,0,0,0.25)"}));function h(v){return v?{position:"absolute",left:v.x+"px",top:v.y+"px",width:v.w+"px",height:v.h+"px"}:{display:"none"}}let k=null;qt(()=>{o.value&&typeof ResizeObserver<"u"&&(k=new ResizeObserver(()=>{var v;a.value=((v=o.value)==null?void 0:v.clientWidth)||800}),k.observe(o.value),a.value=o.value.clientWidth),w()}),Ra(()=>{k&&(k.disconnect(),k=null)}),Oe(()=>[t.spec.widthIn,t.spec.heightIn,t.spec.orientation,t.spec.dpi],()=>{w()});async function w(){var m,f,b,x;const v=(m=t.getMap)==null?void 0:m.call(t);if(v)try{(!v.loaded()||v.isMoving())&&await new Promise(y=>v.once("idle",y)),n.value=v.getCanvas().toDataURL("image/png"),r.value=((f=v.getBearing)==null?void 0:f.call(v))||0;const p=(b=v.getCenter)==null?void 0:b.call(v);s.value=(p==null?void 0:p.lat)||0,i.value=(x=v.getBounds)==null?void 0:x.call(v)}catch(p){console.warn("[PosterPreview] snapshot failed",p)}}return(v,m)=>{var f,b,x,p,y,d,_,T,S,D,z;return H(),ne("div",{ref_key:"rootEl",ref:o,class:"poster-preview"},[$("div",{class:"poster-preview__page",style:Ke(g.value)},[n.value?(H(),ne("img",{key:0,class:"poster-preview__map",src:n.value,style:Ke(h(c.value.map)),alt:"map preview"},null,12,AC)):(H(),ne("div",{key:1,class:"poster-preview__map placeholder",style:Ke(h(c.value.map))}," Loading map snapshot… ",4)),(f=e.spec.slots)!=null&&f.title?(H(),Ue(uC,{key:2,class:"poster-preview__slot",style:Ke(h(c.value.title)),title:e.spec.slots.title.text,subtitle:e.spec.slots.title.subtitle},null,8,["style","title","subtitle"])):ye("",!0),(b=e.spec.slots)!=null&&b.legend&&((x=e.spec.slots.legend.rows)!=null&&x.length)?(H(),Ue(gC,{key:3,class:"poster-preview__slot",style:Ke(h(c.value.legend)),rows:e.spec.slots.legend.rows,type:e.spec.slots.legend.type},null,8,["style","rows","type"])):ye("",!0),(p=e.spec.slots)!=null&&p.scaleBar?(H(),Ue(mC,{key:4,class:"poster-preview__slot",style:Ke(h(c.value.scaleBar)),"map-bounds":i.value,"map-center-lat":s.value},null,8,["style","map-bounds","map-center-lat"])):ye("",!0),(y=e.spec.slots)!=null&&y.north?(H(),Ue(vC,{key:5,class:"poster-preview__slot",style:Ke(h(c.value.north)),bearing:r.value},null,8,["style","bearing"])):ye("",!0),Ye(kC,{class:"poster-preview__slot",style:Ke(h(c.value.footer)),left:(_=(d=e.spec.slots)==null?void 0:d.footer)==null?void 0:_.left,right:(S=(T=e.spec.slots)==null?void 0:T.footer)==null?void 0:S.right,attribution:(z=(D=e.spec.slots)==null?void 0:D.footer)==null?void 0:z.attribution,metadata:e.metadata},null,8,["style","left","right","attribution","metadata"])],4)],512)}}},[["styles",[wC]],["__scopeId","data-v-563f7dcd"]]),ef=25.4,tf=e=>e/ef,of=e=>e*ef;function Po(e,t,o,n,a,r,s,i){const l=a==="in"?{w:o,h:n}:{w:nf(tf(o)),h:nf(tf(n))},c=a==="mm"?{w:o,h:n}:{w:af(of(o)),h:af(of(n))},u={w:Math.round(l.w*300),h:Math.round(l.h*300)};return{id:e,label:t,inches:l,mm:c,px300:u,category:r,orientation:s,recommendedDpi:i}}function nf(e){return Math.round(e*1e3)/1e3}function af(e){return Math.round(e*10)/10}const rf={letter:Po("letter",'Letter (8.5×11")',8.5,11,"in","us","either",300),tabloid:Po("tabloid",'Tabloid (11×17")',11,17,"in","us","either",300),"18x24":Po("18x24",'18 × 24"',18,24,"in","us","portrait",300),"24x36":Po("24x36",'24 × 36"',24,36,"in","us","portrait",300),"27x40":Po("27x40",'27 × 40"',27,40,"in","us","portrait",200),a4:Po("a4","A4 (210 × 297 mm)",210,297,"mm","iso","either",300),a3:Po("a3","A3 (297 × 420 mm)",297,420,"mm","iso","either",300),a2:Po("a2","A2 (420 × 594 mm)",420,594,"mm","iso","portrait",300),a1:Po("a1","A1 (594 × 841 mm)",594,841,"mm","iso","portrait",200),a0:Po("a0","A0 (841 × 1189 mm)",841,1189,"mm","iso","portrait",150)},CC=["letter","tabloid","18x24","24x36","27x40","a4","a3","a2","a1","a0"],LC="24x36";function sf(e){return rf[e]||null}function $C(){return CC.map(e=>rf[e])}const EC=".poster-dlg-backdrop[data-v-39b141d9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}.poster-dlg[data-v-39b141d9]{background:#fff;width:min(1100px,95vw);height:min(800px,92vh);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000059}.poster-dlg__header[data-v-39b141d9]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #eee}.poster-dlg__header h2[data-v-39b141d9]{margin:0;font-size:16px;font-weight:600}.poster-dlg__close[data-v-39b141d9]{background:none;border:0;font-size:22px;cursor:pointer;color:#555}.poster-dlg__body[data-v-39b141d9]{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr}.poster-dlg__controls[data-v-39b141d9]{padding:14px;border-right:1px solid #eee;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#fafafa}.poster-dlg__preview[data-v-39b141d9]{padding:14px;overflow:auto;background:#2b2b2b}.ctl[data-v-39b141d9]{display:flex;flex-direction:column;font-size:12px;color:#444;gap:4px}.ctl--check[data-v-39b141d9]{border:0;padding:0;margin:0}.ctl--check legend[data-v-39b141d9]{font-size:12px;color:#444;padding:0 0 4px}.ctl--check label[data-v-39b141d9]{display:flex;align-items:center;gap:6px;font-size:12px}.ctl input[data-v-39b141d9],.ctl select[data-v-39b141d9]{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.muted[data-v-39b141d9]{opacity:.65}.actions[data-v-39b141d9]{display:flex;gap:8px;margin-top:auto}.btn[data-v-39b141d9]{padding:8px 12px;border-radius:4px;border:1px solid #ccc;cursor:pointer;font-size:13px}.btn--primary[data-v-39b141d9]{background:#26d;color:#fff;border-color:#26d}.btn--primary[data-v-39b141d9]:disabled{background:#88aae0;cursor:progress}.btn--ghost[data-v-39b141d9]{background:transparent}.render-status[data-v-39b141d9]{display:flex;flex-direction:column;gap:6px;padding:8px;background:#fff;border:1px solid #eee;border-radius:4px;font-size:12px}.render-status progress[data-v-39b141d9]{width:100%}.poster-dlg-enter-active[data-v-39b141d9],.poster-dlg-leave-active[data-v-39b141d9]{transition:opacity .15s ease}.poster-dlg-enter-from[data-v-39b141d9],.poster-dlg-leave-to[data-v-39b141d9]{opacity:0}",PC={class:"poster-dlg",role:"dialog","aria-modal":"true","aria-label":"Export Poster"},TC={class:"poster-dlg__header"},NC={class:"poster-dlg__body"},RC={class:"poster-dlg__controls"},MC={class:"ctl"},IC=["value"],FC={class:"ctl"},OC={class:"ctl"},DC={class:"ctl"},BC={class:"ctl"},GC={class:"ctl"},jC={class:"ctl ctl--check"},zC={key:0,class:"render-status"},UC=["max","value"],KC={class:"actions"},HC=["disabled"],VC={class:"poster-dlg__preview"},qC=Object.freeze(Object.defineProperty({__proto__:null,default:Gt({__name:"PosterDialog",props:{modelValue:{type:Boolean,default:!1},getMap:{type:Function,required:!0},legendRows:{type:Array,default:()=>[]},metadata:{type:Object,default:()=>({})},initialSize:{type:String,default:LC}},emits:["update:modelValue","rendered","error"],setup(e,{emit:t}){const o=e,n=t,a=J({get:()=>o.modelValue,set:d=>n("update:modelValue",d)}),{scrimRef:r,scrimStyle:s}=vs(a),i=$C(),l=ue(o.initialSize),c=ue("portrait"),u=ue(300),g=ue("png"),h=ue(""),k=ue(""),w=ue(!0),v=ue(!0),m=ue(!0);Oe(l,d=>{const _=sf(d);_&&(u.value=_.recommendedDpi,_.orientation!=="either"&&(c.value=_.orientation))},{immediate:!0});const f=J(()=>{const d=sf(l.value);if(!d)return Dl({widthIn:24,heightIn:36});const _=Dl({widthIn:d.inches.w,heightIn:d.inches.h,dpi:u.value,orientation:c.value});return _.slots.title={..._.slots.title,text:h.value,subtitle:k.value},_.slots.legend=w.value?{..._.slots.legend,rows:o.legendRows}:null,_.slots.scaleBar=v.value,_.slots.north=m.value,_.slots.footer={..._.slots.footer,left:o.metadata.source?`Source: ${o.metadata.source}`:"",right:o.metadata.date?`${o.metadata.date}`:new Date().toISOString().slice(0,10),attribution:ft.footer.attribution},_}),b=Bl(o.getMap);async function x(){try{const d=await b.render(f.value,g.value),_=g.value==="pdf"?"pdf":"png",T=(h.value||"poster").replace(/\W+/g,"-").toLowerCase();y(d,`${T}.${_}`),n("rendered",{blob:d,format:g.value,spec:f.value})}catch(d){console.error("[PosterDialog] render failed",d),n("error",d)}}function p(){a.value=!1}function y(d,_){const T=URL.createObjectURL(d),S=document.createElement("a");S.href=T,S.download=_,document.body.appendChild(S),S.click(),S.remove(),setTimeout(()=>URL.revokeObjectURL(T),1500)}return(d,_)=>(H(),Ue(qm,{name:"poster-dlg"},{default:Ft(()=>[a.value?(H(),ne("div",{key:0,ref_key:"scrimRef",ref:r,style:Ke(pe(s)),class:"poster-dlg-backdrop",onClick:st(p,["self"])},[$("section",PC,[$("header",TC,[Go(d.$slots,"header",{},()=>[_[10]||(_[10]=$("h2",null,"Export Poster",-1))],!0),$("button",{class:"poster-dlg__close",type:"button","aria-label":"Close",onClick:p},"×")]),$("div",NC,[$("aside",RC,[$("label",MC,[_[11]||(_[11]=$("span",null,"Size",-1)),Vt($("select",{"onUpdate:modelValue":_[0]||(_[0]=T=>l.value=T)},[(H(!0),ne(Ie,null,vt(pe(i),T=>(H(),ne("option",{key:T.id,value:T.id},me(T.label),9,IC))),128))],512),[[Zr,l.value]])]),$("label",FC,[_[13]||(_[13]=$("span",null,"Orientation",-1)),Vt($("select",{"onUpdate:modelValue":_[1]||(_[1]=T=>c.value=T)},[..._[12]||(_[12]=[$("option",{value:"portrait"},"Portrait",-1),$("option",{value:"landscape"},"Landscape",-1)])],512),[[Zr,c.value]])]),$("label",OC,[_[15]||(_[15]=$("span",null,"DPI",-1)),Vt($("select",{"onUpdate:modelValue":_[2]||(_[2]=T=>u.value=T)},[..._[14]||(_[14]=[$("option",{value:150},"150 (large posters)",-1),$("option",{value:200},"200 (balanced)",-1),$("option",{value:300},"300 (sharp)",-1)])],512),[[Zr,u.value,void 0,{number:!0}]])]),$("label",DC,[_[17]||(_[17]=$("span",null,"Format",-1)),Vt($("select",{"onUpdate:modelValue":_[3]||(_[3]=T=>g.value=T)},[..._[16]||(_[16]=[$("option",{value:"png"},"PNG (raster)",-1),$("option",{value:"pdf"},"PDF (raster on vector page)",-1)])],512),[[Zr,g.value]]),Go(d.$slots,"format-extras",{},void 0,!0)]),$("label",BC,[_[18]||(_[18]=$("span",null,"Title",-1)),Vt($("input",{"onUpdate:modelValue":_[4]||(_[4]=T=>h.value=T),type:"text",placeholder:"Map title"},null,512),[[Jr,h.value]])]),$("label",GC,[_[19]||(_[19]=$("span",null,"Subtitle",-1)),Vt($("input",{"onUpdate:modelValue":_[5]||(_[5]=T=>k.value=T),type:"text",placeholder:"(optional)"},null,512),[[Jr,k.value]])]),$("fieldset",jC,[_[23]||(_[23]=$("legend",null,"Slots",-1)),$("label",null,[Vt($("input",{"onUpdate:modelValue":_[6]||(_[6]=T=>w.value=T),type:"checkbox"},null,512),[[Ei,w.value]]),_[20]||(_[20]=mt(" Legend",-1))]),$("label",null,[Vt($("input",{"onUpdate:modelValue":_[7]||(_[7]=T=>v.value=T),type:"checkbox"},null,512),[[Ei,v.value]]),_[21]||(_[21]=mt(" Scale bar",-1))]),$("label",null,[Vt($("input",{"onUpdate:modelValue":_[8]||(_[8]=T=>m.value=T),type:"checkbox"},null,512),[[Ei,m.value]]),_[22]||(_[22]=mt(" North arrow",-1))]),_[24]||(_[24]=$("label",{class:"muted"},[$("input",{type:"checkbox",checked:"",disabled:""}),mt(" Footer (attribution required)")],-1))]),pe(b).isRendering.value?(H(),ne("div",zC,[$("strong",null,me(pe(b).progress.value.phase),1),$("progress",{max:pe(b).progress.value.total||1,value:pe(b).progress.value.completed},null,8,UC),$("small",null,me(pe(b).progress.value.message),1),$("button",{class:"btn btn--ghost",type:"button",onClick:_[9]||(_[9]=(...T)=>pe(b).cancel&&pe(b).cancel(...T))},"Cancel")])):ye("",!0),$("div",KC,[$("button",{class:"btn btn--ghost",type:"button",onClick:p},"Close"),$("button",{class:"btn btn--primary",type:"button",disabled:pe(b).isRendering.value,onClick:x},me(pe(b).isRendering.value?"Rendering…":`Render ${g.value.toUpperCase()}`),9,HC)])]),$("main",VC,[Ye(SC,{spec:f.value,"get-map":e.getMap,"legend-rows":e.legendRows,metadata:e.metadata},null,8,["spec","get-map","legend-rows","metadata"])])])])],4)):ye("",!0)]),_:3}))}},[["styles",[EC]],["__scopeId","data-v-39b141d9"]])},Symbol.toStringTag,{value:"Module"}));function lf(e,t,o,n){const a=parseFloat(t)-parseFloat(n),r=parseFloat(e)-parseFloat(o);return Math.sqrt(a*a+r*r)}function WC(e,t){const o={};for(const n of e){const a=t(n);o[a]||(o[a]=[]),o[a].push(n)}return o}const YC=Object.freeze({cluster:!0,clusterMaxZoom:6,clusterRadius:40}),XC=Object.freeze(["step",["get","point_count"],"#51bbd6",10,"#f1f075",50,"#f28cb1",500,"#e74c3c"]),JC=Object.freeze(["step",["get","point_count"],15,10,20,50,25,500,35]);class cf{constructor(t={}){this.maxConnectionDistance=t.maxConnectionDistance??1/0}_calculateDistance(t,o){return lf(parseFloat(t.latitude),parseFloat(t.longitude),parseFloat(o.latitude),parseFloat(o.longitude))}_createUnionFind(t){const o=Array.from({length:t},(s,i)=>i),n=new Array(t).fill(0),a=s=>(o[s]!==s&&(o[s]=a(o[s])),o[s]);return{find:a,union:(s,i)=>{const l=a(s),c=a(i);return l===c?!1:(n[l]n[c]?o[c]=l:(o[c]=l,n[l]++),!0)}}}generateMSTLines(t,o={}){const n=o.maxConnectionDistance??this.maxConnectionDistance;if(!t||t.length<2)return[];const a=t.filter(g=>{const h=parseFloat(g.latitude),k=parseFloat(g.longitude);return!isNaN(h)&&!isNaN(k)});if(a.length<2)return[];const r=[];for(let g=0;gg.distance-h.distance);const s=this._createUnionFind(a.length),i=[];let l=0;const c=a.length-1;for(const g of r){if(l>=c)break;s.union(g.from,g.to)&&(i.push(g),l++)}const u=i.map(g=>({type:"Feature",geometry:{type:"LineString",coordinates:[[parseFloat(g.fromPoint.longitude),parseFloat(g.fromPoint.latitude)],[parseFloat(g.toPoint.longitude),parseFloat(g.toPoint.latitude)]]},properties:{distance:g.distance,algorithm:"MST"}}));return i.length${n} deg).`),u}generateMultiGroupMSTLines(t,o=null,n={}){const a={},r=Object.keys(t).sort((s,i)=>t[i].length-t[s].length);for(const s of r){const i=t[s];if(!i||i.length<2){a[s]={lines:[],count:0,pointCount:(i==null?void 0:i.length)||0};continue}const l=this.generateMSTLines(i,n);if(typeof o=="function"){const c=o(s);l.forEach(u=>{u.properties={...u.properties,group:s,color:c}})}else l.forEach(c=>{c.properties={...c.properties,group:s}});a[s]={lines:l,count:l.length,pointCount:i.length}}return a}generateAllMSTLines(t,o=null,n={}){const a=this.generateMultiGroupMSTLines(t,o,n),r=[];for(const s in a)r.push(...a[s].lines);return r}getMSTStats(t,o={}){const n=this.generateMultiGroupMSTLines(t,null,o);let a=0,r=0;const s=[];for(const l in n){const{lines:c,pointCount:u}=n[l];a+=c.length,r+=u;const g=Math.max(0,u-1),h=u>1?(c.length/g*100).toFixed(1):100;s.push({name:l,points:u,lines:c.length,expected:g,coverage:h+"%",hasOrphans:c.lengthc.points-l.points);const i=s.filter(l=>l.hasOrphans).length;return{algorithm:"MST (Minimum Spanning Tree)",totalGroups:Object.keys(t).length,totalPoints:r,totalLines:a,expectedLines:Math.max(0,r-Object.keys(t).length),groupsWithOrphans:i,allPointsConnected:i===0,groups:s}}}new cf;class uf{constructor(t={}){this.maxDistance=t.maxDistance??15,this.maxNeighbors=t.maxNeighbors??15,this.sortKey=t.sortKey??"longitude"}_calculateDistance(t,o,n,a){return lf(t,o,n,a)}generateNetworkLines(t,o={}){const n=o.maxDistance??this.maxDistance,a=o.maxNeighbors??this.maxNeighbors,r=o.sortKey??this.sortKey,s=o.connectOrphans??!0;if(!t||t.length<2)return[];const i=t.filter(g=>{const h=parseFloat(g.latitude),k=parseFloat(g.longitude);return!isNaN(h)&&!isNaN(k)});if(i.length<2)return[];const l=[],c=new Set,u=[...i].sort((g,h)=>parseFloat(g[r])-parseFloat(h[r]));for(let g=0;gt[i].length-t[s].length);for(const s of r){const i=t[s];if(!i||i.length<2){a[s]={lines:[],count:0,pointCount:(i==null?void 0:i.length)||0};continue}const l=this.generateNetworkLines(i,n);if(typeof o=="function"){const c=o(s);l.forEach(u=>{u.properties={...u.properties,group:s,color:c}})}else l.forEach(c=>{c.properties={...c.properties,group:s}});a[s]={lines:l,count:l.length,pointCount:i.length}}return a}generateAllNetworkLines(t,o=null,n={}){const a=this.generateMultiGroupNetworkLines(t,o,n),r=[];for(const s in a)r.push(...a[s].lines);return r}getClusteringStats(t,o={}){const n=this.generateMultiGroupNetworkLines(t,null,o);let a=0,r=0;const s=[];for(const i in n){const{lines:l,pointCount:c}=n[i];a+=l.length,r+=c,s.push({name:i,points:c,lines:l.length,ratio:c>0?(l.length/c).toFixed(2):0})}return s.sort((i,l)=>l.points-i.points),{algorithm:"Network (nearest-neighbor)",totalGroups:Object.keys(t).length,totalPoints:r,totalLines:a,avgLinesPerPoint:r>0?(a/r).toFixed(2):0,groups:s}}}new uf({maxDistance:15,maxNeighbors:15,sortKey:"longitude"});const ca="cluster-lines-source",ua="cluster-lines",hn="mapbox-clusters",ao="mapbox-clusters-circle",da="mapbox-clusters-count",ZC=Object.freeze({type:"FeatureCollection",features:[]});function df(e={}){const{getMap:t=()=>null,mapId:o="unknown",getPeopleGroups:n=()=>[],pinSourceId:a="language-families",pinLayerId:r="language-family-pins",groupKey:s="languageFamily",getGroupColor:i=null,mapboxClusterOptions:l={}}=e,c=Te("mapStore",null),u=new cf({maxConnectionDistance:1/0}),g=new uf({maxDistance:15,maxNeighbors:15,sortKey:"longitude"}),h=ue(!1),k=ue("mapbox"),w=J(()=>c&&"clusteringEnabled"in c?!!c.clusteringEnabled:h.value),v=J(()=>c&&c.clusteringMode?c.clusteringMode:k.value),m=ue([]);let f=null,b=null,x=null;function p(U){const oe=["mapbox","mst","network"];if(!oe.includes(U)){console.warn(`[${o}] useMapClustering.setMode: unknown mode "${U}". Allowed: ${oe.join(", ")}`);return}c&&typeof c.setClusteringMode=="function"?c.setClusteringMode(U):c&&"clusteringMode"in c?c.clusteringMode=U:k.value=U,w.value&&(D(),S())}function y(U){const oe=!!U;c&&typeof c.setClusteringEnabled=="function"?c.setClusteringEnabled(oe):c&&"clusteringEnabled"in c?c.clusteringEnabled=oe:h.value=oe,oe?S():D()}function d(U){!U||!U.property||U.value==null?x=null:x={property:U.property,value:U.value},c&&("clusterFilterProperty"in c&&(c.clusterFilterProperty=(x==null?void 0:x.property)??null),"clusterFilterValue"in c&&(c.clusterFilterValue=(x==null?void 0:x.value)??null)),w.value&&(D(),S())}function _(U){if(!x)return U;const{property:oe,value:he}=x,ve=xe=>String(xe||"").toLowerCase().replace(/[^a-z0-9]+/g,""),Ce=ve(he);return Ce?U.filter(xe=>{var ke,be;const Z=(xe==null?void 0:xe[oe])??((ke=xe==null?void 0:xe.properties)==null?void 0:ke[oe])??((be=xe==null?void 0:xe._normalized)==null?void 0:be[oe]);return ve(Z)===Ce}):U}function T(U){f=U}function S(){const U=t();if(U){switch(D(),v.value){case"mapbox":R(U);break;case"mst":E(U,"mst");break;case"network":E(U,"network");break;default:console.warn(`[${o}] Unknown clustering mode: ${v.value}`)}le(U,!0)}}function D(){const U=t();U&&(j(U,da,!1),j(U,ao,!1),I(U,hn),j(U,ua,!1),I(U,ca),m.value=[],N(U),le(U,!1))}function z(){const U=t();U&&(N(U),U.getLayer(da)&&U.removeLayer(da),U.getLayer(ao)&&U.removeLayer(ao),U.getSource(hn)&&U.removeSource(hn),U.getLayer(ua)&&U.removeLayer(ua),U.getSource(ca)&&U.removeSource(ca),le(U,!1)),m.value=[],f=null}function j(U,oe,he){if(U.getLayer(oe))try{U.setLayoutProperty(oe,"visibility",he?"visible":"none")}catch{}}function I(U,oe){const he=U.getSource(oe);if(he&&typeof he.setData=="function")try{he.setData(ZC)}catch{}}function R(U){const oe=_(n());if(!oe.length)return;const he=oe.map(xe=>{const Z=parseFloat(xe.longitude??xe.lng),ke=parseFloat(xe.latitude??xe.lat);return isNaN(Z)||isNaN(ke)?null:{type:"Feature",geometry:{type:"Point",coordinates:[Z,ke]},properties:{...xe.properties||xe}}}).filter(Boolean),ve={type:"FeatureCollection",features:he},Ce=U.getSource(hn);Ce&&typeof Ce.setData=="function"?Ce.setData(ve):U.addSource(hn,{type:"geojson",data:ve,...YC,...l}),U.getLayer(ao)?j(U,ao,!0):U.addLayer({id:ao,type:"circle",source:hn,filter:["has","point_count"],paint:{"circle-color":XC,"circle-radius":JC,"circle-stroke-width":2,"circle-stroke-color":"#ffffff",...tr(U),"circle-opacity":.85}}),U.getLayer(da)?j(U,da,!0):U.addLayer({id:da,type:"symbol",source:hn,filter:["has","point_count"],layout:{"text-field":["get","point_count_abbreviated"],"text-font":["DIN Offc Pro Medium","Arial Unicode MS Bold"],"text-size":12},paint:{"text-color":"#000000"}}),L(U),console.log(`[${o}] Clustering: mapbox-native applied (${he.length} features)`)}function E(U,oe){const he=_(n());if(!he.length)return;const ve=WC(he,$e=>{var P;return $e[s]??((P=$e._normalized)==null?void 0:P[s])??"Unknown"}),Ce=typeof i=="function"?i:()=>"#666666";let xe=[],Z=null;if(oe==="mst"?(xe=u.generateAllMSTLines(ve,Ce),Z=u.getMSTStats(ve)):(xe=g.generateAllNetworkLines(ve,Ce),Z=g.getClusteringStats(ve)),m.value=xe,xe.length===0)return;const ke={type:"FeatureCollection",features:xe},be=U.getSource(ca);if(be&&typeof be.setData=="function"?be.setData(ke):U.addSource(ca,{type:"geojson",data:ke}),U.getLayer(ua))j(U,ua,!0);else{const $e={id:ua,type:"line",source:ca,paint:{"line-color":["coalesce",["get","color"],"#666666"],"line-width":["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],"line-emissive-strength":1,"line-opacity":.5},layout:{"line-cap":"round","line-join":"round"}};U.getLayer(r)?U.addLayer($e,r):U.addLayer($e)}console.log(`[${o}] Clustering: ${oe} applied — ${xe.length} lines across ${(Z==null?void 0:Z.totalGroups)??0} groups`)}function L(U){U.getLayer(ao)&&(U.on("click",ao,ee),U.on("mouseenter",ao,de),U.on("mouseleave",ao,W),b=ao)}function N(U){if(!b)return;const oe=b;try{U.off("click",oe,ee),U.off("mouseenter",oe,de),U.off("mouseleave",oe,W)}catch{}b=null}function ee(U){const oe=t();if(!oe)return;const he=oe.queryRenderedFeatures(U.point,{layers:[ao]});if(!he.length)return;const ve=he[0],Ce=ve.properties.cluster_id,xe=ve.geometry.coordinates,Z=ve.properties.point_count;if(typeof f=="function"){f({clusterId:Ce,coordinates:xe,pointCount:Z,originalEvent:U});return}const ke=oe.getSource(hn);!ke||typeof ke.getClusterExpansionZoom!="function"||ke.getClusterExpansionZoom(Ce,(be,$e)=>{be||oe.easeTo({center:xe,zoom:$e})})}function de(){const U=t();U&&(U.getCanvas().style.cursor="pointer")}function W(){const U=t();U&&(U.getCanvas().style.cursor="")}function le(U,oe){if(U.getLayer(r))try{U.setPaintProperty(r,"circle-opacity",oe?.25:.9)}catch{}}return{enabled:w,mode:v,clusterLines:m,setMode:p,setEnabled:y,setSelectionFilter:d,onClusterClick:T,applyClustering:S,clearClustering:D,cleanup:z,mstUtil:u,networkUtil:g}}const QC=Object.freeze(Object.defineProperty({__proto__:null,default:df,useMapClustering:df},Symbol.toStringTag,{value:"Module"}));function e3(e){const t=ue({phase:"idle",completed:0,total:0,message:""}),o=ue(!1);function n(r,s,i,l){t.value={phase:r,completed:s,total:i,message:l}}async function a(r,s,i={}){if(o.value)throw new Error("useMapPacket: already rendering");o.value=!0;const l=Array.isArray(s)?s:[],c=1+l.length;try{n("map",0,c,"rendering map page");const u=await Bl(e).render(r,"png"),g=await i3(u);n("pdf-init",1,c,"building PDF");let h;try{const f=await jt(()=>import("https://esm.sh/jspdf@4.2.1"),void 0);h=f.jsPDF||f.default}catch{throw new Error("useMapPacket: jspdf not installed (npm i jspdf)")}const k=new h({orientation:r.widthIn>r.heightIn?"l":"p",unit:"in",format:[r.widthIn,r.heightIn]}),w=r.widthIn,v=r.heightIn,m=o3(i);k.addImage(g,"PNG",0,0,w,v),pf(k,w,v,m);for(let f=0;f0&&r<=1?r*100:r).toFixed(1)}%`}function s3(e){var a;const t=rr(e),o=sr(t.peoplePraying,(a=t._raw)==null?void 0:a.people_praying,e.peoplePraying);if(o===void 0)return"—";const n=Number(o);return Number.isNaN(n)?"—":n.toLocaleString()}function i3(e){return new Promise((t,o)=>{const n=new FileReader;n.onload=()=>t(n.result),n.onerror=()=>o(new Error("useMapPacket: failed to read map blob")),n.readAsDataURL(e)})}const l3=Object.freeze(Object.defineProperty({__proto__:null,useMapPacket:e3},Symbol.toStringTag,{value:"Module"}));function ff(e){const t=(e.match(//)||[])[0];if(!t)throw new Error("poster HTML contains no ");const n=((e.match(/