1471 lines
631 KiB
JavaScript
Generated
1471 lines
631 KiB
JavaScript
Generated
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-50211124]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;position:relative}.profile-error[data-v-50211124]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}.people-group-detail[data-v-8142ca9c]{display:flex;flex-direction:column;height:100%;overflow-y:auto}.detail-header[data-v-8142ca9c]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:10}.header-left[data-v-8142ca9c]{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.header-text[data-v-8142ca9c]{flex:1;min-width:0}.people-group-name[data-v-8142ca9c]{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text}.people-group-subtitle[data-v-8142ca9c]{margin:4px 0 0;font-size:13px;color:#666;line-height:1.2}.close-button[data-v-8142ca9c]{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color .2s ease;flex-shrink:0}.close-button[data-v-8142ca9c]:hover{color:#333}.detail-content[data-v-8142ca9c]{padding:6px 12px 12px;flex:1;overflow-y:auto}.quick-stats[data-v-8142ca9c]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.stat-item[data-v-8142ca9c]{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.stat-label[data-v-8142ca9c]{color:#666;font-weight:500}.stat-value[data-v-8142ca9c]{color:#333;font-weight:600;text-align:right}.action-buttons[data-v-8142ca9c]{display:flex;gap:8px;padding-top:12px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}.action-btn[data-v-8142ca9c]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.action-btn.primary[data-v-8142ca9c]{background:#92b195;color:#fff}.action-btn.primary[data-v-8142ca9c]:hover{background:#73a17f;box-shadow:0 2px 4px #92b1954d}.action-btn.secondary[data-v-8142ca9c]{background:#ecf0f1;color:#333}.action-btn.secondary[data-v-8142ca9c]:hover{background:#d5dbdb}.btn-icon[data-v-8142ca9c]{flex-shrink:0}.image-container[data-v-8142ca9c]{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5}.image-container.position-above[data-v-8142ca9c]{width:120px;height:150px;margin:0 auto 16px}.image-container.position-inside[data-v-8142ca9c]{width:200px;height:250px;margin:0 auto 16px}.people-group-image[data-v-8142ca9c]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.people-group-image.loaded[data-v-8142ca9c]{opacity:1}.image-placeholder-svg[data-v-8142ca9c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0;transition:opacity .3s ease}.image-placeholder-svg.hidden[data-v-8142ca9c]{opacity:0;pointer-events:none}.image-container[data-v-8142ca9c]{position:relative}.description-section[data-v-8142ca9c]{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.description-text[data-v-8142ca9c]{margin:0;font-size:14px;line-height:1.6;color:#555}.description-text.empty[data-v-8142ca9c]{color:#999;font-style:italic}.action-buttons[data-v-8142ca9c]::-webkit-scrollbar{height:4px}.action-buttons[data-v-8142ca9c]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.action-buttons[data-v-8142ca9c]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.action-buttons[data-v-8142ca9c]::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 480px){.people-group-name[data-v-8142ca9c]{font-size:16px}.stat-item[data-v-8142ca9c]{font-size:13px}.action-btn[data-v-8142ca9c]{padding:8px 14px;font-size:13px}}.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}.poster-slot[data-v-1a65b1e9],.poster-slot[data-v-2cbe964e],.poster-slot[data-v-d12819c9],.poster-slot[data-v-93c6c172]{display:none}.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}.poster-dlg-backdrop[data-v-1e730db1]{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-1e730db1]{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-1e730db1]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #eee}.poster-dlg__header h2[data-v-1e730db1]{margin:0;font-size:16px;font-weight:600}.poster-dlg__close[data-v-1e730db1]{background:none;border:0;font-size:22px;cursor:pointer;color:#555}.poster-dlg__body[data-v-1e730db1]{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr}.poster-dlg__controls[data-v-1e730db1]{padding:14px;border-right:1px solid #eee;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#fafafa}.poster-dlg__preview[data-v-1e730db1]{padding:14px;overflow:auto;background:#2b2b2b}.ctl[data-v-1e730db1]{display:flex;flex-direction:column;font-size:12px;color:#444;gap:4px}.ctl--check[data-v-1e730db1]{border:0;padding:0;margin:0}.ctl--check legend[data-v-1e730db1]{font-size:12px;color:#444;padding:0 0 4px}.ctl--check label[data-v-1e730db1]{display:flex;align-items:center;gap:6px;font-size:12px}.ctl input[data-v-1e730db1],.ctl select[data-v-1e730db1]{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.muted[data-v-1e730db1]{opacity:.65}.actions[data-v-1e730db1]{display:flex;gap:8px;margin-top:auto}.btn[data-v-1e730db1]{padding:8px 12px;border-radius:4px;border:1px solid #ccc;cursor:pointer;font-size:13px}.btn--primary[data-v-1e730db1]{background:#26d;color:#fff;border-color:#26d}.btn--primary[data-v-1e730db1]:disabled{background:#88aae0;cursor:progress}.btn--ghost[data-v-1e730db1]{background:transparent}.render-status[data-v-1e730db1]{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-1e730db1]{width:100%}.poster-dlg-enter-active[data-v-1e730db1],.poster-dlg-leave-active[data-v-1e730db1]{transition:opacity .15s ease}.poster-dlg-enter-from[data-v-1e730db1],.poster-dlg-leave-to[data-v-1e730db1]{opacity:0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
||
(function(){"use strict";var Ug;var Nn=typeof document<"u"?document.currentScript:null;const iL="modulepreload",lL=function(e){return"/"+e},cL={},qt=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)})},xs="affinityBlock",Mn="#95a5a6",Co={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"},nr={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"},qo=nr,Rl=Object.entries(Co).reduce((e,[t,o])=>(e[o]=t,e),{}),ks=Object.entries(Co).reduce((e,[t,o])=>(e[o]=qo[t],e),{}),Fl=Co;function ws(e){return Co[e]||"Unknown"}function As(e){return qo[e]||Mn}function Ol(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?qo[e]||Mn:ks[e]||Mn:Mn}function Dl(){return Object.entries(Co).map(([e,t])=>({code:e,name:t,color:qo[e]}))}function Bl(e){return{code:e,name:Co[e]||"Unknown",color:qo[e]||Mn}}function Gl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return As(t)}function jl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return ws(t)}function Ss(){const e=["match",["get",xs]];return Object.entries(qo).forEach(([t,o])=>{e.push(t,o)}),e.push(Mn),e}const zl=Ss,sf=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:qo,AFFINITY_BLOCK_COLORS_BY_NAME:ks,AFFINITY_BLOCK_NAMES:Co,AFFINITY_BLOCK_NAME_TO_CODE:Rl,NAMES:Fl,PALETTE:nr,PROPERTY_KEY:xs,affinityBlockCodeLookup:Co,affinityBlockCodeToColor:qo,affinityBlockCodeToName:Co,affinityBlockColors:ks,affinityBlockNameToCode:Rl,applyColor:Ss,buildColorExpression:zl,default:{name:"Affinity Block",propertyKey:xs,palette:nr,colors:nr,names:Fl,getColor:Gl,applyColor:Ss,buildColorExpression:zl,getName:jl,getAffinityBlockName:ws,getAffinityBlockColor:Ol,getAffinityBlockColorByCode:As,getAffinityBlocksArray:Dl,getAffinityBlockData:Bl},getAffinityBlockColor:Ol,getAffinityBlockColorByCode:As,getAffinityBlockData:Bl,getAffinityBlockName:ws,getAffinityBlocksArray:Dl,getColor:Gl,getName:jl},Symbol.toStringTag,{value:"Module"}));function lf(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n<e.length;n++)t=e.charCodeAt(n)+((t<<5)-t);return`hsl(${Math.abs(t%360)}, 60%, 50%)`}const Ls="doxaRegion",Ul="#0098FF",Cs="#95a5a6",ar={Africa:"#ff2e2e",Asia:"#1a8cff",Europe:"#1ee05f","Latin America & Caribbean":"#FFEB3B","Middle East":"#a83dff","No WAGF Region/Bloc":"#1a1a2e","North America & Non-Spanish Caribbean":"#00e0bd",Oceania:"#ff7f11"},cf=ar,rr={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11",na:"#1a1a2e"};function Es(e){return e?rr[String(e).toLowerCase()]||Cs:Ul}const $s={Africa:"#ff2e2e","East Asia":"#1a8cff",Asia:"#1a8cff",Eurasia:"#1ee05f",Europe:"#1ee05f","Latin America":"#FFEB3B","Latin America & Caribbean":"#FFEB3B",Caribbean:"#FFEB3B","Middle East":"#a83dff","North America":"#00e0bd","North America (non-spanish)":"#00e0bd","North America & Non-Spanish Caribbean":"#00e0bd",Pacific:"#ff7f11",Oceania:"#ff7f11","South Asia":"#ff7f11","No WAGF Region/Bloc":"#1a1a2e",Unknown:"#0098FF"};function Kl(e){if(!e)return Ul;const t=$s[e];return t||lf(e)}function Hl(e){var o;const t=e.doxaRegion||((o=e._normalized)==null?void 0:o.doxaRegion);return Es(t)}function Ts(){const e=["match",["get",Ls]];return Object.entries(rr).forEach(([t,o])=>{e.push(t,o)}),e.push(Cs),e}const Vl=Ts,uf=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:cf,PALETTE:ar,PROPERTY_KEY:Ls,REGION_COLOR_ALIASES:$s,SLUG_PALETTE:rr,applyColor:Ts,buildColorExpression:Vl,default:{name:"DOXA Region",propertyKey:Ls,palette:ar,colors:ar,slugColors:rr,aliases:$s,fallback:Cs,getColor:Hl,applyColor:Ts,buildColorExpression:Vl,getRegionColor:Kl,getRegionColorBySlug:Es},getColor:Hl,getRegionColor:Kl,getRegionColorBySlug:Es},Symbol.toStringTag,{value:"Module"})),ql="resourceType",Wo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},df=Wo,la=["bible","jesusFilm","radio","gospel","audio","stories"],Ps={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},pf=Ps;function ca(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Wl(e){var t;for(const o of la)if((e[o]||((t=e._raw)==null?void 0:t[ca(o)]))==="Available")return Wo.hasResources;return Wo.noResources}function Yl(e){var t;for(const o of la)if((e[o]||((t=e._raw)==null?void 0:t[ca(o)]))==="Available")return!0;return!1}function Xl(e){var t;for(const o of la)if((e[o]||((t=e._raw)==null?void 0:t[ca(o)]))==="Available")return o;return"noResources"}function Ns(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],Wo.hasResources,Wo.noResources]}const Jl=Ns,gf=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Ps,PALETTE:Wo,PROPERTY_KEY:ql,RESOURCE_COLORS:df,RESOURCE_NAMES:pf,RESOURCE_PRIORITY:la,applyColor:Ns,buildColorExpression:Jl,default:{name:"Gospel Resources",propertyKey:ql,palette:Wo,colors:Wo,names:Ps,priority:la,getColor:Wl,applyColor:Ns,buildColorExpression:Jl,hasAnyResource:Yl,getResourceType:Xl,getCSVColumn:ca},getCSVColumn:ca,getColor:Wl,getResourceType:Xl,hasAnyResource:Yl},Symbol.toStringTag,{value:"Module"}));/**
|
||
* @vue/shared v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function Ms(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const et={},In=[],lo=()=>{},Zl=()=>!1,sr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ir=e=>e.startsWith("onUpdate:"),ct=Object.assign,Is=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},ff=Object.prototype.hasOwnProperty,We=(e,t)=>ff.call(e,t),Ce=Array.isArray,Yo=e=>ua(e)==="[object Map]",Eo=e=>ua(e)==="[object Set]",Ql=e=>ua(e)==="[object Date]",Me=e=>typeof e=="function",ot=e=>typeof e=="string",Bt=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",ec=e=>(Ye(e)||Me(e))&&Me(e.then)&&Me(e.catch),tc=Object.prototype.toString,ua=e=>tc.call(e),hf=e=>ua(e).slice(8,-1),lr=e=>ua(e)==="[object Object]",cr=e=>ot(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,da=Ms(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ur=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},mf=/-\w/g,xt=ur(e=>e.replace(mf,t=>t.slice(1).toUpperCase())),bf=/\B([A-Z])/g,Wt=ur(e=>e.replace(bf,"-$1").toLowerCase()),dr=ur(e=>e.charAt(0).toUpperCase()+e.slice(1)),Rs=ur(e=>e?`on${dr(e)}`:""),co=(e,t)=>!Object.is(e,t),pr=(e,...t)=>{for(let o=0;o<e.length;o++)e[o](...t)},oc=(e,t,o,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},gr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Fs=e=>{const t=ot(e)?Number(e):NaN;return isNaN(t)?e:t};let nc;const fr=()=>nc||(nc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xe(e){if(Ce(e)){const t={};for(let o=0;o<e.length;o++){const n=e[o],a=ot(n)?xf(n):Xe(n);if(a)for(const r in a)t[r]=a[r]}return t}else if(ot(e)||Ye(e))return e}const yf=/;(?![^(]*\))/g,vf=/:([^]+)/,_f=/\/\*[^]*?\*\//g;function xf(e){const t={};return e.replace(_f,"").split(yf).forEach(o=>{if(o){const n=o.split(vf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ee(e){let t="";if(ot(e))t=e;else if(Ce(e))for(let o=0;o<e.length;o++){const n=Ee(e[o]);n&&(t+=n+" ")}else if(Ye(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}const kf=Ms("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function ac(e){return!!e||e===""}function wf(e,t){if(e.length!==t.length)return!1;let o=!0;for(let n=0;o&&n<e.length;n++)o=$o(e[n],t[n]);return o}function rc(e,t){if(e.size!==t.size)return!1;const o=Array.from(t),n=new Uint8Array(o.length);for(const a of e){let r=-1;for(let s=0;s<o.length;s++)if(!n[s]&&$o(a,o[s])){r=s;break}if(r<0)return!1;n[r]=1}return!0}function $o(e,t){if(e===t)return!0;let o=Ql(e),n=Ql(t);if(o||n)return o&&n?e.getTime()===t.getTime():!1;if(o=Bt(e),n=Bt(t),o||n)return e===t;if(o=Ce(e),n=Ce(t),o||n)return o&&n?wf(e,t):!1;if(o=Ye(e),n=Ye(t),o||n){if(!o||!n)return!1;if(o=Yo(e),n=Yo(t),o||n||(o=Eo(e),n=Eo(t),o||n))return o&&n?rc(e,t):!1;const a=Object.keys(e).length,r=Object.keys(t).length;if(a!==r)return!1;for(const s in e){const i=e.hasOwnProperty(s),l=t.hasOwnProperty(s);if(i&&!l||!i&&l||!$o(e[s],t[s]))return!1}}return String(e)===String(t)}function Os(e,t){return e.findIndex(o=>$o(o,t))}const sc=e=>!!(e&&e.__v_isRef===!0),he=e=>ot(e)?e:e==null?"":Ce(e)||Ye(e)&&(e.toString===tc||!Me(e.toString))?sc(e)?he(e.value):JSON.stringify(e,ic,2):String(e),ic=(e,t)=>sc(t)?ic(e,t.value):Yo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Ds(n,r)+" =>"]=a,o),{})}:Eo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ds(o))}:Bt(t)?Ds(t):Ye(t)&&!Ce(t)&&!lr(t)?String(t):t,Ds=(e,t="")=>{var o;return Bt(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 bt;class lc{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&&bt&&(bt.active?(this.parent=bt,this.index=(bt.scopes||(bt.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;t<o;t++)n[t].pause()}for(t=0,o=this.effects.length;t<o;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,o;if(this.scopes){const a=this.scopes.slice();for(t=0,o=a.length;t<o;t++)a[t].resume()}const n=this.effects.slice();for(t=0,o=n.length;t<o;t++)n[t].resume()}}run(t){if(this._active){const o=bt;try{return bt=this,t()}finally{bt=o}}}on(){++this._on===1&&(this.prevScope=bt,bt=this)}off(){if(this._on>0&&--this._on===0){if(bt===this)bt=this.prevScope;else{let t=bt;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;o<n;o++)this.effects[o].stop();for(this.effects.length=0,o=0,n=this.cleanups.length;o<n;o++)this.cleanups[o]();if(this.cleanups.length=0,this.scopes){const a=this.scopes.slice();for(o=0,n=a.length;o<n;o++)a[o].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const a=this.parent.scopes.pop();a&&a!==this&&(this.parent.scopes[this.index]=a,a.index=this.index)}this.parent=void 0}}}function Bs(e){return new lc(e)}function cc(){return bt}function Af(e,t=!1){bt&&bt.cleanups.push(e)}let nt;const Gs=new WeakSet;class uc{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,bt&&(bt.active?bt.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Gs.has(this)&&(Gs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||pc(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,bc(this),gc(this);const t=nt,o=to;nt=this,to=!0;try{return this.fn()}finally{fc(this),nt=t,to=o,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ks(t);this.deps=this.depsTail=void 0,bc(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Gs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Us(this)&&this.run()}get dirty(){return Us(this)}}let dc=0,pa,ga;function pc(e,t=!1){if(e.flags|=8,t){e.next=ga,ga=e;return}e.next=pa,pa=e}function js(){dc++}function zs(){if(--dc>0)return;if(ga){let t=ga;for(ga=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;pa;){let t=pa;for(pa=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 gc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function fc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Ks(n),Sf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Us(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(hc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function hc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===fa)||(e.globalVersion=fa,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Us(e))))return;e.flags|=2;const t=e.dep,o=nt,n=to;nt=e,to=!0;try{gc(e);const a=e.fn(e._value);(t.version===0||co(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{nt=o,to=n,fc(e),e.flags&=-3}}function Ks(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)Ks(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Sf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let to=!0;const mc=[];function uo(){mc.push(to),to=!1}function po(){const e=mc.pop();to=e===void 0?!0:e}function bc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=nt;nt=void 0;try{t()}finally{nt=o}}}let fa=0;class Lf{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 Hs{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(!nt||!to||nt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==nt)o=this.activeLink=new Lf(nt,this),nt.deps?(o.prevDep=nt.depsTail,nt.depsTail.nextDep=o,nt.depsTail=o):nt.deps=nt.depsTail=o,yc(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=nt.depsTail,o.nextDep=void 0,nt.depsTail.nextDep=o,nt.depsTail=o,nt.deps===o&&(nt.deps=n)}return o}trigger(t){this.version++,fa++,this.notify(t)}notify(t){js();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{zs()}}}function yc(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)yc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const hr=new WeakMap,gn=Symbol(""),Vs=Symbol(""),ha=Symbol("");function $t(e,t,o){if(to&&nt){let n=hr.get(e);n||hr.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Hs),a.map=n,a.key=o),a.track()}}function To(e,t,o,n,a,r){const s=hr.get(e);if(!s){fa++;return}const i=l=>{l&&l.trigger()};if(js(),t==="clear")s.forEach(i);else{const l=Ce(e),c=l&&cr(o);if(l&&o==="length"){const u=Number(n);s.forEach((f,b)=>{(b==="length"||b===ha||!Bt(b)&&b>=u)&&i(f)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(ha)),t){case"add":l?c&&i(s.get("length")):(i(s.get(gn)),Yo(e)&&i(s.get(Vs)));break;case"delete":l||(i(s.get(gn)),Yo(e)&&i(s.get(Vs)));break;case"set":Yo(e)&&i(s.get(gn));break}}zs()}function Cf(e,t){const o=hr.get(e);return o&&o.get(t)}function Rn(e){const t=je(e);return t===e?t:($t(t,"iterate",ha),Gt(e)?t:t.map(oo))}function mr(e){return $t(e=je(e),"iterate",ha),e}function go(e,t){return Mo(e)?On(No(e)?oo(t):t):oo(t)}const Ef={__proto__:null,[Symbol.iterator](){return qs(this,Symbol.iterator,e=>go(this,e))},concat(...e){return Rn(this).concat(...e.map(t=>Ce(t)?Rn(t):t))},entries(){return qs(this,"entries",e=>(e[1]=go(this,e[1]),e))},every(e,t){return Po(this,"every",e,t,void 0,arguments)},filter(e,t){return Po(this,"filter",e,t,o=>o.map(n=>go(this,n)),arguments)},find(e,t){return Po(this,"find",e,t,o=>go(this,o),arguments)},findIndex(e,t){return Po(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Po(this,"findLast",e,t,o=>go(this,o),arguments)},findLastIndex(e,t){return Po(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Po(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ws(this,"includes",e)},indexOf(...e){return Ws(this,"indexOf",e)},join(e){return Rn(this).join(e)},lastIndexOf(...e){return Ws(this,"lastIndexOf",e)},map(e,t){return Po(this,"map",e,t,void 0,arguments)},pop(){return ma(this,"pop")},push(...e){return ma(this,"push",e)},reduce(e,...t){return vc(this,"reduce",e,t)},reduceRight(e,...t){return vc(this,"reduceRight",e,t)},shift(){return ma(this,"shift")},some(e,t){return Po(this,"some",e,t,void 0,arguments)},splice(...e){return ma(this,"splice",e)},toReversed(){return Rn(this).toReversed()},toSorted(e){return Rn(this).toSorted(e)},toSpliced(...e){return Rn(this).toSpliced(...e)},unshift(...e){return ma(this,"unshift",e)},values(){return qs(this,"values",e=>go(this,e))}};function qs(e,t,o){const n=mr(e),a=n[t]();return n!==e&&!Gt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const $f=Array.prototype;function Po(e,t,o,n,a,r){const s=mr(e),i=s!==e&&!Gt(e),l=s[t];if(l!==$f[t]){const f=l.apply(e,r);return i?oo(f):f}let c=o;s!==e&&(i?c=function(f,b){return o.call(this,go(e,f),b,e)}:o.length>2&&(c=function(f,b){return o.call(this,f,b,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function vc(e,t,o,n){const a=mr(e),r=a!==e&&!Gt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,f){return i&&(i=!1,c=go(e,c)),o.call(this,c,go(e,u),f,e)}):o.length>3&&(s=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](s,...n);return i?go(e,l):l}function Ws(e,t,o){const n=je(e);$t(n,"iterate",ha);const a=n[t](...o);return(a===-1||a===!1)&&xr(o[0])?(o[0]=je(o[0]),n[t](...o)):a}function ma(e,t,o=[]){uo(),js();const n=je(e)[t].apply(e,o);return zs(),po(),n}const Tf=Ms("__proto__,__v_isRef,__isVue"),_c=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Bt));function Pf(e){Bt(e)||(e=String(e));const t=je(this);return $t(t,"has",e),t.hasOwnProperty(e)}class xc{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?Cc:Lc:r?Sc:Ac).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Ce(t);if(!a){let l;if(s&&(l=Ef[o]))return l;if(o==="hasOwnProperty")return Pf}const i=Reflect.get(t,o,it(t)?t:n);if((Bt(o)?_c.has(o):Tf(o))||(a||$t(t,"get",o),r))return i;if(it(i)){const l=s&&cr(o)?i:i.value;return a&&Ye(l)?fn(l):l}return Ye(i)?a?fn(i):Fn(i):i}}class kc extends xc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Ce(t)&&cr(o);if(!this._isShallow){const c=Mo(r);if(!Gt(n)&&!Mo(n)&&(r=je(r),n=je(n)),!s&&it(r)&&!it(n))return c||(r.value=n),!0}const i=s?Number(o)<t.length:We(t,o),l=Reflect.set(t,o,n,it(t)?t:a);return t===je(a)&&l&&(i?co(n,r)&&To(t,"set",o,n):To(t,"add",o,n)),l}deleteProperty(t,o){const n=We(t,o);t[o];const a=Reflect.deleteProperty(t,o);return a&&n&&To(t,"delete",o,void 0),a}has(t,o){const n=Reflect.has(t,o);return(!Bt(o)||!_c.has(o))&&$t(t,"has",o),n}ownKeys(t){return $t(t,"iterate",Ce(t)?"length":gn),Reflect.ownKeys(t)}}class wc extends xc{constructor(t=!1){super(!0,t)}set(t,o){return!0}deleteProperty(t,o){return!0}}const Nf=new kc,Mf=new wc,If=new kc(!0),Rf=new wc(!0),Ys=e=>e,br=e=>Reflect.getPrototypeOf(e);function Ff(e,t,o){return function(...n){const a=this.__v_raw,r=je(a),s=Yo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Ys:t?On:oo;return!t&&$t(r,"iterate",l?Vs:gn),ct(Object.create(c),{next(){const{value:f,done:b}=c.next();return b?{value:f,done:b}:{value:i?[u(f[0]),u(f[1])]:u(f),done:b}}})}}function yr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Of(e,t){const o={get(a){const r=this.__v_raw,s=je(r),i=je(a);e||(co(a,i)&&$t(s,"get",a),$t(s,"get",i));const{has:l}=br(s),c=t?Ys:e?On:oo;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&&$t(je(a),"iterate",gn),a.size},has(a){const r=this.__v_raw,s=je(r),i=je(a);return e||(co(a,i)&&$t(s,"has",a),$t(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=je(i),c=t?Ys:e?On:oo;return!e&&$t(l,"iterate",gn),i.forEach((u,f)=>a.call(r,c(u),c(f),s))}};return ct(o,e?{add:yr("add"),set:yr("set"),delete:yr("delete"),clear:yr("clear")}:{add(a){const r=je(this),s=br(r),i=je(a),l=!t&&!Gt(a)&&!Mo(a)?i:a;return s.has.call(r,l)||co(a,l)&&s.has.call(r,a)||co(i,l)&&s.has.call(r,i)||(r.add(l),To(r,"add",l,l)),this},set(a,r){!t&&!Gt(r)&&!Mo(r)&&(r=je(r));const s=je(this),{has:i,get:l}=br(s);let c=i.call(s,a);c||(a=je(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?co(r,u)&&To(s,"set",a,r):To(s,"add",a,r),this},delete(a){const r=je(this),{has:s,get:i}=br(r);let l=s.call(r,a);l||(a=je(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&To(r,"delete",a,void 0),c},clear(){const a=je(this),r=a.size!==0,s=a.clear();return r&&To(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Ff(a,e,t)}),o}function vr(e,t){const o=Of(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(We(o,a)&&a in n?o:n,a,r)}const Df={get:vr(!1,!1)},Bf={get:vr(!1,!0)},Gf={get:vr(!0,!1)},jf={get:vr(!0,!0)},Ac=new WeakMap,Sc=new WeakMap,Lc=new WeakMap,Cc=new WeakMap;function zf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fn(e){return Mo(e)?e:_r(e,!1,Nf,Df,Ac)}function Uf(e){return _r(e,!1,If,Bf,Sc)}function fn(e){return _r(e,!0,Mf,Gf,Lc)}function vL(e){return _r(e,!0,Rf,jf,Cc)}function _r(e,t,o,n,a){if(!Ye(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=zf(hf(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function No(e){return Mo(e)?No(e.__v_raw):!!(e&&e.__v_isReactive)}function Mo(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function xr(e){return e?!!e.__v_raw:!1}function je(e){const t=e&&e.__v_raw;return t?je(t):e}function ba(e){return!We(e,"__v_skip")&&Object.isExtensible(e)&&oc(e,"__v_skip",!0),e}const oo=e=>Ye(e)?Fn(e):e,On=e=>Ye(e)?fn(e):e;function it(e){return e?e.__v_isRef===!0:!1}function le(e){return Ec(e,!1)}function kr(e){return Ec(e,!0)}function Ec(e,t){return it(e)?e:new Kf(e,t)}class Kf{constructor(t,o){this.dep=new Hs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:je(t),this._value=o?t:oo(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Gt(t)||Mo(t);t=n?t:je(t),co(t,o)&&(this._rawValue=t,this._value=n?t:oo(t),this.dep.trigger())}}function de(e){return it(e)?e.value:e}const Hf={get:(e,t,o)=>t==="__v_raw"?e:de(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return it(a)&&!it(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function $c(e){return No(e)?e:new Proxy(e,Hf)}function Vf(e){const t=Ce(e)?new Array(e.length):{};for(const o in e)t[o]=Tc(e,o);return t}class qf{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Bt(o)?o:String(o),this._raw=je(t);let a=!0,r=t;if(!Ce(t)||Bt(this._key)||!cr(this._key))do a=!xr(r)||Gt(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=de(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&it(this._raw[this._key])){const o=this._object[this._key];if(it(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Cf(this._raw,this._key)}}class Wf{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 wr(e,t,o){return it(e)?e:Me(e)?new Wf(e):Ye(e)&&arguments.length>1?Tc(e,t,o):le(e)}function Tc(e,t,o){return new qf(e,t,o)}class Yf{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Hs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=fa-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&nt!==this)return pc(this,!0),!0}get value(){const t=this.dep.track();return hc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Xf(e,t,o=!1){let n,a;return Me(e)?n=e:(n=e.get,a=e.set),new Yf(n,a,o)}const Ar={},Sr=new WeakMap;let hn;function Jf(e,t=!1,o=hn){if(o){let n=Sr.get(o);n||Sr.set(o,n=[]),n.push(e)}}function Zf(e,t,o=et){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=h=>a?h:Gt(h)||a===!1||a===0?Io(h,1):Io(h);let u,f,b,k,x=!1,m=!1;if(it(e)?(f=()=>e.value,x=Gt(e)):No(e)?(f=()=>c(e),x=!0):Ce(e)?(m=!0,x=e.some(h=>No(h)||Gt(h)),f=()=>e.map(h=>{if(it(h))return h.value;if(No(h))return c(h);if(Me(h))return l?l(h,2):h()})):Me(e)?t?f=l?()=>l(e,2):e:f=()=>{if(b){uo();try{b()}finally{po()}}const h=hn;hn=u;try{return l?l(e,3,[k]):e(k)}finally{hn=h}}:f=lo,t&&a){const h=f,p=a===!0?1/0:a;f=()=>Io(h(),p)}const v=cc(),g=()=>{u.stop(),v&&v.active&&Is(v.effects,u)};if(r&&t){const h=t;t=(...p)=>{const _=h(...p);return g(),_}}let y=m?new Array(e.length).fill(Ar):Ar;const d=h=>{if(!(!(u.flags&1)||!u.dirty&&!h))if(t){const p=u.run();if(h||a||x||(m?p.some((_,L)=>co(_,y[L])):co(p,y))){b&&b();const _=hn;hn=u;try{const L=[p,y===Ar?void 0:m&&y[0]===Ar?[]:y,k];y=p,l?l(t,3,L):t(...L)}finally{hn=_}}}else u.run()};return i&&i(d),u=new uc(f),u.scheduler=s?()=>s(d,!1):d,k=h=>Jf(h,!1,u),b=u.onStop=()=>{const h=Sr.get(u);if(h){if(l)l(h,4);else for(const p of h)p();Sr.delete(u)}},t?n?d(!0):y=u.run():s?s(d.bind(null,!0),!0):u.run(),g.pause=u.pause.bind(u),g.resume=u.resume.bind(u),g.stop=g,g}function Io(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,it(e))Io(e.value,t,o);else if(Ce(e))for(let n=0;n<e.length;n++)Io(e[n],t,o);else if(Eo(e)||Yo(e))e.forEach(n=>{Io(n,t,o)});else if(lr(e)){for(const n in e)Io(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Io(e[n],t,o)}return e}/**
|
||
* @vue/runtime-core v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/const ya=[];let Xs=!1;function _L(e,...t){if(Xs)return;Xs=!0,uo();const o=ya.length?ya[ya.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Qf();if(n)Dn(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 <${Nu(o,r.type)}>`).join(`
|
||
`),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(`
|
||
`,...eh(a)),console.warn(...r)}po(),Xs=!1}function Qf(){let e=ya[ya.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 eh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[`
|
||
`],...th(o))}),t}function th({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Nu(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...oh(e.props),r]:[a+r]}function oh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Pc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Pc(e,t,o){return ot(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:it(t)?(t=Pc(e,je(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Me(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=je(t),o?t:[`${e}=`,t])}function Dn(e,t,o,n){try{return n?e(...n):e()}catch(a){va(a,t,o)}}function Yt(e,t,o,n){if(Me(e)){const a=Dn(e,t,o,n);return a&&ec(a)&&a.catch(r=>{va(r,t,o)}),a}if(Ce(e)){const a=[];for(let r=0;r<e.length;r++)a.push(Yt(e[r],t,o,n));return a}}function va(e,t,o,n=!0){const a=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||et;if(t){let i=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${o}`;for(;i;){const u=i.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===!1)return}i=i.parent}if(r){uo(),Dn(r,null,10,[e,l,c]),po();return}}nh(e,o,a,n,s)}function nh(e,t,o,n=!0,a=!1){if(a)throw e;console.error(e)}const Nt=[];let fo=-1;const Bn=[];let Xo=null,Gn=0;const Nc=Promise.resolve();let Lr=null;function jt(e){const t=Lr||Nc;return e?t.then(this?e.bind(this):e):t}function ah(e){let t=fo+1,o=Nt.length;for(;t<o;){const n=t+o>>>1,a=Nt[n],r=_a(a);r<e||r===e&&a.flags&2?t=n+1:o=n}return t}function Js(e){if(!(e.flags&1)){const t=_a(e),o=Nt[Nt.length-1];!o||!(e.flags&2)&&t>=_a(o)?Nt.push(e):Nt.splice(ah(t),0,e),e.flags|=1,Mc()}}function Mc(){Lr||(Lr=Nc.then(Fc))}function rh(e){if(!Ce(e))Xo&&e.id===-1?Xo.splice(Gn+1,0,e):e.flags&1||(Bn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Bn.push(e[t]);Mc()}function Ic(e,t,o=fo+1){for(;o<Nt.length;o++){const n=Nt[o];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Nt.splice(o,1),o--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Rc(e){if(Bn.length){const t=[...new Set(Bn)].sort((o,n)=>_a(o)-_a(n));if(Bn.length=0,Xo){for(let o=0;o<t.length;o++)Xo.push(t[o]);return}for(Xo=t,Gn=0;Gn<Xo.length;Gn++){const o=Xo[Gn];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}Xo=null,Gn=0}}const _a=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Fc(e){try{for(fo=0;fo<Nt.length;fo++){const t=Nt[fo];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Dn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;fo<Nt.length;fo++){const t=Nt[fo];t&&(t.flags&=-2)}fo=-1,Nt.length=0,Rc(),Lr=null,(Nt.length||Bn.length)&&Fc()}}let At=null,Oc=null;function Cr(e){const t=At;return At=e,Oc=e&&e.type.__scopeId||null,t}function Mt(e,t=At,o){if(!t||e._n)return e;const n=(...a)=>{n._d&&Fr(-1);const r=Cr(t),s=Oo.length;let i;try{i=e(...a)}finally{for(let l=Oo.length;l>s;l--)hi();Cr(r),n._d&&Fr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function zt(e,t){if(At===null)return e;const o=Gr(At),n=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[r,s,i,l=et]=t[a];r&&(Me(r)&&(r={mounted:r,updated:r}),r.deep&&Io(s),n.push({dir:r,instance:o,value:s,oldValue:void 0,arg:i,modifiers:l}))}return e}function mn(e,t,o,n){const a=e.dirs,r=t&&t.dirs;for(let s=0;s<a.length;s++){const i=a[s];r&&(i.oldValue=r[s].value);let l=i.dir[n];l&&(uo(),Yt(l,o,8,[e.el,i,e,t]),po())}}function St(e,t){if(Lt){let o=Lt.provides;const n=Lt.parent&&Lt.parent.provides;n===o&&(o=Lt.provides=Object.create(n)),o[e]=t}}function Te(e,t,o=!1){const n=yo();if(n||yn){let a=yn?yn._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(a&&e in a)return a[e];if(arguments.length>1)return o&&Me(t)?t.call(n&&n.proxy):t}}function sh(){return!!(yo()||yn)}const ih=Symbol.for("v-scx"),lh=()=>Te(ih);function ch(e,t){return Zs(e,null,t)}function De(e,t,o){return Zs(e,t,o)}function Zs(e,t,o=et){const{immediate:n,deep:a,flush:r,once:s}=o,i=ct({},o),l=t&&n||!t&&r!=="post";let c;if(zn){if(r==="sync"){const k=lh();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=lo,k.resume=lo,k.pause=lo,k}}const u=Lt;i.call=(k,x,m)=>Yt(k,u,x,m);let f=!1;r==="post"?i.scheduler=k=>{Rt(k,u&&u.suspense)}:r!=="sync"&&(f=!0,i.scheduler=(k,x)=>{x?k():Js(k)}),i.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const b=Zf(e,t,i);return zn&&(c?c.push(b):l&&b()),b}function uh(e,t,o){const n=this.proxy,a=ot(e)?e.includes(".")?Dc(n,e):()=>n[e]:e.bind(n,n);let r;Me(t)?r=t:(r=t.handler,o=t);const s=Ra(this),i=Zs(a,r.bind(n),o);return s(),i}function Dc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;a<o.length&&n;a++)n=n[o[a]];return n}}const Jo=new WeakMap,Bc=Symbol("_vte"),Er=e=>e.__isTeleport,bn=e=>e&&(e.disabled||e.disabled===""),dh=e=>e&&(e.defer||e.defer===""),Gc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,jc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Qs=(e,t)=>{const o=e&&e.to;return ot(o)?t?t(o):null:o},ph={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,c){const{mc:u,pc:f,pbc:b,o:{insert:k,querySelector:x,createText:m,createComment:v,parentNode:g}}=c,y=bn(t.props);let{dynamicChildren:d}=t;const h=(L,R,S)=>{L.shapeFlag&16&&u(L.children,R,S,a,r,s,i,l)},p=(L=t)=>{const R=bn(L.props),S=L.target=Qs(L.props,x),z=ei(S,L,m,k);S&&(s!=="svg"&&Gc(S)?s="svg":s!=="mathml"&&jc(S)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(S),R||(h(L,S,z),xa(L,!1)))},_=L=>{const R=()=>{if(Jo.get(L)===R){if(Jo.delete(L),bn(L.props)){const S=g(L.el)||o;h(L,S,L.anchor),xa(L,!0)}p(L)}};Jo.set(L,R),Rt(R,r)};if(e==null){const L=t.el=m(""),R=t.anchor=m("");if(k(L,o,n),k(R,o,n),dh(t.props)||r&&r.pendingBranch){_(t);return}y&&(h(t,o,R),xa(t,!0)),p()}else{t.el=e.el;const L=t.anchor=e.anchor,R=Jo.get(e);if(R){R.flags|=8,Jo.delete(e),_(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,z=t.targetAnchor=e.targetAnchor,j=bn(e.props),O=j?o:S,D=j?L:z;if(s==="svg"||Gc(S)?s="svg":(s==="mathml"||jc(S))&&(s="mathml"),d?(b(e.dynamicChildren,d,O,a,r,s,i),gi(e,t,!0)):l||f(e,t,O,D,a,r,s,i,!1),y)j?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):$r(t,o,L,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const M=Qs(t.props,x);M&&(t.target=M,$r(t,M,null,c,0))}else j&&$r(t,S,z,c,1);xa(t,y)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:f,props:b}=e,k=bn(b),x=r||!k,m=Jo.get(e);if(m&&(m.flags|=8,Jo.delete(e)),f&&(a(c),a(u)),r&&a(l),!m&&(k||f)&&s&16)for(let v=0;v<i.length;v++){const g=i[v];n(g,t,o,x,!!g.dynamicChildren)}},move:$r,hydrate:gh};function $r(e,t,o,{o:{insert:n},m:a},r=2){r===0&&n(e.targetAnchor,t,o);const{el:s,anchor:i,shapeFlag:l,children:c,props:u}=e,f=r===2;if(f&&n(s,t,o),!Jo.has(e)&&(!f||bn(u))&&l&16)for(let b=0;b<c.length;b++)a(c[b],t,o,2);f&&n(i,t,o)}function gh(e,t,o,n,a,r,{o:{nextSibling:s,parentNode:i,querySelector:l,insert:c,createText:u}},f){function b(v,g){let y=g;for(;y;){if(y&&y.nodeType===8){if(y.data==="teleport start anchor")t.targetStart=y;else if(y.data==="teleport anchor"){t.targetAnchor=y,v._lpa=t.targetAnchor&&s(t.targetAnchor);break}}y=s(y)}}function k(v,g){g.anchor=f(s(v),g,i(v),o,n,a,r)}const x=t.target=Qs(t.props,l),m=bn(t.props);if(x){const v=x._lpa||x.firstChild;t.shapeFlag&16&&(m?(k(e,t),b(x,v),t.targetAnchor||ei(x,t,u,c,i(e)===x?e:null)):(t.anchor=s(e),b(x,v),t.targetAnchor||ei(x,t,u,c),f(v&&s(v),t,x,o,n,a,r))),xa(t,m)}else m&&t.shapeFlag&16&&(k(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const fh=ph;function xa(e,t){const o=e.ctx;if(o&&o.ut){let n,a;for(t?(n=e.el,a=e.anchor):(n=e.targetStart,a=e.targetAnchor);n&&n!==a;)n.nodeType===1&&n.setAttribute("data-v-owner",o.uid),n=n.nextSibling;o.ut()}}function ei(e,t,o,n,a=null){const r=t.targetStart=o(""),s=t.targetAnchor=o("");return r[Bc]=s,e&&(n(r,e,a),n(s,e,a)),s}const Xt=Symbol("_leaveCb"),ka=Symbol("_enterCb");function hh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Zt(()=>{e.isMounted=!0}),ho(()=>{e.isUnmounting=!0}),e}const Jt=[Function,Array],zc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Jt,onEnter:Jt,onAfterEnter:Jt,onEnterCancelled:Jt,onBeforeLeave:Jt,onLeave:Jt,onAfterLeave:Jt,onLeaveCancelled:Jt,onBeforeAppear:Jt,onAppear:Jt,onAfterAppear:Jt,onAppearCancelled:Jt},Uc=e=>{const t=e.subTree;return t.component?Uc(t.component):t},mh={name:"BaseTransition",props:zc,setup(e,{slots:t}){const o=yo(),n=hh();return()=>{const a=t.default&&Vc(t.default(),!0),r=a&&a.length?Kc(a):o.subTree?ve():void 0;if(!r)return;const s=je(e),{mode:i}=s;if(n.isLeaving)return oi(r);const l=Tr(r);if(!l)return oi(r);let c=ti(l,s,n,o,f=>c=f);l.type!==Tt&&wa(l,c);let u=o.subTree&&Tr(o.subTree);if(u&&u.type!==Tt&&!_n(u,l)&&Uc(o).type!==Tt){let f=ti(u,s,n,o);if(wa(u,f),i==="out-in"&&l.type!==Tt)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,o.job.flags&8||o.update(),delete f.afterLeave,u=void 0},oi(r);i==="in-out"&&l.type!==Tt?f.delayLeave=(b,k,x)=>{const m=Hc(n,u);m[String(u.key)]=u,b[Xt]=()=>{k(),b[Xt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{x(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function Kc(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Tt){t=o;break}}return t}const bh=mh;function Hc(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 ti(e,t,o,n,a){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:b,onLeave:k,onAfterLeave:x,onLeaveCancelled:m,onBeforeAppear:v,onAppear:g,onAfterAppear:y,onAppearCancelled:d}=t,h=String(e.key),p=Hc(o,e),_=(S,z)=>{S&&Yt(S,n,9,z)},L=(S,z)=>{const j=z[1];_(S,z),Ce(S)?S.every(O=>O.length<=1)&&j():S.length<=1&&j()},R={mode:s,persisted:i,beforeEnter(S){let z=l;if(!o.isMounted)if(r)z=v||l;else return;S[Xt]&&S[Xt](!0);const j=p[h];j&&_n(e,j)&&j.el[Xt]&&j.el[Xt](),_(z,[S])},enter(S){if(p[h]===e)return;let z=c,j=u,O=f;if(!o.isMounted)if(r)z=g||c,j=y||u,O=d||f;else return;let D=!1;S[ka]=$=>{D||(D=!0,$?_(O,[S]):_(j,[S]),R.delayedLeave&&R.delayedLeave(),S[ka]=void 0)};const M=S[ka].bind(null,!1);z?L(z,[S,M]):M()},leave(S,z){const j=String(e.key);if(S[ka]&&S[ka](!0),o.isUnmounting)return z();_(b,[S]);let O=!1;S[Xt]=M=>{O||(O=!0,z(),M?_(m,[S]):_(x,[S]),S[Xt]=void 0,p[j]===e&&delete p[j])};const D=S[Xt].bind(null,!1);p[j]=e,k?L(k,[S,D]):D()},clone(S){const z=ti(S,t,o,n,a);return a&&a(z),z}};return R}function oi(e){if(Ca(e))return e=Zo(e),e.children=null,e}function Tr(e){if(!Ca(e))return Er(e.type)&&e.children?Kc(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&&Me(o.default))return o.default()}}function wa(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;wa(Er(o.type)&&Tr(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 Vc(e,t=!1,o){let n=[],a=0;for(let r=0;r<e.length;r++){let s=e[r];const i=o==null?s.key:String(o)+String(s.key!=null?s.key:r);s.type===Ie?(s.patchFlag&128&&a++,n=n.concat(Vc(s.children,t,i))):(t||s.type!==Tt)&&n.push(i!=null?Zo(s,{key:i}):s)}if(a>1)for(let r=0;r<n.length;r++)n[r].patchFlag=-2;return n}function Aa(e,t){return Me(e)?ct({name:e.name},t,{setup:e}):e}function ni(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function qc(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Pr=new WeakMap;function Sa(e,t,o,n,a=!1){if(Ce(e)){e.forEach((m,v)=>Sa(m,t&&(Ce(t)?t[v]:t),o,n,a));return}if(jn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Sa(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Gr(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===et?i.refs={}:i.refs,f=i.setupState,b=je(f),k=f===et?Zl:m=>qc(u,m)?!1:We(b,m),x=(m,v)=>!(v&&qc(u,v));if(c!=null&&c!==l){if(Wc(t),ot(c))u[c]=null,k(c)&&(f[c]=null);else if(it(c)){const m=t;x(c,m.k)&&(c.value=null),m.k&&(u[m.k]=null)}}if(Me(l))Dn(l,i,12,[s,u]);else{const m=ot(l),v=it(l);if(m||v){const g=()=>{if(e.f){const y=m?k(l)?f[l]:u[l]:x()||!e.k?l.value:u[e.k];if(a)Ce(y)&&Is(y,r);else if(Ce(y))y.includes(r)||y.push(r);else if(m)u[l]=[r],k(l)&&(f[l]=u[l]);else{const d=[r];x(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else m?(u[l]=s,k(l)&&(f[l]=s)):v&&(x(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const y=()=>{g(),Pr.delete(e)};y.id=-1,Pr.set(e,y),Rt(y,o)}else Wc(e),g()}}}function Wc(e){const t=Pr.get(e);t&&(t.flags|=8,Pr.delete(e))}const Yc=e=>e.nodeType===8;fr().requestIdleCallback,fr().cancelIdleCallback;function yh(e,t){if(Yc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Yc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const jn=e=>!!e.type.__asyncLoader;function La(e){Me(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,f=0;const b=()=>(f++,c=null,k()),k=()=>{let x;return c||(x=c=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((v,g)=>{l(m,()=>v(b()),()=>g(m),f+1)});throw m}).then(m=>x!==c&&c?c:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),u=m,m)))};return Aa({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(x,m,v){const g=x.isConnected;let y=!1;(m.bu||(m.bu=[])).push(()=>y=!0);const d=()=>{y||!x.parentNode||g&&!x.isConnected||v()},h=r?()=>{const p=r(d,_=>yh(x,_));p&&(m.bum||(m.bum=[])).push(p)}:d;u?h():k().then(()=>!m.isUnmounted&&h())},get __asyncResolved(){return u},setup(){const x=Lt;if(ni(x),u)return()=>Nr(u,x);const m=p=>{c=null,va(p,x,13,!n)};if(i&&x.suspense||zn)return k().then(p=>()=>Nr(p,x)).catch(p=>(m(p),()=>n?Ze(n,{error:p}):null));const v=le(!1),g=le(),y=le(!!a);let d,h;return Ea(()=>{d!=null&&clearTimeout(d),h!=null&&clearTimeout(h)}),a&&(h=setTimeout(()=>{x.isUnmounted||(y.value=!1)},a)),s!=null&&(d=setTimeout(()=>{if(!x.isUnmounted&&!v.value&&!g.value){const p=new Error(`Async component timed out after ${s}ms.`);m(p),g.value=p}},s)),k().then(()=>{x.isUnmounted||(v.value=!0,x.parent&&Ca(x.parent.vnode)&&x.parent.update())}).catch(p=>{if(x.isUnmounted){c=null;return}m(p),g.value=p}),()=>{if(v.value&&u)return Nr(u,x);if(g.value&&n)return Ze(n,{error:g.value});if(o&&!y.value)return Nr(o,x)}}})}function Nr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ze(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ca=e=>e.type.__isKeepAlive;function vh(e,t){Xc(e,"a",t)}function _h(e,t){Xc(e,"da",t)}function Xc(e,t,o=Lt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Mr(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ca(a.parent.vnode)&&xh(n,t,o,a),a=a.parent}}function xh(e,t,o,n){const a=Mr(t,e,n,!0);Ea(()=>{Is(n[t],a)},o)}function Mr(e,t,o=Lt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{uo();const i=Ra(o),l=Yt(t,o,e,s);return i(),po(),l});return n?a.unshift(r):a.push(r),r}}const Ro=e=>(t,o=Lt)=>{(!zn||e==="sp")&&Mr(e,(...n)=>t(...n),o)},Jc=Ro("bm"),Zt=Ro("m"),kh=Ro("bu"),wh=Ro("u"),ho=Ro("bum"),Ea=Ro("um"),Ah=Ro("sp"),Sh=Ro("rtg"),Lh=Ro("rtc");function Ch(e,t=Lt){Mr("ec",e,t)}const Eh="components",Zc=Symbol.for("v-ndc");function ai(e){return ot(e)?$h(Eh,e,!1)||e:e||Zc}function $h(e,t,o=!0,n=!1){const a=At||Lt;if(a){const r=a.type;{const i=Pu(r,!1);if(i&&(i===t||i===xt(t)||i===dr(xt(t))))return r}const s=Qc(a[e]||r[e],t)||Qc(a.appContext[e],t);return!s&&n?r:s}}function Qc(e,t){return e&&(e[t]||e[xt(t)]||e[dr(xt(t))])}function yt(e,t,o,n){let a;const r=o,s=Ce(e);if(s||ot(e)){const i=s&&No(e);let l=!1,c=!1;i&&(l=!Gt(e),c=Mo(e),e=mr(e)),a=new Array(e.length);for(let u=0,f=e.length;u<f;u++)a[u]=t(l?c?On(oo(e[u])):oo(e[u]):e[u],u,void 0,r)}else if(typeof e=="number"){a=new Array(e);for(let i=0;i<e;i++)a[i]=t(i+1,i,void 0,r)}else if(Ye(e))if(e[Symbol.iterator])a=Array.from(e,(i,l)=>t(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l<c;l++){const u=i[l];a[l]=t(e[u],u,l,r)}}else a=[];return a}function Fo(e,t,o,n,a,r){if(o==null&&(o={}),At.ce||At.parent&&jn(At.parent)&&At.parent.ce){const c=r!=null&&o.key==null?ct({},o,{key:r}):o,u=Object.keys(c).length>0;return t!=="default"&&(c.name=t),V(),Ge(Ie,null,[Ze("slot",c,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Oo.length;V();let l;try{const c=s&&eu(s(o)),u=o.key||r||c&&c.key;l=Ge(Ie,{key:(u&&!Bt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Oo.length;u>i;u--)hi();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function eu(e){return e.some(t=>Ma(t)?!(t.type===Tt||t.type===Ie&&!eu(t.children)):!0)?e:null}const ri=e=>e?Eu(e)?Gr(e):ri(e.parent):null,$a=ct(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=>ri(e.parent),$root:e=>ri(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>au(e),$forceUpdate:e=>e.f||(e.f=()=>{Js(e.update)}),$nextTick:e=>e.n||(e.n=jt.bind(e.proxy)),$watch:e=>uh.bind(e)}),si=(e,t)=>e!==et&&!e.__isScriptSetup&&We(e,t),Th={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 b=s[t];if(b!==void 0)switch(b){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(si(n,t))return s[t]=1,n[t];if(a!==et&&We(a,t))return s[t]=2,a[t];if(We(r,t))return s[t]=3,r[t];if(o!==et&&We(o,t))return s[t]=4,o[t];ii&&(s[t]=0)}}const c=$a[t];let u,f;if(c)return t==="$attrs"&&$t(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==et&&We(o,t))return s[t]=4,o[t];if(f=l.config.globalProperties,We(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return si(a,t)?(a[t]=o,!0):n!==et&&We(n,t)?(n[t]=o,!0):We(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!==et&&i[0]!=="$"&&We(e,i)||si(t,i)||We(r,i)||We(n,i)||We($a,i)||We(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:We(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function tu(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ii=!0;function Ph(e){const t=au(e),o=e.proxy,n=e.ctx;ii=!1,t.beforeCreate&&ou(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:b,beforeUpdate:k,updated:x,activated:m,deactivated:v,beforeDestroy:g,beforeUnmount:y,destroyed:d,unmounted:h,render:p,renderTracked:_,renderTriggered:L,errorCaptured:R,serverPrefetch:S,expose:z,inheritAttrs:j,components:O,directives:D,filters:M}=t;if(c&&Nh(c,n,null),s)for(const N in s){const q=s[N];Me(q)&&(n[N]=q.bind(o))}if(a){const N=a.call(o,o);Ye(N)&&(e.data=Fn(N))}if(ii=!0,r)for(const N in r){const q=r[N],ce=Me(q)?q.bind(o,o):Me(q.get)?q.get.bind(o,o):lo,ee=!Me(q)&&Me(q.set)?q.set.bind(o):lo,oe=Q({get:ce,set:ee});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>oe.value,set:H=>oe.value=H})}if(i)for(const N in i)nu(i[N],n,o,N);if(l){const N=Me(l)?l.call(o):l;Reflect.ownKeys(N).forEach(q=>{St(q,N[q])})}u&&ou(u,e,"c");function T(N,q){Ce(q)?q.forEach(ce=>N(ce.bind(o))):q&&N(q.bind(o))}if(T(Jc,f),T(Zt,b),T(kh,k),T(wh,x),T(vh,m),T(_h,v),T(Ch,R),T(Lh,_),T(Sh,L),T(ho,y),T(Ea,h),T(Ah,S),Ce(z))if(z.length){const N=e.exposed||(e.exposed={});z.forEach(q=>{Object.defineProperty(N,q,{get:()=>o[q],set:ce=>o[q]=ce,enumerable:!0})})}else e.exposed||(e.exposed={});p&&e.render===lo&&(e.render=p),j!=null&&(e.inheritAttrs=j),O&&(e.components=O),D&&(e.directives=D),S&&ni(e)}function Nh(e,t,o=lo){Ce(e)&&(e=li(e));for(const n in e){const a=e[n];let r;Ye(a)?"default"in a?r=Te(a.from||n,a.default,!0):r=Te(a.from||n):r=Te(a),it(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function ou(e,t,o){Yt(Ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function nu(e,t,o,n){let a=n.includes(".")?Dc(o,n):()=>o[n];if(ot(e)){const r=t[e];Me(r)&&De(a,r)}else if(Me(e))De(a,e.bind(o));else if(Ye(e))if(Ce(e))e.forEach(r=>nu(r,t,o,n));else{const r=Me(e.handler)?e.handler.bind(o):t[e.handler];Me(r)&&De(a,r,e)}}function au(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=>Ir(l,c,s,!0)),Ir(l,t,s)),Ye(t)&&r.set(t,l),l}function Ir(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Ir(e,r,o,!0),a&&a.forEach(s=>Ir(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Mh[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Mh={data:ru,props:su,emits:su,methods:Ta,computed:Ta,beforeCreate:It,created:It,beforeMount:It,mounted:It,beforeUpdate:It,updated:It,beforeDestroy:It,beforeUnmount:It,destroyed:It,unmounted:It,activated:It,deactivated:It,errorCaptured:It,serverPrefetch:It,components:Ta,directives:Ta,watch:Rh,provide:ru,inject:Ih};function ru(e,t){return t?e?function(){return ct(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function Ih(e,t){return Ta(li(e),li(t))}function li(e){if(Ce(e)){const t={};for(let o=0;o<e.length;o++)t[e[o]]=e[o];return t}return e}function It(e,t){return e?[...new Set([].concat(e,t))]:t}function Ta(e,t){return e?ct(Object.create(null),e,t):t}function su(e,t){return e?Ce(e)&&Ce(t)?[...new Set([...e,...t])]:ct(Object.create(null),tu(e),tu(t??{})):t}function Rh(e,t){if(!e)return t;if(!t)return e;const o=ct(Object.create(null),e);for(const n in t)o[n]=It(e[n],t[n]);return o}function iu(){return{app:null,config:{isNativeTag:Zl,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Fh=0;function Oh(e,t){return function(n,a=null){Me(n)||(n=ct({},n)),a!=null&&!Ye(a)&&(a=null);const r=iu(),s=new WeakSet,i=[];let l=!1;const c=r.app={_uid:Fh++,_component:n,_props:a,_container:null,_context:r,_instance:null,version:hm,get config(){return r.config},set config(u){},use(u,...f){return s.has(u)||(u&&Me(u.install)?(s.add(u),u.install(c,...f)):Me(u)&&(s.add(u),u(c,...f))),c},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),c},component(u,f){return f?(r.components[u]=f,c):r.components[u]},directive(u,f){return f?(r.directives[u]=f,c):r.directives[u]},mount(u,f,b){if(!l){const k=c._ceVNode||Ze(n,a);return k.appContext=r,b===!0?b="svg":b===!1&&(b=void 0),e(k,u,b),l=!0,c._container=u,u.__vue_app__=c,Gr(k.component)}},onUnmount(u){i.push(u)},unmount(){l&&(Yt(i,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return r.provides[u]=f,c},runWithContext(u){const f=yn;yn=c;try{return u()}finally{yn=f}}};return c}}let yn=null;const Dh=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xt(t)}Modifiers`]||e[`${Wt(t)}Modifiers`];function Bh(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||et;let a=o;const r=t.startsWith("update:"),s=r&&Dh(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>ot(u)?u.trim():u)),s.number&&(a=a.map(gr)));let i,l=n[i=Rs(t)]||n[i=Rs(xt(t))];!l&&r&&(l=n[i=Rs(Wt(t))]),l&&Yt(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,Yt(c,e,6,a)}}const Gh=new WeakMap;function lu(e,t,o=!1){const n=o?Gh:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Me(e)){const l=c=>{const u=lu(c,t,!0);u&&(i=!0,ct(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ye(e)&&n.set(e,null),null):(Ce(r)?r.forEach(l=>s[l]=null):ct(s,r),Ye(e)&&n.set(e,s),s)}function Rr(e,t){return!e||!sr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),We(e,t[0].toLowerCase()+t.slice(1))||We(e,Wt(t))||We(e,t))}function xL(){}function cu(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:f,data:b,setupState:k,ctx:x,inheritAttrs:m}=e,v=Cr(e);let g,y;try{if(o.shapeFlag&4){const h=a||n,p=h;g=mo(c.call(p,h,u,f,k,b,x)),y=i}else{const h=t;g=mo(h.length>1?h(f,{attrs:i,slots:s,emit:l}):h(f,null)),y=t.props?i:jh(i)}}catch(h){Oo.length=0,va(h,e,1),g=Ze(Tt)}let d=g;if(y&&m!==!1){const h=Object.keys(y),{shapeFlag:p}=d;h.length&&p&7&&(r&&h.some(ir)&&(y=zh(y,r)),d=Zo(d,y,!1,!0))}if(o.dirs&&(d=Zo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const h=Er(d.type)&&Tr(d)||d;wa(h,o.transition)}return g=d,Cr(v),g}const jh=e=>{let t;for(const o in e)(o==="class"||o==="style"||sr(o))&&((t||(t={}))[o]=e[o]);return t},zh=(e,t)=>{const o={};for(const n in e)(!ir(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Uh(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?uu(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const b=u[f];if(du(s,n,b)&&!Rr(c,b))return!0}}}else return(a||i)&&(!i||!i.$stable)?!0:n===s?!1:n?s?uu(n,s,c):!0:!!s;return!1}function uu(e,t,o){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let a=0;a<n.length;a++){const r=n[a];if(du(t,e,r)&&!Rr(o,r))return!0}return!1}function du(e,t,o){const n=e[o],a=t[o];return o==="style"&&Ye(n)&&Ye(a)?!$o(n,a):n!==a}function Kh({vnode:e,parent:t,suspense:o},n){for(;t;){const a=t.subTree;if(a.suspense&&a.suspense.activeBranch===e&&(a.suspense.vnode.el=a.el=n,e=a),a===e)(e=t.vnode).el=n,t=t.parent;else break}o&&o.activeBranch===e&&(o.vnode.el=n)}const pu={},gu=()=>Object.create(pu),fu=e=>Object.getPrototypeOf(e)===pu;function Hh(e,t,o,n=!1){const a={},r=gu();e.propsDefaults=Object.create(null),hu(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Uf(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Vh(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=je(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let b=u[f];if(Rr(e.emitsOptions,b))continue;const k=t[b];if(l)if(We(r,b))k!==r[b]&&(r[b]=k,c=!0);else{const x=xt(b);a[x]=ci(l,i,x,k,e,!1)}else k!==r[b]&&(r[b]=k,c=!0)}}}else{hu(e,t,a,r)&&(c=!0);let u;for(const f in i)(!t||!We(t,f)&&((u=Wt(f))===f||!We(t,u)))&&(l?o&&(o[f]!==void 0||o[u]!==void 0)&&(a[f]=ci(l,i,f,void 0,e,!0)):delete a[f]);if(r!==i)for(const f in r)(!t||!We(t,f))&&(delete r[f],c=!0)}c&&To(e.attrs,"set","")}function hu(e,t,o,n){const[a,r]=e.propsOptions;let s=!1,i;if(t)for(let l in t){if(da(l))continue;const c=t[l];let u;a&&We(a,u=xt(l))?!r||!r.includes(u)?o[u]=c:(i||(i={}))[u]=c:Rr(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,s=!0)}if(r){const l=je(o),c=i||et;for(let u=0;u<r.length;u++){const f=r[u];o[f]=ci(a,l,f,c[f],e,!We(c,f))}}return s}function ci(e,t,o,n,a,r){const s=e[o];if(s!=null){const i=We(s,"default");if(i&&n===void 0){const l=s.default;if(s.type!==Function&&!s.skipFactory&&Me(l)){const{propsDefaults:c}=a;if(o in c)n=c[o];else{const u=Ra(a);n=c[o]=l.call(null,t),u()}}else n=l;a.ce&&a.ce._setProp(o,n)}s[0]&&(r&&!i?n=!1:s[1]&&(n===""||n===Wt(o))&&(n=!0))}return n}const qh=new WeakMap;function mu(e,t,o=!1){const n=o?qh:t.propsCache,a=n.get(e);if(a)return a;const r=e.props,s={},i=[];let l=!1;if(!Me(e)){const u=f=>{l=!0;const[b,k]=mu(f,t,!0);ct(s,b),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 Ye(e)&&n.set(e,In),In;if(Ce(r))for(let u=0;u<r.length;u++){const f=xt(r[u]);bu(f)&&(s[f]=et)}else if(r)for(const u in r){const f=xt(u);if(bu(f)){const b=r[u],k=s[f]=Ce(b)||Me(b)?{type:b}:ct({},b),x=k.type;let m=!1,v=!0;if(Ce(x))for(let g=0;g<x.length;++g){const y=x[g],d=Me(y)&&y.name;if(d==="Boolean"){m=!0;break}else d==="String"&&(v=!1)}else m=Me(x)&&x.name==="Boolean";k[0]=m,k[1]=v,(m||We(k,"default"))&&i.push(f)}}const c=[s,i];return Ye(e)&&n.set(e,c),c}function bu(e){return e[0]!=="$"&&!da(e)}const ui=e=>e==="_"||e==="_ctx"||e==="$stable",di=e=>Ce(e)?e.map(mo):[mo(e)],Wh=(e,t,o)=>{if(t._n)return t;const n=Mt((...a)=>di(t(...a)),o);return n._c=!1,n},yu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ui(a))continue;const r=e[a];if(Me(r))t[a]=Wh(a,r,n);else if(r!=null){const s=di(r);t[a]=()=>s}}},vu=(e,t)=>{const o=di(t);e.slots.default=()=>o},_u=(e,t,o)=>{for(const n in t)(o||!ui(n))&&(e[n]=t[n])},Yh=(e,t,o)=>{const n=e.slots=gu();if(e.vnode.shapeFlag&32){const a=t._;a?(_u(n,t,o),o&&oc(n,"_",a,!0)):yu(t,n)}else t&&vu(e,t)},Xh=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=et;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:_u(a,t,o):(r=!t.$stable,yu(t,a)),s=t}else t&&(vu(e,t),s={default:1});if(r)for(const i in a)!ui(i)&&s[i]==null&&delete a[i]},Rt=tm;function Jh(e){return Zh(e)}function Zh(e,t){const o=fr();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:b,setScopeId:k=lo,insertStaticContent:x}=e,m=(E,F,B,K=null,te=null,U=null,X=void 0,ne=null,w=!!F.dynamicChildren)=>{if(E===F)return;E&&!_n(E,F)&&(K=Ae(E),H(E,te,U,!0),E=null),F.patchFlag===-2&&(w=!1,F.dynamicChildren=null);const{type:A,ref:W,shapeFlag:re}=F;switch(A){case Pa:v(E,F,B,K);break;case Tt:g(E,F,B,K);break;case fi:E==null&&y(F,B,K,X);break;case Ie:O(E,F,B,K,te,U,X,ne,w);break;default:re&1?p(E,F,B,K,te,U,X,ne,w):re&6?D(E,F,B,K,te,U,X,ne,w):(re&64||re&128)&&A.process(E,F,B,K,te,U,X,ne,w,me)}W!=null&&te?Sa(W,E&&E.ref,U,F||E,!F):W==null&&E&&E.ref!=null&&Sa(E.ref,null,U,E,!0)},v=(E,F,B,K)=>{if(E==null)n(F.el=i(F.children),B,K);else{const te=F.el=E.el;F.children!==E.children&&c(te,F.children)}},g=(E,F,B,K)=>{E==null?n(F.el=l(F.children||""),B,K):F.el=E.el},y=(E,F,B,K)=>{[E.el,E.anchor]=x(E.children,F,B,K,E.el,E.anchor)},d=({el:E,anchor:F},B,K)=>{let te;for(;E&&E!==F;)te=b(E),n(E,B,K),E=te;n(F,B,K)},h=({el:E,anchor:F})=>{let B;for(;E&&E!==F;)B=b(E),a(E),E=B;a(F)},p=(E,F,B,K,te,U,X,ne,w)=>{if(F.type==="svg"?X="svg":F.type==="math"&&(X="mathml"),E==null)_(F,B,K,te,U,X,ne,w);else{const A=E.el&&E.el._isVueCE?E.el:null;try{A&&A._beginPatch(),S(E,F,te,U,X,ne,w)}finally{A&&A._endPatch()}}},_=(E,F,B,K,te,U,X,ne)=>{let w,A;const{props:W,shapeFlag:re,transition:be,dirs:fe}=E;if(w=E.el=s(E.type,U,W&&W.is,W),re&8?u(w,E.children):re&16&&R(E.children,w,null,K,te,pi(E,U),X,ne),fe&&mn(E,null,K,"created"),L(w,E,E.scopeId,X,K),W){for(const P in W)P!=="value"&&!da(P)&&r(w,P,null,W[P],U,K);"value"in W&&r(w,"value",null,W.value,U),(A=W.onVnodeBeforeMount)&&bo(A,K,E)}fe&&mn(E,null,K,"beforeMount");const Z=Qh(te,be);Z&&be.beforeEnter(w),n(w,F,B),((A=W&&W.onVnodeMounted)||Z||fe)&&Rt(()=>{try{A&&bo(A,K,E),Z&&be.enter(w),fe&&mn(E,null,K,"mounted")}finally{}},te)},L=(E,F,B,K,te)=>{if(B&&k(E,B),K)for(let U=0;U<K.length;U++)k(E,K[U]);if(te){let U=te.subTree;if(F===U||Au(U.type)&&(U.ssContent===F||U.ssFallback===F)){const X=te.vnode;L(E,X,X.scopeId,X.slotScopeIds,te.parent)}}},R=(E,F,B,K,te,U,X,ne,w=0)=>{for(let A=w;A<E.length;A++){const W=E[A]=ne?Do(E[A]):mo(E[A]);m(null,W,F,B,K,te,U,X,ne)}},S=(E,F,B,K,te,U,X)=>{const ne=F.el=E.el;let{patchFlag:w,dynamicChildren:A,dirs:W}=F;w|=E.patchFlag&16;const re=E.props||et,be=F.props||et;let fe;if(B&&vn(B,!1),(fe=be.onVnodeBeforeUpdate)&&bo(fe,B,F,E),W&&mn(F,E,B,"beforeUpdate"),B&&vn(B,!0),A&&(!E.dynamicChildren||E.dynamicChildren.length!==A.length)&&(w=0,X=!1,A=null),(re.innerHTML&&be.innerHTML==null||re.textContent&&be.textContent==null)&&u(ne,""),A?z(E.dynamicChildren,A,ne,B,K,pi(F,te),U):X||q(E,F,ne,null,B,K,pi(F,te),U,!1),w>0){if(w&16)j(ne,re,be,B,te);else if(w&2&&re.class!==be.class&&r(ne,"class",null,be.class,te),w&4&&r(ne,"style",re.style,be.style,te),w&8){const Z=F.dynamicProps;for(let P=0;P<Z.length;P++){const Y=Z[P],ge=re[Y],xe=be[Y];(xe!==ge||Y==="value")&&r(ne,Y,ge,xe,te,B)}}w&1&&E.children!==F.children&&u(ne,F.children)}else!X&&A==null&&j(ne,re,be,B,te);((fe=be.onVnodeUpdated)||W)&&Rt(()=>{fe&&bo(fe,B,F,E),W&&mn(F,E,B,"updated")},K)},z=(E,F,B,K,te,U,X)=>{for(let ne=0;ne<F.length;ne++){const w=E[ne],A=F[ne],W=w.el&&(w.type===Ie||!_n(w,A)||w.shapeFlag&198)?f(w.el):B;m(w,A,W,null,K,te,U,X,!0)}},j=(E,F,B,K,te)=>{if(F!==B){if(F!==et)for(const U in F)!da(U)&&!(U in B)&&r(E,U,F[U],null,te,K);for(const U in B){if(da(U))continue;const X=B[U],ne=F[U];X!==ne&&U!=="value"&&r(E,U,ne,X,te,K)}"value"in B&&r(E,"value",F.value,B.value,te)}},O=(E,F,B,K,te,U,X,ne,w)=>{const A=F.el=E?E.el:i(""),W=F.anchor=E?E.anchor:i("");let{patchFlag:re,dynamicChildren:be,slotScopeIds:fe}=F;fe&&(ne=ne?ne.concat(fe):fe),E==null?(n(A,B,K),n(W,B,K),R(F.children||[],B,W,te,U,X,ne,w)):re>0&&re&64&&be&&E.dynamicChildren&&E.dynamicChildren.length===be.length?(z(E.dynamicChildren,be,B,te,U,X,ne),(F.key!=null||te&&F===te.subTree)&&gi(E,F,!0)):q(E,F,B,W,te,U,X,ne,w)},D=(E,F,B,K,te,U,X,ne,w)=>{F.slotScopeIds=ne,E==null?F.shapeFlag&512?te.ctx.activate(F,B,K,X,w):M(F,B,K,te,U,X,w):$(E,F,w)},M=(E,F,B,K,te,U,X)=>{const ne=E.component=im(E,K,te);if(Ca(E)&&(ne.ctx.renderer=me),lm(ne,!1,X),ne.asyncDep){if(te&&te.registerDep(ne,T,X),!E.el){const w=ne.subTree=Ze(Tt);g(null,w,F,B),E.placeholder=w.el}}else T(ne,E,F,B,te,U,X)},$=(E,F,B)=>{const K=F.component=E.component;if(Uh(E,F,B))if(K.asyncDep&&!K.asyncResolved){N(K,F,B);return}else K.next=F,K.update();else F.el=E.el,K.vnode=F},T=(E,F,B,K,te,U,X)=>{const ne=()=>{if(E.isMounted){let{next:re,bu:be,u:fe,parent:Z,vnode:P}=E;{const Fe=xu(E);if(Fe){re&&(re.el=P.el,N(E,re,X)),Fe.asyncDep.then(()=>{Rt(()=>{E.isUnmounted||A()},te)});return}}let Y=re,ge;vn(E,!1),re?(re.el=P.el,N(E,re,X)):re=P,be&&pr(be),(ge=re.props&&re.props.onVnodeBeforeUpdate)&&bo(ge,Z,re,P),vn(E,!0);const xe=cu(E),Se=E.subTree;E.subTree=xe,m(Se,xe,f(Se.el),Ae(Se),E,te,U),re.el=xe.el,Y===null&&Kh(E,xe.el),fe&&Rt(fe,te),(ge=re.props&&re.props.onVnodeUpdated)&&Rt(()=>bo(ge,Z,re,P),te)}else{let re;const{el:be,props:fe}=F,{bm:Z,m:P,parent:Y,root:ge,type:xe}=E,Se=jn(F);vn(E,!1),Z&&pr(Z),!Se&&(re=fe&&fe.onVnodeBeforeMount)&&bo(re,Y,F),vn(E,!0);{ge.ce&&ge.ce._hasShadowRoot()&&ge.ce._injectChildStyle(xe,E.parent?E.parent.type:void 0);const Fe=E.subTree=cu(E);m(null,Fe,B,K,E,te,U),F.el=Fe.el}if(P&&Rt(P,te),!Se&&(re=fe&&fe.onVnodeMounted)){const Fe=F;Rt(()=>bo(re,Y,Fe),te)}(F.shapeFlag&256||Y&&jn(Y.vnode)&&Y.vnode.shapeFlag&256)&&E.a&&Rt(E.a,te),E.isMounted=!0,F=B=K=null}};E.scope.on();const w=E.effect=new uc(ne);E.scope.off();const A=E.update=w.run.bind(w),W=E.job=w.runIfDirty.bind(w);W.i=E,W.id=E.uid,w.scheduler=()=>Js(W),vn(E,!0),A()},N=(E,F,B)=>{F.component=E;const K=E.vnode.props;E.vnode=F,E.next=null,Vh(E,F.props,K,B),Xh(E,F.children,B),uo(),Ic(E),po()},q=(E,F,B,K,te,U,X,ne,w=!1)=>{const A=E&&E.children,W=E?E.shapeFlag:0,re=F.children,{patchFlag:be,shapeFlag:fe}=F;if(be>0){if(be&128){ee(A,re,B,K,te,U,X,ne,w);return}else if(be&256){ce(A,re,B,K,te,U,X,ne,w);return}}fe&8?(W&16&&$e(A,te,U),re!==A&&u(B,re)):W&16?fe&16?ee(A,re,B,K,te,U,X,ne,w):$e(A,te,U,!0):(W&8&&u(B,""),fe&16&&R(re,B,K,te,U,X,ne,w))},ce=(E,F,B,K,te,U,X,ne,w)=>{E=E||In,F=F||In;const A=E.length,W=F.length,re=Math.min(A,W);let be;for(be=0;be<re;be++){const fe=F[be]=w?Do(F[be]):mo(F[be]);m(E[be],fe,B,null,te,U,X,ne,w)}A>W?$e(E,te,U,!0,!1,re):R(F,B,K,te,U,X,ne,w,re)},ee=(E,F,B,K,te,U,X,ne,w)=>{let A=0;const W=F.length;let re=E.length-1,be=W-1;for(;A<=re&&A<=be;){const fe=E[A],Z=F[A]=w?Do(F[A]):mo(F[A]);if(_n(fe,Z))m(fe,Z,B,null,te,U,X,ne,w);else break;A++}for(;A<=re&&A<=be;){const fe=E[re],Z=F[be]=w?Do(F[be]):mo(F[be]);if(_n(fe,Z))m(fe,Z,B,null,te,U,X,ne,w);else break;re--,be--}if(A>re){if(A<=be){const fe=be+1,Z=fe<W?F[fe].el:K;for(;A<=be;)m(null,F[A]=w?Do(F[A]):mo(F[A]),B,Z,te,U,X,ne,w),A++}}else if(A>be)for(;A<=re;)H(E[A],te,U,!0),A++;else{const fe=A,Z=A,P=new Map;for(A=Z;A<=be;A++){const Ke=F[A]=w?Do(F[A]):mo(F[A]);Ke.key!=null&&P.set(Ke.key,A)}let Y,ge=0;const xe=be-Z+1;let Se=!1,Fe=0;const Ne=new Array(xe);for(A=0;A<xe;A++)Ne[A]=0;for(A=fe;A<=re;A++){const Ke=E[A];if(ge>=xe){H(Ke,te,U,!0);continue}let He;if(Ke.key!=null)He=P.get(Ke.key);else for(Y=Z;Y<=be;Y++)if(Ne[Y-Z]===0&&_n(Ke,F[Y])){He=Y;break}He===void 0?H(Ke,te,U,!0):(Ne[He-Z]=A+1,He>=Fe?Fe=He:Se=!0,m(Ke,F[He],B,null,te,U,X,ne,w),ge++)}const pt=Se?em(Ne):In;for(Y=pt.length-1,A=xe-1;A>=0;A--){const Ke=Z+A,He=F[Ke],sa=F[Ke+1],fs=Ke+1<W?sa.el||wu(sa):K;Ne[A]===0?m(null,He,B,fs,te,U,X,ne,w):Se&&(Y<0||A!==pt[Y]?oe(He,B,fs,2):Y--)}}},oe=(E,F,B,K,te=null)=>{const{el:U,type:X,transition:ne,children:w,shapeFlag:A}=E;if(A&6){oe(E.component.subTree,F,B,K);return}if(A&128){E.suspense.move(F,B,K);return}if(A&64){X.move(E,F,B,me);return}if(X===Ie){n(U,F,B);for(let re=0;re<w.length;re++)oe(w[re],F,B,K);n(E.anchor,F,B);return}if(X===fi){d(E,F,B);return}if(K!==2&&A&1&&ne)if(K===0)ne.persisted&&!U[Xt]?n(U,F,B):(ne.beforeEnter(U),n(U,F,B),Rt(()=>ne.enter(U),te));else{const{leave:re,delayLeave:be,afterLeave:fe}=ne,Z=()=>{E.ctx.isUnmounted?a(U):n(U,F,B)},P=()=>{const Y=U._isLeaving||!!U[Xt];U._isLeaving&&U[Xt](!0),ne.persisted&&!Y?Z():re(U,()=>{Z(),fe&&fe()})};be?be(U,Z,P):P()}else n(U,F,B)},H=(E,F,B,K=!1,te=!1)=>{const{type:U,props:X,ref:ne,children:w,dynamicChildren:A,shapeFlag:W,patchFlag:re,dirs:be,cacheIndex:fe,memo:Z}=E;if(re===-2&&(te=!1),ne!=null&&(uo(),Sa(ne,null,B,E,!0),po()),fe!=null&&(F.renderCache[fe]=void 0),W&256){F.ctx.deactivate(E);return}const P=W&1&&be,Y=!jn(E);let ge;if(Y&&(ge=X&&X.onVnodeBeforeUnmount)&&bo(ge,F,E),W&6)ue(E.component,B,K);else{if(W&128){E.suspense.unmount(B,K);return}P&&mn(E,null,F,"beforeUnmount"),W&64?E.type.remove(E,F,B,me,K):A&&!A.hasOnce&&(U!==Ie||re>0&&re&64)?$e(A,F,B,!1,!0):(U===Ie&&re&384||!te&&W&16)&&$e(w,F,B),K&&pe(E)}const xe=Z!=null&&fe==null;(Y&&(ge=X&&X.onVnodeUnmounted)||P||xe)&&Rt(()=>{ge&&bo(ge,F,E),P&&mn(E,null,F,"unmounted"),xe&&(E.el=null)},B)},pe=E=>{const{type:F,el:B,anchor:K,transition:te}=E;if(F===Ie){we(B,K);return}if(F===fi){h(E);return}const U=()=>{a(B),te&&!te.persisted&&te.afterLeave&&te.afterLeave()};if(E.shapeFlag&1&&te&&!te.persisted){const{leave:X,delayLeave:ne}=te,w=()=>X(B,U);ne?ne(E.el,U,w):w()}else U()},we=(E,F)=>{let B;for(;E!==F;)B=b(E),a(E),E=B;a(F)},ue=(E,F,B)=>{const{bum:K,scope:te,job:U,subTree:X,um:ne,m:w,a:A}=E;ku(w),ku(A),K&&pr(K),te.stop(),U&&(U.flags|=8,H(X,E,F,B)),ne&&Rt(ne,F),Rt(()=>{E.isUnmounted=!0},F)},$e=(E,F,B,K=!1,te=!1,U=0)=>{for(let X=U;X<E.length;X++)H(E[X],F,B,K,te)},Ae=E=>{if(E.shapeFlag&6)return Ae(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();const F=b(E.anchor||E.el),B=F&&F[Bc];return B?b(B):F};let ie=!1;const ye=(E,F,B)=>{let K;E==null?F._vnode&&(H(F._vnode,null,null,!0),K=F._vnode.component):m(F._vnode||null,E,F,null,null,null,B),F._vnode=E,ie||(ie=!0,Ic(K),Rc(),ie=!1)},me={p:m,um:H,m:oe,r:pe,mt:M,mc:R,pc:q,pbc:z,n:Ae,o:e};return{render:ye,hydrate:void 0,createApp:Oh(ye)}}function pi({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 vn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Qh(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gi(e,t,o=!1){const n=e.children,a=t.children;if(Ce(n)&&Ce(a))for(let r=0;r<n.length;r++){const s=n[r];let i=a[r];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=a[r]=Do(a[r]),i.el=s.el),!o&&i.patchFlag!==-2&&gi(s,i)),i.type===Pa&&(i.patchFlag===-1&&(i=a[r]=Do(i)),i.el=s.el),i.type===Tt&&!i.el&&(i.el=s.el)}}function em(e){const t=e.slice(),o=[0];let n,a,r,s,i;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(a=o[o.length-1],e[a]<c){t[n]=a,o.push(n);continue}for(r=0,s=o.length-1;r<s;)i=r+s>>1,e[o[i]]<c?r=i+1:s=i;c<e[o[r]]&&(r>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 xu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xu(t)}function ku(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function wu(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?wu(t.subTree):null}const Au=e=>e.__isSuspense;function tm(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):rh(e)}const Ie=Symbol.for("v-fgt"),Pa=Symbol.for("v-txt"),Tt=Symbol.for("v-cmt"),fi=Symbol.for("v-stc"),Oo=[];let Ut=null;function V(e=!1){Oo.push(Ut=e?null:[])}function hi(){Oo.pop(),Ut=Oo[Oo.length-1]||null}let Na=1;function Fr(e,t=!1){Na+=e,e<0&&Ut&&t&&(Ut.hasOnce=!0)}function Su(e){return e.dynamicChildren=Na>0?Ut||In:null,hi(),Na>0&&Ut&&Ut.push(e),e}function ae(e,t,o,n,a,r){return Su(C(e,t,o,n,a,r,!0))}function Ge(e,t,o,n,a){return Su(Ze(e,t,o,n,a,!0))}function Ma(e){return e?e.__v_isVNode===!0:!1}function _n(e,t){return e.type===t.type&&e.key===t.key}const Lu=({key:e})=>e??null,Or=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ot(e)||it(e)||Me(e)?{i:At,r:e,k:t,f:!!o}:e:null);function C(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&&Lu(t),ref:t&&Or(t),scopeId:Oc,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:At};return i?(Dr(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=ot(o)?8:16),Na>0&&!s&&Ut&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Ut.push(l),l}const Ze=om;function om(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Zc)&&(e=Tt),Ma(e)){const i=Zo(e,t,!0);return o&&Dr(i,o),Na>0&&!r&&Ut&&(i.shapeFlag&6?Ut[Ut.indexOf(e)]=i:Ut.push(i)),i.patchFlag=-2,i}if(fm(e)&&(e=e.__vccOpts),t){t=nm(t);let{class:i,style:l}=t;i&&!ot(i)&&(t.class=Ee(i)),Ye(l)&&(xr(l)&&!Ce(l)&&(l=ct({},l)),t.style=Xe(l))}const s=ot(e)?1:Au(e)?128:Er(e)?64:Ye(e)?4:Me(e)?2:0;return C(e,t,o,n,a,s,r,!0)}function nm(e){return e?xr(e)||fu(e)?ct({},e):e:null}function Zo(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?am(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Lu(c),ref:t&&t.ref?o&&r?Ce(r)?r.concat(Or(t)):[r,Or(t)]:Or(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&&Zo(e.ssContent),ssFallback:e.ssFallback&&Zo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&wa(u,l.clone(u)),u}function gt(e=" ",t=0){return Ze(Pa,null,e,t)}function ve(e="",t=!1){return t?(V(),Ge(Tt,null,e)):Ze(Tt,null,e)}function mo(e){return e==null||typeof e=="boolean"?Ze(Tt):Ce(e)?Ze(Ie,null,e.slice()):Ma(e)?Do(e):Ze(Pa,null,String(e))}function Do(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zo(e)}function Dr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Dr(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!fu(t)?t._ctx=At:a===3&&At&&(At.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Me(t)){if(n&65){Dr(e,{default:t});return}t={default:t,_ctx:At},o=32}else t=String(t),n&64?(o=16,t=[gt(t)]):o=8;e.children=t,e.shapeFlag|=o}function am(...e){const t={};for(let o=0;o<e.length;o++){const n=e[o];for(const a in n)if(a==="class")t.class!==n.class&&(t.class=Ee([t.class,n.class]));else if(a==="style")t.style=Xe([t.style,n.style]);else if(sr(a)){const r=t[a],s=n[a];s&&r!==s&&!(Ce(r)&&r.includes(s))?t[a]=r?[].concat(r,s):s:s==null&&r==null&&!ir(a)&&(t[a]=s)}else a!==""&&(t[a]=n[a])}return t}function bo(e,t,o,n=null){Yt(e,t,7,[o,n])}const rm=iu();let sm=0;function im(e,t,o){const n=e.type,a=(t?t.appContext:e.appContext)||rm,r={uid:sm++,vnode:e,type:n,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new lc(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:mu(n,a),emitsOptions:lu(n,a),emit:null,emitted:null,propsDefaults:et,inheritAttrs:n.inheritAttrs,ctx:et,data:et,props:et,attrs:et,slots:et,refs:et,setupState:et,setupContext:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Bh.bind(null,r),e.ce&&e.ce(r),r}let Lt=null;const yo=()=>Lt||At;let Br,Ia;{const e=fr(),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)}};Br=t("__VUE_INSTANCE_SETTERS__",o=>Lt=o),Ia=t("__VUE_SSR_SETTERS__",o=>zn=o)}const Ra=e=>{const t=Lt;return Br(e),e.scope.on(),()=>{e.scope.off(),Br(t)}},Cu=()=>{Lt&&Lt.scope.off(),Br(null)};function Eu(e){return e.vnode.shapeFlag&4}let zn=!1;function lm(e,t=!1,o=!1){t&&Ia(t);const{props:n,children:a}=e.vnode,r=Eu(e);Hh(e,n,r,t),Yh(e,a,o||t);const s=r?cm(e,t):void 0;return t&&Ia(!1),s}function cm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Th);const{setup:n}=o;if(n){uo();const a=e.setupContext=n.length>1?dm(e):null,r=Ra(e),s=Dn(n,e,0,[e.props,a]),i=ec(s);if(po(),r(),(i||e.sp)&&!jn(e)&&ni(e),i){if(s.then(Cu,Cu),t)return s.then(l=>{Ia(!0);try{$u(e,l,t)}finally{Ia(!1)}}).catch(l=>{va(l,e,0)});e.asyncDep=s}else $u(e,s)}else Tu(e)}function $u(e,t,o){Me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=$c(t)),Tu(e)}function Tu(e,t,o){const n=e.type;e.render||(e.render=n.render||lo);{const a=Ra(e);uo();try{Ph(e)}finally{po(),a()}}}const um={get(e,t){return $t(e,"get",""),e[t]}};function dm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,um),slots:e.slots,emit:e.emit,expose:t}}function Gr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy($c(ba(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in $a)return $a[o](e)},has(t,o){return o in t||o in $a}})):e.proxy}const pm=/(?:^|[-_])\w/g,gm=e=>e.replace(pm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Pu(e,t=!0){return Me(e)?e.displayName||e.name:e.name||t&&e.__name}function Nu(e,t,o=!1){let n=Pu(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?gm(n):o?"App":"Anonymous"}function fm(e){return Me(e)&&"__vccOpts"in e}const Q=(e,t)=>Xf(e,t,zn);function mi(e,t,o){try{Fr(-1);const n=arguments.length;return n===2?Ye(t)&&!Ce(t)?Ma(t)?Ze(e,null,[t]):Ze(e,t):Ze(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Ma(o)&&(o=[o]),Ze(e,t,o))}finally{Fr(1)}}const hm="3.5.42";/**
|
||
* @vue/runtime-dom v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let bi;const Mu=typeof window<"u"&&window.trustedTypes;if(Mu)try{bi=Mu.createPolicy("vue",{createHTML:e=>e})}catch{}const Iu=bi?e=>bi.createHTML(e):e=>e,mm="http://www.w3.org/2000/svg",bm="http://www.w3.org/1998/Math/MathML",Bo=typeof document<"u"?document:null,Ru=Bo&&Bo.createElement("template"),ym={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"?Bo.createElementNS(mm,e):t==="mathml"?Bo.createElementNS(bm,e):o?Bo.createElement(e,{is:o}):Bo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Bo.createTextNode(e),createComment:e=>Bo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bo.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{Ru.innerHTML=Iu(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const i=Ru.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]}},Qo="transition",Fa="animation",Oa=Symbol("_vtc"),Fu={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},vm=ct({},zc,Fu),_m=(e=>(e.displayName="Transition",e.props=vm,e))((e,{slots:t})=>mi(bh,xm(e),t)),xn=(e,t=[])=>{Ce(e)?e.forEach(o=>o(...t)):e&&e(...t)},Ou=e=>e?Ce(e)?e.some(t=>t.length>1):e.length>1:!1;function xm(e){const t={};for(const O in e)O in Fu||(t[O]=e[O]);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:f=`${o}-leave-from`,leaveActiveClass:b=`${o}-leave-active`,leaveToClass:k=`${o}-leave-to`}=e,x=km(a),m=x&&x[0],v=x&&x[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:d,onLeave:h,onLeaveCancelled:p,onBeforeAppear:_=g,onAppear:L=y,onAppearCancelled:R=d}=t,S=(O,D,M,$)=>{O._enterCancelled=$,kn(O,D?u:i),kn(O,D?c:s),M&&M()},z=(O,D)=>{O._isLeaving=!1,kn(O,f),kn(O,k),kn(O,b),D&&D()},j=O=>(D,M)=>{const $=O?L:y,T=()=>S(D,O,M);xn($,[D,T]),Du(()=>{kn(D,O?l:r),Go(D,O?u:i),Ou($)||Bu(D,n,m,T)})};return ct(t,{onBeforeEnter(O){xn(g,[O]),Go(O,r),Go(O,s)},onBeforeAppear(O){xn(_,[O]),Go(O,l),Go(O,c)},onEnter:j(!1),onAppear:j(!0),onLeave(O,D){O._isLeaving=!0;const M=()=>z(O,D);Go(O,f),O._enterCancelled?(Go(O,b),zu(O)):(zu(O),Go(O,b)),Du(()=>{O._isLeaving&&(kn(O,f),Go(O,k),Ou(h)||Bu(O,n,v,M))}),xn(h,[O,M])},onEnterCancelled(O){S(O,!1,void 0,!0),xn(d,[O])},onAppearCancelled(O){S(O,!0,void 0,!0),xn(R,[O])},onLeaveCancelled(O){z(O),xn(p,[O])}})}function km(e){if(e==null)return null;if(Ye(e))return[yi(e.enter),yi(e.leave)];{const t=yi(e);return[t,t]}}function yi(e){return Fs(e)}function Go(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[Oa]||(e[Oa]=new Set)).add(t)}function kn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const o=e[Oa];o&&(o.delete(t),o.size||(e[Oa]=void 0))}function Du(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let wm=0;function Bu(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}=Am(e,t);if(!s)return n();const c=s+"end";let u=0;const f=()=>{e.removeEventListener(c,b),r()},b=k=>{k.target===e&&++u>=l&&f()};setTimeout(()=>{u<l&&f()},i+1),e.addEventListener(c,b)}function Am(e,t){const o=window.getComputedStyle(e),n=x=>(o[x]||"").split(", "),a=n(`${Qo}Delay`),r=n(`${Qo}Duration`),s=Gu(a,r),i=n(`${Fa}Delay`),l=n(`${Fa}Duration`),c=Gu(i,l);let u=null,f=0,b=0;t===Qo?s>0&&(u=Qo,f=s,b=r.length):t===Fa?c>0&&(u=Fa,f=c,b=l.length):(f=Math.max(s,c),u=f>0?s>c?Qo:Fa:null,b=u?u===Qo?r.length:l.length:0);const k=u===Qo&&/\b(?:transform|all)(?:,|$)/.test(n(`${Qo}Property`).toString());return{type:u,timeout:f,propCount:b,hasTransform:k}}function Gu(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((o,n)=>ju(o)+ju(e[n])))}function ju(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function zu(e){return(e?e.ownerDocument:document).body.offsetHeight}function Sm(e,t,o){const n=e[Oa];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const jr=Symbol("_vod"),Uu=Symbol("_vsh"),Ku={name:"show",beforeMount(e,{value:t},{transition:o}){e[jr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Da(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),Da(e,!0),n.enter(e)):n.leave(e,()=>{Da(e,!1)}):Da(e,t))},beforeUnmount(e,{value:t}){Da(e,t)}};function Da(e,t){e.style.display=t?e[jr]:"none",e[Uu]=!t}const Lm=Symbol(""),Cm=/(?:^|;)\s*display\s*:/;function Em(e,t,o){const n=e.style,a=ot(o);let r=!1;if(o&&!a){if(t)if(ot(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&Ba(n,i,"")}else for(const s in t)o[s]==null&&Ba(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?Tm(e,s,!ot(t)&&t?t[s]:void 0,i)||Ba(n,s,i):Ba(n,s,"")}}else if(a){if(t!==o){const s=n[Lm];s&&(o+=";"+s),n.cssText=o,r=Cm.test(o)}}else t&&e.removeAttribute("style");jr in e&&(e[jr]=r?n.display:"",e[Uu]&&(n.display="none"))}const zr=/\s*!important$/;function Ba(e,t,o){if(Ce(o))o.forEach(n=>Ba(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))zr.test(o)?e.setProperty(t,o.replace(zr,""),"important"):e.setProperty(t,o);else{const n=$m(e,t);zr.test(o)?e.setProperty(Wt(n),o.replace(zr,""),"important"):e[n]=o}}const Hu=["Webkit","Moz","ms"],vi={};function $m(e,t){const o=vi[t];if(o)return o;let n=xt(t);if(n!=="filter"&&n in e)return vi[t]=n;n=dr(n);for(let a=0;a<Hu.length;a++){const r=Hu[a]+n;if(r in e)return vi[t]=r}return t}function Tm(e,t,o,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ot(n)&&o===n}const Vu="http://www.w3.org/1999/xlink";function qu(e,t,o,n,a,r=kf(t)){n&&t.startsWith("xlink:")?o==null?e.removeAttributeNS(Vu,t.slice(6,t.length)):e.setAttributeNS(Vu,t,o):o==null||r&&!ac(o)?e.removeAttribute(t):e.setAttribute(t,r?"":Bt(o)?String(o):o)}function Wu(e,t,o,n,a){if(t==="innerHTML"||t==="textContent"){o!=null&&(e[t]=t==="innerHTML"?Iu(o):o);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const i=r==="OPTION"?e.getAttribute("value")||"":e.value,l=o==null?e.type==="checkbox"?"on":"":String(o);(i!==l||!("_value"in e))&&(e.value=l),o==null&&e.removeAttribute(t),e._value=o;return}let s=!1;if(o===""||o==null){const i=typeof e[t];i==="boolean"?o=ac(o):o==null&&i==="string"?(o="",s=!0):i==="number"&&(o=0,s=!0)}try{e[t]=o}catch{}s&&e.removeAttribute(a||t)}function en(e,t,o,n){e.addEventListener(t,o,n)}function Pm(e,t,o,n){e.removeEventListener(t,o,n)}const Yu=Symbol("_vei");function Nm(e,t,o,n,a=null){const r=e[Yu]||(e[Yu]={}),s=r[t];if(n&&s)s.value=n;else{const[i,l]=Rm(t);if(n){const c=r[t]=Dm(n,a);en(e,i,c,l)}else s&&(Pm(e,i,s,l),r[t]=void 0)}}const Mm=/(Once|Passive|Capture)$/,Im=/^on:?(?:Once|Passive|Capture)$/;function Rm(e){let t,o;for(;(o=e.match(Mm))&&!Im.test(e);)t||(t={}),e=e.slice(0,e.length-o[1].length),t[o[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Wt(e.slice(2)),t]}let _i=0;const Fm=Promise.resolve(),Om=()=>_i||(Fm.then(()=>_i=0),_i=Date.now());function Dm(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Ce(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;l<s.length&&!n._stopped;l++){const c=s[l];c&&Yt(c,t,5,i)}}else Yt(a,t,5,[n])};return o.value=e,o.attached=Om(),o}const Xu=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bm=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?Sm(e,n,s):t==="style"?Em(e,o,n):sr(t)?ir(t)||Nm(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Gm(e,t,n,s))?(Wu(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&qu(e,t,n,s,r,t!=="value")):e._isVueCE&&(jm(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ot(n)))?Wu(e,xt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),qu(e,t,n,s))};function Gm(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xu(t)&&Me(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 Xu(t)&&ot(o)?!1:t in e}function jm(e,t){const o=e._def.props;if(!o)return!1;const n=xt(t);return Array.isArray(o)?o.some(a=>xt(a)===n):Object.keys(o).some(a=>xt(a)===n)}const Ju={};function zm(e,t,o){let n=Aa(e,t);lr(n)&&(n=ct({},n,t));class a extends xi{constructor(s){super(n,s,o)}}return a.def=n,a}const Um=typeof HTMLElement<"u"?HTMLElement:class{};class xi extends Um{constructor(t,o={},n=ad){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!==ad?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ct({},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 xi){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.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(n,a=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!Ce(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Fs(this._props[l])),(i||(i=Object.create(null)))[xt(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)We(this,n)||Object.defineProperty(this,n,{get:()=>de(o[n])})}_resolveProps(t){const{props:o}=t,n=Ce(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(xt))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):Ju;const a=xt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Fs(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===Ju?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(Wt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Wt(t),o+""):o||this.removeAttribute(Wt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Ym(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ze(this._def,ct(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,lr(s[0])?ct({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Wt(r)!==r&&a(Wt(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<t.childNodes.length;o++){const n=t.childNodes[o];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const t=this._slots={};let o;for(;o=this.firstChild;){const n=o.nodeType===1&&o.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(o),this.removeChild(o)}}_renderSlots(){const t=this._getSlots(),o=this._instance.type.__scopeId;for(let n=0;n<t.length;n++){const a=t[n],r=a.getAttribute("name")||"default",s=this._slots[r],i=a.parentNode;if(s)for(const l of s){if(o&&l.nodeType===1){const c=o+"-s",u=document.createTreeWalker(l,1);l.setAttribute(c,"");let f;for(;f=u.nextNode();)f.setAttribute(c,"")}i.insertBefore(l,a)}else for(;a.firstChild;)i.insertBefore(a.firstChild,a);i.removeChild(a)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const o=new Set;for(const n of t){const a=n.querySelectorAll("slot");for(let r=0;r<a.length;r++)o.add(a[r])}return Array.from(o)}_injectChildStyle(t,o){this._applyStyles(t.styles,t,o)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const Un=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ce(t)?o=>pr(t,o):t};function Km(e){e.target.composing=!0}function Zu(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const vo=Symbol("_assign"),Ur=Symbol("_initialValue");function ki(e,t,o){return t&&(e=e.trim()),o&&(e=gr(e)),e}const Kr={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[Ur]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Ur]=e.defaultValue.replace(/\r\n?/g,`
|
||
`))),e[vo]=Un(a);const r=n||a.props&&a.props.type==="number";en(e,t?"change":"input",s=>{s.target.composing||e[vo](ki(e.value,o,r))}),(o||r)&&en(e,"change",()=>{e.value=ki(e.value,o,r)}),t||(en(e,"compositionstart",Km),en(e,"compositionend",Zu),en(e,"change",Zu))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[Ur];delete e[Ur],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[vo](ki(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[vo]=Un(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?gr(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)}},wi={deep:!0,created(e,t,o){e[vo]=Un(o),en(e,"change",()=>{const n=e._modelValue,a=Ga(e),r=e.checked,s=e[vo];if(Ce(n)){const i=Os(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(Eo(n)){const i=new Set(n);r?i.add(a):i.delete(a),s(i)}else s(td(e,r))})},mounted:Qu,beforeUpdate(e,t,o){e[vo]=Un(o),Qu(e,t,o)}};function Qu(e,{value:t,oldValue:o},n){e._modelValue=t;let a;if(Ce(t))a=Os(t,n.props.value)>-1;else if(Eo(t))a=t.has(n.props.value);else{if(t===o)return;a=$o(t,td(e,!0))}e.checked!==a&&(e.checked=a)}const Hr={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,en(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?gr(Ga(l)):Ga(l)),r=e.multiple,s=r?Eo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?Ce(s)?a.slice():a:s];try{e[vo](s)}finally{jt(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[vo]=Un(n)},mounted(e,{value:t}){ed(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[vo]=Un(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!Hm(t,o[1],o[0]))&&ed(e,t)}};function Hm(e,t,o){if(!o||Ce(e))return $o(e,t);if(Eo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function ed(e,t){const o=e.multiple,n=Ce(t);if(!(o&&!n&&!Eo(t))){for(let a=0,r=e.options.length;a<r;a++){const s=e.options[a],i=Ga(s);if(o)if(n){const l=typeof i;l==="string"||l==="number"?s.selected=t.some(c=>String(c)===String(i)):s.selected=Os(t,i)>-1}else s.selected=t.has(i);else if($o(Ga(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ga(e){return"_value"in e?e._value:e.value}function td(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const Vm=["ctrl","shift","alt","meta"],qm={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)=>Vm.some(o=>e[`${o}Key`]&&!t.includes(o))},dt=(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<t.length;s++){const i=qm[t[s]];if(i&&i(a,t))return}return e(a,...r)})},Wm=ct({patchProp:Bm},ym);let od;function nd(){return od||(od=Jh(Wm))}const Ym=(...e)=>{nd().render(...e)},ad=(...e)=>{const t=nd().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Jm(n);if(!a)return;const r=t._component;!Me(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,Xm(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function Xm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Jm(e){return ot(e)?document.querySelector(e):e}/*!
|
||
* pinia v2.3.1
|
||
* (c) 2025 Eduardo San Martin Morote
|
||
* @license MIT
|
||
*/let rd;const Vr=e=>rd=e,sd=Symbol();function Ai(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ja;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ja||(ja={}));function Zm(){const e=Bs(!0),t=e.run(()=>le({}));let o=[],n=[];const a=ba({install(r){Vr(a),a._a=r,r.provide(sd,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 id=()=>{};function ld(e,t,o,n=id){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&cc()&&Af(a),a}function Kn(e,...t){e.slice().forEach(o=>{o(...t)})}const Qm=e=>e(),cd=Symbol(),Si=Symbol();function Li(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];Ai(a)&&Ai(n)&&e.hasOwnProperty(o)&&!it(n)&&!No(n)?e[o]=Li(a,n):e[o]=n}return e}const eb=Symbol();function tb(e){return!Ai(e)||!e.hasOwnProperty(eb)}const{assign:tn}=Object;function ob(e){return!!(it(e)&&e.effect)}function nb(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=Vf(o.state.value[e]);return tn(u,r,Object.keys(s||{}).reduce((f,b)=>(f[b]=ba(Q(()=>{Vr(o);const k=o._s.get(e);return s[b].call(k,k)})),f),{}))}return l=ud(e,c,t,o,n,!0),l}function ud(e,t,o={},n,a,r){let s;const i=tn({actions:{}},o),l={deep:!0};let c,u,f=[],b=[],k;const x=n.state.value[e];!r&&!x&&(n.state.value[e]={});let m;function v(R){let S;c=u=!1,typeof R=="function"?(R(n.state.value[e]),S={type:ja.patchFunction,storeId:e,events:k}):(Li(n.state.value[e],R),S={type:ja.patchObject,payload:R,storeId:e,events:k});const z=m=Symbol();jt().then(()=>{m===z&&(c=!0)}),u=!0,Kn(f,S,n.state.value[e])}const g=r?function(){const{state:S}=o,z=S?S():{};this.$patch(j=>{tn(j,z)})}:id;function y(){s.stop(),f=[],b=[],n._s.delete(e)}const d=(R,S="")=>{if(cd in R)return R[Si]=S,R;const z=function(){Vr(n);const j=Array.from(arguments),O=[],D=[];function M(N){O.push(N)}function $(N){D.push(N)}Kn(b,{args:j,name:z[Si],store:p,after:M,onError:$});let T;try{T=R.apply(this&&this.$id===e?this:p,j)}catch(N){throw Kn(D,N),N}return T instanceof Promise?T.then(N=>(Kn(O,N),N)).catch(N=>(Kn(D,N),Promise.reject(N))):(Kn(O,T),T)};return z[cd]=!0,z[Si]=S,z},h={_p:n,$id:e,$onAction:ld.bind(null,b),$patch:v,$reset:g,$subscribe(R,S={}){const z=ld(f,R,S.detached,()=>j()),j=s.run(()=>De(()=>n.state.value[e],O=>{(S.flush==="sync"?u:c)&&R({storeId:e,type:ja.direct,events:k},O)},tn({},l,S)));return z},$dispose:y},p=Fn(h);n._s.set(e,p);const L=(n._a&&n._a.runWithContext||Qm)(()=>n._e.run(()=>(s=Bs()).run(()=>t({action:d}))));for(const R in L){const S=L[R];if(it(S)&&!ob(S)||No(S))r||(x&&tb(S)&&(it(S)?S.value=x[R]:Li(S,x[R])),n.state.value[e][R]=S);else if(typeof S=="function"){const z=d(S,R);L[R]=z,i.actions[R]=S}}return tn(p,L),tn(je(p),L),Object.defineProperty(p,"$state",{get:()=>n.state.value[e],set:R=>{v(S=>{tn(S,R)})}}),n._p.forEach(R=>{tn(p,s.run(()=>R({store:p,app:n._a,pinia:n,options:i})))}),x&&r&&o.hydrate&&o.hydrate(p.$state,x),c=!0,u=!0,p}/*! #__NO_SIDE_EFFECTS__ */function Ci(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=sh();return i=i||(c?Te(sd,null):null),i&&Vr(i),i=rd,i._s.has(n)||(r?ud(n,t,a,i):nb(n,a,i)),i._s.get(n)}return s.$id=n,s}const ab={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},rb={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},sb={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},ib={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:"اللغات"}},lb={menuComingSoon:"القائمة قادمة قريباً"},cb={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},ub={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},db={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},pb={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"},fb={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"},hb={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},mb={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"}},bb={menuComingSoon:"Menü folgt in Kürze"},yb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},vb={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},_b={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"},kb={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},wb={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"},Ab={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Sb={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"}},Lb={menuComingSoon:"Menu coming soon"},Cb={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Eb={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},$b={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Tb={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"}},Pb={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"},Nb={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Mb={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"},Ib={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."}},Rb={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"}},Fb={menuComingSoon:"Menú próximamente"},Ob={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Db={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Bb={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"}},Gb={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"},jb={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},zb={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"},Ub={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Kb={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"}},Hb={menuComingSoon:"Menu bientôt disponible"},Vb={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},qb={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Wb={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Yb={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"}},Xb={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"},Jb={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Zb={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Qb={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ey={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:"कुल"}},ty={menuComingSoon:"मेनू शीघ्र आ रहा है"},oy={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ny={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},ay={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},ry={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},sy={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"},iy={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},ly={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"}},cy={menuComingSoon:"Menu in arrivo"},uy={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},dy={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},py={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},gy={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},fy={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"},hy={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."}},my={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"}},by={menuComingSoon:"Menu em breve"},yy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},vy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},_y={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"}},xy={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"},ky={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},wy={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ă"},Ay={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ă."}},Sy={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"}},Ly={menuComingSoon:"Meniu în curând"},Cy={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ey={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},$y={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Ty={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:"Поделиться и встроить"},Ny={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},My={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:"Языки"}},Iy={menuComingSoon:"Меню скоро появится"},Ry={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Fy={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Oy={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Dy={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},By={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Gy={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},jy={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},zy={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:"总计"}},Uy={menuComingSoon:"菜单即将推出"},Ky={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Hy={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Vy={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*!
|
||
* shared v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function qy(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const qr=typeof window<"u",on=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Wy=(e,t,o)=>Yy({l:e,k:t,s:o}),Yy=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ft=e=>typeof e=="number"&&isFinite(e),Xy=e=>hd(e)==="[object Date]",nn=e=>hd(e)==="[object RegExp]",Wr=e=>Oe(e)&&Object.keys(e).length===0,Ct=Object.assign,Jy=Object.create,Qe=(e=null)=>Jy(e);let dd;const jo=()=>dd||(dd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Qe());function pd(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function gd(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Zy(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${gd(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${gd(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 Qy=Object.prototype.hasOwnProperty;function no(e,t){return Qy.call(e,t)}const lt=Array.isArray,at=e=>typeof e=="function",ke=e=>typeof e=="string",Be=e=>typeof e=="boolean",Ve=e=>e!==null&&typeof e=="object",e0=e=>Ve(e)&&at(e.then)&&at(e.catch),fd=Object.prototype.toString,hd=e=>fd.call(e),Oe=e=>{if(!Ve(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},t0=e=>e==null?"":lt(e)||Oe(e)&&e.toString===fd?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 Yr(e){let t=e;return()=>++t}const Xr=e=>!Ve(e)||lt(e);function Jr(e,t){if(Xr(e)||Xr(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__"&&(Ve(n[r])&&!Ve(a[r])&&(a[r]=Array.isArray(n[r])?[]:Qe()),Xr(a[r])||Xr(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 n0(e,t,o){return{line:e,column:t,offset:o}}function Zr(e,t,o){return{start:e,end:t}}const a0=/\{([0-9a-zA-Z]+)\}/g;function md(e,...t){return t.length===1&&r0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(a0,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const bd=Object.assign,yd=e=>typeof e=="string",r0=e=>e!==null&&typeof e=="object";function vd(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Ei={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},s0={[Ei.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function i0(e,t,...o){const n=md(s0[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Pe={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},l0={[Pe.EXPECTED_TOKEN]:"Expected token: '{0}'",[Pe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Pe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Pe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Pe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Pe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Pe.EMPTY_PLACEHOLDER]:"Empty placeholder",[Pe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Pe.INVALID_LINKED_FORMAT]:"Invalid linked format",[Pe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Pe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Pe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Pe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Pe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Pe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Hn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=md((a||l0)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function c0(e){throw e}const zo=" ",u0="\r",Ft=`
|
||
`,d0="\u2028",p0="\u2029";function g0(e){const t=e;let o=0,n=1,a=1,r=0;const s=L=>t[L]===u0&&t[L+1]===Ft,i=L=>t[L]===Ft,l=L=>t[L]===p0,c=L=>t[L]===d0,u=L=>s(L)||i(L)||l(L)||c(L),f=()=>o,b=()=>n,k=()=>a,x=()=>r,m=L=>s(L)||l(L)||c(L)?Ft:t[L],v=()=>m(o),g=()=>m(o+r);function y(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function d(){return s(o+r)&&r++,r++,t[o+r]}function h(){o=0,n=1,a=1,r=0}function p(L=0){r=L}function _(){const L=o+r;for(;L!==o;)y();r=0}return{index:f,line:b,column:k,peekOffset:x,charAt:m,currentChar:v,currentPeek:g,next:y,peek:d,reset:h,resetPeek:p,skipToPeek:_}}const an=void 0,f0=".",_d="'",h0="tokenizer";function m0(e,t={}){const o=t.location!==!1,n=g0(e),a=()=>n.index(),r=()=>n0(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 f(w,A,W,...re){const be=c();if(A.column+=W,A.offset+=W,u){const fe=o?Zr(be.startLoc,A):null,Z=Hn(w,fe,{domain:h0,args:re});u(Z)}}function b(w,A,W){w.endLoc=r(),w.currentType=A;const re={type:A};return o&&(re.loc=Zr(w.startLoc,w.endLoc)),W!=null&&(re.value=W),re}const k=w=>b(w,14);function x(w,A){return w.currentChar()===A?(w.next(),A):(f(Pe.EXPECTED_TOKEN,r(),0,A),"")}function m(w){let A="";for(;w.currentPeek()===zo||w.currentPeek()===Ft;)A+=w.currentPeek(),w.peek();return A}function v(w){const A=m(w);return w.skipToPeek(),A}function g(w){if(w===an)return!1;const A=w.charCodeAt(0);return A>=97&&A<=122||A>=65&&A<=90||A===95}function y(w){if(w===an)return!1;const A=w.charCodeAt(0);return A>=48&&A<=57}function d(w,A){const{currentType:W}=A;if(W!==2)return!1;m(w);const re=g(w.currentPeek());return w.resetPeek(),re}function h(w,A){const{currentType:W}=A;if(W!==2)return!1;m(w);const re=w.currentPeek()==="-"?w.peek():w.currentPeek(),be=y(re);return w.resetPeek(),be}function p(w,A){const{currentType:W}=A;if(W!==2)return!1;m(w);const re=w.currentPeek()===_d;return w.resetPeek(),re}function _(w,A){const{currentType:W}=A;if(W!==8)return!1;m(w);const re=w.currentPeek()===".";return w.resetPeek(),re}function L(w,A){const{currentType:W}=A;if(W!==9)return!1;m(w);const re=g(w.currentPeek());return w.resetPeek(),re}function R(w,A){const{currentType:W}=A;if(!(W===8||W===12))return!1;m(w);const re=w.currentPeek()===":";return w.resetPeek(),re}function S(w,A){const{currentType:W}=A;if(W!==10)return!1;const re=()=>{const fe=w.currentPeek();return fe==="{"?g(w.peek()):fe==="@"||fe==="%"||fe==="|"||fe===":"||fe==="."||fe===zo||!fe?!1:fe===Ft?(w.peek(),re()):O(w,!1)},be=re();return w.resetPeek(),be}function z(w){m(w);const A=w.currentPeek()==="|";return w.resetPeek(),A}function j(w){const A=m(w),W=w.currentPeek()==="%"&&w.peek()==="{";return w.resetPeek(),{isModulo:W,hasSpace:A.length>0}}function O(w,A=!0){const W=(be=!1,fe="",Z=!1)=>{const P=w.currentPeek();return P==="{"?fe==="%"?!1:be:P==="@"||!P?fe==="%"?!0:be:P==="%"?(w.peek(),W(be,"%",!0)):P==="|"?fe==="%"||Z?!0:!(fe===zo||fe===Ft):P===zo?(w.peek(),W(!0,zo,Z)):P===Ft?(w.peek(),W(!0,Ft,Z)):!0},re=W();return A&&w.resetPeek(),re}function D(w,A){const W=w.currentChar();return W===an?an:A(W)?(w.next(),W):null}function M(w){const A=w.charCodeAt(0);return A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===95||A===36}function $(w){return D(w,M)}function T(w){const A=w.charCodeAt(0);return A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===95||A===36||A===45}function N(w){return D(w,T)}function q(w){const A=w.charCodeAt(0);return A>=48&&A<=57}function ce(w){return D(w,q)}function ee(w){const A=w.charCodeAt(0);return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function oe(w){return D(w,ee)}function H(w){let A="",W="";for(;A=ce(w);)W+=A;return W}function pe(w){v(w);const A=w.currentChar();return A!=="%"&&f(Pe.EXPECTED_TOKEN,r(),0,A),w.next(),"%"}function we(w){let A="";for(;;){const W=w.currentChar();if(W==="{"||W==="}"||W==="@"||W==="|"||!W)break;if(W==="%")if(O(w))A+=W,w.next();else break;else if(W===zo||W===Ft)if(O(w))A+=W,w.next();else{if(z(w))break;A+=W,w.next()}else A+=W,w.next()}return A}function ue(w){v(w);let A="",W="";for(;A=N(w);)W+=A;return w.currentChar()===an&&f(Pe.UNTERMINATED_CLOSING_BRACE,r(),0),W}function $e(w){v(w);let A="";return w.currentChar()==="-"?(w.next(),A+=`-${H(w)}`):A+=H(w),w.currentChar()===an&&f(Pe.UNTERMINATED_CLOSING_BRACE,r(),0),A}function Ae(w){return w!==_d&&w!==Ft}function ie(w){v(w),x(w,"'");let A="",W="";for(;A=D(w,Ae);)A==="\\"?W+=ye(w):W+=A;const re=w.currentChar();return re===Ft||re===an?(f(Pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),re===Ft&&(w.next(),x(w,"'")),W):(x(w,"'"),W)}function ye(w){const A=w.currentChar();switch(A){case"\\":case"'":return w.next(),`\\${A}`;case"u":return me(w,A,4);case"U":return me(w,A,6);default:return f(Pe.UNKNOWN_ESCAPE_SEQUENCE,r(),0,A),""}}function me(w,A,W){x(w,A);let re="";for(let be=0;be<W;be++){const fe=oe(w);if(!fe){f(Pe.INVALID_UNICODE_ESCAPE_SEQUENCE,r(),0,`\\${A}${re}${w.currentChar()}`);break}re+=fe}return`\\${A}${re}`}function Le(w){return w!=="{"&&w!=="}"&&w!==zo&&w!==Ft}function E(w){v(w);let A="",W="";for(;A=D(w,Le);)W+=A;return W}function F(w){let A="",W="";for(;A=$(w);)W+=A;return W}function B(w){const A=W=>{const re=w.currentChar();return re==="{"||re==="%"||re==="@"||re==="|"||re==="("||re===")"||!re||re===zo?W:(W+=re,w.next(),A(W))};return A("")}function K(w){v(w);const A=x(w,"|");return v(w),A}function te(w,A){let W=null;switch(w.currentChar()){case"{":return A.braceNest>=1&&f(Pe.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),w.next(),W=b(A,2,"{"),v(w),A.braceNest++,W;case"}":return A.braceNest>0&&A.currentType===2&&f(Pe.EMPTY_PLACEHOLDER,r(),0),w.next(),W=b(A,3,"}"),A.braceNest--,A.braceNest>0&&v(w),A.inLinked&&A.braceNest===0&&(A.inLinked=!1),W;case"@":return A.braceNest>0&&f(Pe.UNTERMINATED_CLOSING_BRACE,r(),0),W=U(w,A)||k(A),A.braceNest=0,W;default:{let be=!0,fe=!0,Z=!0;if(z(w))return A.braceNest>0&&f(Pe.UNTERMINATED_CLOSING_BRACE,r(),0),W=b(A,1,K(w)),A.braceNest=0,A.inLinked=!1,W;if(A.braceNest>0&&(A.currentType===5||A.currentType===6||A.currentType===7))return f(Pe.UNTERMINATED_CLOSING_BRACE,r(),0),A.braceNest=0,X(w,A);if(be=d(w,A))return W=b(A,5,ue(w)),v(w),W;if(fe=h(w,A))return W=b(A,6,$e(w)),v(w),W;if(Z=p(w,A))return W=b(A,7,ie(w)),v(w),W;if(!be&&!fe&&!Z)return W=b(A,13,E(w)),f(Pe.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,W.value),v(w),W;break}}return W}function U(w,A){const{currentType:W}=A;let re=null;const be=w.currentChar();switch((W===8||W===9||W===12||W===10)&&(be===Ft||be===zo)&&f(Pe.INVALID_LINKED_FORMAT,r(),0),be){case"@":return w.next(),re=b(A,8,"@"),A.inLinked=!0,re;case".":return v(w),w.next(),b(A,9,".");case":":return v(w),w.next(),b(A,10,":");default:return z(w)?(re=b(A,1,K(w)),A.braceNest=0,A.inLinked=!1,re):_(w,A)||R(w,A)?(v(w),U(w,A)):L(w,A)?(v(w),b(A,12,F(w))):S(w,A)?(v(w),be==="{"?te(w,A)||re:b(A,11,B(w))):(W===8&&f(Pe.INVALID_LINKED_FORMAT,r(),0),A.braceNest=0,A.inLinked=!1,X(w,A))}}function X(w,A){let W={type:14};if(A.braceNest>0)return te(w,A)||k(A);if(A.inLinked)return U(w,A)||k(A);switch(w.currentChar()){case"{":return te(w,A)||k(A);case"}":return f(Pe.UNBALANCED_CLOSING_BRACE,r(),0),w.next(),b(A,3,"}");case"@":return U(w,A)||k(A);default:{if(z(w))return W=b(A,1,K(w)),A.braceNest=0,A.inLinked=!1,W;const{isModulo:be,hasSpace:fe}=j(w);if(be)return fe?b(A,0,we(w)):b(A,4,pe(w));if(O(w))return b(A,0,we(w));break}}return W}function ne(){const{currentType:w,offset:A,startLoc:W,endLoc:re}=l;return l.lastType=w,l.lastOffset=A,l.lastStartLoc=W,l.lastEndLoc=re,l.offset=a(),l.startLoc=r(),n.currentChar()===an?b(l,14):X(n,l)}return{nextToken:ne,currentOffset:a,currentPosition:r,context:c}}const b0="parser",y0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function v0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"<22>"}}}function _0(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(d,h,p,_,...L){const R=d.currentPosition();if(R.offset+=_,R.column+=_,o){const S=t?Zr(p,R):null,z=Hn(h,S,{domain:b0,args:L});o(z)}}function r(d,h,p,_,...L){const R=d.currentPosition();if(R.offset+=_,R.column+=_,n){const S=t?Zr(p,R):null;n(i0(h,S,L))}}function s(d,h,p){const _={type:d};return t&&(_.start=h,_.end=h,_.loc={start:p,end:p}),_}function i(d,h,p,_){t&&(d.end=h,d.loc&&(d.loc.end=p))}function l(d,h){const p=d.context(),_=s(3,p.offset,p.startLoc);return _.value=h,i(_,d.currentOffset(),d.currentPosition()),_}function c(d,h){const p=d.context(),{lastOffset:_,lastStartLoc:L}=p,R=s(5,_,L);return R.index=parseInt(h,10),d.nextToken(),i(R,d.currentOffset(),d.currentPosition()),R}function u(d,h,p){const _=d.context(),{lastOffset:L,lastStartLoc:R}=_,S=s(4,L,R);return S.key=h,p===!0&&(S.modulo=!0),d.nextToken(),i(S,d.currentOffset(),d.currentPosition()),S}function f(d,h){const p=d.context(),{lastOffset:_,lastStartLoc:L}=p,R=s(9,_,L);return R.value=h.replace(y0,v0),d.nextToken(),i(R,d.currentOffset(),d.currentPosition()),R}function b(d){const h=d.nextToken(),p=d.context(),{lastOffset:_,lastStartLoc:L}=p,R=s(8,_,L);return h.type!==12?(a(d,Pe.UNEXPECTED_EMPTY_LINKED_MODIFIER,p.lastStartLoc,0),R.value="",i(R,_,L),{nextConsumeToken:h,node:R}):(h.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,ao(h)),R.value=h.value||"",i(R,d.currentOffset(),d.currentPosition()),{node:R})}function k(d,h){const p=d.context(),_=s(7,p.offset,p.startLoc);return _.value=h,i(_,d.currentOffset(),d.currentPosition()),_}function x(d){const h=d.context(),p=s(6,h.offset,h.startLoc);let _=d.nextToken();if(_.type===9){const L=b(d);p.modifier=L.node,_=L.nextConsumeToken||d.nextToken()}switch(_.type!==10&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(_)),_=d.nextToken(),_.type===2&&(_=d.nextToken()),_.type){case 11:_.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(_)),p.key=k(d,_.value||"");break;case 5:_.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(_)),p.key=u(d,_.value||"");break;case 6:_.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(_)),p.key=c(d,_.value||"");break;case 7:_.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(_)),p.key=f(d,_.value||"");break;default:{a(d,Pe.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const L=d.context(),R=s(7,L.offset,L.startLoc);return R.value="",i(R,L.offset,L.startLoc),p.key=R,i(p,L.offset,L.startLoc),{nextConsumeToken:_,node:p}}}return i(p,d.currentOffset(),d.currentPosition()),{node:p}}function m(d){const h=d.context(),p=h.currentType===1?d.currentOffset():h.offset,_=h.currentType===1?h.endLoc:h.startLoc,L=s(2,p,_);L.items=[];let R=null,S=null;do{const O=R||d.nextToken();switch(R=null,O.type){case 0:O.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(O)),L.items.push(l(d,O.value||""));break;case 6:O.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(O)),L.items.push(c(d,O.value||""));break;case 4:S=!0;break;case 5:O.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(O)),L.items.push(u(d,O.value||"",!!S)),S&&(r(d,Ei.USE_MODULO_SYNTAX,h.lastStartLoc,0,ao(O)),S=null);break;case 7:O.value==null&&a(d,Pe.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,ao(O)),L.items.push(f(d,O.value||""));break;case 8:{const D=x(d);L.items.push(D.node),R=D.nextConsumeToken||null;break}}}while(h.currentType!==14&&h.currentType!==1);const z=h.currentType===1?h.lastOffset:d.currentOffset(),j=h.currentType===1?h.lastEndLoc:d.currentPosition();return i(L,z,j),L}function v(d,h,p,_){const L=d.context();let R=_.items.length===0;const S=s(1,h,p);S.cases=[],S.cases.push(_);do{const z=m(d);R||(R=z.items.length===0),S.cases.push(z)}while(L.currentType!==14);return R&&a(d,Pe.MUST_HAVE_MESSAGES_IN_PLURAL,p,0),i(S,d.currentOffset(),d.currentPosition()),S}function g(d){const h=d.context(),{offset:p,startLoc:_}=h,L=m(d);return h.currentType===14?L:v(d,p,_,L)}function y(d){const h=m0(d,bd({},e)),p=h.context(),_=s(0,p.offset,p.startLoc);return t&&_.loc&&(_.loc.source=d),_.body=g(h),e.onCacheKey&&(_.cacheKey=e.onCacheKey(d)),p.currentType!==14&&a(h,Pe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,d[p.offset]||""),i(_,h.currentOffset(),h.currentPosition()),_}return{parse:y}}function ao(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 x0(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function xd(e,t){for(let o=0;o<e.length;o++)$i(e[o],t)}function $i(e,t){switch(e.type){case 1:xd(e.cases,t),t.helper("plural");break;case 2:xd(e.items,t);break;case 6:{$i(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function k0(e,t={}){const o=x0(e);o.helper("normalize"),e.body&&$i(e.body,o);const n=o.context();e.helpers=Array.from(n.helpers)}function w0(e){const t=e.body;return t.type===2?kd(t):t.cases.forEach(o=>kd(o)),e}function kd(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;o<e.items.length;o++){const n=e.items[o];if(!(n.type===3||n.type===9)||n.value==null)break;t.push(n.value)}if(t.length===e.items.length){e.static=vd(t);for(let o=0;o<e.items.length;o++){const n=e.items[o];(n.type===3||n.type===9)&&delete n.value}}}}const A0="minifier";function Vn(e){switch(e.t=e.type,e.type){case 0:{const t=e;Vn(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,o=t.cases;for(let n=0;n<o.length;n++)Vn(o[n]);t.c=o,delete t.cases;break}case 2:{const t=e,o=t.items;for(let n=0;n<o.length;n++)Vn(o[n]);t.i=o,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;Vn(t.key),t.k=t.key,delete t.key,t.modifier&&(Vn(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}default:throw Hn(Pe.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:A0,args:[e.type]})}delete e.type}const S0="parser";function L0(e,t){const{filename:o,breakLineCode:n,needIndent:a}=t,r=t.location!==!1,s={filename:o,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:a,indentLevel:0};r&&e.loc&&(s.source=e.loc.source);const i=()=>s;function l(m,v){s.code+=m}function c(m,v=!0){const g=v?n:"";l(a?g+" ".repeat(m):g)}function u(m=!0){const v=++s.indentLevel;m&&c(v)}function f(m=!0){const v=--s.indentLevel;m&&c(v)}function b(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:b,helper:m=>`_${m}`,needIndent:()=>s.needIndent}}function C0(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 E0(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r<a&&(qn(e,t.items[r]),r!==a-1);r++)e.push(", ");e.deindent(n()),e.push("])")}function $0(e,t){const{helper:o,needIndent:n}=e;if(t.cases.length>1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r<a&&(qn(e,t.cases[r]),r!==a-1);r++)e.push(", ");e.deindent(n()),e.push("])")}}function T0(e,t){t.body?qn(e,t.body):e.push("null")}function qn(e,t){const{helper:o}=e;switch(t.type){case 0:T0(e,t);break;case 1:$0(e,t);break;case 2:E0(e,t);break;case 6:C0(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${o("interpolate")}(${o("list")}(${t.index}))`,t);break;case 4:e.push(`${o("interpolate")}(${o("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break;default:throw Hn(Pe.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:S0,args:[t.type]})}}const P0=(e,t={})=>{const o=yd(t.mode)?t.mode:"normal",n=yd(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=L0(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${vd(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 N0(e,t={}){const o=bd({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=_0(o).parse(e);return n?(r&&w0(i),a&&Vn(i),{ast:i,code:""}):(k0(i,o),P0(i,o))}/*!
|
||
* core-base v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function M0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(jo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(jo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(jo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function _o(e){return Ve(e)&&Ti(e)===0&&(no(e,"b")||no(e,"body"))}const wd=["b","body"];function I0(e){return rn(e,wd)}const Ad=["c","cases"];function R0(e){return rn(e,Ad,[])}const Sd=["s","static"];function F0(e){return rn(e,Sd)}const Ld=["i","items"];function O0(e){return rn(e,Ld,[])}const Cd=["t","type"];function Ti(e){return rn(e,Cd)}const Ed=["v","value"];function Qr(e,t){const o=rn(e,Ed);if(o!=null)return o;throw za(t)}const $d=["m","modifier"];function D0(e){return rn(e,$d)}const Td=["k","key"];function B0(e){const t=rn(e,Td);if(t)return t;throw za(6)}function rn(e,t,o){for(let n=0;n<t.length;n++){const a=t[n];if(no(e,a)&&e[a]!=null)return e[a]}return o}const Pd=[...wd,...Ad,...Sd,...Ld,...Td,...$d,...Ed,...Cd];function za(e){return new Error(`unhandled node type: ${e}`)}const sn=[];sn[0]={w:[0],i:[3,0],"[":[4],o:[7]},sn[1]={w:[1],".":[2],"[":[4],o:[7]},sn[2]={w:[2],i:[3,0],0:[3,0]},sn[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},sn[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},sn[5]={"'":[4,0],o:8,l:[5,0]},sn[6]={'"':[4,0],o:8,l:[6,0]};const G0=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function j0(e){return G0.test(e)}function z0(e){const t=e.charCodeAt(0),o=e.charCodeAt(e.length-1);return t===o&&(t===34||t===39)?e.slice(1,-1):e}function U0(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function K0(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:j0(t)?z0(t):"*"+t}function H0(e){const t=[];let o=-1,n=0,a=0,r,s,i,l,c,u,f;const b=[];b[0]=()=>{s===void 0?s=i:s+=i},b[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},b[2]=()=>{b[0](),a++},b[3]=()=>{if(a>0)a--,n=4,b[0]();else{if(a=0,s===void 0||(s=K0(s),s===!1))return!1;b[1]()}};function k(){const x=e[o+1];if(n===5&&x==="'"||n===6&&x==='"')return o++,i="\\"+x,b[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=U0(r),f=sn[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Nd=new Map;function V0(e,t){return Ve(e)?e[t]:null}function q0(e,t){if(!Ve(e))return null;let o=Nd.get(t);if(o||(o=H0(t),o&&Nd.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;r<n;){const s=o[r];if(Pd.includes(s)&&_o(a))return null;const i=a[s];if(i===void 0||at(a))return null;a=i,r++}return a}const W0=e=>e,Y0=e=>"",X0="text",J0=e=>e.length===0?"":o0(e),Z0=t0;function Md(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Q0(e){const t=ft(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ft(e.named.count)||ft(e.named.n))?ft(e.named.count)?e.named.count:ft(e.named.n)?e.named.n:t:t}function e1(e,t){t.count||(t.count=e),t.n||(t.n=e)}function t1(e={}){const t=e.locale,o=Q0(e),n=Ve(e.pluralRules)&&ke(t)&&at(e.pluralRules[t])?e.pluralRules[t]:Md,a=Ve(e.pluralRules)&&ke(t)&&at(e.pluralRules[t])?Md:void 0,r=g=>g[n(o,g.length,a)],s=e.list||[],i=g=>s[g],l=e.named||Qe();ft(e.pluralIndex)&&e1(o,l);const c=g=>l[g];function u(g){const y=at(e.messages)?e.messages(g):Ve(e.messages)?e.messages[g]:!1;return y||(e.parent?e.parent.message(g):Y0)}const f=g=>e.modifiers?e.modifiers[g]:W0,b=Oe(e.processor)&&at(e.processor.normalize)?e.processor.normalize:J0,k=Oe(e.processor)&&at(e.processor.interpolate)?e.processor.interpolate:Z0,x=Oe(e.processor)&&ke(e.processor.type)?e.processor.type:X0,v={list:i,named:c,plural:r,linked:(g,...y)=>{const[d,h]=y;let p="text",_="";y.length===1?Ve(d)?(_=d.modifier||_,p=d.type||p):ke(d)&&(_=d||_):y.length===2&&(ke(d)&&(_=d||_),ke(h)&&(p=h||p));const L=u(g)(v),R=p==="vnode"&<(L)&&_?L[0]:L;return _?f(_)(R,p):R},message:u,type:x,interpolate:k,normalize:b,values:Ct(Qe(),s,l)};return v}let Ua=null;function o1(e){Ua=e}function n1(e,t,o){Ua&&Ua.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const a1=r1("function:translate");function r1(e){return t=>Ua&&Ua.emit(e,t)}const s1=Ei.__EXTEND_POINT__,wn=Yr(s1),i1={FALLBACK_TO_TRANSLATE:wn(),CANNOT_FORMAT_NUMBER:wn(),FALLBACK_TO_NUMBER_FORMAT:wn(),CANNOT_FORMAT_DATE:wn(),FALLBACK_TO_DATE_FORMAT:wn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:wn(),__EXTEND_POINT__:wn()},Id=Pe.__EXTEND_POINT__,An=Yr(Id),ro={INVALID_ARGUMENT:Id,INVALID_DATE_ARGUMENT:An(),INVALID_ISO_DATE_ARGUMENT:An(),NOT_SUPPORT_NON_STRING_MESSAGE:An(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:An(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:An(),NOT_SUPPORT_LOCALE_TYPE:An(),__EXTEND_POINT__:An()};function xo(e){return Hn(e,null,void 0)}function Pi(e,t){return t.locale!=null?Rd(t.locale):Rd(e.locale)}let Ni;function Rd(e){if(ke(e))return e;if(at(e)){if(e.resolvedOnce&&Ni!=null)return Ni;if(e.constructor.name==="Function"){const t=e();if(e0(t))throw xo(ro.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ni=t}else throw xo(ro.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw xo(ro.NOT_SUPPORT_LOCALE_TYPE)}function l1(e,t,o){return[...new Set([o,...lt(t)?t:Ve(t)?Object.keys(t):ke(t)?[t]:[o]])]}function Fd(e,t,o){const n=ke(o)?o:Wn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;lt(s);)s=Od(r,s,t);const i=lt(t)||!Oe(t)?t:t.default?t.default:null;s=ke(i)?[i]:i,lt(s)&&Od(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Od(e,t,o){let n=!0;for(let a=0;a<t.length&&Be(n);a++){const r=t[a];ke(r)&&(n=c1(e,t[a],o))}return n}function c1(e,t,o){let n;const a=t.split("-");do{const r=a.join("-");n=u1(e,r,o),a.splice(-1,1)}while(a.length&&n===!0);return n}function u1(e,t,o){let n=!1;if(!e.includes(t)&&(n=!0,t)){n=t[t.length-1]!=="!";const a=t.replace(/!/g,"");e.push(a),(lt(o)||Oe(o))&&o[a]&&(n=o[a])}return n}const d1="9.14.5",es=-1,Wn="en-US",Dd="",Bd=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function p1(){return{upper:(e,t)=>t==="text"&&ke(e)?e.toUpperCase():t==="vnode"&&Ve(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ke(e)?e.toLowerCase():t==="vnode"&&Ve(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ke(e)?Bd(e):t==="vnode"&&Ve(e)&&"__v_isVNode"in e?Bd(e.children):e}}let Gd;function jd(e){Gd=e}let zd;function g1(e){zd=e}let Ud;function f1(e){Ud=e}let Kd=null;const h1=e=>{Kd=e},m1=()=>Kd;let Hd=null;const Vd=e=>{Hd=e},b1=()=>Hd;let qd=0;function y1(e={}){const t=at(e.onWarn)?e.onWarn:qy,o=ke(e.version)?e.version:d1,n=ke(e.locale)||at(e.locale)?e.locale:Wn,a=at(n)?Wn:n,r=lt(e.fallbackLocale)||Oe(e.fallbackLocale)||ke(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Oe(e.messages)?e.messages:Mi(a),i=Oe(e.datetimeFormats)?e.datetimeFormats:Mi(a),l=Oe(e.numberFormats)?e.numberFormats:Mi(a),c=Ct(Qe(),e.modifiers,p1()),u=e.pluralRules||Qe(),f=at(e.missing)?e.missing:null,b=Be(e.missingWarn)||nn(e.missingWarn)?e.missingWarn:!0,k=Be(e.fallbackWarn)||nn(e.fallbackWarn)?e.fallbackWarn:!0,x=!!e.fallbackFormat,m=!!e.unresolving,v=at(e.postTranslation)?e.postTranslation:null,g=Oe(e.processor)?e.processor:null,y=Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,h=at(e.messageCompiler)?e.messageCompiler:Gd,p=at(e.messageResolver)?e.messageResolver:zd||V0,_=at(e.localeFallbacker)?e.localeFallbacker:Ud||l1,L=Ve(e.fallbackContext)?e.fallbackContext:void 0,R=e,S=Ve(R.__datetimeFormatters)?R.__datetimeFormatters:new Map,z=Ve(R.__numberFormatters)?R.__numberFormatters:new Map,j=Ve(R.__meta)?R.__meta:{};qd++;const O={version:o,cid:qd,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:f,missingWarn:b,fallbackWarn:k,fallbackFormat:x,unresolving:m,postTranslation:v,processor:g,warnHtmlMessage:y,escapeParameter:d,messageCompiler:h,messageResolver:p,localeFallbacker:_,fallbackContext:L,onWarn:t,__meta:j};return O.datetimeFormats=i,O.numberFormats=l,O.__datetimeFormatters=S,O.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&n1(O,o,j),O}const Mi=e=>({[e]:Qe()});function Ii(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 Ka(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function v1(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function _1(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;n<t.length;n++)if(v1(e,t[n]))return!0;return!1}function Ri(e){return o=>x1(o,e)}function x1(e,t){const o=I0(t);if(o==null)throw za(0);if(Ti(o)===1){const r=R0(o);return e.plural(r.reduce((s,i)=>[...s,Wd(e,i)],[]))}else return Wd(e,o)}function Wd(e,t){const o=F0(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=O0(t).reduce((a,r)=>[...a,Fi(e,r)],[]);return e.normalize(n)}}function Fi(e,t){const o=Ti(t);switch(o){case 3:return Qr(t,o);case 9:return Qr(t,o);case 4:{const n=t;if(no(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(no(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw za(o)}case 5:{const n=t;if(no(n,"i")&&ft(n.i))return e.interpolate(e.list(n.i));if(no(n,"index")&&ft(n.index))return e.interpolate(e.list(n.index));throw za(o)}case 6:{const n=t,a=D0(n),r=B0(n);return e.linked(Fi(e,r),a?Fi(e,a):void 0,e.type)}case 7:return Qr(t,o);case 8:return Qr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Yd=e=>e;let Yn=Qe();function Xd(e,t={}){let o=!1;const n=t.onError||c0;return t.onError=a=>{o=!0,n(a)},{...N0(e,t),detectError:o}}const k1=(e,t)=>{if(!ke(e))throw xo(ro.NOT_SUPPORT_NON_STRING_MESSAGE);{Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yd)(e),a=Yn[n];if(a)return a;const{code:r,detectError:s}=Xd(e,t),i=new Function(`return ${r}`)();return s?i:Yn[n]=i}};function w1(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ke(e)){Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yd)(e),a=Yn[n];if(a)return a;const{ast:r,detectError:s}=Xd(e,{...t,location:!1,jit:!0}),i=Ri(r);return s?i:Yn[n]=i}else{const o=e.cacheKey;if(o){const n=Yn[o];return n||(Yn[o]=Ri(e))}else return Ri(e)}}const Jd=()=>"",Qt=e=>at(e);function Zd(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Oi(...t),u=Be(c.missingWarn)?c.missingWarn:e.missingWarn,f=Be(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=Be(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,x=ke(c.default)||Be(c.default)?Be(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",m=o||x!=="",v=Pi(e,c);b&&A1(c);let[g,y,d]=k?[l,v,i[v]||Qe()]:Qd(e,l,v,s,f,u),h=g,p=l;if(!k&&!(ke(h)||_o(h)||Qt(h))&&m&&(h=x,p=h),!k&&(!(ke(h)||_o(h)||Qt(h))||!ke(y)))return a?es:l;let _=!1;const L=()=>{_=!0},R=Qt(h)?h:ep(e,l,y,h,p,L);if(_)return h;const S=C1(e,y,d,c),z=t1(S),j=S1(e,R,z);let O=n?n(j,l):j;if(b&&ke(O)&&(O=Zy(O)),__INTLIFY_PROD_DEVTOOLS__){const D={timestamp:Date.now(),key:ke(l)?l:Qt(h)?h.key:"",locale:y||(Qt(h)?h.locale:""),format:ke(h)?h:Qt(h)?h.source:"",message:O};D.meta=Ct({},e.__meta,m1()||{}),a1(D)}return O}function A1(e){lt(e.list)?e.list=e.list.map(t=>ke(t)?pd(t):t):Ve(e.named)&&Object.keys(e.named).forEach(t=>{ke(e.named[t])&&(e.named[t]=pd(e.named[t]))})}function Qd(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Qe(),b,k=null;const x="translate";for(let m=0;m<u.length&&(b=u[m],f=s[b]||Qe(),(k=l(f,t))===null&&(k=f[t]),!(ke(k)||_o(k)||Qt(k)));m++)if(!_1(b,u)){const v=Ii(e,t,b,r,x);v!==t&&(k=v)}return[k,b,f]}function ep(e,t,o,n,a,r){const{messageCompiler:s,warnHtmlMessage:i}=e;if(Qt(n)){const c=n;return c.locale=c.locale||o,c.key=c.key||t,c}if(s==null){const c=()=>n;return c.locale=o,c.key=t,c}const l=s(n,L1(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function S1(e,t,o){return t(o)}function Oi(...e){const[t,o,n]=e,a=Qe();if(!ke(t)&&!ft(t)&&!Qt(t)&&!_o(t))throw xo(ro.INVALID_ARGUMENT);const r=ft(t)?String(t):(Qt(t),t);return ft(o)?a.plural=o:ke(o)?a.default=o:Oe(o)&&!Wr(o)?a.named=o:lt(o)&&(a.list=o),ft(n)?a.plural=n:ke(n)?a.default=n:Oe(n)&&Ct(a,n),[r,a]}function L1(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>Wy(t,o,s)}}function C1(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:a,pluralRules:r,messages:k=>{let x=s(o,k);if(x==null&&u){const[,,m]=Qd(u,k,t,i,l,c);x=s(m,k)}if(ke(x)||_o(x)){let m=!1;const g=ep(e,k,t,x,k,()=>{m=!0});return m?Jd:g}else return Qt(x)?x:Jd}};return e.processor&&(b.processor=e.processor),n.list&&(b.list=n.list),n.named&&(b.named=n.named),ft(n.plural)&&(b.pluralIndex=n.plural),b}function tp(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=Di(...t),b=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,x=Pi(e,u),m=s(e,a,x);if(!ke(l)||l==="")return new Intl.DateTimeFormat(x,f).format(c);let v={},g,y=null;const d="datetime format";for(let _=0;_<m.length&&(g=m[_],v=o[g]||{},y=v[l],!Oe(y));_++)Ii(e,l,g,b,d);if(!Oe(y)||!ke(g))return n?es:l;let h=`${g}__${l}`;Wr(f)||(h=`${h}__${JSON.stringify(f)}`);let p=i.get(h);return p||(p=new Intl.DateTimeFormat(g,Ct({},y,f)),i.set(h,p)),k?p.formatToParts(c):p.format(c)}const op=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Di(...e){const[t,o,n,a]=e,r=Qe();let s=Qe(),i;if(ke(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw xo(ro.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 xo(ro.INVALID_ISO_DATE_ARGUMENT)}}else if(Xy(t)){if(isNaN(t.getTime()))throw xo(ro.INVALID_DATE_ARGUMENT);i=t}else if(ft(t))i=t;else throw xo(ro.INVALID_ARGUMENT);return ke(o)?r.key=o:Oe(o)&&Object.keys(o).forEach(l=>{op.includes(l)?s[l]=o[l]:r[l]=o[l]}),ke(n)?r.locale=n:Oe(n)&&(s=n),Oe(a)&&(s=a),[r.key||"",i,r,s]}function np(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function ap(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,f]=Bi(...t),b=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,x=Pi(e,u),m=s(e,a,x);if(!ke(l)||l==="")return new Intl.NumberFormat(x,f).format(c);let v={},g,y=null;const d="number format";for(let _=0;_<m.length&&(g=m[_],v=o[g]||{},y=v[l],!Oe(y));_++)Ii(e,l,g,b,d);if(!Oe(y)||!ke(g))return n?es:l;let h=`${g}__${l}`;Wr(f)||(h=`${h}__${JSON.stringify(f)}`);let p=i.get(h);return p||(p=new Intl.NumberFormat(g,Ct({},y,f)),i.set(h,p)),k?p.formatToParts(c):p.format(c)}const rp=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Bi(...e){const[t,o,n,a]=e,r=Qe();let s=Qe();if(!ft(t))throw xo(ro.INVALID_ARGUMENT);const i=t;return ke(o)?r.key=o:Oe(o)&&Object.keys(o).forEach(l=>{rp.includes(l)?s[l]=o[l]:r[l]=o[l]}),ke(n)?r.locale=n:Oe(n)&&(s=n),Oe(a)&&(s=a),[r.key||"",i,r,s]}function sp(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}M0();/*!
|
||
* vue-i18n v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/const E1="9.14.5";function $1(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(jo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(jo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(jo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(jo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(jo().__INTLIFY_PROD_DEVTOOLS__=!1)}const T1=i1.__EXTEND_POINT__,Uo=Yr(T1);Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo();const ip=ro.__EXTEND_POINT__,Dt=Yr(ip),vt={UNEXPECTED_RETURN_TYPE:ip,INVALID_ARGUMENT:Dt(),MUST_BE_CALL_SETUP_TOP:Dt(),NOT_INSTALLED:Dt(),NOT_AVAILABLE_IN_LEGACY_MODE:Dt(),REQUIRED_VALUE:Dt(),INVALID_VALUE:Dt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Dt(),NOT_INSTALLED_WITH_PROVIDE:Dt(),UNEXPECTED_ERROR:Dt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Dt(),BRIDGE_SUPPORT_VUE_2_ONLY:Dt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Dt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Dt(),__EXTEND_POINT__:Dt()};function kt(e,...t){return Hn(e,null,void 0)}const Gi=on("__translateVNode"),ji=on("__datetimeParts"),zi=on("__numberParts"),lp=on("__setPluralRules"),cp=on("__injectWithOption"),Ui=on("__dispose");function Ha(e){if(!Ve(e)||_o(e))return e;for(const t in e)if(no(e,t))if(!t.includes("."))Ve(e[t])&&Ha(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s<n;s++){if(o[s]==="__proto__")throw new Error(`unsafe key: ${o[s]}`);if(o[s]in a||(a[o[s]]=Qe()),!Ve(a[o[s]])){r=!0;break}a=a[o[s]]}if(r||(_o(a)?Pd.includes(o[n])||delete e[t]:(a[o[n]]=e[t],delete e[t])),!_o(a)){const s=a[o[n]];Ve(s)&&Ha(s)}}return e}function ts(e,t){const{messages:o,__i18n:n,messageResolver:a,flatJson:r}=t,s=Oe(o)?o:lt(n)?Qe():{[e]:Qe()};if(lt(n)&&n.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Qe(),Jr(c,s[l])):Jr(c,s)}else ke(i)&&Jr(JSON.parse(i),s)}),a==null&&r)for(const i in s)no(s,i)&&Ha(s[i]);return s}function up(e){return e.type}function dp(e,t,o){let n=Ve(t.messages)?t.messages:Qe();"__i18nGlobal"in o&&(n=ts(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ve(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ve(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function pp(e){return Ze(Pa,null,e,0)}const gp="__INTLIFY_META__",fp=()=>[],P1=()=>!1;let hp=0;function mp(e){return(t,o,n,a)=>e(o,n,yo()||void 0,a)}const N1=()=>{const e=yo();let t=null;return e&&(t=up(e)[gp])?{[gp]:t}:null};function Ki(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=qr?le:kr,i=!!e.translateExistCompatible;let l=Be(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:ke(e.locale)?e.locale:Wn),u=s(o&&l?o.fallbackLocale.value:ke(e.fallbackLocale)||lt(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=s(ts(c.value,e)),b=s(Oe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=s(Oe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let x=o?o.missingWarn:Be(e.missingWarn)||nn(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:Be(e.fallbackWarn)||nn(e.fallbackWarn)?e.fallbackWarn:!0,v=o?o.fallbackRoot:Be(e.fallbackRoot)?e.fallbackRoot:!0,g=!!e.fallbackFormat,y=at(e.missing)?e.missing:null,d=at(e.missing)?mp(e.missing):null,h=at(e.postTranslation)?e.postTranslation:null,p=o?o.warnHtmlMessage:Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter;const L=o?o.modifiers:Oe(e.modifiers)?e.modifiers:{};let R=e.pluralRules||o&&o.pluralRules,S;S=(()=>{a&&Vd(null);const Z={version:E1,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:L,pluralRules:R,missing:d===null?void 0:d,missingWarn:x,fallbackWarn:m,fallbackFormat:g,unresolving:!0,postTranslation:h===null?void 0:h,warnHtmlMessage:p,escapeParameter:_,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};Z.datetimeFormats=b.value,Z.numberFormats=k.value,Z.__datetimeFormatters=Oe(S)?S.__datetimeFormatters:void 0,Z.__numberFormatters=Oe(S)?S.__numberFormatters:void 0;const P=y1(Z);return a&&Vd(P),P})(),Ka(S,c.value,u.value);function j(){return[c.value,u.value,f.value,b.value,k.value]}const O=Q({get:()=>c.value,set:Z=>{c.value=Z,S.locale=c.value}}),D=Q({get:()=>u.value,set:Z=>{u.value=Z,S.fallbackLocale=u.value,Ka(S,c.value,Z)}}),M=Q(()=>f.value),$=Q(()=>b.value),T=Q(()=>k.value);function N(){return at(h)?h:null}function q(Z){h=Z,S.postTranslation=Z}function ce(){return y}function ee(Z){Z!==null&&(d=mp(Z)),y=Z,S.missing=d}const oe=(Z,P,Y,ge,xe,Se)=>{j();let Fe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=o?b1():void 0),Fe=Z(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(Y!=="translate exists"&&ft(Fe)&&Fe===es||Y==="translate exists"&&!Fe){const[Ne,pt]=P();return o&&v?ge(o):xe(Ne)}else{if(Se(Fe))return Fe;throw kt(vt.UNEXPECTED_RETURN_TYPE)}};function H(...Z){return oe(P=>Reflect.apply(Zd,null,[P,...Z]),()=>Oi(...Z),"translate",P=>Reflect.apply(P.t,P,[...Z]),P=>P,P=>ke(P))}function pe(...Z){const[P,Y,ge]=Z;if(ge&&!Ve(ge))throw kt(vt.INVALID_ARGUMENT);return H(P,Y,Ct({resolvedMessage:!0},ge||{}))}function we(...Z){return oe(P=>Reflect.apply(tp,null,[P,...Z]),()=>Di(...Z),"datetime format",P=>Reflect.apply(P.d,P,[...Z]),()=>Dd,P=>ke(P))}function ue(...Z){return oe(P=>Reflect.apply(ap,null,[P,...Z]),()=>Bi(...Z),"number format",P=>Reflect.apply(P.n,P,[...Z]),()=>Dd,P=>ke(P))}function $e(Z){return Z.map(P=>ke(P)||ft(P)||Be(P)?pp(String(P)):P)}const ie={normalize:$e,interpolate:Z=>Z,type:"vnode"};function ye(...Z){return oe(P=>{let Y;const ge=P;try{ge.processor=ie,Y=Reflect.apply(Zd,null,[ge,...Z])}finally{ge.processor=null}return Y},()=>Oi(...Z),"translate",P=>P[Gi](...Z),P=>[pp(P)],P=>lt(P))}function me(...Z){return oe(P=>Reflect.apply(ap,null,[P,...Z]),()=>Bi(...Z),"number format",P=>P[zi](...Z),fp,P=>ke(P)||lt(P))}function Le(...Z){return oe(P=>Reflect.apply(tp,null,[P,...Z]),()=>Di(...Z),"datetime format",P=>P[ji](...Z),fp,P=>ke(P)||lt(P))}function E(Z){R=Z,S.pluralRules=R}function F(Z,P){return oe(()=>{if(!Z)return!1;const Y=ke(P)?P:c.value,ge=te(Y),xe=S.messageResolver(ge,Z);return i?xe!=null:_o(xe)||Qt(xe)||ke(xe)},()=>[Z],"translate exists",Y=>Reflect.apply(Y.te,Y,[Z,P]),P1,Y=>Be(Y))}function B(Z){let P=null;const Y=Fd(S,u.value,c.value);for(let ge=0;ge<Y.length;ge++){const xe=f.value[Y[ge]]||{},Se=S.messageResolver(xe,Z);if(Se!=null){P=Se;break}}return P}function K(Z){const P=B(Z);return P??(o?o.tm(Z)||{}:{})}function te(Z){return f.value[Z]||{}}function U(Z,P){if(r){const Y={[Z]:P};for(const ge in Y)no(Y,ge)&&Ha(Y[ge]);P=Y[Z]}f.value[Z]=P,S.messages=f.value}function X(Z,P){f.value[Z]=f.value[Z]||{};const Y={[Z]:P};if(r)for(const ge in Y)no(Y,ge)&&Ha(Y[ge]);P=Y[Z],Jr(P,f.value[Z]),S.messages=f.value}function ne(Z){return b.value[Z]||{}}function w(Z,P){b.value[Z]=P,S.datetimeFormats=b.value,np(S,Z,P)}function A(Z,P){b.value[Z]=Ct(b.value[Z]||{},P),S.datetimeFormats=b.value,np(S,Z,P)}function W(Z){return k.value[Z]||{}}function re(Z,P){k.value[Z]=P,S.numberFormats=k.value,sp(S,Z,P)}function be(Z,P){k.value[Z]=Ct(k.value[Z]||{},P),S.numberFormats=k.value,sp(S,Z,P)}hp++,o&&qr&&(De(o.locale,Z=>{l&&(c.value=Z,S.locale=Z,Ka(S,c.value,u.value))}),De(o.fallbackLocale,Z=>{l&&(u.value=Z,S.fallbackLocale=Z,Ka(S,c.value,u.value))}));const fe={id:hp,locale:O,fallbackLocale:D,get inheritLocale(){return l},set inheritLocale(Z){l=Z,Z&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Ka(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:M,get modifiers(){return L},get pluralRules(){return R||{}},get isGlobal(){return a},get missingWarn(){return x},set missingWarn(Z){x=Z,S.missingWarn=x},get fallbackWarn(){return m},set fallbackWarn(Z){m=Z,S.fallbackWarn=m},get fallbackRoot(){return v},set fallbackRoot(Z){v=Z},get fallbackFormat(){return g},set fallbackFormat(Z){g=Z,S.fallbackFormat=g},get warnHtmlMessage(){return p},set warnHtmlMessage(Z){p=Z,S.warnHtmlMessage=Z},get escapeParameter(){return _},set escapeParameter(Z){_=Z,S.escapeParameter=Z},t:H,getLocaleMessage:te,setLocaleMessage:U,mergeLocaleMessage:X,getPostTranslationHandler:N,setPostTranslationHandler:q,getMissingHandler:ce,setMissingHandler:ee,[lp]:E};return fe.datetimeFormats=$,fe.numberFormats=T,fe.rt=pe,fe.te=F,fe.tm=K,fe.d=we,fe.n=ue,fe.getDateTimeFormat=ne,fe.setDateTimeFormat=w,fe.mergeDateTimeFormat=A,fe.getNumberFormat=W,fe.setNumberFormat=re,fe.mergeNumberFormat=be,fe[cp]=n,fe[Gi]=ye,fe[ji]=Le,fe[zi]=me,fe}function M1(e){const t=ke(e.locale)?e.locale:Wn,o=ke(e.fallbackLocale)||lt(e.fallbackLocale)||Oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=at(e.missing)?e.missing:void 0,a=Be(e.silentTranslationWarn)||nn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Be(e.silentFallbackWarn)||nn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Be(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Oe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=at(e.postTranslation)?e.postTranslation:void 0,f=ke(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,k=Be(e.sync)?e.sync:!0;let x=e.messages;if(Oe(e.sharedMessages)){const _=e.sharedMessages;x=Object.keys(_).reduce((R,S)=>{const z=R[S]||(R[S]={});return Ct(z,_[S]),R},x||{})}const{__i18n:m,__root:v,__injectWithOption:g}=e,y=e.datetimeFormats,d=e.numberFormats,h=e.flatJson,p=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:x,flatJson:h,datetimeFormats:y,numberFormats:d,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:p,__i18n:m,__root:v,__injectWithOption:g}}function Hi(e={},t){{const o=Ki(M1(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 Be(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Be(r)?!r:r},get silentFallbackWarn(){return Be(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Be(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,f=null;if(!ke(s))throw kt(vt.INVALID_ARGUMENT);const b=s;return ke(i)?c.locale=i:lt(i)?u=i:Oe(i)&&(f=i),lt(l)?u=l:Oe(l)&&(f=l),Reflect.apply(o.t,o,[b,u||f||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,f=null;if(!ke(s))throw kt(vt.INVALID_ARGUMENT);const b=s;return ke(i)?c.locale=i:ft(i)?c.plural=i:lt(i)?u=i:Oe(i)&&(f=i),ke(l)?c.locale=l:lt(l)?u=l:Oe(l)&&(f=l),Reflect.apply(o.t,o,[b,u||f||{},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 Vi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function I1({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},Qe())}function bp(e){return Ie}const yp=Aa({name:"i18n-t",props:Ct({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ft(e)||!isNaN(e)}},Vi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||ht({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(f=>f!=="_"),s=Qe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=ke(e.plural)?+e.plural:e.plural);const i=I1(t,r),l=a[Gi](e.keypath,i,s),c=Ct(Qe(),n),u=ke(e.tag)||Ve(e.tag)?e.tag:bp();return mi(u,c,l)}}});function R1(e){return lt(e)&&!ke(e[0])}function vp(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Qe();e.locale&&(s.locale=e.locale),ke(e.format)?s.key=e.format:Ve(e.format)&&(ke(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((b,k)=>o.includes(k)?Ct(Qe(),b,{[k]:e.format[k]}):b,Qe()));const l=n(e.value,s,i);let c=[s.key];lt(l)?c=l.map((b,k)=>{const x=a[b.type],m=x?x({[b.type]:b.value,index:k,parts:l}):[b.value];return R1(m)&&(m[0].key=`${b.type}-${k}`),m}):ke(l)&&(c=[l]);const u=Ct(Qe(),r),f=ke(e.tag)||Ve(e.tag)?e.tag:bp();return mi(f,u,c)}}const _p=Aa({name:"i18n-n",props:Ct({value:{type:Number,required:!0},format:{type:[String,Object]}},Vi),setup(e,t){const o=e.i18n||ht({useScope:e.scope,__useComponent:!0});return vp(e,t,rp,(...n)=>o[zi](...n))}}),xp=Aa({name:"i18n-d",props:Ct({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Vi),setup(e,t){const o=e.i18n||ht({useScope:e.scope,__useComponent:!0});return vp(e,t,op,(...n)=>o[ji](...n))}});function F1(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 O1(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw kt(vt.UNEXPECTED_ERROR);const u=F1(e,i.$),f=kp(c);return[Reflect.apply(u.t,u,[...wp(f)]),u]};return{created:(s,i)=>{const[l,c]=t(i);qr&&e.global===c&&(s.__i18nWatcher=De(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{qr&&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=kp(i);s.textContent=Reflect.apply(l.t,l,[...wp(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function kp(e){if(ke(e))return{path:e};if(Oe(e)){if(!("path"in e))throw kt(vt.REQUIRED_VALUE,"path");return e}else throw kt(vt.INVALID_VALUE)}function wp(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return ke(o)&&(s.locale=o),ft(a)&&(s.plural=a),ft(r)&&(s.plural=r),[t,i,s]}function D1(e,t,...o){const n=Oe(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Be(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":yp.name,"I18nT"].forEach(s=>e.component(s,yp)),[_p.name,"I18nN"].forEach(s=>e.component(s,_p)),[xp.name,"I18nD"].forEach(s=>e.component(s,xp))),e.directive("t",O1(t))}function B1(e,t,o){return{beforeCreate(){const n=yo();if(!n)throw kt(vt.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=Ap(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Hi(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Ap(e,a);else{this.$i18n=Hi({__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&&dp(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=yo();if(!n)throw kt(vt.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 Ap(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[lp](t.pluralizationRules||e.pluralizationRules);const o=ts(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 G1=on("global-vue-i18n");function j1(e={},t){const o=__VUE_I18N_LEGACY_API__&&Be(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Be(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=z1(e,o),l=on("");function c(b){return r.get(b)||null}function u(b,k){r.set(b,k)}function f(b){r.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...x){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,b),Oe(x[0])){const g=x[0];b.__composerExtend=g.__composerExtend,b.__vueI18nExtend=g.__vueI18nExtend}let m=null;!o&&n&&(m=J1(k,b.global)),__VUE_I18N_FULL_INSTALL__&&D1(k,b,...x),__VUE_I18N_LEGACY_API__&&o&&k.mixin(B1(i,i.__composer,b));const v=k.unmount;k.unmount=()=>{m&&m(),b.dispose(),v()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return b}}function ht(e={}){const t=yo();if(t==null)throw kt(vt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw kt(vt.NOT_INSTALLED);const o=U1(t),n=H1(o),a=up(t),r=K1(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw kt(vt.NOT_AVAILABLE_IN_LEGACY_MODE);return Y1(t,r,n,e)}if(r==="global")return dp(n,e,a),n;if(r==="parent"){let l=V1(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Ct({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Ki(l),s.__composerExtend&&(i[Ui]=s.__composerExtend(i)),W1(s,t,i),s.__setInstance(t,i)}return i}function z1(e,t,o){const n=Bs();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Hi(e)):n.run(()=>Ki(e));if(a==null)throw kt(vt.UNEXPECTED_ERROR);return[n,a]}}function U1(e){{const t=Te(e.isCE?G1:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw kt(e.isCE?vt.NOT_INSTALLED_WITH_PROVIDE:vt.UNEXPECTED_ERROR);return t}}function K1(e,t){return Wr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function H1(e){return e.mode==="composition"?e.global:e.global.__composer}function V1(e,t,o=!1){let n=null;const a=t.root;let r=q1(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[cp]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function q1(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function W1(e,t,o){Zt(()=>{},t),Ea(()=>{const n=o;e.__deleteInstance(t);const a=n[Ui];a&&(a(),delete n[Ui])},t)}function Y1(e,t,o,n={}){const a=t==="local",r=kr(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw kt(vt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Be(n.inheritLocale)?n.inheritLocale:!ke(n.locale),i=le(!a||s?o.locale.value:ke(n.locale)?n.locale:Wn),l=le(!a||s?o.fallbackLocale.value:ke(n.fallbackLocale)||lt(n.fallbackLocale)||Oe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=le(ts(i.value,n)),u=le(Oe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=le(Oe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),b=a?o.missingWarn:Be(n.missingWarn)||nn(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:Be(n.fallbackWarn)||nn(n.fallbackWarn)?n.fallbackWarn:!0,x=a?o.fallbackRoot:Be(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,v=at(n.missing)?n.missing:null,g=at(n.postTranslation)?n.postTranslation:null,y=a?o.warnHtmlMessage:Be(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,h=a?o.modifiers:Oe(n.modifiers)?n.modifiers:{},p=n.pluralRules||a&&o.pluralRules;function _(){return[i.value,l.value,c.value,u.value,f.value]}const L=Q({get:()=>r.value?r.value.locale.value:i.value,set:B=>{r.value&&(r.value.locale.value=B),i.value=B}}),R=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:B=>{r.value&&(r.value.fallbackLocale.value=B),l.value=B}}),S=Q(()=>r.value?r.value.messages.value:c.value),z=Q(()=>u.value),j=Q(()=>f.value);function O(){return r.value?r.value.getPostTranslationHandler():g}function D(B){r.value&&r.value.setPostTranslationHandler(B)}function M(){return r.value?r.value.getMissingHandler():v}function $(B){r.value&&r.value.setMissingHandler(B)}function T(B){return _(),B()}function N(...B){return r.value?T(()=>Reflect.apply(r.value.t,null,[...B])):T(()=>"")}function q(...B){return r.value?Reflect.apply(r.value.rt,null,[...B]):""}function ce(...B){return r.value?T(()=>Reflect.apply(r.value.d,null,[...B])):T(()=>"")}function ee(...B){return r.value?T(()=>Reflect.apply(r.value.n,null,[...B])):T(()=>"")}function oe(B){return r.value?r.value.tm(B):{}}function H(B,K){return r.value?r.value.te(B,K):!1}function pe(B){return r.value?r.value.getLocaleMessage(B):{}}function we(B,K){r.value&&(r.value.setLocaleMessage(B,K),c.value[B]=K)}function ue(B,K){r.value&&r.value.mergeLocaleMessage(B,K)}function $e(B){return r.value?r.value.getDateTimeFormat(B):{}}function Ae(B,K){r.value&&(r.value.setDateTimeFormat(B,K),u.value[B]=K)}function ie(B,K){r.value&&r.value.mergeDateTimeFormat(B,K)}function ye(B){return r.value?r.value.getNumberFormat(B):{}}function me(B,K){r.value&&(r.value.setNumberFormat(B,K),f.value[B]=K)}function Le(B,K){r.value&&r.value.mergeNumberFormat(B,K)}const E={get id(){return r.value?r.value.id:-1},locale:L,fallbackLocale:R,messages:S,datetimeFormats:z,numberFormats:j,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(B){r.value&&(r.value.inheritLocale=B)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:h},get pluralRules(){return r.value?r.value.pluralRules:p},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:b},set missingWarn(B){r.value&&(r.value.missingWarn=B)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn(B){r.value&&(r.value.missingWarn=B)},get fallbackRoot(){return r.value?r.value.fallbackRoot:x},set fallbackRoot(B){r.value&&(r.value.fallbackRoot=B)},get fallbackFormat(){return r.value?r.value.fallbackFormat:m},set fallbackFormat(B){r.value&&(r.value.fallbackFormat=B)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:y},set warnHtmlMessage(B){r.value&&(r.value.warnHtmlMessage=B)},get escapeParameter(){return r.value?r.value.escapeParameter:d},set escapeParameter(B){r.value&&(r.value.escapeParameter=B)},t:N,getPostTranslationHandler:O,setPostTranslationHandler:D,getMissingHandler:M,setMissingHandler:$,rt:q,d:ce,n:ee,tm:oe,te:H,getLocaleMessage:pe,setLocaleMessage:we,mergeLocaleMessage:ue,getDateTimeFormat:$e,setDateTimeFormat:Ae,mergeDateTimeFormat:ie,getNumberFormat:ye,setNumberFormat:me,mergeNumberFormat:Le};function F(B){B.locale.value=i.value,B.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{B.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{B.mergeDateTimeFormat(K,u.value[K])}),Object.keys(f.value).forEach(K=>{B.mergeNumberFormat(K,f.value[K])}),B.escapeParameter=d,B.fallbackFormat=m,B.fallbackRoot=x,B.fallbackWarn=k,B.missingWarn=b,B.warnHtmlMessage=y}return Jc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw kt(vt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const B=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=B.locale.value,l.value=B.fallbackLocale.value,c.value=B.messages.value,u.value=B.datetimeFormats.value,f.value=B.numberFormats.value):a&&F(B)}),E}const X1=["locale","fallbackLocale","availableLocales"],Sp=["t","rt","d","n","tm","te"];function J1(e,t){const o=Object.create(null);return X1.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw kt(vt.UNEXPECTED_ERROR);const s=it(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,Sp.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw kt(vt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Sp.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if($1(),__INTLIFY_JIT_COMPILATION__?jd(w1):jd(k1),g1(q0),f1(Fd),__INTLIFY_PROD_DEVTOOLS__){const e=jo();e.__INTLIFY__=!0,o1(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Z1=Object.assign({"./locales/ar/aria.json":ab,"./locales/ar/buttons.json":rb,"./locales/ar/detail.json":sb,"./locales/ar/legend.json":ib,"./locales/ar/messages.json":lb,"./locales/ar/options.json":cb,"./locales/ar/prayerLaps.json":ub,"./locales/ar/search.json":db,"./locales/ar/tabs.json":pb,"./locales/de/aria.json":gb,"./locales/de/buttons.json":fb,"./locales/de/detail.json":hb,"./locales/de/legend.json":mb,"./locales/de/messages.json":bb,"./locales/de/options.json":yb,"./locales/de/prayerLaps.json":vb,"./locales/de/search.json":_b,"./locales/de/tabs.json":xb,"./locales/en/aria.json":kb,"./locales/en/buttons.json":wb,"./locales/en/detail.json":Ab,"./locales/en/legend.json":Sb,"./locales/en/messages.json":Lb,"./locales/en/options.json":Cb,"./locales/en/popup.json":Eb,"./locales/en/prayerLaps.json":$b,"./locales/en/search.json":Tb,"./locales/en/tabs.json":Pb,"./locales/es/aria.json":Nb,"./locales/es/buttons.json":Mb,"./locales/es/detail.json":Ib,"./locales/es/legend.json":Rb,"./locales/es/messages.json":Fb,"./locales/es/options.json":Ob,"./locales/es/prayerLaps.json":Db,"./locales/es/search.json":Bb,"./locales/es/tabs.json":Gb,"./locales/fr/aria.json":jb,"./locales/fr/buttons.json":zb,"./locales/fr/detail.json":Ub,"./locales/fr/legend.json":Kb,"./locales/fr/messages.json":Hb,"./locales/fr/options.json":Vb,"./locales/fr/popup.json":qb,"./locales/fr/prayerLaps.json":Wb,"./locales/fr/search.json":Yb,"./locales/fr/tabs.json":Xb,"./locales/hi/aria.json":Jb,"./locales/hi/buttons.json":Zb,"./locales/hi/detail.json":Qb,"./locales/hi/legend.json":ey,"./locales/hi/messages.json":ty,"./locales/hi/options.json":oy,"./locales/hi/prayerLaps.json":ny,"./locales/hi/search.json":ay,"./locales/it/aria.json":ry,"./locales/it/buttons.json":sy,"./locales/it/detail.json":iy,"./locales/it/legend.json":ly,"./locales/it/messages.json":cy,"./locales/it/options.json":uy,"./locales/it/prayerLaps.json":dy,"./locales/it/search.json":py,"./locales/pt/aria.json":gy,"./locales/pt/buttons.json":fy,"./locales/pt/detail.json":hy,"./locales/pt/legend.json":my,"./locales/pt/messages.json":by,"./locales/pt/options.json":yy,"./locales/pt/prayerLaps.json":vy,"./locales/pt/search.json":_y,"./locales/pt/tabs.json":xy,"./locales/ro/aria.json":ky,"./locales/ro/buttons.json":wy,"./locales/ro/detail.json":Ay,"./locales/ro/legend.json":Sy,"./locales/ro/messages.json":Ly,"./locales/ro/options.json":Cy,"./locales/ro/prayerLaps.json":Ey,"./locales/ro/search.json":$y,"./locales/ru/aria.json":Ty,"./locales/ru/buttons.json":Py,"./locales/ru/detail.json":Ny,"./locales/ru/legend.json":My,"./locales/ru/messages.json":Iy,"./locales/ru/options.json":Ry,"./locales/ru/prayerLaps.json":Fy,"./locales/ru/search.json":Oy,"./locales/ru/tabs.json":Dy,"./locales/zh/aria.json":By,"./locales/zh/buttons.json":Gy,"./locales/zh/detail.json":jy,"./locales/zh/legend.json":zy,"./locales/zh/messages.json":Uy,"./locales/zh/options.json":Ky,"./locales/zh/prayerLaps.json":Hy,"./locales/zh/search.json":Vy}),Va={};for(const[e,t]of Object.entries(Z1)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Va[n]??(Va[n]={}),Va[n][a]=t}const qi=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Q1(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return qi.includes(t)?t:"en"}function ev(){return j1({legacy:!1,globalInjection:!0,locale:Q1(),fallbackLocale:"en",messages:Va,missingWarn:!1,fallbackWarn:!1})}function mt(e,t){const o=t||tv(e);Zt(()=>{var i;const n=yo();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 tv(e){let t=0;for(let o=0;o<e.length;o++)t=(t<<5)-t+e.charCodeAt(o),t|=0;return"s"+Math.abs(t).toString(36)}const ov={class:"pin-hint-pill"},nv={__name:"PinHint",setup(e){const t=Te("uiStore",null),o=Te("profileConfig",null),n=Q(()=>(t==null?void 0:t.theme)==="dark"),a=Q(()=>{var l;return((l=o==null?void 0:o.value)==null?void 0:l.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=le(!1);let s=null;function i(){r.value=!1}return Zt(()=>{var f,b,k;const l=yo(),c=(k=(b=(f=l==null?void 0:l.proxy)==null?void 0:f.$el)==null?void 0:b.getRootNode)==null?void 0:k.call(b);if(!c||typeof c.querySelector!="function")return;let u=0;s=setInterval(()=>{u++,c.querySelector("canvas")?(clearInterval(s),s=null,r.value=!0):u>40&&(clearInterval(s),s=null)},300)}),ho(()=>{s&&clearInterval(s)}),mt(`
|
||
.pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%);
|
||
z-index: 2147482000; pointer-events: none;
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||
animation: pinhint-in .5s ease both; }
|
||
.pin-hint-pill { pointer-events: auto; display: inline-flex; align-items: center; gap: 9px;
|
||
padding: 9px 14px 9px 11px; border-radius: 999px;
|
||
background: rgba(23, 29, 38, .92); color: #fff; font-size: 13.5px; font-weight: 600;
|
||
letter-spacing: .01em; box-shadow: 0 4px 18px rgba(0,0,0,.30);
|
||
animation: pinhint-bob 2.6s ease-in-out 1s infinite; }
|
||
.pin-hint-dot { position: relative; width: 12px; height: 12px; flex: none; }
|
||
.pin-hint-dot::before { content: ''; position: absolute; inset: 0; border-radius: 50%;
|
||
background: #e05252; box-shadow: 0 0 0 2px rgba(224,82,82,.35); }
|
||
.pin-hint-dot::after { content: ''; position: absolute; inset: -5px; border-radius: 50%;
|
||
border: 2px solid rgba(224,82,82,.55); animation: pinhint-pulse 1.8s ease-out infinite; }
|
||
.pin-hint-x { pointer-events: auto; border: none; background: none; color: #aeb7c2;
|
||
font-size: 16px; line-height: 1; cursor: pointer; padding: 0 0 0 2px; }
|
||
.pin-hint-x:hover { color: #fff; }
|
||
.pin-hint.dark .pin-hint-pill { background: rgba(240, 243, 247, .95); color: #1b212b; }
|
||
.pin-hint.dark .pin-hint-x { color: #5a6470; }
|
||
.pin-hint.dark .pin-hint-x:hover { color: #1b212b; }
|
||
@keyframes pinhint-pulse { 0% { transform: scale(.6); opacity: .9 } 70% { transform: scale(1.5); opacity: 0 } 100% { opacity: 0 } }
|
||
@keyframes pinhint-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
|
||
@keyframes pinhint-in { from { opacity: 0; transform: translateX(-50%) translateY(10px) } to { opacity: 1; transform: translateX(-50%) translateY(0) } }
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; }
|
||
}
|
||
`,"pin-hint"),(l,c)=>r.value?(V(),ae("div",{key:0,class:Ee(["pin-hint",{dark:n.value}]),role:"status"},[C("span",ov,[c[0]||(c[0]=C("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),gt(" "+he(a.value)+" ",1),C("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:i},"×")])],2)):ve("",!0)}},os="mapbox://styles/mapbox/standard",av=os,rv=os,sv=!1,Lp={lightPreset:"night",theme:"default"},iv={lightPreset:"day",theme:"monochrome"};function lv(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function cv(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let r="dark";function s(g){return lv(g)}function i(g,y){g!=="light"&&g!=="dark"||(r=g,y&&m(y))}function l(){return{...r==="light"?iv:Lp}}function c(){return os}function u(){return{basemap:l()}}function f(g,y){try{return typeof g.getConfigProperty=="function"?g.getConfigProperty("basemap",y):void 0}catch{return}}function b(g){return!!g&&typeof g.setConfigProperty=="function"&&typeof g.getConfigProperty=="function"}function k(g,y=!1){if(!b(g))return!1;const d=l();let h=!1;try{for(const[p,_]of Object.entries(d))!y&&f(g,p)===_||(g.setConfigProperty("basemap",p,_),h=!0)}catch(p){console.warn("[useMapTheme] setConfigProperty failed:",p)}return h}function x(g){if(!o.has(g)&&(o.add(g),!!b(g)))try{g.on("style.load",()=>k(g)),g.on("styledata",()=>k(g))}catch{}}function m(g){if(!g)return;if(x(g),k(g)&&!t){t=!0;try{g.once("idle",()=>{t=!1,k(g,!0)})}catch{t=!1}}}function v(g){e.toggleTheme(),m(g)}return{setLook:i,lookFor:s,STANDARD_STYLE:os,LIGHT_STYLE:av,DARK_STYLE:rv,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:m,swapTheme:v}}let uv=0;const dv=Ci("ui",{state:()=>({_storeInstanceId:++uv,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)}))}}}),pv=Ci("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()}}}),gv=Ci("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]=ba({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]=ba({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}}}),Sn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Ot=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},fv={class:"profile-loader"},hv={key:0,class:"profile-error"},mv={key:1,class:"profile-error"},bv=Ot({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var d;const o=e,n=Q(()=>{if(!o.profileConfig)return null;try{return JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}}),a=Q(()=>{var h;return((h=n.value)==null?void 0:h.profile)||null}),r=Q(()=>{var h;return((h=n.value)==null?void 0:h.tk)||""}),s=Q(()=>{var h;return((h=n.value)==null?void 0:h.dataSource)||Sn.activeSource||"doxa-csv"}),i=Q(()=>{var h;return((h=n.value)==null?void 0:h.colorSet)||"default"}),l=Q(()=>!1),c=Q(()=>{var h;return((h=n.value)==null?void 0:h.pinHint)!==!1}),u=Q(()=>{var p,_;const h=(((p=n.value)==null?void 0:p.locale)||((_=n.value)==null?void 0:_.lang)||"").split("-")[0].toLowerCase();return qi.includes(h)?h:""}),f=Te("appI18n",null);ch(()=>{u.value&&f&&(f.global.locale.value=u.value)});const b=Q(()=>{var h,p;return u.value||((p=(h=f==null?void 0:f.global)==null?void 0:h.locale)==null?void 0:p.value)||"en"}),k=Q(()=>{var h;return((h=n.value)==null?void 0:h.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),x=Te("profileModules",null);if(!x)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const m=Q(()=>{if(!a.value)return null;const h=`./${a.value}.vue`;return x[h]?La(x[h]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(x)),null)});St("mapboxToken",r),St("dataSource",s),St("colorSet",i),St("profileConfig",n),St("instanceId",k),St("lang",b);const v=dv(),g=pv(),y=gv();try{const h=typeof localStorage<"u"?localStorage.getItem("theme"):null;h&&((d=v.setTheme)==null||d.call(v,h))}catch{}return St("uiStore",v),St("mapStore",g),St("dataStore",y),(h,p)=>(V(),ae("div",fv,[n.value?m.value?(V(),Ge(ai(m.value),{key:2})):(V(),ae("div",mv,[C("p",null,[p[1]||(p[1]=gt("⚠️ Profile ",-1)),C("strong",null,'"'+he(a.value)+'"',1),p[2]||(p[2]=gt(" not found.",-1))])])):(V(),ae("div",hv,[...p[0]||(p[0]=[C("p",null,[gt("⚠️ "),C("strong",null,"doxa-map"),gt(": missing or invalid "),C("code",null,"profile-config"),gt(" prop.")],-1),C("p",null,[gt("Example: "),C("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),m.value&&l.value?(V(),Ge(ai(de(null)),{key:3})):ve("",!0),m.value&&c.value?(V(),Ge(nv,{key:4})):ve("",!0)]))}},[["__scopeId","data-v-50211124"]]),Cp="adoptionStatus",Ko={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Wi=Ko,Yi={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},yv=Yi;function Ep(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)?Ko.hasAdoption:Ko.notAdopted}function Xi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ko.hasAdoption,["==",t,1],Ko.hasAdoption,Ko.notAdopted]}const $p=Xi,vv=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Wi,ADOPTION_LABELS:yv,LABELS:Yi,PALETTE:Ko,PROPERTY_KEY:Cp,applyColor:Xi,buildColorExpression:$p,default:{name:"Adoption Progress",propertyKey:Cp,palette:Ko,colors:Ko,labels:Yi,getColor:Ep,applyColor:Xi,buildColorExpression:$p},getColor:Ep},Symbol.toStringTag,{value:"Module"})),Tp="engagementStatus",Ho={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Ji=Ho,Zi={notEngaged:"Unengaged",hasEngagement:"Engaged"},_v=Zi;function Pp(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)?Ho.hasEngagement:Ho.notEngaged}function Qi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Ho.hasEngagement,["==",t,1],Ho.hasEngagement,Ho.notEngaged]}const Np=Qi,xv=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Ji,ENGAGEMENT_LABELS:_v,LABELS:Zi,PALETTE:Ho,PROPERTY_KEY:Tp,applyColor:Qi,buildColorExpression:Np,default:{name:"Engagement Progress",propertyKey:Tp,palette:Ho,colors:Ho,labels:Zi,getColor:Pp,applyColor:Qi,buildColorExpression:Np},getColor:Pp},Symbol.toStringTag,{value:"Module"})),el="languageFamily",kv="#000000",ln={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Mp=ln;function so(e){return ln[e]||kv}const wv=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ln))t[e(o)]=o;return t})();function ns(e){if(!e)return"Unknown";const t=String(e).trim();return wv[t.toLowerCase()]||t}function Ip(e){var t;return so(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function tl(){const e=["match",["get",el]];return Object.entries(ln).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Rp=tl,Av=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Mp,PALETTE:ln,PROPERTY_KEY:el,applyColor:tl,buildColorExpression:Rp,canonicalFamilyName:ns,default:{name:"Language Family",propertyKey:el,palette:ln,colors:ln,getColor:Ip,applyColor:tl,buildColorExpression:Rp,getLanguageFamilyColor:so,canonicalFamilyName:ns},defaultFamilyColor:"#95a5a6",getColor:Ip,getLanguageFamilyColor:so,languageFamilyColors:ln},Symbol.toStringTag,{value:"Module"})),Fp="peoplePraying",ko=144,cn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Ln=cn,ol={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Sv=ol;function as(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>=ko?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function nl(e){return cn[as(e)]}function Op(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 Dp(e){return as(e)==="fullPrayer"}function Bp(e){return nl(e)}function al({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,ko],cn.fullPrayer,[">",t,0],cn.hasPrayer,cn.noPrayer]}const Gp=al,Lv=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:ko,LABELS:ol,PALETTE:cn,PRAYER_COLORS:Ln,PRAYER_LABELS:Sv,PROPERTY_KEY:Fp,applyColor:al,buildColorExpression:Gp,checkHasFullPrayer:Dp,checkHasPrayer:Op,default:{name:"Prayer Progress",propertyKey:Fp,palette:cn,colors:cn,labels:ol,threshold:ko,getColor:Bp,applyColor:al,buildColorExpression:Gp,getPrayerLevel:as,getPrayerColor:nl,checkHasPrayer:Op,checkHasFullPrayer:Dp},getColor:Bp,getPrayerColor:nl,getPrayerLevel:as},Symbol.toStringTag,{value:"Module"})),jp="religion",rl="#94a3b8",Cn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Kt={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 Cn[t]?t:"U"}function zp(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 Kt[qa(t)]||rl}function sl(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Kt.C,"M",Kt.M,"H",Kt.H,"B",Kt.B,"E",Kt.E,"J",Kt.J,"S",Kt.S,"N",Kt.N,"O",Kt.O,rl]}const Up=sl,Cv=Object.assign({"./adoption.js":vv,"./engagement.js":xv,"./language-family.js":Av,"./prayer-progress.js":Lv,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Kt,PROPERTY_KEY:jp,RELIGION_FAMILIES:Cn,applyColor:sl,buildColorExpression:Up,default:{name:"Religion",propertyKey:jp,palette:Kt,families:Cn,getColor:zp,applyColor:sl,buildColorExpression:Up,fallback:rl},getColor:zp,getReligionFamily:qa},Symbol.toStringTag,{value:"Module"}))}),Ev=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),$v=e=>e.replace(/-/g,"_").toUpperCase(),Xn={...{STATUS:"status",CUSTOM:"custom"}},il={};function Kp(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=Ev(o);Xn[$v(o)]=a,il[a]=n}}Kp(Cv);function Tv(e){e&&Kp(e)}function wo(e){return il[e]||il[Xn.LANGUAGE_FAMILY]}function Pv(e,t={}){return wo(e).applyColor(t)}const Nv=Object.assign({"./countries-map.vue":()=>qt(()=>Promise.resolve().then(()=>qA),void 0),"./country-poster-wall.vue":()=>qt(()=>Promise.resolve().then(()=>SS),void 0)});if(Tv(Object.assign({"./src/colors/affinity-block.js":sf,"./src/colors/doxa-region.js":uf,"./src/colors/resource.js":gf})),typeof window<"u"&&((Ug=window.mapboxgl)!=null&&Ug.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 Mv(){return zm(bv,{configureApp(e){e.use(Zm()),e.use(ev()),e.provide("profileModules",Nv)}})}const Iv=Mv();typeof customElements<"u"&&(customElements.get("country-posters-map")||customElements.define("country-posters-map",Iv));const Rv="rgba(120, 128, 134, 0.28)",Hp="36px",Vp=()=>{};function Fv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Vp;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Vp;const a=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${a(y)?"to right":"to left"}, ${Rv} ${Hp}, transparent ${Hp})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const r=y=>{y.style.opacity="1"},s=y=>{y.style.opacity="0"},i=()=>n.find(y=>!a(y))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const y of n)l.has(y)||s(y)},b=()=>{const y=i();y&&(r(y),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>b(),x=y=>{if(!(y.touches&&y.touches.length===1))return;const d=y.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},m=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",x,{passive:!0}),e.addEventListener("touchend",m,{passive:!0}),e.addEventListener("touchcancel",m,{passive:!0});const v=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const g=[];for(const y of n){const d=()=>{l.add(y),r(y)},h=()=>{l.delete(y),s(y)},p=()=>{c=!0,r(y)},_=()=>{c=!1,s(y)};y.addEventListener("mouseenter",d),y.addEventListener("mouseleave",h),y.addEventListener("touchstart",p,{passive:!0}),y.addEventListener("touchend",_,{passive:!0}),g.push(()=>{y.removeEventListener("mouseenter",d),y.removeEventListener("mouseleave",h),y.removeEventListener("touchstart",p),y.removeEventListener("touchend",_)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",x),e.removeEventListener("touchend",m),e.removeEventListener("touchcancel",m),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of g)d();for(const d of n)s(d)}}const Ov=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function Dv(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Ov[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const Jn={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 qp(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 Bv=Jn.mapbox.css,Gv="https://tiles.openfreemap.org/styles/liberty";function ll(e){var o;const t=((o=Jn[e])==null?void 0:o.global)||Jn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function jv(e){const t=Jn[e]||Jn.mapbox;if(ll(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(ll(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 zv(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 Uv(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:Gv}const Kv=85.0511,Wp=-2,Hv=0,Vv=-60;function Yp(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function qv(e,t,o,n){if(!e||e<=0||!t||t<=0)return Hv;const a=Math.log2(e/512),r=Yp(n)-Yp(Kv),s=Math.log2(t/(512*r)),i=Math.max(a,s);return Math.max(Wp,Math.min(i,(o??18)-1))}function Wv({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a="mapbox",center:r=[20,10],zoom:s=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:b=!0,southCutoff:k=Vv,maxBounds:x=void 0}){const m=kr(null),v=le(!1);let g=null,y=null;const d=a==="maplibre";async function h(){var T;const L=Dv(o,a).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await jv(a);const R=ll(a);if(!R){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){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await zv(e.value,d?Jn.maplibre.css:Bv),await new Promise(N=>requestAnimationFrame(N));const S=e.value,z=S.clientWidth,j=S.clientHeight;if(z===0||j===0){console.error(`[useMapInstance] Container has ZERO dimensions (${z}×${j}). Map will be invisible. Check that parent elements have CSS sizing.`);let N=S.parentElement,q=0;for(;N&&q<5;)N=N.parentElement,q++}const O=t;d||(R.accessToken=O);const D=()=>typeof window<"u"&&window.innerWidth>=1024,M=(N,q)=>{if(!D())return Wp;const ce=qv(N,q,l,k);return typeof i=="number"?Math.max(i,ce):ce},$=M(S.clientWidth,S.clientHeight);if(d){m.value=new R.Map({container:e.value,style:Uv(L),center:r,zoom:s,minZoom:$,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),qp(m.value);try{e.value.__doxaMap=m.value}catch{}}else{const N=typeof n=="function"?n():n;m.value=new R.Map({accessToken:O,container:e.value,style:L,...N?{config:N}:{},center:r,zoom:s,minZoom:$,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),qp(m.value);try{e.value.__doxaMap=m.value}catch{}}try{m.value.touchZoomRotate.disableRotation()}catch{}y=Fv(((T=e.value)==null?void 0:T.parentElement)||null,{enabled:b}),g=()=>{const N=m.value;if(!N)return;const q=M(S.clientWidth,S.clientHeight);N.setMinZoom(q),N.getZoom()<q&&N.setZoom(q)},m.value.on("resize",g),typeof window<"u"&&(window.addEventListener("resize",g),window.addEventListener("orientationchange",g)),m.value.on("style.load",()=>{requestAnimationFrame(()=>{var N;(N=m.value)==null||N.resize(),m.value&&m.value.setMinZoom(M(S.clientWidth,S.clientHeight)),v.value=!0})})}function p(){m.value&&(g&&(m.value.off("resize",g),typeof window<"u"&&(window.removeEventListener("resize",g),window.removeEventListener("orientationchange",g)),g=null),y&&(y(),y=null),m.value.remove(),m.value=null,v.value=!1)}return{map:m,isMapReady:v,initializeMap:h,destroy:p}}function Xp(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function Wa(e){return Xp(e)?{"circle-emissive-strength":1}:{}}const Yv={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]}},Jp={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 Xv(e){return Yv[e]||null}function cl(e="standard"){return Jp.circleRadius[e]||Jp.circleRadius.standard}function Zp(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Te("uiStore"),{t:s,locale:i}=ht(),l=le([]);function c(d){const h=n(d.languageFamily),p="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let _=d.imageUrl;(!_||_.includes("NoImageAvailable"))&&(_=p);const L=(d.name||"U")[0].toUpperCase(),R=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],S=L.charCodeAt(0)%R.length;return`
|
||
<div style="
|
||
width: 300px;
|
||
background: white;
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||
">
|
||
<!-- Header with Avatar and Name -->
|
||
<div style="
|
||
display: flex;
|
||
align-items: center;
|
||
padding: 12px;
|
||
border-bottom: 1px solid #efefef;
|
||
">
|
||
<!-- Avatar -->
|
||
<div style="
|
||
width: 32px;
|
||
height: 32px;
|
||
border-radius: 4px;
|
||
background-color: ${R[S]};
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: white;
|
||
font-weight: 700;
|
||
font-size: 16px;
|
||
margin-right: 10px;
|
||
flex-shrink: 0;
|
||
">
|
||
${L}
|
||
</div>
|
||
|
||
<!-- Name and Status -->
|
||
<div style="flex: 1; min-width: 0;">
|
||
<h3 style="
|
||
margin: 0;
|
||
font-size: 14px;
|
||
font-weight: 600;
|
||
color: #262626;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
">${d.name}</h3>
|
||
<p style="
|
||
margin: 2px 0 0 0;
|
||
font-size: 12px;
|
||
color: #8e8e8e;
|
||
">${d.country||"Unknown"} • ${d.status||"Unknown Status"}</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Image -->
|
||
<div style="
|
||
width: 100%;
|
||
height: 200px;
|
||
background-color: #fafafa;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
overflow: hidden;
|
||
">
|
||
<img
|
||
src="${_}"
|
||
alt="${d.name}"
|
||
style="
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
"
|
||
onerror="this.onerror=null; this.src='${p}'"
|
||
/>
|
||
</div>
|
||
|
||
<!-- Info Section -->
|
||
<div style="padding: 12px;">
|
||
<p style="margin: 0 0 6px 0; font-size: 13px;">
|
||
<strong>Language:</strong> ${d.language||"Unknown"}
|
||
</p>
|
||
<p style="margin: 0 0 6px 0; font-size: 13px;">
|
||
<strong>Family:</strong>
|
||
<span style="background: ${h}; color: white; padding: 2px 8px; border-radius: 4px; font-size: 12px;">
|
||
${d.languageFamily||"Unknown"}
|
||
</span>
|
||
</p>
|
||
${d.population?`<p style="margin: 0 0 6px 0; font-size: 13px;"><strong>Population:</strong> ${d.population}</p>`:""}
|
||
${d.description?`<p style="margin: 8px 0; font-size: 13px; color: #262626; line-height: 1.4;">${d.description}</p>`:""}
|
||
</div>
|
||
</div>
|
||
`}function u(d){const h=d.iso_3166_1_alpha_3||"",_=d["name_"+((i==null?void 0:i.value)||"en")]||d.name_en||d.name||h,L=a(),R=h.toUpperCase(),S=L.filter(M=>{const $=(M.countryIso||M.country||"").toUpperCase();return $&&$===R}),z=S.length,j=S[0],O=(j==null?void 0:j.wagfRegionLabel)||(j==null?void 0:j.doxaRegionLabel)||(j==null?void 0:j.doxaRegion)||(j==null?void 0:j.wagfRegion)||"—",D=(j==null?void 0:j.wagfBlockLabel)||(j==null?void 0:j.wagfBlock)||"—";return`
|
||
<div style="padding: 8px; min-width: 220px;">
|
||
<h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600; color: #333;">
|
||
${_}
|
||
</h3>
|
||
<p style="margin: 4px 0; font-size: 14px;">
|
||
<strong>${s("popup.country.wagfRegion")}:</strong> ${O}
|
||
</p>
|
||
<p style="margin: 4px 0; font-size: 14px;">
|
||
<strong>${s("popup.country.wagfBlock")}:</strong> ${D}
|
||
</p>
|
||
<p style="margin: 4px 0; font-size: 14px;">
|
||
<strong>${s("popup.country.country")}:</strong> ${_} (${h})
|
||
</p>
|
||
<p style="margin: 4px 0; font-size: 14px;">
|
||
<strong>${s("popup.country.uupgCount")}:</strong> ${z}
|
||
</p>
|
||
</div>
|
||
`}function f(d){const h=t();if(!h)return;const p=d||"language-family-pins";if(!h.getLayer(p))return;const _=L=>{try{const R=L.features[0],S=R.properties,z=R.geometry.coordinates.slice();for(;Math.abs(L.lngLat.lng-z[0])>180;)z[0]+=L.lngLat.lng>z[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(R),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(z).setHTML(c(S)).addTo(h)}catch(R){console.error(` [${o}] Pin click handler error:`,R)}};h.on("click",p,_),l.value.push({event:"click",layer:p,handler:_})}function b(){const d=t();if(!d)return;const h="regions-fill";if(!d.getLayer(h))return;const p=_=>{const L=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const R of L)if(d.getLayer(R)){const S=d.queryRenderedFeatures(_.point,{layers:[R]});if(S&&S.length>0)return}if(_.features&&_.features.length>0){const R=_.features[0].properties;new mapboxgl.Popup().setLngLat(_.lngLat).setHTML(u(R)).addTo(d)}};d.on("click",h,p),l.value.push({event:"click",layer:h,handler:p})}function k(){const d=t();if(!d)return;const h="clusters";if(!d.getLayer(h))return;const p=_=>{const L=d.queryRenderedFeatures(_.point,{layers:[h]});if(!L.length)return;const R=L[0].properties.cluster_id,S=L[0].source;d.getSource(S).getClusterExpansionZoom(R,(z,j)=>{z||d.easeTo({center:L[0].geometry.coordinates,zoom:j})})};d.on("click",h,p),l.value.push({event:"click",layer:h,handler:p})}function x(d){const h=t();if(!h||!h.getLayer(d))return;const p=()=>{h.getCanvas().style.cursor="pointer"},_=()=>{h.getCanvas().style.cursor=""};h.on("mouseenter",d,p),h.on("mouseleave",d,_),l.value.push({event:"mouseenter",layer:d,handler:p}),l.value.push({event:"mouseleave",layer:d,handler:_})}function m(){f(),x("language-family-pins"),f("language-family-pins-hitbox"),x("language-family-pins-hitbox"),k(),x("clusters")}function v(){b(),x("regions-fill")}function g(){const d=t();d&&(d.getLayer("language-family-pins")&&m(),d.getLayer("regions-fill")&&v(),d.getLayer("people-groups-pins")&&(f(),x("people-groups-pins")))}function y(){const d=t();if(d){for(const{event:h,layer:p,handler:_}of l.value)try{d.off(h,p,_)}catch{}l.value=[]}}return{attachAllEventHandlers:g,attachLanguageFamilyEvents:m,attachRegionEvents:v,attachPinClickHandler:f,attachRegionClickHandler:b,attachClusterClickHandler:k,attachCursorHandlers:x,detachAllEventHandlers:y,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const qe={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"},ul=[">",["to-number",["get","peoplePraying"],0],0],dl={0:.25,8:.4,14:.5},Zn={0:.1,8:.18,14:.22},Qn={0:1.2,8:1.6,14:2},Qp=["interpolate",["linear"],["zoom"],0,["case",ul,dl[0],Zn[0]],8,["case",ul,dl[8],Zn[8]],14,["case",ul,dl[14],Zn[14]]],Jv=["interpolate",["linear"],["zoom"],0,Qn[0],8,Qn[8],14,Qn[14]],eg=["==",["to-number",["get","peoplePraying"],0],0],Zv={prayer:[eg],prayerProgress:[eg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Qv(e){const t=Zv[e]||[];if(!t.length)return Jv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,Zn[0],Qn[0]],8,["case",o,Zn[8],Qn[8]],14,["case",o,Zn[14],Qn[14]]]}const e_=[[/ sign language$/i,"Sign Language"]];function t_(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(qe[a])return qe[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(qe[r])return qe[r]}}if(qe[t])return qe[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&qe[n])return qe[n];for(const[a,r]of e_)if(a.test(t))return r;return null}function o_(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const ie=t();return ie?je(ie):null},s=Zp({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=le({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=le({});function c(ie,ye="languageFamily"){const me=r();if(!me||!(ie!=null&&ie.length))return;const Le=Pv(ye),E=ie.map(U=>{var X,ne,w,A,W,re,be,fe,Z,P,Y,ge,xe,Se,Fe,Ne,pt,Ke,He;return{type:"Feature",properties:{uniqueId:U.id||U.uniqueId,slug:U.slug||((X=U._normalized)==null?void 0:X.slug)||"",rop3:U.rop3||U.peopleGroupId,peopleId3:U.peopleId3||"",name:U.name,language:U.language,languageFamily:U.languageFamily||((ne=U._normalized)==null?void 0:ne.languageFamily)||t_(U.language)||"Unknown",affinityBlock:U.affinityBlock||U.affbloc||U.Affbloc||((w=U._normalized)==null?void 0:w.affinityBlock)||"Unknown",affinityBlockLabel:U.affinityBlockLabel||((A=U._normalized)==null?void 0:A.affinityBlockLabel)||"",cluster:U.cluster||((W=U._normalized)==null?void 0:W.cluster)||"",clusterLabel:U.clusterLabel||((re=U._normalized)==null?void 0:re.clusterLabel)||"",peopleGroup:U.peopleGroup||((be=U._normalized)==null?void 0:be.peopleGroup)||"",peopleGroupLabel:U.peopleGroupLabel||((fe=U._normalized)==null?void 0:fe.peopleGroupLabel)||"",doxaRegion:U.doxaRegion||((Z=U._normalized)==null?void 0:Z.doxaRegion)||"Unknown",wagfBlock:U.wagfBlock||((P=U._normalized)==null?void 0:P.wagfBlock)||"",wagfBlockLabel:U.wagfBlockLabel||((Y=U._normalized)==null?void 0:Y.wagfBlockLabel)||"",wagfRegionLabel:U.wagfRegionLabel||((ge=U._normalized)==null?void 0:ge.wagfRegionLabel)||"",country:U.country,countryIso:U.countryIso,countryIsoLabel:U.countryIsoLabel,countryName:U.countryName,religion:U.religion,religionCode:U.religionCode,religionLabel:U.religionLabel,religionName:U.religionName,population:U.population,status:U.status,description:U.description||"",imageUrl:U.imageUrl||"",peoplePraying:Number(U.peoplePraying??((xe=U._normalized)==null?void 0:xe.peoplePraying)??0),engagementStatus:U.engagementStatus===!0||U.engagementStatus===1||!1,adoptionStatus:U.adoptionStatus===!0||U.adoptionStatus===1||!1,bible:U.bible||((Se=U._normalized)==null?void 0:Se.bible)||"Not Available",jesusFilm:U.jesusFilm||((Fe=U._normalized)==null?void 0:Fe.jesusFilm)||"Not Available",radio:U.radio||((Ne=U._normalized)==null?void 0:Ne.radio)||"Not Available",gospel:U.gospel||((pt=U._normalized)==null?void 0:pt.gospel)||"Not Available",audio:U.audio||((Ke=U._normalized)==null?void 0:Ke.audio)||"Not Available",stories:U.stories||((He=U._normalized)==null?void 0:He.stories)||"Not Available",lng:parseFloat(U.longitude||U.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(U.longitude||U.lng),parseFloat(U.latitude||U.lat)]}}}).filter(U=>!isNaN(U.geometry.coordinates[0])&&!isNaN(U.geometry.coordinates[1])),F=.04,B=U=>`${U.geometry.coordinates[0]},${U.geometry.coordinates[1]}`,K=new Map;for(const U of E){const X=B(U);K.has(X)||K.set(X,[]),K.get(X).push(U)}for(const U of K.values()){if(U.length<2)continue;const[X,ne]=U[0].geometry.coordinates,w=U.length;for(let A=0;A<w;A++){const W=2*Math.PI*A/w;U[A].geometry.coordinates=[X+F*Math.cos(W),ne+F*Math.sin(W)]}}const te={type:"FeatureCollection",features:E};me.addSource("language-families",{type:"geojson",data:te,promoteId:"uniqueId"}),me.addLayer({id:"language-family-pins-shadow",type:"circle",source:"language-families",paint:{"circle-radius":cl("standard"),"circle-color":"rgba(0,0,0,0.12)","circle-blur":.8,"circle-translate":[0,1],"circle-stroke-width":0,"circle-opacity":1}}),me.addLayer({id:"language-family-pins",type:"circle",source:"language-families",paint:{"circle-radius":cl("standard"),"circle-color":Le,...Wa(me),"circle-stroke-width":Qp,"circle-stroke-color":["case",[">",["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":cl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function u(ie,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 Le={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},E="#cccccc",F=ie&&ie.isoToRegion?ie.isoToRegion:{},B=[],K={};for(const[X,ne]of Object.entries(F)){const w=Le[String(ne).toLowerCase()];w&&B.push(X,w),K[ne]||(K[ne]=[]),K[ne].push(X)}l.value=K;const te=B.length?["match",["get","iso_3166_1_alpha_3"],...B,E]:E,U=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}}},U),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}},U),i.value.regions=!0,s.attachRegionEvents()}function f(ie,ye){const me=r();if(!me||!ie||!(ye!=null&&ye.length))return;b();const Le=ye.filter(te=>{var X;return(te.languageFamily||((X=te._normalized)==null?void 0:X.languageFamily)||"Unknown")===ie});if(Le.length<2)return;const E=n(ie),F=[],B=15,K=[...Le].sort((te,U)=>(te.longitude||te.lng)-(U.longitude||U.lng));for(let te=0;te<K.length;te++){const U=K[te],X=U.longitude||U.lng,ne=U.latitude||U.lat;for(let w=te+1;w<Math.min(te+15,K.length);w++){const A=K[w],W=A.longitude||A.lng,re=A.latitude||A.lat;Math.sqrt(Math.pow(X-W,2)+Math.pow(ne-re,2))<B&&F.push({type:"Feature",properties:{family:ie},geometry:{type:"LineString",coordinates:[[X,ne],[W,re]]}})}}me.addSource("family-connections",{type:"geojson",data:{type:"FeatureCollection",features:F}}),me.addLayer({id:"family-connection-lines",type:"line",source:"family-connections",paint:{"line-color":E,"line-width":.75,"line-opacity":.5,"line-emissive-strength":1}},"language-family-pins"),i.value.familyConnections=!0}function b(){const ie=r();ie&&(ie.getLayer("family-connection-lines")&&ie.removeLayer("family-connection-lines"),ie.getSource("family-connections")&&ie.removeSource("family-connections"),i.value.familyConnections=!1)}function k(ie,ye){const me=r();if(!me)return;const Le=me.getSource(ie);Le&&Le.setData(ye)}function x(ie,ye=null){const me=r();me&&(me.getLayer(ie)&&me.removeLayer(ie),me.getSource(ye||ie)&&me.removeSource(ye||ie))}function m(ie){const ye=r();return ye?!!ye.getLayer(ie):!1}function v(ie,ye,me){const Le=r();!Le||!Le.getLayer(ie)||Le.setPaintProperty(ie,ye,me)}function g(){s.detachAllEventHandlers(),$e()}let y=null,d=!1,h=0;const p="prayer-glow-base",_=4,L=[];for(let ie=0;ie<_;ie++)L.push("prayer-glow-ring-"+ie);const R=[p,...L],S=6,z=.3,j=2.5,D=1e3/12,M={duration:0,delay:0};let $=!0,T=null;function N(){return["case",[">=",["get","peoplePraying"],ko],"#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 ce(ie,ye){const me=["interpolate",["linear"],["zoom"]];for(let Le=0;Le<ie.length;Le+=2)me.push(ie[Le],ie[Le+1]*ye);return me}function ee(){const ie=r();if(!ie||!ie.getSource("language-families"))return;const ye=[">",["get","peoplePraying"],0],me=N();if(!R.every(E=>ie.getLayer(E))){for(const E of R)if(ie.getLayer(E))try{ie.removeLayer(E)}catch{}ie.addLayer({id:p,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":ce(q,1),"circle-color":me,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...Wa(ie)}},"language-family-pins");for(const E of L)ie.addLayer({id:E,type:"circle",source:"language-families",filter:ye,paint:{"circle-radius":ce(q,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,...Wa(ie)}},"language-family-pins")}}function oe(){const ie=r();if(ie)for(const ye of R)ie.getLayer(ye)&&ie.removeLayer(ye)}function H(ie){const ye=r();if(!ye)return;const me=[">",["get","peoplePraying"],0],Le=ie?["all",me,ie]:me;for(const E of R)if(ye.getLayer(E))try{ye.setFilter(E,Le)}catch{}}function pe(){const ie=r();if(ie){if(ee(),y&&(cancelAnimationFrame(y),y=null),d=!0,ie.getLayer("language-family-pins"))try{ie.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],ko],1,[">",["get","peoplePraying"],0],1,3])}catch{}ue(ie),we()}}function we(){y&&(cancelAnimationFrame(y),y=null);const ie=++h;let ye=performance.now(),me=-1/0;function Le(E){if(!d||ie!==h)return;const F=r();if(!F||!R.some(K=>F.getLayer(K))){y=null;return}if(E-me<D||!$){y=requestAnimationFrame(Le);return}me=E;const B=(E-ye)/1e3;for(let K=0;K<_;K++){const te=L[K];if(!F.getLayer(te))continue;const U=K*(S/_),ne=((B-U)%S+S)%S/S,w=z+ne*(j-z),A=.5*(1-ne);try{F.setPaintProperty(te,"circle-radius",ce(q,w)),F.setPaintProperty(te,"circle-stroke-opacity",A)}catch{}}y=requestAnimationFrame(Le)}y=requestAnimationFrame(Le)}function ue(ie){if(T||typeof IntersectionObserver>"u")return;const ye=typeof ie.getContainer=="function"?ie.getContainer():null;if(ye)try{T=new IntersectionObserver(me=>{for(const Le of me)$=Le.isIntersecting},{threshold:0}),T.observe(ye)}catch{T=null,$=!0}}function $e(){if(T){try{T.disconnect()}catch{}T=null}$=!0}function Ae(){d=!1,y&&(cancelAnimationFrame(y),y=null),$e();try{oe();const ie=r();ie&&ie.getLayer("language-family-pins")&&ie.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:f,removeFamilyConnectionLines:b,updateLayerSource:k,removeLayer:x,hasLayer:m,setPaintProperty:v,mapEvents:s,startPrayerGlow:pe,stopPrayerGlow:Ae,syncGlowFilter:H,cleanup:g}}const io={center:[20,10],zoom:1.8,minZoom:.5,pitch:20,bearing:0};function n_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(io==null?void 0:io.center)||[20,10],defaultZoom:s=io==null?void 0:io.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(M,$,T={x:150,y:0}){const N=t();if(!N)return M;try{const q=N.getCanvas(),ce=q.width,ee=q.height,oe=N.project(M),H=window.devicePixelRatio||1,pe=(T.x||0)*H,we=(T.y||0)*H,ue={x:oe.x-pe,y:oe.y-we},$e=N.unproject(ue);return[$e.lng,$e.lat]}catch{return M}}function c(M,$=[]){const T=t();if(!T)return;let N=null,q=5;const ce=$.filter(oe=>oe.languageFamily===M);if(ce.length>0){let oe=1/0,H=-1/0,pe=1/0,we=-1/0;if(ce.forEach(ue=>{ue.longitude&&ue.latitude&&(oe=Math.min(oe,ue.longitude),H=Math.max(H,ue.longitude),pe=Math.min(pe,ue.latitude),we=Math.max(we,ue.latitude))}),oe!==1/0){N=[(oe+H)/2,(pe+we)/2];const ue=H-oe,$e=we-pe,Ae=Math.max(ue,$e);Ae>50?q=2:Ae>20?q=3:Ae>10?q=4:Ae>5?q=5:q=6}}if(!N)return;const ee=l(N);T.flyTo({center:ee,zoom:q,...i})}function u(M){const $=t();if(!$)return;let T=null,N=4;const q=Xv(M);if(q)T=q.center,N=q.zoom||4;else if(a!=null&&a.features){const ee=a.features.find(oe=>{var H,pe;return((H=oe.properties)==null?void 0:H.region)===M||((pe=oe.properties)==null?void 0:pe.name)===M});ee&&(T=f(ee))}if(!T)return;const ce=l(T);$.flyTo({center:ce,zoom:N,...i})}function f(M){if(!M||!M.geometry)return null;const{type:$,coordinates:T}=M.geometry;let N=[];if($==="Polygon"?N=T[0]||[]:$==="MultiPolygon"&&T.forEach(ee=>{N=N.concat(ee[0]||[])}),N.length===0)return null;let q=0,ce=0;return N.forEach(ee=>{q+=ee[0],ce+=ee[1]}),[q/N.length,ce/N.length]}function b(M,$={}){const T=t();if(!T)return;const N={center:M,...i,...$};T.flyTo(N)}function k(M,$){const T=t();if(!T||(M==null?void 0:M.longitude)==null||(M==null?void 0:M.latitude)==null)return;const N=$??Math.min(T.getZoom()+2,8);b([M.longitude,M.latitude],{zoom:N})}function x(M,$={top:40,right:40,bottom:40,left:40},T={}){const N=t();if(!N||!M)return;const q=T.maxZoom??4;N.fitBounds(M,{padding:$,maxZoom:q,...i})}function m(){const M=t();M&&M.flyTo({center:r,zoom:s,...i})}const v=80,g=800,y=5,d=5,h=110,p=1.2;function _(M){const $=M.filter(Number.isFinite).slice().sort((E,F)=>E-F),T=$.length;if(!T)return null;let N=-1,q=0;for(let E=0;E<T;E++){const B=(E+1<T?$[E+1]:$[0]+360)-$[E];B>N&&(N=B,q=E)}const ce=(q+1)%T,ee=new Array(T);for(let E=0;E<T;E++){let F=$[(ce+E)%T];E>0&&F<ee[E-1]&&(F+=360),ee[E]=F}const oe=Math.floor(T*.025),H=Math.max(oe,Math.ceil(T*.975)-1),pe=ee[oe],we=ee[H],ue=E=>((E+180)%360+360)%360-180,$e=ue(pe),Ae=24,ie=360/Ae,ye=new Array(Ae).fill(0);for(const E of $){let F=Math.floor(((E+180)%360+360)%360/ie);F>=Ae&&(F=Ae-1),ye[F]++}let me=0;for(let E=1;E<Ae;E++)ye[E]>ye[me]&&(me=E);return{center:ue(-180+(me+.5)*ie),minLng:$e,maxLng:$e+(we-pe),span:we-pe}}function L(M){try{const $=M.getContainer&&M.getContainer().clientWidth||0,T=$>0?Math.log2($/512):p,N=typeof M.getMinZoom=="function"?M.getMinZoom():T;return Math.max(N,T)}catch{return p}}function R(M,$,T,N){M.easeTo({center:[$,(T+N)/2],zoom:L(M),duration:g,essential:!0})}function S(M,$,T){if(T>h)return!0;try{const N=typeof M.cameraForBounds=="function"?M.cameraForBounds($,{padding:v,maxZoom:y}):null;return N==null?!0:typeof N.zoom=="number"&&N.zoom<=L(M)+.05}catch{return!1}}function z(M,$){if(!Array.isArray(M))return M;switch(M[0]){case"get":return $==null?void 0:$[M[1]];case"literal":return M[1];case"has":return $!=null&&M[1]in $;case"!has":return $==null||!(M[1]in $);case"!":return!z(M[1],$);case"coalesce":{for(let N=1;N<M.length;N++){const q=z(M[N],$);if(q!=null)return q}return null}case"to-number":{const N=z(M[1],$),q=Number(N);if(Number.isFinite(q))return q;if(M.length>2){const ce=Number(z(M[2],$));return Number.isFinite(ce)?ce:0}return NaN}case"to-string":{const N=z(M[1],$);return N==null?"":String(N)}case"to-boolean":return!!z(M[1],$);case"slice":{const N=z(M[1],$),q=z(M[2],$),ce=M.length>3?z(M[3],$):void 0;return typeof N!="string"?"":ce!=null?N.slice(q,ce):N.slice(q)}default:return M}}function j(M,$){if(M===!0)return!0;if(M===!1)return!1;if(!Array.isArray(M))return!!M;const T=M[0];if(T==="all"){for(let N=1;N<M.length;N++)if(!j(M[N],$))return!1;return!0}if(T==="any"){for(let N=1;N<M.length;N++)if(j(M[N],$))return!0;return!1}if(T==="!")return!j(M[1],$);if(T==="has")return $!=null&&M[1]in $;if(T==="!has")return $==null||!(M[1]in $);if(T==="=="||T==="!="||T===">"||T===">="||T==="<"||T==="<="){const N=typeof M[1]=="string"?$==null?void 0:$[M[1]]:z(M[1],$),q=z(M[2],$);switch(T){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<q;case"<=":return N<=q}}if(T==="in"){const N=z(M[1],$),q=z(M[2],$);return Array.isArray(q)||typeof q=="string"?q.includes(N):!1}if(T==="match"){const N=z(M[1],$),q=M.length-1;for(let ce=2;ce<q;ce+=2){const ee=M[ce];if((Array.isArray(ee)?ee:[ee]).includes(N))return!!z(M[ce+1],$)}return!!z(M[q],$)}return!1}function O(M,$){var q,ce;const T=M.getSource($);if(!T)return[];const N=T._data??((ce=(q=T.serialize)==null?void 0:q.call(T))==null?void 0:ce.data);return N?Array.isArray(N==null?void 0:N.features)?N.features:(N==null?void 0:N.type)==="Feature"?[N]:[]:[]}function D(M,$={}){var ye,me;const T=t();if(!T||!M)return;if($.regionPolygonSource&&T.getSource($.regionPolygonSource)){const Le=O(T,$.regionPolygonSource),E=M.id??M.label,F=Le.find(B=>{const K=(B==null?void 0:B.properties)||{};return K.region===E||K.name===E||K.id===E});if(F){const B=[];let K=1/0,te=-1/0;const U=ne=>{for(const w of ne)Array.isArray(w[0])?U(w):Number.isFinite(w[0])&&Number.isFinite(w[1])&&(B.push(w[0]),w[1]<K&&(K=w[1]),w[1]>te&&(te=w[1]))};(ye=F.geometry)!=null&&ye.coordinates&&U(F.geometry.coordinates);const X=_(B);if(X&&Number.isFinite(K)){const ne=[[X.minLng,K],[X.maxLng,te]];S(T,ne,X.span)?R(T,X.center,K,te):T.fitBounds(ne,{padding:v,maxZoom:y,duration:g,essential:!0});return}}}const N=$.sourceId??"language-families";if(!T.getSource(N))return;const q=$.matchExpr??M.filter;if(!q)return;const ce=O(T,N);if(!ce.length)return;const ee=[];let oe=1/0,H=-1/0,pe=0,we=0,ue=0;const $e=new Set;for(const Le of ce){const E=Le==null?void 0:Le.properties;if(!j(q,E))continue;const F=E==null?void 0:E.uniqueId;if(F!=null){if($e.has(F))continue;$e.add(F)}const B=(me=Le.geometry)==null?void 0:me.coordinates;if(!Array.isArray(B)||B.length<2)continue;const K=B[0],te=B[1];!Number.isFinite(K)||!Number.isFinite(te)||(pe===0&&(we=K,ue=te),ee.push(K),te<oe&&(oe=te),te>H&&(H=te),pe++)}if(pe===0)return;if(pe===1){T.flyTo({center:[we,ue],zoom:d,duration:g,essential:!0});return}const Ae=_(ee)||{center:0,minLng:0,maxLng:0,span:0},ie=[[Ae.minLng,oe],[Ae.maxLng,H]];if(S(T,ie,Ae.span)){R(T,Ae.center,oe,H);return}try{T.fitBounds(ie,{padding:v,maxZoom:y,duration:g,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:k,fitBounds:x,resetView:m,zoomToLegendRow:D,calculateRegionCenterFromPolygon:f}}const rs="#1a1a1a",Vo="selected-pin-highlight";function a_(e=rs){const t=document.createElement("div");t.className="doxa-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=`
|
||
<style>
|
||
/* Angled, brush-style pin: a slight tilt, a diagonal gradient and a stronger
|
||
drop-shadow give it a hand-drawn, "set down on the map" look without raster art. */
|
||
.doxa-go-pin-wrapper {
|
||
position: relative;
|
||
width: 32px;
|
||
height: 40px;
|
||
pointer-events: none;
|
||
overflow: visible;
|
||
}
|
||
.doxa-go-pin__svg {
|
||
position: relative;
|
||
width: 32px;
|
||
height: 40px;
|
||
filter: drop-shadow(2px 4px 3px rgba(0,0,0,0.4));
|
||
}
|
||
</style>
|
||
|
||
<svg
|
||
class="doxa-go-pin__svg"
|
||
viewBox="-2 -2 32 40"
|
||
xmlns="http://www.w3.org/2000/svg"
|
||
aria-label="Selected people group"
|
||
>
|
||
<defs>
|
||
<linearGradient id="${o}" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="${e}" stop-opacity="0.92"/>
|
||
<stop offset="55%" stop-color="${e}" stop-opacity="1"/>
|
||
<stop offset="100%" stop-color="#000" stop-opacity="0.85"/>
|
||
</linearGradient>
|
||
</defs>
|
||
<path
|
||
d="M14 1 C6.8 1 1 6.8 1 14 C1 24 14 35 14 35 C14 35 27 24 27 14 C27 6.8 21.2 1 14 1 Z"
|
||
fill="none" stroke="white" stroke-width="2" stroke-linejoin="round"
|
||
/>
|
||
<path
|
||
d="M14 1 C6.8 1 1 6.8 1 14 C1 24 14 35 14 35 C14 35 27 24 27 14 C27 6.8 21.2 1 14 1 Z"
|
||
fill="url(#${o})"
|
||
/>
|
||
</svg>
|
||
`,t}function r_(e={}){const{getMap:t=()=>null,getActivePinColor:o=null}=e,n=Te("uiStore");let a=null,r=null;const s=o??Te("getActivePinColor",null);let i=rs;function l(){const m=t();m&&(m.getLayer(Vo)||m.getSource("language-families")&&m.addLayer({id:Vo,type:"circle",source:"language-families",paint:{"circle-radius":["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],"circle-color":i,...Wa(m),"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function c(){a||(a=a_(rs))}function u(m,v){const g=t();g&&(c(),r&&r.remove(),r=new mapboxgl.Marker({element:a,anchor:"bottom",offset:[0,0]}).setLngLat([m,v]).addTo(g))}function f(){r&&(r.remove(),r=null)}function b(m){var p,_;const v=t();if(!v)return;if(m&&(i=(s==null?void 0:s(m.properties))??rs),l(),v.getLayer(Vo)&&(v.setPaintProperty(Vo,"circle-color",i),Xp(v)&&v.setPaintProperty(Vo,"circle-emissive-strength",1)),!m){v.getLayer(Vo)&&v.setFilter(Vo,["==",["get","uniqueId"],"__none__"]),f();return}const g=((p=m.properties)==null?void 0:p.uniqueId)||"__none__",y=(_=m.geometry)==null?void 0:_.coordinates;if(!y)return;v.getLayer(Vo)&&v.setFilter(Vo,["==",["get","uniqueId"],g]);const[d,h]=y;u(d,h)}De(()=>n.selectedPeopleGroup,m=>{b(m)});function k(){l()}function x(){f(),a=null}return{initialize:k,cleanup:x,updateSelectedPin:b}}const ss="doxa-country-outline",Ya="doxa-country-outline-line",s_="mapbox://mapbox.country-boundaries-v1",i_="country_boundaries";function l_(e,t){if(!e)return"";const o=Array.isArray(t)?t:[],n=Array.isArray(e.memberIds)?e.memberIds.map(String):[],a=new Set(n);let r=n.length?o.find(s=>a.has(String(s.uniqueId??s.id??s.slug??""))):null;if(!r){const s=String(e.label??"").toLowerCase();r=o.find(i=>String(i.countryName??i.country??"").toLowerCase()===s)}return String((r==null?void 0:r.countryIso)??"").trim().toUpperCase()}function c_(e){return["all",["==",["get","iso_3166_1_alpha_3"],e],["any",["==",["get","worldview"],"all"],["in","US",["get","worldview"]]]]}function u_(e,t={}){const o=t.lineColor??"#2563eb",n=t.lineWidth??2.5,a=t.lineOpacity??.8;function r(){const i=typeof e=="function"?e():null;if(i)try{i.getLayer(Ya)&&i.removeLayer(Ya),i.getSource(ss)&&i.removeSource(ss)}catch{}}function s(i){const l=String(i||"").trim().toUpperCase();if(l.length!==3)return;const c=typeof e=="function"?e():null;if(!c)return;const u=c_(l);if(c.getLayer(Ya))try{c.setFilter(Ya,u);return}catch{}r();try{c.addSource(ss,{type:"vector",url:s_}),c.addLayer({id:Ya,type:"line",source:ss,"source-layer":i_,filter:u,layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":o,"line-width":n,"line-opacity":a,"line-emissive-strength":1}})}catch{}}return{showCountry:s,clearCountry:r}}const tg="doxa-prayed-local",d_=7*24*60*60*1e3;function og(){try{const e=localStorage.getItem(tg);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function ng(e){try{localStorage.setItem(tg,JSON.stringify(e))}catch{}}function p_(){const e=Date.now(),t=og();let o=!1;for(const[n,a]of Object.entries(t))(typeof a!="number"||e-a>d_)&&(delete t[n],o=!0);return o&&ng(t),new Set(Object.keys(t))}function g_(e){if(!e)return;const t=og();t[e]=Date.now(),ng(t);try{window.dispatchEvent(new CustomEvent("doxa:prayed-locally",{detail:{slug:e}}))}catch{}}function f_(e){const t=p_();return!t.size||!Array.isArray(e)?e:e.map(o=>(Number(o&&o.peoplePraying)||0)>0||!o||!t.has(o.slug)?o:{...o,peoplePraying:1})}const ag={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"};function pl(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const h_=[[/ sign language$/i,"Sign Language"]];function m_(e){var i,l;const t=pl(e.languageFamily);if(t)return t;const o=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(o&&ag[o])return ag[o];const n=pl(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),r=a.split(",").map(c=>c.trim()).filter(Boolean);if(r.length>=2){const c=[...r].reverse().join(" ");if(qe[c])return qe[c];if(r.length>=3){const u=[r[1],r[0]].join(" ");if(qe[u])return qe[u]}}if(qe[a])return qe[a];const s=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(s!==a&&qe[s])return qe[s];for(const[c,u]of h_)if(c.test(a))return u;return""}function b_(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:r=L=>L}=e;n||console.error("useMapData: dataSourceManager is required!");const s=le(!1),i=le(null),l=le(!1),c=le([]),u=le([]),f=le(null),b=le([]),k=le([]),x=le([]),m=le(null);async function v(){if(!n)throw new Error("dataSourceManager is required for useMapData");s.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const $=a.getSourceData(o);u.value=r($.normalizedData||[])}else{const $=await n.setActiveSource(o);for(const T of $){const N=pl(T.language||T.primary_language);N&&(T.language=N);const q=m_(T);T.languageFamily=ns(q)}u.value=r($),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:$,timestamp:Date.now()})}c.value=r(f_(u.value.map($=>({id:$.uniqueId,slug:$.slug||"",rop3:$.peopleGroupId,peopleId3:$.peopleId3,name:$.name,language:$.language,languageFamily:$.languageFamily,country:$.country,population:$.population,status:$.engagementStatus||$.status,latitude:$.latitude,longitude:$.longitude,lng:$.longitude,lat:$.latitude,description:$.description,imageUrl:$.imageUrl,doxaRegion:$.doxaRegion||$.wagfRegion||"",peoplePraying:$.peoplePraying??null,_normalized:$}))));const L=n.getDataByLanguageFamily();b.value=Object.entries(L).map(([$,T])=>{const N=T.reduce((q,ce)=>{const ee=parseInt(ce.population)||0;return q+ee},0);return{name:$,count:T.length,peopleGroupCount:T.length,population:N,groups:T}}).sort(($,T)=>T.count-$.count);const R=n.getDataByRegion();k.value=Object.entries(R).map(([$,T])=>{const N=T.reduce((q,ce)=>{const ee=parseInt(ce.population)||0;return q+ee},0);return{name:$,count:T.length,peopleGroupCount:T.length,population:N,groups:T}}).sort(($,T)=>$.name.localeCompare(T.name));const S={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach($=>{const T=parseInt($.population)||0;let N=!1;$.bible==="Available"&&(S.bible.count++,S.bible.population+=T,S.bible.groups.push($),N=!0),$.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=T,S.jesusFilm.groups.push($),N=!0),$.radio==="Available"&&(S.radio.count++,S.radio.population+=T,S.radio.groups.push($),N=!0),$.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=T,S.gospel.groups.push($),N=!0),$.audio==="Available"&&(S.audio.count++,S.audio.population+=T,S.audio.groups.push($),N=!0),$.stories==="Available"&&(S.stories.count++,S.stories.population+=T,S.stories.groups.push($),N=!0),N?(S.hasResources.count++,S.hasResources.population+=T,S.hasResources.groups.push($)):(S.noResources.count++,S.noResources.population+=T,S.noResources.groups.push($))});const z=u.value.length,j=u.value.reduce(($,T)=>$+(parseInt(T.population)||0),0),O={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},D={bible:{count:z-S.bible.count,population:j-S.bible.population},jesusFilm:{count:z-S.jesusFilm.count,population:j-S.jesusFilm.population},radio:{count:z-S.radio.count,population:j-S.radio.population},gospel:{count:z-S.gospel.count,population:j-S.gospel.population},audio:{count:z-S.audio.count,population:j-S.audio.population},stories:{count:z-S.stories.count,population:j-S.stories.population}},M="#2c3e50";return x.value=[{name:O.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:D.bible.count,population:D.bible.population,color:M}]},{name:O.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:D.jesusFilm.count,population:D.jesusFilm.population,color:M}]},{name:O.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:D.radio.count,population:D.radio.population,color:M}]},{name:O.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:D.gospel.count,population:D.gospel.population,color:M}]},{name:O.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:D.audio.count,population:D.audio.population,color:M}]},{name:O.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:D.stories.count,population:D.stories.population,color:M}]},{name:O.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:O.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:M}]}],m.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:b.value,doxaRegionsData:k.value,resourcesData:x.value,stats:m.value}}catch(L){throw console.error(`Failed to load data for map "${t}":`,L),i.value=L.message||"Failed to load data",L}finally{s.value=!1}}async function g(){var L,R,S;try{const z={},j=u.value||[];for(const O of j){const D=O.countryIso||((R=(L=O._raw)==null?void 0:L.country_code)==null?void 0:R.value)||"",M=(S=O._raw)==null?void 0:S.wagf_region,$=O.doxaRegion||O.wagfRegion||(M&&typeof M=="object"?M.value:"")||"";D&&$&&!z[D]&&(z[D]=$)}return f.value={isoToRegion:z},f.value}catch(z){throw console.error(`Error building regions data for map "${t}":`,z),i.value=z.message||"Failed to build regions",z}}function y(){return n?n.getDataByLanguageFamily():{}}function d(){return n?n.getDataByRegion():{}}function h(L){return y()[L]||[]}function p(L){return d()[L]||[]}function _(){c.value=[],u.value=[],f.value=null,b.value=[],k.value=[],x.value=[],m.value=null,l.value=!1,i.value=null}return{isLoading:s,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:b,doxaRegionsData:k,resourcesData:x,stats:m,loadData:v,loadRegionsData:g,getDataByLanguageFamily:y,getDataByRegion:d,getPeopleGroupsByFamily:h,getPeopleGroupsByRegion:p,clearData:_}}function y_(e){const{map:t,geocoderRef:o,clustering:n,mapStore:a,uiStore:r,mapLayers:s,pplrInstance:i,onSemanticTreeSelect:l,switchTab:c,activeTabId:u,clearAllHighlights:f,clearCountryHighlight:b,mapId:k,supportedKinds:x,legendRouters:m={},peopleGroupResult:v,busAdapter:g}=e,y=e.filterLayerId||"language-family-pins";let d=!1;function h(){var $,T,N,q,ce;d=!0;const D=(T=($=o.value)==null?void 0:$.geocoder)==null?void 0:T.value;(N=D==null?void 0:D.clear)==null||N.call(D);const M=(D==null?void 0:D._inputEl)||((ce=(q=D==null?void 0:D.container)==null?void 0:q.querySelector)==null?void 0:ce.call(q,"input.mapboxgl-ctrl-geocoder--input"));if(M){M.value="";try{M.dispatchEvent(new Event("input",{bubbles:!0}))}catch{}}d=!1}function p(D,M){const $=`${y}-hitbox`;if(D!=null&&D.getLayer($))try{D.setFilter($,M)}catch{}}function _(){typeof window>"u"||typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:reveal-selected",{detail:{mapId:k}}))}const L={country:"countryName","language-family":"languageFamily",language:"language",dialect:"language",religion:"religionName",region:"doxaRegion","affinity-bloc":"affinityBlock",cluster:"cluster","people-group":"peopleGroup"};function R(D,M,$){var T,N,q;if(D.kind==="language")return["any",["==",["get",M],$],["==",["slice",["get",M],0,$.length+1],$+","],["in"," "+$,["get",M]]];if(D.kind==="dialect"){const ce=Array.isArray(D.originalLabels)?D.originalLabels:[];return ce.length===1?["==",["get",M],ce[0]]:ce.length>1?["in",["get",M],["literal",ce]]:["==",["get",M],$]}else if(D.kind==="affinity-bloc"){const ce=D.blocCode||((T=D.properties)==null?void 0:T.blocCode)||"";return ce?["==",["get","affinityBlock"],ce]:["==",["get","affinityBlockLabel"],$]}else if(D.kind==="cluster"){const ce=D.clusterCode||((N=D.properties)==null?void 0:N.clusterCode)||"",ee=D.blocCode||((q=D.properties)==null?void 0:q.blocCode)||"";return ce&&ee?["all",["==",["get","affinityBlock"],ee],["==",["get","cluster"],ce]]:["==",["get","clusterLabel"],$]}else return["==",["get",M],$]}function S(D){if(!D||x&&!x.includes(D.kind))return null;const M=L[D.kind]||null,$=D.label;return!M||$==null||$===""?null:{kind:D.kind,value:$,property:M,expr:R(D,M,$)}}function z(D){var T,N,q,ce;if(!D)return;b==null||b();const M=de(t),$=((T=D.properties)==null?void 0:T.id)||((N=D.properties)==null?void 0:N.uniqueId)||null;if((q=r==null?void 0:r.selectPeopleGroup)==null||q.call(r,{...D,properties:{...D.properties,uniqueId:$}}),M&&$!=null&&M.getLayer(y)){const ee=["==",["get","uniqueId"],$];try{M.setFilter(y,null)}catch{}p(M,ee),M.setPaintProperty(y,"circle-opacity",["case",ee,1,0]),M.setPaintProperty(y,"circle-stroke-opacity",["case",ee,1,0]),M.getLayer(`${y}-shadow`)&&M.setPaintProperty(`${y}-shadow`,"circle-opacity",["case",ee,1,0]),(ce=s==null?void 0:s.syncGlowFilter)==null||ce.call(s,ee)}}function j(D){var ce;if(g){const ee=S(D);if(!ee)return;g.aggregate(ee,D);return}const M=de(t);if(!D||!M||!M.getLayer(y)||x&&!x.includes(D.kind))return;D.kind!=="country"&&(b==null||b());const $=S(D);if(!$)return;const{property:T,value:N}=$;try{M.setFilter(y,$.expr)}catch{}n.setSelectionFilter({property:T,value:N});let q=!1;if(D.kind==="language-family"||D.kind==="family")a.selectFamily(D.label),a.setActiveLegendTab("family"),q=!0;else if(D.kind==="language")a.selectLanguage(D.label),a.setActiveLegendTab("language"),q=!0;else if(D.kind==="dialect"){const ee=Array.isArray(D.originalLabels)?D.originalLabels:[],oe=D.familyDerived||"",H=D.baseLang||"",pe=D.dialectLabel||"",we=`${oe}__${H}__${pe}`;(ce=a.selectDialect)==null||ce.call(a,{key:we,originalLabels:ee}),a.setActiveLegendTab("dialect"),q=!0}else if(D.kind==="affinity-bloc"||D.kind==="cluster"||D.kind==="people-group"){let ee=null;if(D.kind==="affinity-bloc"){const oe=D.blocCode||"";ee={id:`bloc:${oe}`,label:D.label,depth:0,filter:oe?["==",["get","affinityBlock"],oe]:null}}else if(D.kind==="cluster"){const oe=D.blocCode||"",H=D.clusterCode||"";ee={id:`cluster:${oe}__${H}`,label:D.label,depth:1,filter:H?["==",["get","cluster"],H]:null}}else if(D.kind==="people-group"){const oe=D.blocCode||"",H=D.clusterCode||"",pe=D.peopleGroupCode||"";ee={id:`pg:${oe}__${H}__${pe}`,label:D.label,depth:2,filter:pe?["==",["get","peopleGroup"],pe]:null}}if(ee&&ee.filter){const oe=()=>{try{M.setFilter(y,null)}catch{}l(ee),i&&i.selection&&(i.selection.value=ee)};u.value!=="affinity-blocks"?(c("affinity-blocks"),jt(oe)):oe()}q=!0}else m[D.kind]&&(m[D.kind](D,{map:M,filterLayerId:y,clearGeocoder:h,emitLegendReveal:_,property:T,value:N}),q=!0);q&&(h(),_())}function O(){var M,$,T;if(g){g.clear();return}if(d)return;b==null||b();const D=de(t);a.selectedRegion&&((M=a.selectRegion)==null||M.call(a,null)),a.selectedResource&&(($=a.selectResource)==null||$.call(a,null)),D&&D.getLayer(y)?f(D):(a.selectFamily(null),a.selectLanguage(null),(T=a.selectDialect)==null||T.call(a,null),n.setSelectionFilter(null))}return{onPeopleGroupResult:g?D=>g.peopleGroup(D):v||z,onAggregateResult:j,onClear:O,clearGeocoderProgrammatic:h}}const gl={};function fl(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Nn&&Nn.tagName.toUpperCase()==="SCRIPT"&&Nn.src||new URL("country-posters.js",document.baseURI).href}<"u"&&(gl==null?void 0:gl.VITE_API_BASE_URL)||""}const hl=le(0),is=le(0),ls=le(0),ml=le(!1),bl=le(!1),yl=le(null);let Xa=null;async function v_(){if(!ml.value)return Xa||(bl.value=!0,yl.value=null,Xa=(async()=>{var e,t;try{const o=((e=Sn==null?void 0:Sn.sources)==null?void 0:e[Sn.activeSource])||{},n=fl(),a=((t=o.endpoints)==null?void 0:t.statistics)||"/api/people-groups/statistics",r=await fetch(`${n}${a}`,{cache:"no-store"});if(!r.ok)throw new Error(`statistics HTTP ${r.status}`);const s=await r.json();hl.value=Number(s.total||0),is.value=Number(s.total_with_prayer_committed??s.total_with_prayer??0),ls.value=Number(s.total_with_100_committed??s.total_with_full_prayer??0),ml.value=!0}catch(o){yl.value=o&&o.message?o.message:String(o)}finally{bl.value=!1,Xa=null}})(),Xa)}function __(){return{total:hl,withPrayer:is,withFullPrayer:ls,loaded:ml,loading:bl,error:yl,load:v_,noPrayerCount:()=>Math.max(0,hl.value-is.value),hasPrayerCount:()=>Math.max(0,is.value-ls.value),fullPrayerCount:()=>ls.value}}function x_(e){return(e==null?void 0:e.properties)||e||{}}function cs(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function k_(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(qe[n])return qe[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(qe[a])return qe[a]}}if(qe[e])return qe[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&qe[o]?qe[o]:null}const w_=[[/ sign language$/i,"Sign Language"]];function A_(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function S_(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function L_(e){var s,i,l,c;const t=e.language_family??e.languageFamily??((s=e._raw)==null?void 0:s.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=cs(t),n=ns(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),r=cs(a);if(r){const u=String(r).trim(),f=k_(u);if(f)return f;for(const[b,k]of w_)if(b.test(u))return k}return"Unknown"}function C_(e){var a,r;const t=((a=e._raw)==null?void 0:a.primary_language)??((r=e._raw)==null?void 0:r.PrimaryLanguage);if(t){const s=cs(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=cs(o);return n&&String(n).trim()||"— Unknown —"}function E_(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function $_(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function T_(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function P_(e,t){var a,r,s,i;const o=parseFloat(t.latitude??t.lat??((a=t._raw)==null?void 0:a.Latitude)??((r=t._raw)==null?void 0:r.latitude)),n=parseFloat(t.longitude??t.lng??((s=t._raw)==null?void 0:s.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function N_(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function us(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function vl(e,t={}){t.aggregator;const o=Fn({});function n(m){return!!o[m]}function a(m){o[m]=!o[m]}function r(m){const v=new Set(Array.isArray(m)?m:[]);for(const g of Object.keys(o))v.has(g)||(o[g]=!1);for(const g of v)o[g]=!0}const s=Q(()=>{const m=(e==null?void 0:e.value)||[],v=new Map;for(const g of m){const y=x_(g),d=L_(y),h=C_(y),p=A_(h),_=S_(h),L=E_(y),R=$_(g,y),S=T_(g,y),z=P_(g,y);let j=v.get(d);j||(j={key:d,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},v.set(d,j)),j.peopleGroupCount+=1,j.population+=L,R!=null&&j.pinIds.push(R),z&&j.coords.push(z),S&&!j.clusterId&&(j.clusterId=S);let O=j.languages.get(p);if(O||(O={key:p,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},j.languages.set(p,O)),O.peopleGroupCount+=1,O.population+=L,R!=null&&O.pinIds.push(R),z&&O.coords.push(z),S&&!O.clusterId&&(O.clusterId=S),_){let D=O.dialects.get(_);D?D.originalLabels.add(h):(D={key:_,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([h])},O.dialects.set(_,D)),D.peopleGroupCount+=1,D.population+=L,R!=null&&D.pinIds.push(R),z&&D.coords.push(z)}}return v}),i=t.showAllKnown!==!1,l=Q(()=>{const m=s.value,v=[],g=new Set;for(const y of m.values())v.push({key:y.key,label:y.key,color:so(y.key),peopleGroupCount:y.peopleGroupCount,population:y.population,kind:y.clusterId?"cluster":"family",clusterId:y.clusterId||void 0,pinIds:y.pinIds,coords:y.coords}),g.add(y.key);if(i)for(const y of Object.keys(Mp))g.has(y)||v.push({key:y,label:y,color:so(y),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return v.sort(N_),v});function c(m){const v=s.value.get(m);if(!v)return[];const g=[];for(const y of v.languages.values())g.push({key:`${m}__${y.key}`,label:y.key,color:so(m),peopleGroupCount:y.peopleGroupCount,population:y.population,kind:y.clusterId?"cluster":"language",familyKey:m,clusterId:y.clusterId||void 0,pinIds:y.pinIds,coords:y.coords,hasDialects:y.dialects.size>0});return g.sort(us),g}function u(m){const v=m.indexOf("__");if(v<0)return[];const g=m.slice(0,v),y=m.slice(v+2),d=s.value.get(g);if(!d)return[];const h=d.languages.get(y);if(!h)return[];const p=[];for(const _ of h.dialects.values())p.push({key:`${m}__${_.key}`,label:`${y}, ${_.key}`,dialectOnly:_.key,color:so(g),peopleGroupCount:_.peopleGroupCount,population:_.population,kind:"dialect",languageKey:y,familyKey:g,pinIds:_.pinIds,coords:_.coords,originalLabels:Array.from(_.originalLabels)});return p.sort(us),p}const f=Q(()=>{const m=s.value,v=[];for(const g of m.values())for(const y of g.languages.values())v.push({key:`${g.key}__${y.key}`,label:y.key,color:so(g.key),peopleGroupCount:y.peopleGroupCount,population:y.population,kind:y.clusterId?"cluster":"language",familyKey:g.key,clusterId:y.clusterId||void 0,pinIds:y.pinIds,coords:y.coords,hasDialects:y.dialects.size>0});return v.sort(us),v}),b=Q(()=>{const m=s.value,v=[];for(const g of m.values())for(const y of g.languages.values())for(const d of y.dialects.values())v.push({key:`${g.key}__${y.key}__${d.key}`,label:`${y.key}, ${d.key}`,dialectOnly:d.key,color:so(g.key),peopleGroupCount:d.peopleGroupCount,population:d.population,kind:"dialect",languageKey:y.key,familyKey:g.key,pinIds:d.pinIds,coords:d.coords,originalLabels:Array.from(d.originalLabels)});return v.sort(us),v});function k(m){let v=m;if(typeof m=="string"&&(v=l.value.find(y=>y.key===m),!v))return;const g={kind:v.kind,pinIds:v.pinIds||[],coords:v.coords||[]};v.kind==="family"&&(g.familyKey=v.label),v.kind==="language"&&(g.languageKey=v.label,g.familyKey=v.familyKey),v.kind==="dialect"&&(g.dialectKey=v.key,g.dialectOnly=v.dialectOnly||v.label,g.languageKey=v.languageKey,g.familyKey=v.familyKey,g.originalLabels=v.originalLabels||[]),v.kind==="cluster"&&(g.clusterId=v.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:g}))}const x=Q(()=>{const m=s.value,v=[];for(const g of m.values()){const y=so(g.key),d=[];for(const p of g.languages.values()){p.key&&p.key!=="— Unknown —"&&d.push(p.key);for(const _ of p.dialects.values())for(const L of _.originalLabels)L&&d.push(L)}const h={id:`fam:${g.key}`,label:g.key,color:y,count:g.peopleGroupCount,pop:g.population,filter:d.length>0?["any",["==",["get","languageFamily"],g.key],["in",["get","language"],["literal",Array.from(new Set(d))]]]:["==",["get","languageFamily"],g.key],children:[]};for(const p of g.languages.values()){const _=p.key,L={id:`lang:${g.key}__${_}`,label:_,color:y,count:p.peopleGroupCount,pop:p.population,filter:["any",["==",["get","language"],_],["==",["slice",["get","language"],0,_.length+1],_+","],["in"," "+_,["get","language"]]],children:[]};for(const R of p.dialects.values()){const S=Array.from(R.originalLabels);L.children.push({id:`dial:${g.key}__${_}__${R.key}`,label:`${_}, ${R.key}`,color:y,count:R.peopleGroupCount,pop:R.population,filter:S.length===1?["==",["get","language"],S[0]]:["in",["get","language"],["literal",S]],originalLabels:S,children:[]})}h.children.push(L)}v.push(h)}return v.sort((g,y)=>y.pop-g.pop||y.count-g.count),v});return{rows:l,languageRows:f,dialectRows:b,langTree:x,toggle:a,isExpanded:n,setExpansionToOnly:r,childRowsFor:c,dialectRowsFor:u,highlight:k}}const M_=[];function I_(){const e=wo(Xn.RESOURCE);return e&&e.propertyKey==="resourceType"?e:null}function R_(){const e=wo(Xn.DOXA_REGION);return e&&e.propertyKey==="doxaRegion"?e.palette||{}:{}}function F_(){const e=wo(Xn.AFFINITY_BLOCK);if(!e||e.propertyKey!=="affinityBlock")return{};const t=e.names||{},o=e.palette||{},n={};for(const a of Object.keys(t))n[t[a]]=o[a]||"#999";return n}function En(e,t){const a=Object.values(e.sources||{}).flatMap(r=>(r==null?void 0:r.features)||[]).filter(r=>t(r.properties||r));return{count:a.length,population:a.reduce((r,s)=>{var l;const i=s.properties||s;return r+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}const rg=100;function O_(e){var o;let t=(e==null?void 0:e.peopleCommitted)??((o=e==null?void 0:e._raw)==null?void 0:o.people_committed)??(e==null?void 0:e.people_committed)??null;return t&&typeof t=="object"&&(t=t.value??t.label??0),Number(t)||0}function _l(e){return t=>{const o=O_(t);return e==="fullPrayer"?o>=rg:e==="hasPrayer"?o>0&&o<rg:o<=0}}function sg(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}function ig(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const D_={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs",countries:"legend.title.countries",country:"legend.title.countries","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function ea(e){return e==="doxa-region"?"doxa-regions":e==="country"?"countries":e}function B_(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function G_(e){return(Number(e)||0).toLocaleString()}function Ja(e,t={}){const o=Te("dataStore"),n=Te("uiStore"),a=Te("mapStore"),{t:r}=ht(),s=__();s.load();const i=Q(()=>{if(ea(e.value)==="religion")return"Religion";const g=D_[e.value];return g?r(g):""}),l=Q(()=>ea(e.value)==="affinity-blocs"?M_:[{key:"count",label:r("legend.columns.upgs"),width:48},{key:"population",label:r("legend.columns.population"),width:48}]),c=Q(()=>{const v=ea(e.value);return v==="prayer"?n.prayerFilter:v==="engagement"?n.engagementFilter:v==="adoption"?n.adoptionFilter:v==="language-families"?a.selectedFamily:v==="doxa-regions"?a.selectedRegion:v==="gospel-resources"?a.selectedResource:v==="religion"?n.religionFilter:null});function u(v){const g=ea(e.value);g==="prayer"?n.setPrayerFilter(n.prayerFilter===v?null:v):g==="engagement"?n.setEngagementFilter(n.engagementFilter===v?null:v):g==="adoption"?n.setAdoptionFilter(n.adoptionFilter===v?null:v):g==="language-families"?a.selectFamily(a.selectedFamily===v?null:v):g==="doxa-regions"?a.selectRegion(a.selectedRegion===v?null:v):g==="gospel-resources"?a.selectResource(a.selectedResource===v?null:v):g==="religion"&&n.setReligionFilter(n.religionFilter===v?null:v)}const f=Q(()=>{var g,y,d,h;const v=ea(e.value);if(v==="prayer"){const p=En(o,_l("noPrayer")),_=En(o,_l("hasPrayer")),L=En(o,_l("fullPrayer")),R=s.loaded.value,S=R?s.noPrayerCount():p.count,z=R?s.hasPrayerCount():_.count,j=R?s.fullPrayerCount():L.count;return[{key:"noPrayer",label:r("legend.prayer.needsPrayer"),color:Ln.noPrayer,count:S,population:p.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:r("legend.prayer.hasPrayer"),color:Ln.hasPrayer,count:z,population:_.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:r("legend.prayer.fullPrayerCoverage"),color:Ln.fullPrayer,count:j,population:L.population,filterKey:"fullPrayer"}]}]}if(v==="engagement"){const p=En(o,L=>!sg(L)),_=En(o,L=>sg(L));return[{key:"notEngaged",label:r("legend.engagement.needsEngagement"),color:Ji.notEngaged,count:p.count,population:p.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:r("legend.engagement.hasEngagement"),color:Ji.hasEngagement,count:_.count,population:_.population,filterKey:"hasEngagement"}]}]}if(v==="adoption"){const p=En(o,L=>!ig(L)),_=En(o,L=>ig(L));return[{key:"notAdopted",label:r("legend.adoption.needsAdoption"),color:Wi.notAdopted,count:p.count,population:p.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:r("legend.adoption.hasAdoption"),color:Wi.hasAdoption,count:_.count,population:_.population,filterKey:"hasAdoption"}]}]}if(v==="religion"){const p={},L=Object.values(o.sources||{}).flatMap(z=>(z==null?void 0:z.features)||[]);for(const z of L){const j=z.properties||z,O=j.religion||((y=(g=j._raw)==null?void 0:g.religion)==null?void 0:y.value)||((d=j._raw)==null?void 0:d.religion)||"",D=qa(O);p[D]||(p[D]={count:0,population:0}),p[D].count+=1,p[D].population+=parseInt(j.population||((h=j._raw)==null?void 0:h.Population)||0)||0}const R=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const z of R)delete p[z];return Object.keys(p).sort((z,j)=>z==="C"?-1:j==="C"?1:p[j].population-p[z].population).map(z=>({key:z,label:Cn[z]||"Unknown",color:Kt[z]||"#94a3b8",count:p[z].count,population:p[z].population,filterKey:z,children:[]}))}if(v==="language-families")return(o.languageFamiliesData||[]).map(p=>({key:p.name,label:p.name,color:so(p.name),count:p.count,population:p.population,filterKey:p.name,children:[]}));if(v==="language-family"){const _={value:Object.values(o.sources||{}).flatMap(R=>(R==null?void 0:R.features)||[])},{rows:L}=vl(_);return L.value.map(R=>({key:R.key,label:R.label,color:R.color,count:R.peopleGroupCount,population:R.population,filterKey:R.key,children:[]}))}if(v==="doxa-regions"){const p=R_();return(o.doxaRegionsData||[]).map(_=>({key:_.name,label:_.name,color:p[_.name]||"#999",count:_.count,population:_.population,filterKey:_.name,children:[]}))}if(v==="gospel-resources"){const p=I_(),_=(p==null?void 0:p.palette)??{},L=(p==null?void 0:p.names)??{},R=o.resourcesData||[];return Object.keys(_).map(S=>{const z=R.find(j=>j.key===S);return{key:S,label:L[S]||S,color:_[S],count:(z==null?void 0:z.count)||0,population:(z==null?void 0:z.population)||0,filterKey:S,children:((z==null?void 0:z.children)||[]).map(j=>({key:j.key,label:j.name||j.key,color:j.color||_[S],count:j.count||0,population:j.population||0,filterKey:j.key}))}})}if(v==="affinity-blocs"){const p=F_();return Object.keys(p).sort().map(_=>({key:_,label:_,color:p[_],filterKey:_,children:[]}))}return[]});function b(v,g){return v.reduce((y,d)=>{var p;let h=d[g]||0;return(p=d.children)!=null&&p.length&&(h+=b(d.children,g)),y+h},0)}const k=Q(()=>b(f.value,"count")),x=Q(()=>b(f.value,"population")),m=Q(()=>{if(ea(e.value)!=="prayer")return null;const v=f.value[0];if(!v)return null;const g=(v.children||[]).find(L=>L.key==="hasPrayer"),y=(v.children||[]).find(L=>L.key==="fullPrayer"),d=Number(v.count)||0,h=Number(g==null?void 0:g.count)||0,p=Number(y==null?void 0:y.count)||0,_=(Number(g==null?void 0:g.population)||0)+(Number(y==null?void 0:y.population)||0);return{covered:h+p,total:k.value,coveredPopulation:_,totalPopulation:x.value,segments:[{key:"fullPrayer",label:(y==null?void 0:y.label)??r("legend.prayer.fullPrayerCoverage"),count:p,color:Ln.fullPrayer},{key:"hasPrayer",label:(g==null?void 0:g.label)??r("legend.prayer.hasPrayer"),count:h,color:Ln.hasPrayer},{key:"noPrayer",label:v.label,count:d,color:Ln.noPrayer}]}});return{items:f,columns:l,title:i,activeFilter:c,setFilter:u,totalCount:k,totalPopulation:x,progress:m,fmtPop:B_,fmtCount:G_}}class lg{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Sn,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let a="",r=!1,s=[],i=!0;for(let l=0;l<t.length;l++){const c=t[l],u=t[l+1];if(c==='"')r&&u==='"'?(a+='"',l++):r=!r;else if(c===","&&!r)s.push(a.trim()),a="";else if((c===`
|
||
`||c==="\r")&&!r){if(c==="\r"&&u===`
|
||
`&&l++,a||s.length>0){if(s.push(a.trim()),a="",i)n.push(...s),i=!1;else if(s.length>1){const f={};n.forEach((b,k)=>{f[b]=s[k]||""}),o.push(f)}s=[]}}else a+=c}if((a||s.length>0)&&(s.push(a.trim()),!i&&s.length>1)){const l={};n.forEach((c,u)=>{l[c]=s[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:r}=this.parseCSV(n);return this.rawData=r,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(s=>s.trim())),r=[];for(const[s,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||r.push({systemField:s,sourceField:l,isComposite:!0});else i&&!a.has(i)&&r.push({systemField:s,sourceField:i,isComposite:!1});r.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,r)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=fl(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",r=[];a&&r.push(`fields=${a}`);const s={...t.queryParams||{}};this.locale&&(s.lang=this.locale);for(const[u,f]of Object.entries(s))r.push(`${u}=${encodeURIComponent(f)}`);const i=`${o}${n}?${r.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const r=a.engagementStatus;r!=null&&(typeof r=="object"&&"value"in r?(a.engagementStatusLabel=r.label||r.value,a.engagementStatus=r.value==="engaged"):a.engagementStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const s=a.adoptionStatus;s!=null&&(a.adoptionStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="object"&&!!(s!=null&&s.value)||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)<n&&Math.abs(a.longitude-o)<n)}getByPeopleGroupId(t){return this.normalizedData.filter(o=>o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new lg;const j_=["data-covered","data-total","data-pct"],z_={class:"lpb-track"},U_=["data-span-pct"],K_=["data-seg","data-count","aria-label","onMouseenter","onFocus","onClick"],H_=["data-seg","data-count","aria-label"],V_=["aria-valuenow","aria-valuemax","aria-valuetext","aria-label","title"],cg=Ot({__name:"LegendProgressBar",props:{covered:{type:Number,default:0},total:{type:Number,default:0},segments:{type:Array,default:()=>[]},isDark:{type:Boolean,default:!1},label:{type:String,default:""},fmtCount:{type:Function,default:e=>(Number(e)||0).toLocaleString()},compact:{type:Boolean,default:!1},stacked:{type:Boolean,default:!1},showText:{type:Boolean,default:!0}},emits:["select-segment"],setup(e,{emit:t}){const{t:o}=ht();mt(`
|
||
.lpb{position:relative;display:flex;align-items:center;gap:8px;min-width:0;width:100%;box-sizing:border-box;}
|
||
.lpb-track{position:relative;flex:1 1 auto;min-width:60px;display:flex;height:10px;border-radius:5px;overflow:hidden;background:rgba(110,118,129,0.25);}
|
||
.lpb-span{display:flex;height:100%;min-width:0;flex:0 0 auto;}
|
||
.lpb-seg{appearance:none;-webkit-appearance:none;border:none;margin:0;padding:0;height:100%;display:block;flex:0 0 auto;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:filter 0.12s,box-shadow 0.12s;}
|
||
.lpb-seg-rest{flex:1 1 auto;}
|
||
.lpb-seg:focus{outline:none;}
|
||
.lpb-seg:hover,.lpb-seg:focus-visible,.lpb-seg.active{filter:brightness(1.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.65);}
|
||
.lpb-light .lpb-seg:hover,.lpb-light .lpb-seg:focus-visible,.lpb-light .lpb-seg.active{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.35);}
|
||
.lpb-text{flex:0 0 auto;font:600 10px ui-monospace,monospace;letter-spacing:0.02em;color:#8b949e;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1;}
|
||
.lpb-light .lpb-text{color:#57606a;}
|
||
.lpb-stacked{flex-direction:column;align-items:stretch;gap:6px;}
|
||
.lpb-stacked .lpb-text{order:1;text-align:center;font-size:12px;letter-spacing:0.03em;}
|
||
.lpb-stacked .lpb-track{order:2;width:100%;}
|
||
.lpb-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:10;padding:7px 10px;background:#0d1117;border:1px solid #30363d;border-radius:6px;font:11px system-ui;color:#c9d1d9;line-height:1.45;white-space:nowrap;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,0.5);}
|
||
.lpb-light .lpb-pop{background:#f6f8fa;border-color:#d0d7de;color:#1f2328;box-shadow:0 8px 24px rgba(31,35,40,0.18);}
|
||
.lpb-pop-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,0.4);}
|
||
.legend-mobile-sheet.collapsed .lpb{display:none!important;}
|
||
`,"legend-progress-bar");const n=e,a=t,r=Q(()=>n.total>0?Math.round(n.covered/n.total*100):0),s=Q(()=>n.total>0?Math.min(100,Math.max(0,n.covered/n.total*100)):0),i=Q(()=>n.segments.slice(0,-1)),l=Q(()=>n.segments.length?n.segments[n.segments.length-1]:null);function c(L){return n.covered>0?Math.min(100,Math.max(0,(L.count||0)/n.covered*100)):0}function u(L){return n.total>0?Math.round((L.count||0)/n.total*100):0}const f=Q(()=>n.label||o("legend.progress.covered",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:r.value})),b=Q(()=>o("legend.progress.short",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:r.value}));function k(L){return o("legend.progress.segment",{label:L.label,count:n.fmtCount(L.count||0),pct:u(L)})}const x=le(null),m=le(null),v={},g=le(null),y=le(0),d=Q(()=>n.segments.find(L=>L.key===g.value)||null);function h(L,R){R?v[L]=R:delete v[L]}async function p(L){g.value=L,await jt();const R=x.value,S=v[L],z=m.value;if(!R||!S||!z)return;const j=R.getBoundingClientRect(),O=S.getBoundingClientRect(),D=Math.max(0,j.width-z.offsetWidth);y.value=Math.min(Math.max(0,O.left-j.left),D)}function _(){g.value=null}return(L,R)=>(V(),ae("div",{ref_key:"rootEl",ref:x,class:Ee(["lpb",[e.isDark?"lpb-dark":"lpb-light",{"lpb-stacked":e.stacked}]]),"data-covered":e.covered,"data-total":e.total,"data-pct":r.value,onMouseleave:_},[C("div",z_,[C("span",{class:"lpb-span",style:Xe({width:s.value+"%"}),"data-span-pct":s.value.toFixed(2)},[(V(!0),ae(Ie,null,yt(i.value,S=>(V(),ae("button",{key:S.key,type:"button",class:Ee(["lpb-seg",{active:g.value===S.key}]),style:Xe({width:c(S)+"%",background:S.color}),"data-seg":S.key,"data-count":S.count||0,"aria-label":k(S),ref_for:!0,ref:z=>h(S.key,z),onMouseenter:z=>p(S.key),onFocus:z=>p(S.key),onBlur:_,onClick:dt(z=>a("select-segment",S.key),["stop"])},null,46,K_))),128))],12,U_),l.value?(V(),ae("button",{key:0,type:"button",class:Ee(["lpb-seg lpb-seg-rest",{active:g.value===l.value.key}]),style:Xe({background:l.value.color}),"data-seg":l.value.key,"data-count":l.value.count||0,"aria-label":k(l.value),ref:S=>h(l.value.key,S),onMouseenter:R[0]||(R[0]=S=>p(l.value.key)),onFocus:R[1]||(R[1]=S=>p(l.value.key)),onBlur:_,onClick:R[2]||(R[2]=dt(S=>a("select-segment",l.value.key),["stop"]))},null,46,H_)):ve("",!0)]),e.showText?(V(),ae("span",{key:0,class:"lpb-text",role:"progressbar","aria-valuenow":e.covered,"aria-valuemin":"0","aria-valuemax":e.total,"aria-valuetext":b.value,"aria-label":f.value,title:f.value},he(e.compact?r.value+"%":b.value),9,V_)):ve("",!0),d.value?(V(),ae("div",{key:1,ref_key:"popEl",ref:m,class:"lpb-pop",role:"tooltip",style:Xe({left:y.value+"px"})},[C("span",{class:"lpb-pop-dot",style:Xe({background:d.value.color})},null,4),gt(he(k(d.value)),1)],4)):ve("",!0)],42,j_))}},[["__scopeId","data-v-acafdbf6"]]),q_={key:0,class:"lrg-title-row"},W_={class:"lrg-title-caret-slot"},Y_={class:"lrg-title"},X_=["data-lrg-filter-key"],J_=["onClick"],Z_={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},Q_=["onClick"],ex={class:"lrg-name"},tx={class:"lrg-badge-inner"},ox=["data-lrg-filter-key"],nx=["onClick"],ax={class:"lrg-name"},rx={class:"lrg-badge-inner"},sx={key:1,class:"lrg-footer"},ix={class:"lrg-footer-label"},ug=Ot({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["filter-click"],setup(e){const{t}=ht();mt(`
|
||
.legend-row-group{--lrg-caret-col:30px;display:flex;flex-direction:column;height:100%;min-height:0;}
|
||
.lrg-items{display:grid;grid-template-columns:var(--lrg-grid-cols, var(--lrg-caret-col) minmax(80px,1fr) auto auto var(--lrg-caret-col));grid-auto-rows:auto;align-content:start;column-gap:6px;row-gap:6px;padding:0 0 12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;}
|
||
.lrg-items::-webkit-scrollbar{display:none;width:0;height:0;}
|
||
.lrg-title-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:12px 0 6px;position:sticky;top:0;z-index:5;background:#fff;}
|
||
.lrg-dark .lrg-title-row{background:#3b463d;}
|
||
.lrg-title-caret-slot{grid-column:1;align-self:center;display:flex;align-items:center;justify-content:center;line-height:1;}
|
||
.lrg-title{grid-column:2;align-self:center;font-weight:600;font-size:13px;line-height:1.2;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
||
.lrg-header-col{align-self:center;text-align:center;white-space:nowrap;font-size:10px;line-height:1.3;color:#888;text-transform:uppercase;letter-spacing:0.3px;font-weight:700;}
|
||
.lrg-progress{grid-column:2 / -2;margin-top:6px;}
|
||
.lrg-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;}
|
||
.lrg-row-child{margin-left:0;}
|
||
.lrg-item{display:contents;cursor:pointer;}
|
||
.lrg-item-inner{display:grid;grid-template-columns:subgrid;grid-column:2 / -2;align-items:center;border-radius:6px;min-height:36px;padding:6px 0;transition:opacity 0.15s ease;}
|
||
.lrg-item-inner:hover{opacity:0.92;}
|
||
.lrg-item.selected .lrg-item-inner{outline:2px solid rgba(0,0,0,0.25);outline-offset:-2px;}
|
||
.lrg-caret{grid-column:1;justify-self:center;align-self:center;width:10px;height:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:none;border:none;padding:0;transition:transform 0.2s ease;outline:none;-webkit-tap-highlight-color:transparent;opacity:0.85;}
|
||
.lrg-caret:focus{outline:none;}
|
||
.lrg-caret.expanded{transform:rotate(90deg);}
|
||
.lrg-caret-placeholder{grid-column:1;display:block;}
|
||
.lrg-name{grid-column:1;padding:0 0 0 8px;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
||
.lrg-badge{display:flex;align-items:center;justify-content:center;}
|
||
.lrg-badge-inner{display:inline-block;background:color-mix(in srgb, var(--lrg-item-color, #888), #000 28%);border-radius:8px;padding:2px 10px;font-size:11px;font-weight:600;font-family:'Courier New',monospace;white-space:nowrap;min-width:32px;text-align:center;}
|
||
.lrg-footer{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:5px 0;border-top:1px solid rgba(0,0,0,0.07);font-size:11px;font-weight:600;color:#555;background:#fff;position:sticky;bottom:0;}
|
||
.lrg-footer-caret-slot{grid-column:1;}
|
||
.lrg-footer-label{grid-column:2;color:#777;}
|
||
.lrg-footer-value{text-align:center;font-family:'Courier New',monospace;}
|
||
.lrg-light .lrg-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.35);}
|
||
.lrg-light .lrg-badge-inner{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.4);}
|
||
.lrg-light .lrg-caret{color:#666;}
|
||
.lrg-dark .lrg-name{color:#F3F3F1;text-shadow:0 1px 2px rgba(0,0,0,0.4);}
|
||
.lrg-dark .lrg-badge-inner{color:#F3F3F1;text-shadow:0 1px 2px rgba(0,0,0,0.4);}
|
||
.lrg-dark .lrg-caret{color:rgba(243,243,241,0.75);}
|
||
.lrg-dark .lrg-title{color:#F3F3F1;}
|
||
.lrg-dark .lrg-header-col{color:rgba(243,243,241,0.65);}
|
||
.lrg-dark .lrg-footer{background:#2a332a;border-top-color:rgba(255,255,255,0.1);color:rgba(243,243,241,0.75);}
|
||
.lrg-dark .lrg-footer-label{color:rgba(243,243,241,0.65);}
|
||
`,"legend-row-group");const o=e,n=Te("legendProgress",null),a=Q(()=>o.progress??de(n)??null),r=Q(()=>a.value?t("legend.progress.title"):o.title),s=le(null);function i(b){let k=b.parentElement;for(;k;){const x=getComputedStyle(k).overflowY;if((x==="auto"||x==="scroll")&&k.scrollHeight>k.clientHeight+1){const m=b.getBoundingClientRect(),v=k.getBoundingClientRect();k.scrollTop+=m.top-v.top-8}k=k.parentElement}}let l=0;De(()=>o.activeFilter,async b=>{if(!b)return;const k=++l,x=s.value;if(!x)return;await jt();const m=(v=0)=>{if(k!==l)return;const g=x.querySelector(`[data-lrg-filter-key="${CSS.escape(String(b))}"]`);g&&i(g),v<6&&setTimeout(()=>m(v+1),70)};m(0)});const c=Fn({});function u(b){c[b]=!c[b]}const f=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(b,k)=>(V(),ae("div",{class:Ee(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[C("div",{class:"lrg-items",style:Xe({"--lrg-grid-cols":f.value}),ref_key:"itemsContainer",ref:s},[!e.hideColumnHeader&&(e.title||e.columns.length)?(V(),ae("div",q_,[C("span",W_,[Fo(b.$slots,"title-caret",{},void 0,!0)]),C("span",Y_,he(r.value),1),(V(!0),ae(Ie,null,yt(e.columns,x=>(V(),ae("span",{key:x.key,class:"lrg-header-col"},he(x.label),1))),128)),a.value?(V(),Ge(cg,{key:0,class:"lrg-progress",covered:a.value.covered,total:a.value.total,segments:a.value.segments,"is-dark":e.isDark,"fmt-count":e.fmtCount,onSelectSegment:k[0]||(k[0]=x=>b.$emit("filter-click",x))},null,8,["covered","total","segments","is-dark","fmt-count"])):ve("",!0)])):ve("",!0),(V(!0),ae(Ie,null,yt(e.items,x=>(V(),ae(Ie,{key:x.key},[C("div",{class:"lrg-row","data-lrg-filter-key":x.filterKey},[x.children&&x.children.length&&!e.disableCollapse?(V(),ae("button",{key:0,class:Ee(["lrg-caret",{expanded:!c[x.key]}]),onClick:dt(m=>u(x.key),["stop"]),"aria-label":"Toggle children"},[...k[1]||(k[1]=[C("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,J_)):(V(),ae("span",Z_)),C("div",{class:Ee(["lrg-item",{selected:e.activeFilter===x.filterKey}]),onClick:m=>b.$emit("filter-click",x.filterKey)},[C("div",{class:"lrg-item-inner",style:Xe({backgroundColor:x.color,"--lrg-item-color":x.color})},[C("span",ex,he(x.label),1),(V(!0),ae(Ie,null,yt(e.columns,m=>(V(),ae("span",{key:m.key,class:"lrg-badge"},[C("span",tx,he(m.key==="population"?e.fmtPop(x.population):e.fmtCount(x.count)),1)]))),128))],4)],10,Q_)],8,X_),x.children&&x.children.length&&!c[x.key]?(V(!0),ae(Ie,{key:0},yt(x.children,m=>(V(),ae("div",{key:m.key,class:"lrg-row lrg-row-child","data-lrg-filter-key":m.filterKey},[k[2]||(k[2]=C("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),C("div",{class:Ee(["lrg-item",{selected:e.activeFilter===m.filterKey}]),onClick:v=>b.$emit("filter-click",m.filterKey)},[C("div",{class:"lrg-item-inner",style:Xe({backgroundColor:m.color,"--lrg-item-color":m.color})},[C("span",ax,he(m.label),1),(V(!0),ae(Ie,null,yt(e.columns,v=>(V(),ae("span",{key:v.key,class:"lrg-badge"},[C("span",rx,he(v.key==="population"?e.fmtPop(m.population):e.fmtCount(m.count)),1)]))),128))],4)],10,nx)],8,ox))),128)):ve("",!0)],64))),128)),e.columns.length&&e.showFooter?(V(),ae("div",sx,[k[3]||(k[3]=C("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),C("span",ix,he(de(t)("legend.footer.total")),1),(V(!0),ae(Ie,null,yt(e.columns,x=>(V(),ae("span",{key:x.key,class:"lrg-footer-value"},he(x.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):ve("",!0)],4)],2))}},[["__scopeId","data-v-3bddba9a"]]),dg=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function pg(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%dg.length,n=dg[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function lx(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=pg(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const cx={key:0,class:"detail-header"},ux={class:"header-left"},dx={class:"header-text"},px={class:"people-group-name"},gx={class:"people-group-subtitle"},fx=["aria-label"],hx={class:"detail-content"},mx={key:0,class:"pg-name-lead"},bx={class:"action-buttons"},yx={class:"quick-stats"},vx={class:"stat-item"},_x={class:"stat-label"},xx={class:"stat-value"},kx={class:"stat-item"},wx={class:"stat-label"},Ax={class:"stat-value"},Sx={class:"stat-item"},Lx={class:"stat-label"},Cx={class:"stat-value"},Ex={class:"stat-item"},$x={class:"stat-label"},Tx={class:"stat-value"},Px={class:"stat-item stat-committed"},Nx={class:"stat-label"},Mx={class:"stat-value"},Ix={key:1,class:"image-container position-inside"},Rx=["src","alt"],Fx={key:2,class:"description-section"},Ox={key:0,class:"description-text"},Dx={key:1,class:"description-text empty"},gg="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",xl=Ot({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=ht();mt(`
|
||
.people-group-detail{display:flex;flex-direction:column;height:100%;overflow-y:auto;}
|
||
.people-group-detail.dark-mode{background:#1a1a2e;color:#eee;}
|
||
.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:white;position:sticky;top:0;z-index:10;}
|
||
.dark-mode .detail-header{background:#16213e;border-bottom-color:#2d2d4e;}
|
||
.header-left{display:flex;gap:12px;align-items:center;flex:1;min-width:0;}
|
||
.header-text{flex:1;min-width:0;}
|
||
.people-group-name{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text;}
|
||
.dark-mode .people-group-name{color:#fff;}
|
||
.people-group-subtitle{margin:4px 0 0 0;font-size:13px;color:#666;line-height:1.2;}
|
||
.dark-mode .people-group-subtitle{color:#aaa;}
|
||
.close-button{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color 0.2s ease;flex-shrink:0;}
|
||
.dark-mode .close-button{color:#aaa;}
|
||
.close-button:hover{color:#333;}
|
||
.dark-mode .close-button:hover{color:#fff;}
|
||
.detail-content{padding:6px 12px 12px;flex:1;overflow-y:auto;}
|
||
.dark-mode .detail-content{background:#1a1a2e;}
|
||
.quick-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;}
|
||
.stat-item{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;}
|
||
.stat-label{color:#666;font-weight:500;}
|
||
.dark-mode .stat-label{color:#9ca3af;}
|
||
.stat-value{color:#333;font-weight:600;text-align:right;}
|
||
.dark-mode .stat-value{color:#e5e7eb;}
|
||
.stat-committed .stat-value{color:#73A17F;}
|
||
.dark-mode .stat-committed .stat-value{color:#92b195;}
|
||
.pg-name-lead{margin:0 0 8px 0;font-size:16px;font-weight:700;color:#333;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text;}
|
||
.dark-mode .pg-name-lead{color:#F3F3F1;}
|
||
.action-buttons{display:flex;gap:8px;padding-top:4px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px;}
|
||
.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0;}
|
||
.action-btn.primary{background:#92b195;color:white;}
|
||
.action-btn.primary:hover{background:#73A17F;box-shadow:0 2px 4px rgba(146,177,149,0.3);}
|
||
.action-btn.secondary{background:#ecf0f1;color:#333;}
|
||
.dark-mode .action-btn.secondary{background:#2d2d4e;color:#e5e7eb;}
|
||
.action-btn.secondary:hover{background:#d5dbdb;}
|
||
.dark-mode .action-btn.secondary:hover{background:#3d3d5e;}
|
||
.btn-icon{flex-shrink:0;}
|
||
.image-container{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5;position:relative;}
|
||
.dark-mode .image-container{background:#2d2d4e;}
|
||
.image-container.position-above{width:120px;height:150px;margin:0 auto 16px auto;}
|
||
.image-container.position-inside{width:200px;height:250px;margin:0 auto 16px auto;}
|
||
.people-group-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.3s ease;}
|
||
.people-group-image.loaded{opacity:1;}
|
||
.image-placeholder-svg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0;transition:opacity 0.3s ease;}
|
||
.dark-mode .image-placeholder-svg{background:#2d2d4e;}
|
||
.image-placeholder-svg.hidden{opacity:0;pointer-events:none;}
|
||
.description-section{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;}
|
||
.dark-mode .description-section{border-top-color:#2d2d4e;}
|
||
.description-text{margin:0;font-size:14px;line-height:1.6;color:#555;}
|
||
.dark-mode .description-text{color:#d1d5db;}
|
||
.description-text.empty{color:#999;font-style:italic;}
|
||
.dark-mode .description-text.empty{color:#6b7280;}
|
||
`,"legend-people-group-detail");const n=e,a=Te("uiStore"),r=Te("profileConfig",null),s=Q(()=>a.legendState),i=Q(()=>a.isMobile),l=Q(()=>!i.value||s.value==="fullyOpen"),c=Q(()=>pg(n.peopleGroup.properties.name)),u=Q(()=>c.value.letter),f=Q(()=>lx(n.peopleGroup.properties.name,{size:32,borderRadius:4})),b=Q(()=>n.peopleGroup.properties),k=le(null),x=le(!1),m=Q(()=>b.value.slug||"");async function v(ee){if(!ee)return;const oe=fl();if(oe)try{const H=await fetch(`${oe}/api/people-groups/detail/${encodeURIComponent(ee)}?lang=${encodeURIComponent(o.value)}`);if(!H.ok)throw new Error(`HTTP ${H.status}`);k.value=await H.json()}catch{k.value=null}}De(m,ee=>{x.value=!1,k.value=null,v(ee)},{immediate:!0});const g=Q(()=>{var ee;return b.value.countryName||b.value.countryIsoLabel||b.value.country||b.value.countryIso||((ee=b.value._raw)==null?void 0:ee.Country)||""}),y=Q(()=>{var H;const ee=b.value.status||((H=b.value._raw)==null?void 0:H.Status),oe=g.value||"Unknown";return ee?`${oe} • ${ee}`:oe}),d=Q(()=>{var oe;const ee=b.value.language||((oe=b.value._raw)==null?void 0:oe.Language);if(!ee)return"Unknown";if(typeof ee=="object"&&ee.label)return ee.label;if(typeof ee=="string"&&ee.startsWith("{"))try{const H=JSON.parse(ee);if(H!=null&&H.label)return H.label}catch{}return ee}),h=Q(()=>{var ee;return b.value.population||((ee=b.value._raw)==null?void 0:ee.Population)||0}),p=Q(()=>{var oe,H;const ee=[(oe=k.value)==null?void 0:oe.people_praying,b.value.peoplePraying,(H=b.value._raw)==null?void 0:H.people_praying];for(const pe of ee)if(pe!=null&&pe!=="")return Number(pe);return null}),_=Q(()=>p.value===null?"—":p.value.toLocaleString()),L=Q(()=>{var ee;return b.value.religionName||b.value.religionLabel||b.value.religion||((ee=b.value._raw)==null?void 0:ee.Religion)||""}),R=Q(()=>{var ee,oe,H;return((ee=k.value)==null?void 0:ee.imb_people_description)||((oe=k.value)==null?void 0:oe.description)||b.value.description||((H=b.value._raw)==null?void 0:H.Description)||""}),S=Q(()=>{var ee,oe,H;return((ee=k.value)==null?void 0:ee.image_url)||((oe=k.value)==null?void 0:oe.imageUrl)||b.value.imageUrl||((H=b.value._raw)==null?void 0:H.ImageURL)||gg}),z=Q(()=>{const ee=parseInt(h.value);return ee>=1e6?`${(ee/1e6).toFixed(1)}M`:ee>=1e3?`${(ee/1e3).toFixed(1)}K`:ee.toLocaleString()});function j(){a.selectPeopleGroup(null)}function O(){var pe;let ee="";try{ee=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const oe=(pe=r==null?void 0:r.value)==null?void 0:pe.utmSource,H=typeof window<"u"&&window.DOXA_UTM_SOURCE||"";return encodeURIComponent(String(ee||oe||H||"agwm"))}function D(ee){return`https://pray.doxa.life/${encodeURIComponent(ee)}?source=doxalife&utm_source=${O()}`}function M(ee){return`${$()}/adopt/${encodeURIComponent(ee)}/?source=doxalife&utm_source=${O()}`}function $(){const ee=typeof window<"u"&&window.DOXA_SITE_URL||"";return String(ee||"https://doxa.life").replace(/\/+$/,"")}function T(ee){return`${$()}/research/${encodeURIComponent(ee)}/?utm_source=${O()}`}function N(){const ee=m.value;if(!ee)return;n.action!=="adopt"&&g_(ee);const oe=n.action==="adopt"?M(ee):D(ee);window.open(oe,"_blank","noopener")}function q(){const ee=m.value;ee&&window.open(T(ee),"_blank","noopener")}function ce(ee){ee.target.dataset.usedFallback||(ee.target.dataset.usedFallback="true",ee.target.src=gg)}return(ee,oe)=>(V(),ae("div",{class:Ee(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?ve("",!0):(V(),ae("div",cx,[C("div",ux,[C("div",{class:"avatar",style:Xe(f.value)},he(u.value),5),C("div",dx,[C("h3",px,he(e.peopleGroup.properties.name),1),C("p",gx,he(y.value),1)])]),C("button",{class:"close-button",onClick:j,"aria-label":de(t)("aria.closeDetailView")},[...oe[1]||(oe[1]=[C("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[C("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,fx)])),C("div",hx,[e.hideHeader?(V(),ae("h3",mx,he(e.peopleGroup.properties.name||de(t)("legend.header.peopleGroupFallback")),1)):ve("",!0),C("div",bx,[e.action==="pray"||e.action==="adopt"?(V(),ae("button",{key:0,class:"action-btn primary",onClick:N},[oe[2]||(oe[2]=C("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[C("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),C("span",null,he(e.action==="adopt"?de(t)("buttons.adoptThem"):de(t)("buttons.prayForThem")),1)])):ve("",!0),C("button",{class:"action-btn secondary",onClick:q},[oe[3]||(oe[3]=C("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[C("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),C("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),C("span",null,he(de(t)("buttons.moreInfo")),1)])]),C("div",yx,[C("div",vx,[C("span",_x,he(de(t)("detail.labels.country")),1),C("span",xx,he(g.value||"—"),1)]),C("div",kx,[C("span",wx,he(de(t)("detail.labels.population")),1),C("span",Ax,he(z.value||"—"),1)]),C("div",Sx,[C("span",Lx,he(de(t)("detail.labels.language")),1),C("span",Cx,he(d.value||"—"),1)]),C("div",Ex,[C("span",$x,he(de(t)("detail.labels.religion")),1),C("span",Tx,he(L.value||"—"),1)]),C("div",Px,[C("span",Nx,he(de(t)("detail.labels.peopleCommitted")),1),C("span",Mx,he(_.value),1)])]),l.value?(V(),ae("div",Ix,[C("div",{class:Ee(["image-placeholder-svg",{hidden:x.value}])},[...oe[4]||(oe[4]=[C("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[C("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),C("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),S.value?(V(),ae("img",{key:0,src:S.value,alt:`${e.peopleGroup.properties.name} people group`,class:Ee(["people-group-image",{loaded:x.value}]),onLoad:oe[0]||(oe[0]=H=>x.value=!0),onError:ce},null,42,Rx)):ve("",!0)])):ve("",!0),l.value?(V(),ae("div",Fx,[R.value?(V(),ae("p",Ox,he(R.value),1)):(V(),ae("p",Dx,he(de(t)("detail.messages.noDescription")),1))])):ve("",!0)])],2))}},[["__scopeId","data-v-8142ca9c"]]),Bx=Object.freeze(Object.defineProperty({__proto__:null,default:xl},Symbol.toStringTag,{value:"Module"})),ds={excludeReligionFamilies:["C"]},Gx={class:"legend-reopen-label"},jx=["aria-label"],zx=["aria-label"],Ux=["aria-label"],Kx=Ot({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const t=La(()=>qt(()=>Promise.resolve().then(()=>Ag),void 0)),{t:o}=ht();mt(`
|
||
.legend-container{position:absolute;top:60px;left:8px;width:var(--map-legend-width,380px);max-height:calc(100vh - 80px);background:#fff;border-radius:var(--map-radius,16px);box-shadow:0 2px 8px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.08);z-index:1000;overflow:hidden;display:flex;flex-direction:column;transition:width 200ms cubic-bezier(0.2,0,0,1),max-height 200ms cubic-bezier(0.2,0,0,1),min-width 200ms cubic-bezier(0.2,0,0,1),border-radius 200ms linear,box-shadow 200ms linear;will-change:width,max-height;}
|
||
.legend-container .lrg-title{font-size:15px;}
|
||
.legend-container .lrg-header-col{font-size:11px;}
|
||
.legend-container .lrg-name{font-size:15px;}
|
||
.legend-container .lrg-badge-inner{font-size:12px;}
|
||
.legend-reopen{position:absolute;left:8px;top:60px;z-index:1000;display:inline-flex;align-items:center;gap:8px;background:#0d1117;border:1px solid #30363d;border-radius:999px;color:#c9d1d9;cursor:pointer;height:36px;padding:0 14px 0 12px;box-shadow:0 4px 14px rgba(0,0,0,0.25);font:600 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:0.06em;max-width:320px;transition:color 0.12s,background 0.12s,border-color 0.12s,transform 0.12s,box-shadow 0.12s;}
|
||
.legend-reopen:hover{color:#fff;background:#1c2333;border-color:#73A17F;box-shadow:0 6px 20px rgba(59,70,61,0.25);transform:translateY(-1px);}
|
||
.legend-reopen-icon{color:#73A17F;flex-shrink:0;}
|
||
.legend-reopen-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0;font:600 12px system-ui,sans-serif;}
|
||
.legend-reopen-caret{color:#6e7681;flex-shrink:0;}
|
||
.legend-reopen:hover .legend-reopen-caret{color:#c9d1d9;}
|
||
.legend-reopen-light{background:#ffffff;border-color:#d0d7de;color:#1f2328;box-shadow:0 4px 16px rgba(31,35,40,0.18);}
|
||
.legend-reopen-light:hover{background:#f6f8fa;border-color:#3b463d;color:#3b463d;box-shadow:0 6px 20px rgba(59,70,61,0.2);}
|
||
.legend-reopen-light .legend-reopen-icon{color:#3b463d;}
|
||
.legend-reopen-light .legend-reopen-caret{color:#57606a;}
|
||
.legend-collapse-caret{background:rgba(110,118,129,0.15);border:1px solid #30363d;border-radius:5px;color:#8b949e;cursor:pointer;width:22px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color 0.1s,background 0.1s,transform 0.18s;outline:none;-webkit-tap-highlight-color:transparent;padding:0;}
|
||
.legend-collapse-caret:focus{outline:none;}
|
||
.legend-collapse-caret:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;}
|
||
.legend-collapse-caret svg{transition:transform 0.18s;transform:rotate(180deg);}
|
||
.legend-collapse-caret.rotated svg{transform:rotate(0deg);}
|
||
.legend-container:not(.legend-dark) .legend-collapse-caret{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;}
|
||
.legend-container:not(.legend-dark) .legend-collapse-caret:hover{background:rgba(59,70,61,0.12);border-color:#3b463d;color:#3b463d;}
|
||
.detail-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;padding:4px;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;z-index:20;transition:color 0.2s ease;}
|
||
.detail-close-btn:hover{color:#333;}
|
||
.detail-collapse-btn{position:absolute;top:10px;left:10px;z-index:20;background:transparent;border:none;color:transparent;cursor:pointer;width:28px;height:28px;padding:0;outline:none;-webkit-tap-highlight-color:transparent;}
|
||
.detail-collapse-btn:focus{outline:none;}
|
||
.legend-container .people-group-detail .pg-name-lead{padding-left:28px;padding-right:32px;}
|
||
.legend-content{padding:0;overflow-y:auto;overflow-x:hidden;flex:1;max-height:650px;display:flex;flex-direction:column;min-height:0;}
|
||
.legend-content.no-padding{padding:0;}
|
||
.legend-section-label{padding:8px 12px 4px;font-size:11px;font-weight:700;color:#9ca3af;letter-spacing:0.5px;text-transform:uppercase;}
|
||
.legend-dark .legend-section-label{color:rgba(243,243,241,0.55);}
|
||
.legend-container .lrg-row,
|
||
.legend-container .lft-row{min-height:24px;}
|
||
.legend-container .lrg-item-inner,
|
||
.legend-container .lft-item-inner{min-height:24px;padding:2px 0;}
|
||
.legend-items-container{display:flex;flex-direction:column;gap:4px;}
|
||
.legend-item{padding:6px 10px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--map-font-md,13px);transition:all 0.2s;}
|
||
.legend-item-clickable{cursor:pointer;}
|
||
.legend-item-clickable:hover{transform:translateX(4px);box-shadow:0 2px 4px rgba(0,0,0,0.1);}
|
||
.legend-item-selected{outline:2px solid #333;outline-offset:2px;}
|
||
.legend-item-text{flex:1;font-weight:500;color:#333;}
|
||
.legend-item-count{font-size:var(--map-font-sm,11px);color:#555;background:rgba(0,0,0,0.08);padding:2px 7px;border-radius:10px;min-width:40px;text-align:right;margin-right:4px;}
|
||
.legend-item-population{font-size:var(--map-font-sm,11px);color:#555;background:rgba(0,0,0,0.08);padding:2px 7px;border-radius:10px;min-width:52px;text-align:right;margin-right:4px;}
|
||
.legend-export-btn{background:none;border:none;cursor:pointer;font-size:15px;padding:0 4px;}
|
||
.legend-tree-item{display:flex;flex-direction:column;gap:4px;}
|
||
.legend-tree-parent{display:flex;align-items:center;gap:6px;}
|
||
.legend-tree-caret{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform 0.2s;font-size:12px;color:#666;}
|
||
.legend-tree-caret.expanded{transform:rotate(90deg);}
|
||
.legend-tree-child{margin-left:20px;display:flex;gap:6px;}
|
||
.legend-tree-caret-placeholder{width:16px;}
|
||
.legend-item-child{font-size:12px;}
|
||
.legend-stats-header{display:flex;align-items:center;padding:4px 0;background:#fff;border-bottom:1px solid rgba(0,0,0,0.07);font-weight:600;font-size:10px;color:#777;text-transform:uppercase;letter-spacing:0.4px;position:sticky;top:0;z-index:10;}
|
||
.legend-stats-label{flex:1;min-width:0;padding:0 10px;}
|
||
.legend-stats-value{width:58px;text-align:right;flex-shrink:0;font-family:'Courier New',monospace;padding-right:10px;white-space:pre;}
|
||
.legend-footer{display:flex;align-items:center;padding:5px 0;border-top:1px solid rgba(0,0,0,0.07);font-size:11px;font-weight:600;color:#555;background:#fff;}
|
||
.legend-footer-label{flex:1;padding-left:10px;color:#777;}
|
||
.legend-footer-value{width:56px;text-align:right;padding-right:10px;font-family:'Courier New',monospace;}
|
||
.legend-content::-webkit-scrollbar{width:4px;}
|
||
.legend-content::-webkit-scrollbar-track{background:transparent;}
|
||
.legend-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.18);border-radius:4px;}
|
||
.legend-content::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.3);}
|
||
.legend-dark{background:#3b463d!important;border:1px solid rgba(255,255,255,0.10)!important;box-shadow:0 4px 16px rgba(0,0,0,0.5)!important;}
|
||
.legend-dark .legend-content{background:#3b463d;}
|
||
.legend-dark .legend-collapse-caret{background:rgba(110,118,129,0.15);border-color:#30363d;color:#8b949e;}
|
||
.legend-dark .legend-collapse-caret:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;}
|
||
.legend-dark .detail-close-btn{color:rgba(243,243,241,0.75)!important;}
|
||
.legend-dark .detail-close-btn:hover{color:#F3F3F1!important;}
|
||
.legend-dark .legend-stats-header{background:#2a332a!important;color:rgba(243,243,241,0.65)!important;border-bottom-color:rgba(255,255,255,0.1)!important;}
|
||
.legend-dark .legend-footer{background:#2a332a!important;border-top-color:rgba(255,255,255,0.1)!important;color:rgba(243,243,241,0.75)!important;}
|
||
.legend-dark .legend-footer-label{color:rgba(243,243,241,0.65)!important;}
|
||
.legend-dark .legend-item-text{color:#F3F3F1!important;}
|
||
.legend-dark .legend-item-count{background:rgba(255,255,255,0.12)!important;color:rgba(243,243,241,0.9)!important;}
|
||
.legend-dark .legend-item-population{background:rgba(255,255,255,0.12)!important;color:rgba(243,243,241,0.9)!important;}
|
||
.legend-dark .legend-item-selected{outline-color:rgba(255,255,255,0.5)!important;}
|
||
.legend-dark .legend-tree-caret{color:rgba(243,243,241,0.7)!important;}
|
||
.legend-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);}
|
||
`,"legend-component");const n=e;Te("mapStore"),Te("dataStore");const a=Te("uiStore"),r=wr(n,"legendType"),{items:s,columns:i,title:l,activeFilter:c,setFilter:u,totalCount:f,totalPopulation:b,progress:k,fmtPop:x,fmtCount:m}=Ja(r,ds);Te("normalizedPeopleGroups",null);const v=Te("mapId",null),g=Q(()=>a.isMobile),y=Q(()=>a.legendMode),d=Q(()=>a.selectedPeopleGroup),h=le(n.initiallyCollapsed);let p=null;const _=Q(()=>{var S;return y.value==="detail"&&d.value?((S=d.value.properties)==null?void 0:S.name)||o("legend.header.peopleGroupFallback"):h.value?o("legend.header.collapsed"):l.value});function L(){h.value=!h.value}De(y,(S,z)=>{S==="detail"&&z!=="detail"&&h.value&&(h.value=!1)});function R(S){u(S)}return Zt(()=>{window.innerWidth<768&&(h.value=!0),p=S=>{var z;v&&((z=S.detail)!=null&&z.mapId)&&S.detail.mapId!==v||(h.value=!1)},window.addEventListener("doxa:openDesktopLegend",p)}),ho(()=>{p&&window.removeEventListener("doxa:openDesktopLegend",p)}),(S,z)=>g.value?(V(),Ge(de(t),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):h.value?(V(),ae("button",{key:1,class:Ee(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:"Expand legend",onClick:z[0]||(z[0]=j=>h.value=!1)},[z[2]||(z[2]=C("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),C("span",Gx,he(de(l)),1),z[3]||(z[3]=C("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],2)):(V(),ae("div",{key:2,class:Ee(["legend-container",{"legend-dark":e.isDark}])},[y.value==="detail"?(V(),ae("button",{key:0,class:"detail-collapse-btn",onClick:dt(L,["stop"]),"aria-label":de(o)("aria.toggleLegend")},null,8,jx)):ve("",!0),y.value==="detail"?(V(),ae("button",{key:1,class:"detail-close-btn",onClick:z[1]||(z[1]=dt(j=>de(a).selectPeopleGroup(null),["stop"])),"aria-label":de(o)("aria.backToLegend")},[...z[4]||(z[4]=[C("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[C("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,zx)):ve("",!0),C("div",{class:Ee(["legend-content",{"no-padding":de(i).length>0}])},[y.value==="detail"&&d.value?(V(),Ge(xl,{key:0,peopleGroup:d.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):e.legendType==="language-family"?(V(),ae(Ie,{key:1},[],64)):(V(),Ge(ug,{key:2,title:_.value,items:de(s),columns:de(i),activeFilter:de(c),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:de(f),totalPopulation:de(b),fmtPop:de(x),fmtCount:de(m),progress:de(k),onFilterClick:R},{"title-caret":Mt(()=>[C("button",{class:"legend-collapse-caret",onClick:dt(L,["stop"]),"aria-label":de(o)("aria.toggleLegend")},[...z[5]||(z[5]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:"rotate(180deg)","transform-origin":"center"}})],-1)])],8,Ux)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount","progress"]))],2)],2))}},[["__scopeId","data-v-b18c719c"]]),Hx={class:"lt-btn-group"},Vx=["title"],qx={class:"lt-btn-text"},Wx=["title"],Yx={class:"lt-btn-group"},Xx=["title"],Jx={key:0,width:"12",height:"12",viewBox:"0 0 12 12"},Zx=["title"],Qx=Ot({__name:"LegendTools",props:{legendType:{type:String,required:!0},isDark:{type:Boolean,default:!1}},emits:["legend-row-fly"],setup(e,{emit:t}){mt(`
|
||
.lt-root{position:absolute;top:14px;left:calc(10px + var(--map-legend-width,340px) / 2);transform:translateX(-50%);z-index:1050;display:flex;gap:8px;align-items:center;flex-wrap:nowrap;background:transparent;pointer-events:auto;}
|
||
@media(max-width:767px){
|
||
.lt-root{display:none;}
|
||
}
|
||
.lt-btn-group{position:relative;display:inline-flex;align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;overflow:visible;box-shadow:0 2px 8px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.08);}
|
||
.lt-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#374151;border-radius:9999px 0 0 9999px;transition:background 0.15s;}
|
||
.lt-btn:last-child{border-radius:0 9999px 9999px 0;}
|
||
.lt-btn:hover{background:rgba(59,130,246,0.08);}
|
||
.lt-btn.active{background:rgba(59,130,246,0.12);color:#2563eb;}
|
||
.lt-btn-icon{font-size:13px;line-height:1;}
|
||
.lt-btn-text{font-size:12px;line-height:1;}
|
||
.lt-side-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;background:transparent;border:none;border-left:1px solid #e5e7eb;cursor:pointer;color:#6b7280;border-radius:0 9999px 9999px 0;transition:background 0.15s;}
|
||
.lt-side-btn:hover{background:rgba(59,130,246,0.08);color:#374151;}
|
||
.lt-side-icon{font-size:13px;line-height:1;}
|
||
.lt-checkbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1.5px solid #9ca3af;border-radius:3px;background:#fff;transition:border-color 0.15s;}
|
||
.lt-checkbox.checked{border-color:#3498db;background:#fff;}
|
||
.lt-popup{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.10);z-index:1100;min-width:160px;padding:4px 0;}
|
||
.lt-popup-row{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;color:#374151;cursor:pointer;transition:background 0.12s;}
|
||
.lt-popup-row:hover{background:rgba(59,130,246,0.08);}
|
||
.lt-popup-row.active{background:rgba(59,130,246,0.12);color:#2563eb;font-weight:600;}
|
||
.lt-popup-icon{font-size:13px;}
|
||
.lt-overlay{position:fixed;inset:0;z-index:1099;background:transparent;}
|
||
.lt-dark .lt-btn-group{background:#2a332a;border-color:rgba(255,255,255,0.12);box-shadow:0 2px 8px rgba(0,0,0,0.4);}
|
||
.lt-dark .lt-btn{color:rgba(243,243,241,0.85);}
|
||
.lt-dark .lt-btn:hover{background:rgba(255,255,255,0.06);}
|
||
.lt-dark .lt-btn.active{background:rgba(124,140,248,0.18);color:#7c8cf8;}
|
||
.lt-dark .lt-side-btn{border-left-color:rgba(255,255,255,0.12);color:rgba(243,243,241,0.7);}
|
||
.lt-dark .lt-side-btn:hover{background:rgba(255,255,255,0.06);color:#F3F3F1;}
|
||
.lt-dark .lt-popup{background:#2a332a;border-color:rgba(255,255,255,0.12);}
|
||
.lt-dark .lt-popup-row{color:rgba(243,243,241,0.85);}
|
||
.lt-dark .lt-popup-row:hover{background:rgba(255,255,255,0.06);}
|
||
.lt-dark .lt-popup-row.active{background:rgba(124,140,248,0.18);color:#7c8cf8;}
|
||
`,"legend-tools");const o=e,n=t,{t:a}=ht(),r=Te("mapStore"),s=wr(o,"legendType"),{items:i,setFilter:l}=Ja(s,ds),c=le(!1),u=le(!1),f=le(0),b=le(null),k=Q(()=>r.isAutoFlying),x=Q(()=>r.isGuidedTourActive),m=Q(()=>r.flySpeed),v=Q(()=>r.showClusters),g=Q(()=>{const D=o.legendType;return D==="doxa-regions"||D==="language-family"||D==="language-families"}),y=Q(()=>({slow:a("buttons.speedOption.slow"),normal:a("buttons.speedOption.normal"),fast:a("buttons.speedOption.fast")})[m.value]||a("buttons.speedOption.normal")),d=Q(()=>({slow:8e3,normal:5e3,fast:3e3})[m.value]||5e3);function h(){c.value=!c.value,c.value&&(u.value=!1)}function p(D){r.setFlySpeed(D),setTimeout(()=>{c.value=!1},300)}function _(){r.toggleClusters()}function L(D){r.setClusterMode(D),setTimeout(()=>{u.value=!1},500)}function R(){k.value?z():(x.value,S())}function S(){i.value.length!==0&&(f.value=0,r.startAutoFly([]),O(),j())}function z(){b.value&&(clearTimeout(b.value),b.value=null),r.stopAutoFly()}function j(){b.value=setTimeout(()=>{k.value&&(f.value=(f.value+1)%i.value.length,O(),j())},d.value)}function O(){const D=i.value[f.value];D&&(l(D.filterKey),n("legend-row-fly",{index:f.value,filterKey:D.filterKey}))}return ho(()=>{b.value&&clearTimeout(b.value)}),(D,M)=>g.value?(V(),ae("div",{key:0,class:Ee(["lt-root",{"lt-dark":e.isDark}])},[C("div",Hx,[C("button",{class:Ee(["lt-btn",{active:k.value}]),onClick:dt(R,["stop"]),title:k.value?de(a)("buttons.stopFlight"):de(a)("buttons.startAutoFly")},[M[8]||(M[8]=C("span",{class:"lt-btn-icon"},"✈️",-1)),C("span",qx,he(k.value?"Stop":"Fly"),1)],10,Vx),C("button",{class:"lt-side-btn",onClick:dt(h,["stop"]),title:de(a)("buttons.speedLabel")+" "+y.value},[...M[9]||(M[9]=[C("span",{class:"lt-side-icon"},"⏱️",-1)])],8,Wx),c.value?(V(),ae("div",{key:0,class:"lt-popup",onClick:M[3]||(M[3]=dt(()=>{},["stop"]))},[C("div",{class:Ee(["lt-popup-row",{active:m.value==="slow"}]),onClick:M[0]||(M[0]=$=>p("slow"))},he(de(a)("buttons.speedOption.slow")),3),C("div",{class:Ee(["lt-popup-row",{active:m.value==="normal"}]),onClick:M[1]||(M[1]=$=>p("normal"))},he(de(a)("buttons.speedOption.normal")),3),C("div",{class:Ee(["lt-popup-row",{active:m.value==="fast"}]),onClick:M[2]||(M[2]=$=>p("fast"))},he(de(a)("buttons.speedOption.fast")),3)])):ve("",!0)]),C("div",Yx,[C("button",{class:Ee(["lt-btn",{active:v.value}]),onClick:dt(_,["stop"]),title:de(a)("buttons.showClusters")},[C("span",{class:Ee(["lt-checkbox",{checked:v.value}])},[v.value?(V(),ae("svg",Jx,[...M[10]||(M[10]=[C("path",{d:"M2 6l3 3 5-6",stroke:"#3498db","stroke-width":"2",fill:"none"},null,-1)])])):ve("",!0)],2),M[11]||(M[11]=C("span",{class:"lt-btn-text"},"Clusters",-1))],10,Xx),C("button",{class:"lt-side-btn",onClick:M[4]||(M[4]=dt($=>u.value=!u.value,["stop"])),title:de(a)("buttons.clusterSettings")},[...M[12]||(M[12]=[C("span",{class:"lt-side-icon"},"⚙️",-1)])],8,Zx),u.value?(V(),ae("div",{key:0,class:"lt-popup",onClick:M[6]||(M[6]=dt(()=>{},["stop"]))},[C("div",{class:"lt-popup-row active",onClick:M[5]||(M[5]=$=>L("mst"))},[...M[13]||(M[13]=[C("span",{class:"lt-popup-icon"},"⌬",-1),C("span",null,[gt("Minimum Spanning Tree"),C("br"),C("small",{style:{opacity:"0.7","font-weight":"400"}},"click a legend row to cluster only that group")],-1)])])])):ve("",!0),u.value?(V(),ae("div",{key:1,class:"lt-overlay",onClick:M[7]||(M[7]=dt($=>u.value=!1,["stop"]))})):ve("",!0)])],2)):ve("",!0)}},[["__scopeId","data-v-2768aea7"]]),ek={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=le(null);return St("mapToolbar",{el:t}),mt(`
|
||
.map-toolbar {
|
||
position: absolute;
|
||
top: 6px;
|
||
inset-inline-end: 3px;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: var(--map-toolbar-gap, 8px);
|
||
z-index: 10;
|
||
}
|
||
.map-toolbar .mcb,
|
||
.map-toolbar .hbg-btn { width: 32px; height: 32px; }
|
||
.map-toolbar .hbg-ctrl { margin: 10px 0 0 0; }
|
||
@media (max-width: 767px) {
|
||
.map-toolbar { top: 72px; gap: 6px; }
|
||
.map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; }
|
||
}
|
||
`,"map-toolbar"),(o,n)=>(V(),ae("div",{ref_key:"toolbarEl",ref:t,class:Ee(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Fo(o.$slots,"default")],2))}},tk=["title","disabled"],ta={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return mt(`
|
||
.mcb{
|
||
width:var(--map-btn-size,40px);height:var(--map-btn-size,40px);
|
||
background:#fff;
|
||
border:none;
|
||
border-radius:50%;
|
||
cursor:pointer;
|
||
user-select:none;-webkit-user-select:none;
|
||
display:flex;align-items:center;justify-content:center;
|
||
box-shadow:0 1px 3px rgba(0,0,0,0.18);
|
||
transition:background-color 0.2s,box-shadow 0.2s,transform 0.1s;
|
||
color:#333;
|
||
flex-shrink:0;
|
||
outline:none;
|
||
-webkit-tap-highlight-color:transparent;
|
||
}
|
||
.mcb:hover:not(:disabled){background:#f0f0f0;box-shadow:0 2px 8px rgba(0,0,0,0.18),0 4px 16px rgba(0,0,0,0.12);}
|
||
.mcb:active:not(:disabled){transform:scale(0.93);}
|
||
.mcb:disabled{opacity:0.4;cursor:not-allowed;}
|
||
.mcb.active{background:#e8f0fe;color:#1a73e8;}
|
||
.mcb.dark{background:#3b463d;color:#F3F3F1;border:1px solid rgba(255,255,255,0.14);box-shadow:0 1px 4px rgba(0,0,0,0.4);}
|
||
.mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);}
|
||
.mcb.dark.active{background:#4e594f;color:#92b195;}
|
||
@media(max-width:767px){.mcb{width:36px;height:36px;}}
|
||
`,"map-control-button"),(t,o)=>(V(),ae("button",{class:Ee(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Fo(t.$slots,"default")],10,tk))}},ok={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=ht(),o=e;function n(){var a;(a=o.map)==null||a.zoomIn()}return(a,r)=>(V(),Ge(ta,{"is-dark":e.isDark,title:de(t)("buttons.zoomIn"),onClick:n},{default:Mt(()=>[...r[0]||(r[0]=[C("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},nk={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=ht(),o=e;function n(){var a;(a=o.map)==null||a.zoomOut()}return(a,r)=>(V(),Ge(ta,{"is-dark":e.isDark,title:de(t)("buttons.zoomOut"),onClick:n},{default:Mt(()=>[...r[0]||(r[0]=[C("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},ak={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=ht(),o=e;function n(){var r;(r=o.map)==null||r.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function a(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:s,latitude:i}=r.coords;Number.isFinite(s)&&Number.isFinite(i)?o.map.flyTo({center:[s,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,s)=>(V(),Ge(ta,{"is-dark":e.isDark,title:de(t)("buttons.resetView"),onClick:a},{default:Mt(()=>[...s[0]||(s[0]=[C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[C("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},rk={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},sk={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},ik={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=ht(),n=e,a=t,r=le(!1);let s=null,i=null,l=null,c=null,u=null,f=null,b=null,k=null,x=null,m=null,v=null,g=0,y=0,d=null,h=null;function p(){if(typeof document>"u")return!1;const $=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test($)||$.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function _(){var $,T,N;return((N=(T=($=n.mapContainer)==null?void 0:$.getRootNode)==null?void 0:T.call($))==null?void 0:N.host)??null}function L(){var T,N;const $=(N=(T=n.mapContainer)==null?void 0:T.getRootNode)==null?void 0:N.call(T);return document.fullscreenElement||document.webkitFullscreenElement||($&&$ instanceof ShadowRoot?$.fullscreenElement:null)||null}function R($){const T=$.requestFullscreen||$.webkitRequestFullscreen;if(!T)return Promise.reject(new Error("Fullscreen API unavailable"));const N=T.call($);return N&&typeof N.then=="function"?N:Promise.resolve()}function S(){const $=document.exitFullscreen||document.webkitExitFullscreen;if(!$)return Promise.reject(new Error("Fullscreen API unavailable"));const T=$.call(document);return T&&typeof T.then=="function"?T:Promise.resolve()}function z(){const $=_();if(!$)return!1;if(l=$,i=$.style.cssText,$.style.position="fixed",$.style.top="0",$.style.left="0",$.style.right="0",$.style.bottom="0",$.style.width="100vw",$.style.height="100vh",$.style.height="100dvh",$.style.zIndex="2147483647",$.style.margin="0",$.style.borderRadius="0",$.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){g=window.scrollY||window.pageYOffset||0,y=window.scrollX||window.pageXOffset||0;const T=document.body,N=document.documentElement;c=T?T.style.overflow:null,u=N?N.style.overflow:null,f=T?T.style.position:null,b=T?T.style.top:null,k=T?T.style.left:null,x=T?T.style.width:null,m=T?T.style.touchAction:null,v=N?N.style.touchAction:null,N&&(N.style.overflow="hidden",N.style.touchAction="none"),T&&(T.style.overflow="hidden",T.style.position="fixed",T.style.top=`-${g}px`,T.style.left=`-${y}px`,T.style.width="100%",T.style.touchAction="none"),d=q=>{if(!l)return;const ce=q.target;ce&&(ce===l||l.contains&&l.contains(ce))||q.cancelable&&q.preventDefault()},h=q=>{if(!l)return;const ce=q.target;ce&&(ce===l||l.contains&&l.contains(ce))||q.cancelable&&q.preventDefault()},document.addEventListener("touchmove",d,{passive:!1,capture:!0}),document.addEventListener("wheel",h,{passive:!1,capture:!0})}return!0}function j(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const $=document.body,T=document.documentElement;$&&($.style.overflow=c??"",$.style.position=f??"",$.style.top=b??"",$.style.left=k??"",$.style.width=x??"",$.style.touchAction=m??""),T&&(T.style.overflow=u??"",T.style.touchAction=v??""),d&&(document.removeEventListener("touchmove",d,{capture:!0}),d=null),h&&(document.removeEventListener("wheel",h,{capture:!0}),h=null),typeof window<"u"&&(g||y)&&window.scrollTo(y,g)}c=null,u=null,f=null,b=null,k=null,x=null,m=null,v=null,g=0,y=0}}function O(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function D(){if(!p()){r.value?(j(),r.value=!1,a("change",!1)):z()&&(r.value=!0,a("change",!0)),O();return}if(L())S().then(()=>{r.value=!1,a("change",!1)}).catch(()=>{});else{const T=_()??document.documentElement;R(T).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{R(document.documentElement).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{})})}}function M(){r.value=!!L(),a("change",r.value)}return Zt(()=>{var T,N;document.addEventListener("fullscreenchange",M),document.addEventListener("webkitfullscreenchange",M);const $=(N=(T=n.mapContainer)==null?void 0:T.getRootNode)==null?void 0:N.call(T);$ instanceof ShadowRoot&&(s=$,$.addEventListener("fullscreenchange",M),$.addEventListener("webkitfullscreenchange",M))}),ho(()=>{document.removeEventListener("fullscreenchange",M),document.removeEventListener("webkitfullscreenchange",M),s&&(s.removeEventListener("fullscreenchange",M),s.removeEventListener("webkitfullscreenchange",M),s=null),l&&j()}),($,T)=>(V(),Ge(ta,{"is-dark":e.isDark,active:r.value,title:de(o)("buttons.toggleFullscreen"),onClick:D},{default:Mt(()=>[r.value?(V(),ae("svg",sk,[...T[1]||(T[1]=[C("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(V(),ae("svg",rk,[...T[0]||(T[0]=[C("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},lk={style:{"font-size":"16px","line-height":"1"}},ck={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=ht();return(o,n)=>de(sv)?(V(),Ge(ta,{key:0,"is-dark":e.isDark,title:e.isDark?de(t)("buttons.switchToLightMode"):de(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:Mt(()=>[C("span",lk,he(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"])):ve("",!0)}},uk=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],dk={"people-groups":["blocs","clusters","peopleGroups","people","places","families","languages","dialects","regions","religions"],language:["families","languages","dialects","people","blocs","clusters","peopleGroups","places","regions","religions"],regions:["regions","wagfBlocks","places","blocs","clusters","peopleGroups","people","families","languages","dialects","religions"],religion:["religions","people","blocs","clusters","peopleGroups","places","families","languages","dialects","regions"]};function pk(e){return dk[e]||uk}const gk={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},ps=["peopleGroups","people","places","languages","religions"],fk={regions:[...ps,"regions","wagfBlocks"],"people-groups":[...ps,"blocs","clusters"],language:[...ps,"dialects","families"],religion:[...ps]},hk=100,mk=50,bk=25,yk=10,kl=5,fg=20,vk=[[/ sign language$/i,"Sign Language"]];function _k(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function xk(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function kk(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(qe[n])return qe[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(qe[a])return qe[a]}}if(qe[e])return qe[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(o!==e&&qe[o])return qe[o];for(const[n,a]of vk)if(n.test(e))return a;return null}function hg(e,t){return{id:`doxa-section-header-${wl(e)}`,place_name:e,text:e,center:[0,0],place_type:["doxa-section-header"],geometry:{type:"Point",coordinates:[0,0]},properties:{headerLabel:e,isHeader:!0,isAllDataSection:!!t},feature:null}}function wl(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Re(e){return e==null?"":typeof e=="string"?e.toLowerCase():typeof e=="object"&&"label"in e?String(e.label||"").toLowerCase():typeof e=="object"&&"value"in e?String(e.value||"").toLowerCase():String(e).toLowerCase()}function gs(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function wk(e){var o,n,a,r,s;if(!Array.isArray(e))return[];const t=[];for(const i of e){if(!i)continue;const l=Number(i.latitude),c=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(c))continue;const u=Re(i.name)+" "+Re(i.displayName)+" "+Re(i.alternateName),f=Re(i.countryName)+" "+Re(i.country)+" "+Re(i.countryIso)+" "+Re(i.countryIsoLabel),b=Re(i.religionName)+" "+Re(i.religion)+" "+Re(i.religionLabel)+" "+Re(i.religionCode),k=Re(i.language)+" "+Re(i.languageFamily)+" "+Re(i.languageCode),x=Re(i.doxaRegion)+" "+Re(i.wagfRegion)+" "+Re(i.wagfBlock),m=Re(i.affinityBlock)+" "+Re(i.affinityBlockLabel)+" "+Re((o=i._raw)==null?void 0:o.rop1),v=Re(i.cluster)+" "+Re(i.clusterLabel)+" "+Re((n=i._raw)==null?void 0:n.imb_reg_of_people_2),g=Re(i.peopleGroup)+" "+Re(i.peopleGroupLabel)+" "+Re((a=i._raw)==null?void 0:a.imb_reg_of_people_25),y=((r=i._raw)==null?void 0:r.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),d=y&&(typeof y=="object"?y.label||y.value:y)||gs(i.language)||gs(i.primaryLanguage)||"",h=_k(d),p=xk(d);t.push({feature:i,nameHay:u,countryHay:f,religionHay:b,languageHay:k,regionHay:x,haystack:u+" "+f+" "+b+" "+k+" "+x+" "+m+" "+v+" "+g,blocHay:m,clusterHay:v,pgHay:g,lat:l,lng:c,familyDerived:kk(d)||null,languageLabel:d,baseLang:h,dialectLabel:p})}return t}function Ak(e){const t=(o,n,a)=>{const r=new Map;for(const s of e){const i=o(s);if(!i)continue;const l=r.get(i);if(l)l.count+=1,l.lngSum+=s.lng,l.latSum+=s.lat,l.memberIds.push(String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")),l.minLng=Math.min(l.minLng,s.lng),l.maxLng=Math.max(l.maxLng,s.lng),l.minLat=Math.min(l.minLat,s.lat),l.maxLat=Math.max(l.maxLat,s.lat),a&&a(l,s,!1);else{const c={key:i,label:gs(n(s))||i,count:1,lngSum:s.lng,latSum:s.lat,minLng:s.lng,maxLng:s.lng,minLat:s.lat,maxLat:s.lat,memberIds:[String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")]};a&&a(c,s,!0),r.set(i,c)}}for(const s of r.values())s.lng=s.lngSum/s.count,s.lat=s.latSum/s.count;return Array.from(r.values())};return{countries:t(o=>Re(o.feature.countryName)||Re(o.feature.country)||Re(o.feature.countryIso),o=>o.feature.countryName||o.feature.country||o.feature.countryIso||""),families:t(o=>Re(o.familyDerived),o=>o.familyDerived||""),languages:t(o=>Re(o.baseLang),o=>o.baseLang||""),dialects:t(o=>o.dialectLabel?`${Re(o.baseLang)}__${Re(o.dialectLabel)}`:"",o=>`${o.baseLang}, ${o.dialectLabel}`,(o,n,a)=>{a?(o.originalLabels=new Set([n.languageLabel]),o.familyDerived=n.familyDerived||"",o.baseLang=n.baseLang||"",o.dialectLabel=n.dialectLabel||""):(o.originalLabels.add(n.languageLabel),!o.familyDerived&&n.familyDerived&&(o.familyDerived=n.familyDerived))}),religions:t(o=>{var n,a,r;return qa(o.feature.religion||((a=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:a.value)||((r=o.feature._raw)==null?void 0:r.religion)||"")},o=>{var n,a,r;return Cn[qa(o.feature.religion||((a=(n=o.feature._raw)==null?void 0:n.religion)==null?void 0:a.value)||((r=o.feature._raw)==null?void 0:r.religion)||"")]||"Unknown"}),regions:t(o=>Re(o.feature.doxaRegion)||Re(o.feature.wagfRegion),o=>{var n,a;return o.feature.wagfRegionLabel||o.feature.doxaRegionLabel||((a=(n=o.feature._raw)==null?void 0:n.wagf_region)==null?void 0:a.label)||o.feature.doxaRegion||o.feature.wagfRegion||""}),wagfBlocks:t(o=>Re(o.feature.wagfBlock),o=>{var n,a;return o.feature.wagfBlockLabel||((a=(n=o.feature._raw)==null?void 0:n.wagf_block)==null?void 0:a.label)||o.feature.wagfBlock||""}),blocs:t(o=>Re(o.feature.affinityBlockLabel)||Re(o.feature.affinityBlock),o=>o.feature.affinityBlockLabel||o.feature.affinityBlock||"",(o,n,a)=>{a&&(o.blocCode=n.feature.affinityBlock||"")}),clusters:t(o=>{const n=o.feature.affinityBlock||"",a=o.feature.cluster||"";return a?`${n}__${a}`:""},o=>o.feature.clusterLabel||o.feature.cluster||"",(o,n,a)=>{a&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"")}),peopleGroups:t(o=>Re(o.feature.peopleGroup)||Re(o.feature.peopleGroupLabel),o=>o.feature.peopleGroupLabel||o.feature.peopleGroup||o.feature.name||"",(o,n,a)=>{a&&(o.blocCode=n.feature.affinityBlock||"",o.blocLabel=n.feature.affinityBlockLabel||"",o.clusterCode=n.feature.cluster||"",o.clusterLabel=n.feature.clusterLabel||"",o.peopleGroupCode=n.feature.peopleGroup||"")})}}function Sk(e){const t=e.feature,o=t.name||t.displayName||t.slug||"Unknown",n=t.countryName||t.country||t.countryIso||"",a=t.religionName||t.religion||"",r=t.slug||t.uniqueId||wl(o+"-"+n),s=[e.lng,e.lat],i=[n,a].filter(Boolean).join(" — "),l=i?`${o}, ${i}`:o;return{id:`doxa-pg-${r}`,place_name:l,text:o,center:s,place_type:["people-group"],geometry:{type:"Point",coordinates:s},properties:{slug:r,...t},feature:t}}function Ao(e,t){let o,n;switch(e){case"country":o="doxa-country",n="doxa-country-";break;case"region":o="doxa-region",n="doxa-region-";break;case"language-family":o="doxa-language-family",n="doxa-language-family-";break;case"language":o="doxa-language",n="doxa-language-";break;case"dialect":o="doxa-dialect",n="doxa-dialect-";break;case"religion":o="doxa-religion",n="doxa-religion-";break;case"affinity-bloc":o="doxa-affinity-bloc",n="doxa-affinity-bloc-";break;case"cluster":o="doxa-cluster",n="doxa-cluster-";break;case"people-group":o="doxa-people-group",n="doxa-people-group-";break;default:o="doxa",n="doxa-"}const a=gs(t.label)||t.key,r=wl(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],c=l?`${a} (${l}) · ${t.count}`:`${a} (${t.count})`,u=t.originalLabels?Array.from(t.originalLabels):void 0,f=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${n}${r}`,place_name:c,text:a,center:s,bbox:[t.minLng,t.minLat,t.maxLng,t.maxLat],place_type:[o],geometry:{type:"Point",coordinates:s},properties:{slug:r,doxaAggregate:e,count:t.count,label:a,memberIds:t.memberIds,bounds:[t.minLng,t.minLat,t.maxLng,t.maxLat],...u?{originalLabels:u}:{},...f||{},...e==="affinity-bloc"?{blocCode:t.blocCode||""}:{},...e==="cluster"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||""}:{},...e==="people-group"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||"",clusterLabel:t.clusterLabel||"",peopleGroupCode:t.peopleGroupCode||""}:{}},feature:null}}function Lk(e={}){const{dataStore:t,dataSourceId:o,getActiveFilter:n,getActiveContext:a}=e,{t:r}=ht(),s=Q(()=>{var f,b;if(!t||!t.sources)return[];if(o&&((f=t.sources[o])!=null&&f.features))return t.sources[o].features;for(const k of Object.keys(t.sources)){const x=t.sources[k];if((b=x==null?void 0:x.features)!=null&&b.length)return x.features}return[]}),i=Q(()=>wk(s.value)),l=Q(()=>Ak(i.value));function c(f){const b=String(f||"").trim().toLowerCase(),k={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(b.length<2)return k;const x=b.split(/[\s,;]+/).filter(Boolean);if(!x.length)return k;const m=i.value;if(!m.length)return k;const v=l.value,g=[];for(const T of m){let N=!0;for(const ce of x)if(!T.haystack.includes(ce)){N=!1;break}if(!N)continue;let q=0;x.some(ce=>T.nameHay.includes(ce))&&(q+=hk),x.some(ce=>T.countryHay.includes(ce))&&(q+=mk),x.some(ce=>T.religionHay.includes(ce))&&(q+=bk),x.some(ce=>T.languageHay.includes(ce))&&(q+=yk),g.push({entry:T,score:q})}g.sort((T,N)=>N.score-T.score);const y=g.slice(0,kl).map(T=>Sk(T.entry)),d=T=>T.filter(N=>x.every(q=>N.key.includes(q)||Re(N.label).includes(q))).sort((N,q)=>q.count-N.count).slice(0,kl),h=d(v.countries).map(T=>Ao("country",T)),p=d(v.regions).map(T=>Ao("region",T)),_=d(v.wagfBlocks).map(T=>Ao("region",T)),L=d(v.families).map(T=>Ao("language-family",T)),R=d(v.languages).map(T=>Ao("language",T)),S=d(v.dialects).map(T=>Ao("dialect",T)),z=d(v.religions).map(T=>Ao("religion",T)),j=d(v.blocs).map(T=>Ao("affinity-bloc",T));let O=d(v.clusters).map(T=>Ao("cluster",T)),D=d(v.peopleGroups).map(T=>Ao("people-group",T));const M=new Set(j.map(T=>Re(T.text)));O=O.filter(T=>!M.has(Re(T.text)));const $=new Set(O.map(T=>Re(T.text)));return D=D.filter(T=>!M.has(Re(T.text))&&!$.has(Re(T.text))),{people:y,places:h,regions:p,wagfBlocks:_,families:L,languages:R,dialects:S,religions:z,blocs:j,clusters:O,peopleGroups:D}}function u(f){const b=typeof n=="function"?n():null,k=typeof a=="function"?a():null,x=c(f),m=pk(k),v=fk[k],g=v?Object.fromEntries(v.filter(L=>x[L]).map(L=>[L,x[L]])):x,y=m.flatMap(L=>g[L]||[]);if(!(b!=null&&b.key)||!y.length)return y.slice(0,fg);const d=[];for(const L of x.people){const R=i.value.find(z=>z.feature===L.feature);let S=!1;R&&(b.kind==="family"?S=(R.familyDerived||"").toLowerCase()===b.key.toLowerCase():b.kind==="language"&&(S=R.languageLabel.toLowerCase()===b.key.toLowerCase())),S&&d.push(L)}const h=[],p=b.key;d.length&&(h.push(hg(r("search.sections.within",{selection:p}),!1)),h.push(...d.slice(0,kl)));const _=m.flatMap(L=>(g[L]||[]).slice(0,gk[L]??3)).map(L=>({...L,properties:{...L.properties,_allDataSection:!0}}));return h.push(hg(r("search.sections.allData"),!0)),h.push(..._),h.slice(0,fg+8)}return{search:u,searchGrouped:c,index:i,aggregates:l}}const mg="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",Ck={__name:"GeocoderComponent",props:{mapInstance:{type:Object,required:!1,default:null},accessToken:{type:String,required:!0},provider:{type:String,default:"mapbox"},isDark:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},placeholder:{type:String,default:""},dataSourceId:{type:String,default:""},activeContext:{type:String,default:""}},emits:["result","people-group-result","aggregate-result","clear","error"],setup(e,{expose:t,emit:o}){function n(j){return j+j.replace(/mapboxgl/g,"maplibregl")}mt(n('.mapboxgl-ctrl-geocoder--input,.mapboxgl-ctrl-geocoder input[type="text"],.mapboxgl-ctrl-geocoder input[type="search"]{font-size:16px !important;line-height:1.3;}'),"geocoder-ios-zoom-fix"),mt(n(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),mt(n(".mapboxgl-ctrl-geocoder{height:35px!important;min-height:35px!important;box-sizing:border-box!important;}.mapboxgl-ctrl-geocoder--input{height:35px!important;min-height:35px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important;}.mapboxgl-ctrl-geocoder--icon-search{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;left:7px!important;}"),"geocoder-height-35"),mt(n(".mapboxgl-ctrl-geocoder{width:100%!important;max-width:100%!important;min-width:0!important;}@media(max-width:767px){.dg-search-band{top:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;padding:9px 14px!important;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.10);}.dg-search-band--dark{background:#3b463d;box-shadow:0 1px 4px rgba(0,0,0,0.35);}.dg-search-band .mapboxgl-ctrl,.dg-search-band .maplibregl-ctrl{margin:0!important;float:none!important;}}.mapboxgl-ctrl-geocoder{border-radius:999px!important;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;transition:box-shadow .12s,border-color .12s;}.mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important;}.mapboxgl-ctrl-geocoder--input{border-radius:999px!important;font-size:13px!important;}.mapboxgl-ctrl-geocoder--input::placeholder{font-size:12px!important;}.mapboxgl-ctrl-geocoder--button{display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important;}.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button{display:block!important;}.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important;}.mapboxgl-ctrl-geocoder--suggestions,.mapboxgl-ctrl-geocoder .suggestions{z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important;}.geocoder-dark.mapboxgl-ctrl-geocoder,.dsm-dark .mapboxgl-ctrl-geocoder{background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important;}.geocoder-dark.mapboxgl-ctrl-geocoder:focus-within,.dsm-dark .mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input,.dsm-dark .mapboxgl-ctrl-geocoder--input{color:#F3F3F1!important;background:transparent!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input::placeholder,.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder{color:rgba(243,243,241,0.65)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--icon,.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon{fill:rgba(243,243,241,0.75)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--button,.dsm-dark .mapboxgl-ctrl-geocoder--button{background:transparent!important;}"),"geocoder-skin");const{t:a,locale:r}=ht(),s=e,i=Q(()=>s.placeholder||a("search.placeholder")),l=o,c={"&":"&","<":"<",">":">",'"':""","'":"'"};function u(j){return String(j??"").replace(/[&<>"']/g,O=>c[O])}function f(j){return j==null?"":typeof j=="string"?j:typeof j=="object"?j.label||j.value||"":String(j)}const b={"people-group":"people","doxa-people-group":"peopleGroup","doxa-affinity-bloc":"bloc","doxa-cluster":"cluster","doxa-country":"country","doxa-region":"region","doxa-language-family":"family","doxa-language":"languageKind","doxa-dialect":"dialect","doxa-religion":"religionKind"};function k(j){const O=b[j];if(!O)return"";const D=a("search.kinds."+O);return`<span class="dg-tag" title="${u(D)}">${u(D)}</span>`}function x(j){var M;if(!j)return"";const O=j.place_type||[];if(O.includes("doxa-section-header"))return`<div class="dg-section-header-item">${u(((M=j.properties)==null?void 0:M.headerLabel)||j.text||"")}</div>`;if(O.includes("people-group")){const $=j.properties||{},T=f($.name)||f($.displayName)||f(j.text)||"",N=f($.countryName)||f($.country)||f($.countryIso)||"",q=f($.language)||f($.primaryLanguage)||f($.languageFamily)||"",ce=f($.religionName)||f($.religion)||"",ee=a("search.labels.place"),oe=a("search.labels.language"),H=a("search.labels.religion"),pe=[];return N&&pe.push(`<span class="dg-field"><strong>${u(ee)}</strong> ${u(N)}</span>`),q&&pe.push(`<span class="dg-field"><strong>${u(oe)}</strong> ${u(q)}</span>`),ce&&pe.push(`<span class="dg-field"><strong>${u(H)}</strong> ${u(ce)}</span>`),`<div class="dg-main">${k("people-group")}<strong>${u(T)}</strong></div>`+(pe.length?`<div class="dg-meta">${pe.join("")}</div>`:"")}const D=O.find($=>$.startsWith("doxa-"));if(D){const $=j.properties||{},T=u(f($.label)||j.text||""),N=Number($.count)||0,q=N?` <span class="dg-count">${N}</span>`:"";return`<div class="dg-main">${k(D)}<span class="dg-agg-label">${T}</span>${q}</div>`}return`<div class="dg-main">${u(j.place_name||j.text||"")}</div>`}const m=Te("dataStore",null),v=Te("mapStore",null),g=Te("uiStore",null);function y(){return v?v.selectedFamily?{kind:"family",key:v.selectedFamily}:v.selectedLanguage?{kind:"language",key:v.selectedLanguage}:null:null}const{search:d}=Lk({dataStore:m,dataSourceId:s.dataSourceId||void 0,getActiveFilter:y,getActiveContext:()=>s.activeContext||null}),h=kr(null),p=le(null),_={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",maplibre:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.css"};function L(j,O){const D=_[O]||_.mapbox;if(j.querySelector(`link[href="${D}"]`))return;const M=document.createElement("link");M.rel="stylesheet",M.href=D,j.prepend(M)}async function R(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const j=document.querySelector(`script[src="${mg}"]`);if(j){if(window.MaplibreGeocoder)return;await new Promise(O=>{j.addEventListener("load",O,{once:!0}),j.addEventListener("error",O,{once:!0})});return}await new Promise((O,D)=>{const M=document.createElement("script");M.src=mg,M.async=!1,M.addEventListener("load",O,{once:!0}),M.addEventListener("error",()=>D(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(M)})}function S(j,O){return async D=>{const M={features:[]};if(!j||!(D!=null&&D.query))return M;try{const $=Array.isArray(D.language)?D.language[0]:D.language||O()||"en",T=new URLSearchParams({access_token:j,autocomplete:"true",limit:String(D.limit||5)});$&&T.set("language",$);const N=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(D.query)}.json?${T.toString()}`,q=await fetch(N);if(!q.ok)return M;const ce=await q.json();return ce&&Array.isArray(ce.features)?ce:M}catch{return M}}}Zt(async()=>{var $,T,N,q,ce;const j=s.provider==="maplibre";if(j){if(await R(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u")return;const O=s.mapInstance;if(!s.standalone&&!O)return;const D=s.standalone?(T=($=p.value)==null?void 0:$.getRootNode)==null?void 0:T.call($):(ce=(q=(N=O.getContainer)==null?void 0:N.call(O))==null?void 0:q.getRootNode)==null?void 0:ce.call(q);D instanceof ShadowRoot&&L(D,s.provider);const M={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:r.value||"en",localGeocoder:d,limit:20,zoom:6,render:x};if(j){const ee=typeof maplibregl<"u"?maplibregl:void 0,oe={forwardGeocode:S(s.accessToken,()=>r.value)};h.value=new MaplibreGeocoder(oe,{...M,maplibregl:ee,showResultsWhileTyping:!0,reverseGeocode:!1})}else h.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...M});if(h.value.on("result",ee=>{var H,pe,we,ue,$e,Ae,ie,ye,me,Le,E,F,B,K,te,U,X,ne,w,A,W,re,be,fe,Z,P,Y,ge,xe,Se;const oe=ee==null?void 0:ee.result;oe&&((H=oe.place_type)!=null&&H.includes("doxa-section-header")||(v&&(v.selectedRegion=null,v.selectedResource=null,v.selectedAffinityBlock=null,v.selectedDialect=null),g&&((pe=g.setPrayerFilter)==null||pe.call(g,null),(we=g.setEngagementFilter)==null||we.call(g,null),(ue=g.setAdoptionFilter)==null||ue.call(g,null),($e=g.setReligionFilter)==null||$e.call(g,null)),(Ae=oe.properties)!=null&&Ae._allDataSection&&v&&(v.selectedFamily=null,v.selectedLanguage=null),l("result",ee),(ie=oe.place_type)!=null&&ie.includes("people-group")&&oe.feature?l("people-group-result",{type:"Feature",properties:oe.properties||oe.feature,geometry:oe.geometry||{type:"Point",coordinates:oe.center}}):((ye=oe.place_type)!=null&&ye.includes("doxa-country")||(me=oe.place_type)!=null&&me.includes("doxa-region")||(Le=oe.place_type)!=null&&Le.includes("doxa-language-family")||(E=oe.place_type)!=null&&E.includes("doxa-language")||(F=oe.place_type)!=null&&F.includes("doxa-dialect")||(B=oe.place_type)!=null&&B.includes("doxa-religion")||(K=oe.place_type)!=null&&K.includes("doxa-affinity-bloc")||(te=oe.place_type)!=null&&te.includes("doxa-cluster")||(U=oe.place_type)!=null&&U.includes("doxa-people-group"))&&l("aggregate-result",{kind:oe.place_type[0].replace(/^doxa-/,""),label:((X=oe.properties)==null?void 0:X.label)||oe.text,count:((ne=oe.properties)==null?void 0:ne.count)||0,memberIds:((w=oe.properties)==null?void 0:w.memberIds)||[],bounds:((A=oe.properties)==null?void 0:A.bounds)||null,center:oe.center,originalLabels:((W=oe.properties)==null?void 0:W.originalLabels)||null,familyDerived:((re=oe.properties)==null?void 0:re.familyDerived)||"",baseLang:((be=oe.properties)==null?void 0:be.baseLang)||"",dialectLabel:((fe=oe.properties)==null?void 0:fe.dialectLabel)||"",slug:((Z=oe.properties)==null?void 0:Z.slug)||null,id:oe.id||null,blocCode:((P=oe.properties)==null?void 0:P.blocCode)||"",blocLabel:((Y=oe.properties)==null?void 0:Y.blocLabel)||"",clusterCode:((ge=oe.properties)==null?void 0:ge.clusterCode)||"",clusterLabel:((xe=oe.properties)==null?void 0:xe.clusterLabel)||"",peopleGroupCode:((Se=oe.properties)==null?void 0:Se.peopleGroupCode)||"",properties:oe.properties||null})))}),h.value.on("clear",()=>l("clear")),h.value.on("error",ee=>l("error",ee)),s.standalone){if(p.value){const ee={on(){},off(){},fire(){},getContainer:()=>p.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const oe=h.value.onAdd(s.mapInstance||ee);oe&&p.value.appendChild(oe)}catch(oe){l("error",oe)}}}else O.addControl(h.value,"top-left"),z()});function z(){var O,D;const j=(D=(O=h.value)==null?void 0:O.container)==null?void 0:D.parentElement;j&&(j.classList.add("dg-search-band"),j.classList.toggle("dg-search-band--dark",!!s.isDark))}return De(()=>s.isDark,()=>z()),De(i,j=>{var M,$;const O=h.value;if(!O)return;const D=O._inputEl||(($=(M=O.container)==null?void 0:M.querySelector)==null?void 0:$.call(M,"input.mapboxgl-ctrl-geocoder--input"));D&&(D.placeholder=j,D.setAttribute("placeholder",j)),O.options&&(O.options.placeholder=j)}),De(r,j=>{const O=h.value;O!=null&&O.options&&(O.options.language=j||"en")}),ho(()=>{var j,O;if(h.value){try{s.standalone?(O=(j=h.value).onRemove)==null||O.call(j):s.mapInstance&&s.mapInstance.removeControl(h.value)}catch{}h.value=null}}),t({geocoder:h}),(j,O)=>e.standalone?(V(),ae("div",{key:0,ref_key:"standaloneContainer",ref:p,class:"dg-standalone-geocoder"},null,512)):Fo(j.$slots,"default",{},void 0,void 0,1)}},Ek=Nn&&Nn.tagName.toUpperCase()==="SCRIPT"&&Nn.src||new URL("country-posters.js",document.baseURI).href,Al=e=>String(e||"").trim().replace(/\/+$/,"");function $k(){try{const t=String(Ek||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Tk(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Al(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Al(o)}return Al($k()||"")}function Pk({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return a?window.location.origin+s:s;const i=Tk(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const Nk=["aria-label"],Mk={class:"mcm-header"},Ik={class:"mcm-title"},Rk={class:"mcm-body"},Fk=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Sl="doxa-map-menu-open",Ok={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){mt(`
|
||
.mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box;
|
||
background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45);
|
||
color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;
|
||
overflow:hidden;opacity:0;transform:translateY(-4px) scale(0.98);animation:mcm-in 0.18s ease-out forwards;}
|
||
@keyframes mcm-in{to{opacity:1;transform:translateY(0) scale(1);}}
|
||
.mcm.light{background:#ffffff;border-color:#d8dee4;box-shadow:0 6px 24px rgba(0,0,0,0.16);color:#1f2328;}
|
||
.mcm-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;min-height:32px;flex:0 0 auto;border-bottom:1px solid #21262d;}
|
||
.mcm.light .mcm-header{border-bottom-color:#d8dee4;}
|
||
.mcm-title{font:600 10px ui-monospace,monospace;color:#73A17F;text-transform:uppercase;letter-spacing:0.07em;}
|
||
.mcm.light .mcm-title{color:#3b463d;}
|
||
.mcm-close{width:22px;height:20px;border:1px solid #30363d;background:rgba(110,118,129,0.12);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#8b949e;padding:0;transition:color 0.1s,background 0.1s,border-color 0.1s;}
|
||
.mcm-close:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;}
|
||
.mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;}
|
||
.mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;}
|
||
.mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;}
|
||
`,"map-control-menu");const o=e,n=t,a=Te("mapToolbar",null),r=le(null),s=le(null),i=le({});function l(){var R;const k=(R=a==null?void 0:a.el)==null?void 0:R.value,x=r.value;if(!k||!x){i.value={};return}const m=x.getBoundingClientRect(),v=k.getBoundingClientRect(),g=(v.left+v.right)/2>(m.left+m.right)/2,y=8,d=12,h=g?m.right-v.left+y:v.right-m.left+y,p=Math.max(200,Math.min(o.width,m.width-h-d)),_=Math.max(0,v.top-m.top);let L=Math.max(120,m.height-_-d);o.matchToolbar&&(L=Math.max(120,Math.min(L,v.height))),o.maxHeight&&(L=Math.min(L,o.maxHeight)),i.value={top:`${Math.round(_)}px`,[g?"right":"left"]:`${Math.round(h)}px`,width:`${Math.round(p)}px`,maxHeight:`${Math.round(L)}px`,...o.height?{height:`${Math.round(Math.min(o.height,L))}px`}:{}}}function c(k){o.open&&k.detail!==s.value&&n("close")}De(()=>o.open,async k=>{var x;if(k){await jt(),l();try{(x=r.value)==null||x.dispatchEvent(new CustomEvent(Sl,{detail:s.value}))}catch{}}});function u(){o.open&&l()}function f(k){k.key==="Escape"&&o.open&&n("close")}function b(k){var m;if(!o.open)return;const x=k.composedPath?k.composedPath():[k.target];s.value&&x.includes(s.value)||(m=a==null?void 0:a.el)!=null&&m.value&&x.includes(a.el.value)||x.some(v=>{var g,y,d,h;return((y=(g=v==null?void 0:v.classList)==null?void 0:g.contains)==null?void 0:y.call(g,"mapboxgl-canvas"))||((h=(d=v==null?void 0:v.classList)==null?void 0:d.contains)==null?void 0:h.call(d,"maplibregl-canvas"))})&&n("close")}return Zt(()=>{var k,x,m;r.value=((x=(k=a==null?void 0:a.el)==null?void 0:k.value)==null?void 0:x.closest(Fk))||null,(m=r.value)==null||m.addEventListener(Sl,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",f)}),ho(()=>{var k;(k=r.value)==null||k.removeEventListener(Sl,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",f)}),(k,x)=>(V(),Ge(fh,{to:r.value,disabled:!r.value},[e.open?(V(),ae("div",{key:0,ref_key:"el",ref:s,class:Ee(["mcm",{light:!e.isDark}]),style:Xe(i.value),role:"dialog","aria-label":e.title},[C("div",Mk,[C("span",Ik,he(e.title),1),C("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:x[0]||(x[0]=m=>n("close"))},[...x[1]||(x[1]=[C("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[C("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),C("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),C("div",Rk,[Fo(k.$slots,"default")])],14,Nk)):ve("",!0)],8,["to","disabled"]))}},Dk={class:"share-steps"},Bk={class:"share-tabs"},Gk={key:0,class:"share-body"},jk={class:"share-url-box"},zk={class:"share-url-text"},Uk={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Kk={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Hk={key:1,class:"share-body"},Vk={class:"share-size-pills"},qk=["onClick"],Wk={class:"share-code-box"},Yk={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Xk={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Jk={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){mt(`
|
||
.share-wrap{position:relative;display:inline-block;border-radius:50%;}
|
||
.share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none;
|
||
background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b);
|
||
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
|
||
opacity:0.6;animation:share-ring-turn 5s linear infinite;}
|
||
.share-wrap:hover::before{opacity:0.95;}
|
||
@keyframes share-ring-turn{to{transform:rotate(360deg);}}
|
||
@media(prefers-reduced-motion:reduce){.share-wrap::before{animation:none;}}
|
||
.share-steps{margin:10px 14px 6px;padding:0 0 0 15px;list-style:'- ';font:14px/1.55 system-ui,sans-serif;color:#c9d1d9;}
|
||
.share-steps li{margin:0 0 3px;padding-left:3px;}
|
||
.share-steps li:last-child{font-weight:600;color:#92b195;}
|
||
.share-pop.light .share-steps{color:#3b463d;}
|
||
.share-pop.light .share-steps li:last-child{color:#3b463d;}
|
||
.share-pop{
|
||
font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
||
font-size:13px;
|
||
color:#e6edf3;
|
||
}
|
||
.share-pop.light{color:#1f2328;}
|
||
.share-tabs{
|
||
display:flex;
|
||
gap:0;
|
||
padding:0 16px;
|
||
margin-top:8px;
|
||
border-bottom:1px solid rgba(255,255,255,0.08);
|
||
}
|
||
.share-pop.light .share-tabs{border-bottom:1px solid rgba(0,0,0,0.08);}
|
||
.share-tab{
|
||
padding:6px 0;
|
||
margin-right:20px;
|
||
font-size:12.5px;
|
||
font-weight:600;
|
||
background:none;border:none;
|
||
color:inherit;opacity:0.5;
|
||
cursor:pointer;
|
||
border-bottom:2px solid transparent;
|
||
transition:opacity 0.15s,border-color 0.2s;
|
||
font-family:inherit;
|
||
white-space:nowrap;
|
||
}
|
||
.share-tab:hover{opacity:0.75;}
|
||
.share-tab.active{
|
||
opacity:1;
|
||
border-bottom-color:#4a90d9;
|
||
}
|
||
.share-pop.light .share-tab.active{
|
||
border-bottom-color:#1a73e8;
|
||
}
|
||
.share-body{
|
||
padding:12px 16px 14px 16px;
|
||
}
|
||
.share-url-box{
|
||
display:flex;
|
||
align-items:center;
|
||
gap:0;
|
||
background:rgba(0,0,0,0.22);
|
||
border:1px solid rgba(255,255,255,0.08);
|
||
border-radius:10px;
|
||
overflow:hidden;
|
||
}
|
||
.share-pop.light .share-url-box{
|
||
background:rgba(0,0,0,0.035);
|
||
border:1px solid rgba(0,0,0,0.10);
|
||
}
|
||
.share-url-text{
|
||
flex:1;
|
||
padding:11px 14px;
|
||
font-size:13px;
|
||
color:#b0b8c8;
|
||
overflow:hidden;
|
||
text-overflow:ellipsis;
|
||
white-space:nowrap;
|
||
-webkit-user-select:all;
|
||
user-select:all;
|
||
}
|
||
.share-pop.light .share-url-text{color:#555;}
|
||
.share-primary-btn{
|
||
display:flex;
|
||
align-items:center;
|
||
justify-content:center;
|
||
gap:8px;
|
||
width:100%;
|
||
padding:12px 0;
|
||
margin-top:14px;
|
||
background:#4a90d9;
|
||
border:none;
|
||
border-radius:10px;
|
||
color:#fff;
|
||
font-size:14.5px;
|
||
font-weight:600;
|
||
cursor:pointer;
|
||
transition:background 0.15s,transform 0.1s;
|
||
font-family:inherit;
|
||
}
|
||
.share-primary-btn:hover{background:#3d7ec5;}
|
||
.share-primary-btn:active{transform:scale(0.98);}
|
||
.share-primary-btn.copied{
|
||
background:#2ea44f;
|
||
}
|
||
.share-pop.light .share-primary-btn{
|
||
background:#1a73e8;
|
||
}
|
||
.share-pop.light .share-primary-btn:hover{
|
||
background:#1565c0;
|
||
}
|
||
.share-pop.light .share-primary-btn.copied{
|
||
background:#2ea44f;
|
||
}
|
||
.share-social-row{
|
||
display:flex;
|
||
align-items:center;
|
||
gap:10px;
|
||
margin-top:16px;
|
||
padding-top:14px;
|
||
border-top:1px solid rgba(255,255,255,0.06);
|
||
}
|
||
.share-pop.light .share-social-row{
|
||
border-top:1px solid rgba(0,0,0,0.06);
|
||
}
|
||
.share-social-label{
|
||
font-size:12px;
|
||
opacity:0.45;
|
||
font-weight:500;
|
||
margin-right:auto;
|
||
white-space:nowrap;
|
||
}
|
||
.share-social-btn{
|
||
width:36px;height:36px;
|
||
border-radius:50%;
|
||
border:1px solid rgba(255,255,255,0.10);
|
||
background:rgba(255,255,255,0.06);
|
||
display:flex;align-items:center;justify-content:center;
|
||
cursor:pointer;
|
||
color:inherit;
|
||
transition:background 0.15s,border-color 0.15s;
|
||
}
|
||
.share-social-btn:hover{
|
||
background:rgba(255,255,255,0.12);
|
||
border-color:rgba(255,255,255,0.18);
|
||
}
|
||
.share-pop.light .share-social-btn{
|
||
border:1px solid rgba(0,0,0,0.10);
|
||
background:rgba(0,0,0,0.03);
|
||
}
|
||
.share-pop.light .share-social-btn:hover{
|
||
background:rgba(0,0,0,0.07);
|
||
border-color:rgba(0,0,0,0.16);
|
||
}
|
||
.share-embed-desc{
|
||
font-size:13.5px;
|
||
line-height:1.55;
|
||
opacity:0.72;
|
||
margin-bottom:16px;
|
||
}
|
||
.share-size-pills{
|
||
display:flex;
|
||
gap:8px;
|
||
margin-bottom:14px;
|
||
}
|
||
.share-size-pill{
|
||
padding:6px 14px;
|
||
border-radius:20px;
|
||
border:1px solid rgba(255,255,255,0.12);
|
||
background:transparent;
|
||
color:inherit;
|
||
font-size:12.5px;
|
||
font-weight:500;
|
||
cursor:pointer;
|
||
transition:background 0.15s,border-color 0.15s;
|
||
font-family:inherit;
|
||
}
|
||
.share-size-pill:hover{
|
||
background:rgba(255,255,255,0.06);
|
||
}
|
||
.share-size-pill.active{
|
||
background:rgba(74,144,217,0.18);
|
||
border-color:rgba(74,144,217,0.45);
|
||
color:#7ab8f5;
|
||
}
|
||
.share-pop.light .share-size-pill{
|
||
border:1px solid rgba(0,0,0,0.12);
|
||
}
|
||
.share-pop.light .share-size-pill:hover{
|
||
background:rgba(0,0,0,0.04);
|
||
}
|
||
.share-pop.light .share-size-pill.active{
|
||
background:rgba(26,115,232,0.10);
|
||
border-color:rgba(26,115,232,0.40);
|
||
color:#1a73e8;
|
||
}
|
||
.share-code-box{
|
||
background:rgba(0,0,0,0.28);
|
||
border:1px solid rgba(255,255,255,0.06);
|
||
border-radius:10px;
|
||
padding:12px 14px;
|
||
font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;
|
||
font-size:11.5px;
|
||
line-height:1.5;
|
||
color:#a0aab8;
|
||
word-break:break-all;
|
||
white-space:pre-wrap;
|
||
max-height:90px;
|
||
overflow-y:auto;
|
||
-webkit-user-select:all;
|
||
user-select:all;
|
||
}
|
||
.share-pop.light .share-code-box{
|
||
background:rgba(0,0,0,0.035);
|
||
border:1px solid rgba(0,0,0,0.08);
|
||
color:#444;
|
||
}
|
||
.share-secondary-btn{
|
||
display:flex;
|
||
align-items:center;
|
||
justify-content:center;
|
||
gap:8px;
|
||
width:100%;
|
||
padding:11px 0;
|
||
margin-top:12px;
|
||
background:rgba(255,255,255,0.08);
|
||
border:1px solid rgba(255,255,255,0.12);
|
||
border-radius:10px;
|
||
color:#e0e4ec;
|
||
font-size:14px;
|
||
font-weight:600;
|
||
cursor:pointer;
|
||
transition:background 0.15s,border-color 0.15s,transform 0.1s;
|
||
font-family:inherit;
|
||
}
|
||
.share-secondary-btn:hover{
|
||
background:rgba(255,255,255,0.13);
|
||
border-color:rgba(255,255,255,0.18);
|
||
}
|
||
.share-secondary-btn:active{transform:scale(0.98);}
|
||
.share-secondary-btn.copied{
|
||
background:rgba(46,164,79,0.16);
|
||
border-color:rgba(46,164,79,0.35);
|
||
color:#5cd680;
|
||
}
|
||
.share-pop.light .share-secondary-btn{
|
||
background:rgba(0,0,0,0.04);
|
||
border:1px solid rgba(0,0,0,0.12);
|
||
color:#333;
|
||
}
|
||
.share-pop.light .share-secondary-btn:hover{
|
||
background:rgba(0,0,0,0.07);
|
||
}
|
||
.share-pop.light .share-secondary-btn.copied{
|
||
background:rgba(46,164,79,0.10);
|
||
border-color:rgba(46,164,79,0.30);
|
||
color:#2ea44f;
|
||
}
|
||
`,"share-button");const{t,tm:o,rt:n}=ht(),a=e,r=le(null),s=le(!1),i=le(null),l=le(null),c=le("link"),u=le(!1),f=le(!1),b=le("medium"),k={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},x=Te("profileConfig",null),m=Q(()=>Pk({embedPath:a.embedPath,profileConfig:de(x)||null})),v=Q(()=>{const _=k[b.value].height;return'<iframe src="'+m.value+'" width="100%" height="'+_+'" style="border:none; border-radius:12px;" allowfullscreen></iframe>'});function g(){s.value=!s.value,s.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){s.value=!1}async function d(_){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(_),!0}catch{}try{const L=document.createElement("textarea");L.value=_,L.setAttribute("readonly",""),L.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(L),L.select();const R=document.execCommand("copy");return document.body.removeChild(L),R}catch{return!1}}async function h(){await d(m.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function p(){await d(v.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}return(_,L)=>(V(),ae("div",{ref_key:"rootEl",ref:r,class:"share-wrap"},[Ze(ta,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:s.value,title:de(t)("buttons.share"),onClick:g},{default:Mt(()=>[...L[2]||(L[2]=[C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),C("polyline",{points:"16 6 12 2 8 6"}),C("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ze(Ok,{open:s.value,title:de(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:Mt(()=>[C("div",{ref_key:"popoverEl",ref:i,class:Ee(["share-pop",{light:!e.isDark}])},[C("ul",Dk,[(V(!0),ae(Ie,null,yt(de(o)("buttons.shareSteps"),(R,S)=>(V(),ae("li",{key:S},he(de(n)(R)),1))),128))]),C("div",Bk,[C("button",{class:Ee(["share-tab",{active:c.value==="link"}]),onClick:L[0]||(L[0]=R=>c.value="link")},"Embed link",2),C("button",{class:Ee(["share-tab",{active:c.value==="embed"}]),onClick:L[1]||(L[1]=R=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),ae("div",Gk,[C("div",jk,[C("div",zk,he(m.value),1)]),C("button",{class:Ee(["share-primary-btn",{copied:u.value}]),onClick:h},[u.value?(V(),ae("svg",Kk,[...L[4]||(L[4]=[C("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),ae("svg",Uk,[...L[3]||(L[3]=[C("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),C("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),gt(" "+he(u.value?"Copied!":"Copy Link"),1)],2)])):ve("",!0),c.value==="embed"?(V(),ae("div",Hk,[L[7]||(L[7]=C("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),C("div",Vk,[(V(),ae(Ie,null,yt(k,(R,S)=>C("button",{key:S,class:Ee(["share-size-pill",{active:b.value===S}]),onClick:z=>b.value=S},he(R.label),11,qk)),64))]),C("div",Wk,he(v.value),1),C("button",{class:Ee(["share-secondary-btn",{copied:f.value}]),onClick:p},[f.value?(V(),ae("svg",Xk,[...L[6]||(L[6]=[C("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),ae("svg",Yk,[...L[5]||(L[5]=[C("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),C("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),gt(" "+he(f.value?"Copied!":"Copy Code"),1)],2)])):ve("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Zk={class:"rm-side-header"},Qk={class:"rm-side-body"},ew={class:"rm-section"},tw={class:"rm-cluster-grid"},ow=["onClick"],nw={class:"label"},aw={class:"desc"},rw={key:0,class:"rm-slider-row"},sw=["value"],iw={class:"val"},lw={class:"rm-section"},cw={class:"rm-side-footer"},uw={__name:"ResearchMapSideMenu",props:{isOpen:{type:Boolean,default:!1}},emits:["close","open-poster","reload-map"],setup(e,{emit:t}){const o=t,n=Te("mapStore");Te("uiStore");const a=[{id:"off",label:"Off",desc:"Show every pin individually"},{id:"mapbox",label:"Native",desc:"Mapbox circle clusters (fastest)"},{id:"mst",label:"MST",desc:"Minimum-spanning-tree affinity webs"},{id:"network",label:"Network",desc:"Nearest-neighbor connection lines"}],r=Q({get:()=>(n==null?void 0:n.clusteringMode)??"off",set:i=>{n&&(n.clusteringMode=i)}}),s=Q({get:()=>(n==null?void 0:n.clusterPinOpacity)??.6,set:i=>{n&&(n.clusterPinOpacity=Number(i))}});return mt(`
|
||
.rm-side-backdrop { position:absolute;inset:0;background:rgba(0,0,0,0.45);z-index:1500;opacity:0;pointer-events:none;transition:opacity .18s; }
|
||
.rm-side-backdrop.open { opacity:1;pointer-events:auto; }
|
||
.rm-side-drawer { position:absolute;top:0;right:0;bottom:0;width:340px;max-width:100vw;background:#171c23;color:#e7ebf0;border-left:1px solid #232a33;z-index:1600;transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column;font:13px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
|
||
.rm-side-drawer.open { transform:translateX(0); box-shadow:-4px 0 16px rgba(0,0,0,0.4); }
|
||
.rm-side-header { display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #232a33;flex:0 0 auto; }
|
||
.rm-side-title { font-size:14px;font-weight:600;color:#e7ebf0;margin:0; }
|
||
.rm-side-close { background:none;border:none;color:#a8b2bd;font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px; }
|
||
.rm-side-close:hover { color:#e7ebf0;background:rgba(255,255,255,0.06); }
|
||
.rm-side-body { flex:1 1 auto;overflow-y:auto;padding:14px 18px; }
|
||
.rm-section { margin-bottom:22px; }
|
||
.rm-section h4 { margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a8b2bd; }
|
||
.rm-cluster-grid { display:grid;grid-template-columns:1fr 1fr;gap:6px; }
|
||
.rm-cluster-btn { background:#232a33;border:1px solid #2c343f;color:#e7ebf0;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px;text-align:left;line-height:1.3; }
|
||
.rm-cluster-btn:hover { background:#2c343f;border-color:#3a4250; }
|
||
.rm-cluster-btn.active { background:rgba(124,140,248,0.16);border-color:#7c8cf8;color:#a8b8ff; }
|
||
.rm-cluster-btn .label { display:block;font-weight:600;font-size:12px;margin-bottom:2px; }
|
||
.rm-cluster-btn .desc { display:block;font-size:10.5px;color:#a8b2bd; }
|
||
.rm-slider-row { display:flex;align-items:center;gap:10px;margin-top:8px; }
|
||
.rm-slider-row input[type=range] { flex:1; }
|
||
.rm-slider-row .val { width:36px;text-align:right;font-variant-numeric:tabular-nums;color:#a8b2bd;font-size:11px; }
|
||
.rm-side-footer { flex:0 0 auto;padding:12px 18px;border-top:1px solid #232a33;display:flex;flex-direction:column;gap:8px; }
|
||
.rm-btn { display:flex;align-items:center;justify-content:center;gap:8px;background:#7c8cf8;border:none;color:#0f1216;padding:10px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600; }
|
||
.rm-btn:hover { background:#9aa6ff; }
|
||
.rm-btn.ghost { background:transparent;color:#a8b2bd;border:1px solid #2c343f; }
|
||
.rm-btn.ghost:hover { background:#232a33;color:#e7ebf0; }
|
||
`,"research-map-side-menu"),(i,l)=>(V(),ae(Ie,null,[C("div",{class:Ee(["rm-side-backdrop",{open:e.isOpen}]),onClick:l[0]||(l[0]=c=>o("close"))},null,2),C("aside",{class:Ee(["rm-side-drawer",{open:e.isOpen}]),role:"dialog","aria-label":"Research map controls"},[C("header",Zk,[l[5]||(l[5]=C("h3",{class:"rm-side-title"},"Research controls",-1)),C("button",{class:"rm-side-close","aria-label":"Close",onClick:l[1]||(l[1]=c=>o("close"))},"×")]),C("div",Qk,[C("div",ew,[l[7]||(l[7]=C("h4",null,"Clustering",-1)),C("div",tw,[(V(),ae(Ie,null,yt(a,c=>C("button",{key:c.id,class:Ee(["rm-cluster-btn",{active:r.value===c.id}]),onClick:u=>r.value=c.id},[C("span",nw,he(c.label),1),C("span",aw,he(c.desc),1)],10,ow)),64))]),r.value!=="off"?(V(),ae("div",rw,[l[6]||(l[6]=C("label",{for:"rm-pin-op"},"Pin dim",-1)),C("input",{id:"rm-pin-op",type:"range",min:"0.05",max:"1",step:"0.05",value:s.value,onInput:l[2]||(l[2]=c=>s.value=c.target.value)},null,40,sw),C("span",iw,he(Math.round(s.value*100))+"%",1)])):ve("",!0)]),C("div",lw,[l[8]||(l[8]=C("h4",null,"Filters",-1)),Fo(i.$slots,"default")])]),C("footer",cw,[C("button",{class:"rm-btn",onClick:l[3]||(l[3]=c=>o("open-poster"))},"Export poster…"),C("button",{class:"rm-btn ghost",onClick:l[4]||(l[4]=c=>o("reload-map"))},"Reload data")])],2)],64))}},dw={class:"rm-filter"},pw={class:"field"},gw={class:"rm-pop-row"},fw=["value"],hw=["value"],mw={class:"field"},bw=["value"],yw={class:"field"},vw=["value"],_w={class:"field"},xw={class:"rm-chips"},kw={key:0,class:"rm-empty"},ww=["onClick"],Aw={class:"field"},Sw={class:"rm-chips"},Lw={key:0,class:"rm-empty"},Cw=["onClick"],Ew={class:"rm-filter-footer"},$w={class:"rm-pill"},Tw={__name:"ResearchMapFilterPanel",setup(e){const t=Te("mapStore"),o=Te("dataStore"),n={populationMin:null,populationMax:null,engagement:"any",adoption:"any",languages:[],religions:[]};t&&!t.filters&&(t.filters={...n});const a=Q({get:()=>{var p;return((p=t==null?void 0:t.filters)==null?void 0:p.populationMin)??""},set:p=>{t.filters.populationMin=p===""?null:Number(p)}}),r=Q({get:()=>{var p;return((p=t==null?void 0:t.filters)==null?void 0:p.populationMax)??""},set:p=>{t.filters.populationMax=p===""?null:Number(p)}}),s=Q({get:()=>{var p;return((p=t==null?void 0:t.filters)==null?void 0:p.engagement)??"any"},set:p=>{t.filters.engagement=p}}),i=Q({get:()=>{var p;return((p=t==null?void 0:t.filters)==null?void 0:p.adoption)??"any"},set:p=>{t.filters.adoption=p}}),l=Q(()=>(o==null?void 0:o.facets)??{}),c=Q(()=>{var p;return((p=l.value)==null?void 0:p.languages)??[]}),u=Q(()=>{var p;return((p=l.value)==null?void 0:p.religions)??[]});function f(p){const _=t.filters.languages??[],L=_.indexOf(p);L===-1?_.push(p):_.splice(L,1),t.filters.languages=[..._]}function b(p){const _=t.filters.religions??[],L=_.indexOf(p);L===-1?_.push(p):_.splice(L,1),t.filters.religions=[..._]}const k=le(""),x=le(""),m=Q(()=>{const p=k.value.trim().toLowerCase();return p?c.value.filter(_=>_.toLowerCase().includes(p)):c.value}),v=Q(()=>{const p=x.value.trim().toLowerCase();return p?u.value.filter(_=>_.toLowerCase().includes(p)):u.value});function g(p){var _;return(((_=t==null?void 0:t.filters)==null?void 0:_.languages)??[]).includes(p)}function y(p){var _;return(((_=t==null?void 0:t.filters)==null?void 0:_.religions)??[]).includes(p)}function d(){t&&(t.filters={...n,languages:[],religions:[]})}const h=Q(()=>{var L,R;const p=(t==null?void 0:t.filters)??{};let _=0;return p.populationMin!=null&&_++,p.populationMax!=null&&_++,p.engagement&&p.engagement!=="any"&&_++,p.adoption&&p.adoption!=="any"&&_++,(L=p.languages)!=null&&L.length&&_++,(R=p.religions)!=null&&R.length&&_++,_});return mt(`
|
||
.rm-filter { display:flex;flex-direction:column;gap:14px;font:12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#e7ebf0; }
|
||
.rm-filter .row { display:flex;align-items:center;gap:8px; }
|
||
.rm-filter label { font-size:11px;color:#a8b2bd;letter-spacing:.04em;text-transform:uppercase;font-weight:600; }
|
||
.rm-filter .field { display:flex;flex-direction:column;gap:4px; }
|
||
.rm-filter input[type=number],
|
||
.rm-filter select,
|
||
.rm-filter input[type=search] { background:#0f1216;border:1px solid #2c343f;color:#e7ebf0;padding:6px 8px;border-radius:5px;font-size:12px;min-width:0;flex:1; }
|
||
.rm-filter input[type=search] { height:35px;box-sizing:border-box; }
|
||
.rm-filter input:focus,
|
||
.rm-filter select:focus { outline:none;border-color:#7c8cf8; }
|
||
.rm-pop-row { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
|
||
.rm-chips { display:flex;flex-wrap:wrap;gap:5px;max-height:140px;overflow-y:auto;padding:4px 2px;border:1px solid #232a33;border-radius:5px;background:#0f1216; }
|
||
.rm-chip { background:#232a33;border:1px solid #2c343f;color:#e7ebf0;padding:3px 8px;border-radius:11px;cursor:pointer;font-size:11px;line-height:1.4; }
|
||
.rm-chip:hover { background:#2c343f; }
|
||
.rm-chip.active { background:rgba(124,140,248,0.18);border-color:#7c8cf8;color:#a8b8ff; }
|
||
.rm-empty { padding:8px;color:#a8b2bd;font-size:11px;text-align:center; }
|
||
.rm-filter-footer { display:flex;align-items:center;justify-content:space-between;margin-top:6px; }
|
||
.rm-pill { background:rgba(124,140,248,0.12);color:#a8b8ff;padding:2px 8px;border-radius:11px;font-size:11px;font-weight:600; }
|
||
.rm-link-btn { background:none;border:none;color:#7c8cf8;cursor:pointer;font-size:11px;padding:0; }
|
||
.rm-link-btn:hover { text-decoration:underline; }
|
||
`,"research-map-filter-panel"),(p,_)=>(V(),ae("div",dw,[C("div",pw,[_[6]||(_[6]=C("label",null,"Population",-1)),C("div",gw,[C("input",{type:"number",min:"0",placeholder:"min",value:a.value,onInput:_[0]||(_[0]=L=>a.value=L.target.value)},null,40,fw),C("input",{type:"number",min:"0",placeholder:"max",value:r.value,onInput:_[1]||(_[1]=L=>r.value=L.target.value)},null,40,hw)])]),C("div",mw,[_[8]||(_[8]=C("label",null,"Engagement",-1)),C("select",{value:s.value,onChange:_[2]||(_[2]=L=>s.value=L.target.value)},[..._[7]||(_[7]=[C("option",{value:"any"},"Any",-1),C("option",{value:"engaged"},"Engaged",-1),C("option",{value:"unengaged"},"Unengaged",-1)])],40,bw)]),C("div",yw,[_[10]||(_[10]=C("label",null,"Adoption",-1)),C("select",{value:i.value,onChange:_[3]||(_[3]=L=>i.value=L.target.value)},[..._[9]||(_[9]=[C("option",{value:"any"},"Any",-1),C("option",{value:"adopted"},"Adopted",-1),C("option",{value:"unadopted"},"Unadopted",-1)])],40,vw)]),C("div",_w,[_[11]||(_[11]=C("label",null,"Language",-1)),zt(C("input",{type:"search","onUpdate:modelValue":_[4]||(_[4]=L=>k.value=L),placeholder:"Search languages…"},null,512),[[Kr,k.value]]),C("div",xw,[m.value.length?ve("",!0):(V(),ae("span",kw,"No languages loaded yet")),(V(!0),ae(Ie,null,yt(m.value,L=>(V(),ae("button",{key:L,class:Ee(["rm-chip",{active:g(L)}]),onClick:R=>f(L)},he(L),11,ww))),128))])]),C("div",Aw,[_[12]||(_[12]=C("label",null,"Religion",-1)),zt(C("input",{type:"search","onUpdate:modelValue":_[5]||(_[5]=L=>x.value=L),placeholder:"Search religions…"},null,512),[[Kr,x.value]]),C("div",Sw,[v.value.length?ve("",!0):(V(),ae("span",Lw,"No religions loaded yet")),(V(!0),ae(Ie,null,yt(v.value,L=>(V(),ae("button",{key:L,class:Ee(["rm-chip",{active:y(L)}]),onClick:R=>b(L)},he(L),11,Cw))),128))])]),C("div",Ew,[C("span",$w,he(h.value)+" active",1),C("button",{class:"rm-link-btn",onClick:d},"Reset all")])]))}},bg="pplrInstance";function Pw(e){return{instanceId:e,selection:le(null),activeTab:le(0),isSearching:le(!1),geocoderText:le(""),pinDetail:le(null),theme:le("dark")}}function Nw(e){St(bg,e)}function Mw(){return Te(bg,null)}const Iw=["data-theme"],Rw={class:"stl-inner"},Fw={class:"stl-tb-caret-slot"},Ow=["title"],Dw={class:"stl-tb-eyebrow"},Bw=["title","aria-label"],Gw=["title"],jw={key:2,class:"stl-tb-title"},zw={key:0,class:"stl-tabs-wrap"},Uw={class:"stl-tabs"},Kw=["onClick"],Hw=["title","onClick"],Vw={key:0,class:"stl-info-pop"},qw={class:"stl-col-hdr"},Ww={class:"stl-hdr-name"},Yw=["title"],Xw={key:0,class:"stl-sort-arrow"},Jw=["title"],Zw={key:0,class:"stl-sort-arrow"},Qw=["data-stl-node-id","onClick"],eA=["onClick"],tA={key:1,class:"stl-caret-sp"},oA={key:3,class:"stl-dot-sp"},nA={class:"stl-name"},aA={key:4,class:"stl-num"},rA={key:5,class:"stl-num"},sA={class:"stl-x-slot"},iA={key:0,class:"stl-empty stl-loading"},lA={key:1,class:"stl-empty"},cA={key:2,class:"stl-empty"},uA={key:3,class:"stl-overflow"},dA=["data-theme"],pA={class:"stl-reopen-label"},yg=Ot({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},exportEnabled:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["select","update:open","export"],setup(e,{emit:t}){const{t:o,te:n}=ht();function a(P){const Y="tabs."+((P==null?void 0:P.i18nKey)||(P==null?void 0:P.id));return P&&n(Y)?o(Y):(P==null?void 0:P.label)??""}const r=e,s=t,i=Mw(),l=Te("legendProgress",null),c=Q(()=>r.progress??de(l)??null),u=Q(()=>c.value?o("legend.progress.title"):r.title),f=Q(()=>((i==null?void 0:i.theme.value)||"dark")==="dark");function b(P,Y){var ge;for(const xe of P||[]){if((xe==null?void 0:xe.id)===Y)return xe;const Se=(ge=xe==null?void 0:xe.children)!=null&&ge.length?b(xe.children,Y):null;if(Se)return Se}return null}function k(P){const Y=b(d.value,P);Y&&te(Y)}function x(P,Y=0){return P!=null&&P.length?Math.max(...P.map(ge=>x(ge.children??[],Y+1))):Y}function m(P,Y,ge=0){return ge===Y?P.slice():P.flatMap(xe=>m(xe.children??[],Y,ge+1))}function v(P,Y,ge=[]){var xe;for(const Se of P){if(Se.id===Y)return ge;if((xe=Se.children)!=null&&xe.length){const Fe=v(Se.children,Y,[...ge,Se]);if(Fe)return Fe}}return null}function g(P,Y=new Set){var ge;if(!((ge=P==null?void 0:P.children)!=null&&ge.length))return Y;for(const xe of P.children)Y.add(xe.id),g(xe,Y);return Y}function y(P,Y="root"){var xe;if(!Array.isArray(P))return[];const ge=[];for(const Se of P){if(!Se||typeof Se!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",Y)}catch{}continue}ge.push((xe=Se.children)!=null&&xe.length?{...Se,children:y(Se.children,Se.label||Se.id||Y)}:Se)}return ge}const d=Q(()=>y(r.nodes)),h=Q(()=>x(d.value)),p=Q(()=>{const P=r.tabs??[],Y=P.length||h.value+1;return Array.from({length:Y},(ge,xe)=>P[xe]??{id:`gen${xe+1}`,label:`Generation ${xe+1}`})}),_=le(Math.max(0,r.defaultTab|0)),L=le(new Set),R=le(null),S=le(r.open!==null?r.open:!0),z=le(null),j=le(!1),O=le(null),D=le("desc"),M=Q({get:()=>r.hideTabs?0:i?i.activeTab.value:_.value,set:P=>{r.hideTabs||(i?i.activeTab.value=P:_.value=P)}}),$=Q({get:()=>i?i.selection.value:R.value,set:P=>{i?i.selection.value=P:R.value=P}}),T=Q(()=>{var P;return((P=$.value)==null?void 0:P.id)||null}),N=le(null);De(()=>r.open,P=>{P!==null&&(S.value=P)}),De(()=>d.value,()=>{const P=i==null?void 0:i.activeTab.value,Y=Math.min(Math.max(0,r.defaultTab|0),Math.max(0,p.value.length-1));M.value=typeof P=="number"&&P>=0?P:Y,L.value=new Set,$.value=null,s("select",null)},{deep:!1});let q=null;i&&De(()=>i.selection.value,P=>{if((P==null?void 0:P.id)===q)return;if(!P){q=null;return}q=P.id;const Y=v(d.value,P.id)||[];typeof P.depth=="number"&&(M.value=Math.min(P.depth,p.value.length-1));const ge=new Set;Y.forEach(xe=>ge.add(xe.id)),L.value=ge,s("select",P)});function ce(P,Y){const ge=(Y.pop??0)-(P.pop??0);return ge!==0?ge:(Y.count??0)-(P.count??0)}const ee=Q(()=>{if(!O.value)return ce;const P=O.value,Y=D.value==="asc"?1:-1;return(ge,xe)=>((ge[P]??0)-(xe[P]??0))*Y});function oe(P){O.value===P?D.value==="desc"?D.value="asc":(O.value=null,D.value="desc"):(O.value=P,D.value="desc")}const H=le([]),pe=le(!1);let we=-1;function ue(P){if(H.value[P]){pe.value=!1;return}pe.value=!0,we=P,setTimeout(()=>{if(we!==P)return;const Y=[...m(d.value,P)].sort(ee.value),ge=[...H.value];ge[P]=Y,H.value=ge,pe.value=!1},0)}De(M,P=>ue(P),{immediate:!0}),De(()=>[d.value,O.value,D.value],()=>{H.value=[],ue(M.value)},{deep:!1});const $e=Q(()=>H.value[M.value]||[]),Ae=Q(()=>{var Y;const P=(Y=p.value[M.value])==null?void 0:Y.topLimit;return P?$e.value.slice(0,P):$e.value}),ie=Q(()=>{var Y;const P=(Y=p.value[M.value])==null?void 0:Y.topLimit;return P?Math.max(0,$e.value.length-P):0});function ye(P,Y,ge,xe,Se){var Fe;for(const Ne of Y)Ne&&(P.push({node:Ne,relDepth:ge,parent:xe,ancestors:Se}),L.value.has(Ne.id)&&((Fe=Ne.children)!=null&&Fe.length)&&ye(P,[...Ne.children].sort(ee.value),ge+1,Ne,[...Se,Ne]))}const me=Q(()=>{const P=[];ye(P,Ae.value,0,null,[]);for(let Y=0;Y<P.length;Y++){const ge=P[Y],xe=[];for(let Se=0;Se<ge.relDepth;Se++){const Fe=ge.ancestors[Se];let Ne=!1;for(let pt=Y+1;pt<P.length;pt++){const Ke=P[pt];if(Ke.relDepth<=Se)break;if(Ke.relDepth===Se+1&&Ke.ancestors[Se]===Fe){Ne=!0;break}Ke.relDepth>Se+1&&Ke.ancestors[Se]}if(Se===ge.relDepth-1){let pt=!1;for(let Ke=Y+1;Ke<P.length;Ke++){const He=P[Ke];if(He.relDepth<ge.relDepth)break;if(He.relDepth===ge.relDepth&&He.parent===ge.parent){pt=!0;break}}xe.push(pt?"tee":"elbow")}else xe.push(Ne?"pipe":"blank")}ge.trunks=xe}return P}),Le=Q(()=>T.value!==null),E=Q(()=>r.columns.includes("count")),F=Q(()=>r.columns.includes("pop")),B=Q(()=>$.value?g($.value):new Set),K=Q(()=>{var Fe;const P=$.value;if(!P)return null;const Y=v(d.value,P.id);if(!Y||!Y.length)return null;const ge=Y[Y.length-1],xe=Y.length-1,Se=((Fe=p.value[xe])==null?void 0:Fe.label)||"Parent";return{node:ge,tabName:Se,depth:xe}});function te(P){T.value===P.id?(q=null,$.value=null,s("select",null)):(q=P.id,$.value=P,s("select",P))}function U(P,Y){Y==null||Y.stopPropagation();const ge=new Set(L.value),xe=ge.has(P);if(xe?ge.delete(P):ge.add(P),L.value=ge,xe&&$.value){const Se=v(d.value,$.value.id);Se&&Se.some(Fe=>Fe.id===P)&&(q=null,$.value=null,s("select",null))}}function X(){const P=K.value;P!=null&&P.node&&(!r.hideTabs&&typeof P.depth=="number"&&(M.value=P.depth),L.value=new Set,te(P.node))}function ne(P){if(M.value===P){z.value=z.value===P?null:P;return}M.value=P,L.value=new Set,q=null,$.value=null,z.value=null,s("select",null)}function w(P){P==null||P.stopPropagation(),q=null,$.value=null,s("select",null)}function A(P,Y){Y==null||Y.stopPropagation(),z.value=z.value===P?null:P}De(T,P=>{P||(j.value=!1)});function W(P){let Y=P.parentElement;for(;Y;){const ge=getComputedStyle(Y).overflowY;if((ge==="auto"||ge==="scroll")&&Y.scrollHeight>Y.clientHeight+1){const xe=P.getBoundingClientRect(),Se=Y.getBoundingClientRect();Y.scrollTop+=xe.top-Se.top-8}Y=Y.parentElement}}let re=0;De(T,async P=>{if(!P)return;const Y=++re,ge=N.value;if(!ge)return;await jt();const xe=(Se=0)=>{if(Y!==re)return;const Fe=ge.querySelector(`[data-stl-node-id="${CSS.escape(String(P))}"]`);Fe&&W(Fe),Se<6&&setTimeout(()=>xe(Se+1),70)};xe(0)});function be(P){return P?P>=1e6?(P/1e6).toFixed(1)+"M":P>=1e3?Math.round(P/1e3)+"k":P.toLocaleString():"—"}function fe(P){return P!=null?P.toLocaleString():"—"}function Z(P){var Y;return{selected:T.value===P.node.id,descendant:Le.value&&B.value.has(P.node.id),child:P.relDepth>0,leaf:!((Y=P.node.children)!=null&&Y.length)}}return mt(`
|
||
.stl-inner {
|
||
--stl-pad-x: 10px;
|
||
--stl-gap: 6px;
|
||
--stl-caret-w: 14px;
|
||
--stl-dot-w: 8px;
|
||
--stl-num-w: 60px;
|
||
--stl-x-w: 22px;
|
||
flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column;
|
||
background: #161b22; border: 1px solid #30363d;
|
||
border-radius: var(--map-radius, 16px);
|
||
box-shadow: 0 6px 24px rgba(0,0,0,0.45);
|
||
overflow: hidden;
|
||
}
|
||
.stl-panel {
|
||
position: absolute; left: 8px; top: 60px; width: var(--map-legend-width, 380px); z-index: 4;
|
||
display: flex; flex-direction: column;
|
||
max-height: calc(100% - 72px);
|
||
transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1), opacity 0.2s;
|
||
pointer-events: auto;
|
||
}
|
||
.stl-panel.closed { transform: translateX(-100%); opacity: 0; pointer-events: none; }
|
||
.stl-panel.fit-content { max-height: calc(100% - 72px); }
|
||
.stl-titlebar {
|
||
display: flex; align-items: center; gap: 6px;
|
||
padding: 8px 12px; flex-shrink: 0;
|
||
border-bottom: 1px solid #21262d;
|
||
min-height: 32px;
|
||
}
|
||
.stl-tb-caret-slot { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
|
||
.stl-tb-caret-slot:empty { display: none; }
|
||
.stl-titlebar.has-progress { flex-wrap: wrap; row-gap: 7px; }
|
||
.stl-progress { flex: 1 1 100%; min-width: 0; }
|
||
.stl-tb-title,
|
||
.stl-tb-eyebrow {
|
||
font: 600 10px ui-monospace, monospace;
|
||
color: #73A17F; text-transform: uppercase; letter-spacing: 0.07em;
|
||
flex-shrink: 0;
|
||
}
|
||
.stl-tb-eyebrow { color: #6e7681; font-size: 9px; letter-spacing: 0.08em; }
|
||
.stl-tb-dot {
|
||
width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0;
|
||
box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 0 0 3px rgba(115,161,127,0.15);
|
||
}
|
||
.stl-tb-text {
|
||
flex: 1; min-width: 0;
|
||
font: 600 12px system-ui; color: #e6edf3;
|
||
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
||
}
|
||
.stl-tb-up {
|
||
flex: 1; min-width: 0;
|
||
display: inline-flex; align-items: center; gap: 6px;
|
||
background: transparent; border: 1px solid transparent; border-radius: 6px;
|
||
margin: -2px -4px; padding: 2px 6px 2px 4px;
|
||
cursor: pointer; text-align: left;
|
||
transition: background 0.12s, border-color 0.12s, color 0.12s;
|
||
}
|
||
.stl-tb-up:hover { background: rgba(115,161,127,0.10); border-color: rgba(115,161,127,0.35); }
|
||
.stl-tb-up:focus-visible {
|
||
outline: none;
|
||
border-color: #73A17F;
|
||
box-shadow: 0 0 0 2px rgba(115,161,127,0.30);
|
||
}
|
||
.stl-tb-up .stl-tb-text {
|
||
flex: 1; min-width: 0;
|
||
font: 600 12px system-ui; color: #e6edf3;
|
||
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
||
}
|
||
.stl-tb-up:hover .stl-tb-text { color: #fff; }
|
||
.stl-tb-up-icon { color: #73A17F; flex-shrink: 0; }
|
||
.stl-panel[data-theme="light"] .stl-tb-up:hover {
|
||
background: rgba(59,70,61,0.08); border-color: rgba(59,70,61,0.3);
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-tb-up:focus-visible {
|
||
border-color: #3b463d; box-shadow: 0 0 0 2px rgba(59,70,61,0.25);
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-tb-up .stl-tb-text { color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-tb-up-icon { color: #3b463d; }
|
||
.stl-tabs-wrap { flex-shrink: 0; }
|
||
.stl-tabs {
|
||
display: flex; flex-wrap: nowrap; gap: 4px;
|
||
padding: 6px 8px;
|
||
border-bottom: 1px solid #21262d;
|
||
overflow-x: auto;
|
||
scrollbar-width: none;
|
||
}
|
||
.stl-tabs::-webkit-scrollbar { display: none; }
|
||
.stl-tab-chip {
|
||
display: inline-flex; align-items: stretch; flex-shrink: 0;
|
||
background: #1c2333; border: 1px solid #30363d; border-radius: 6px;
|
||
overflow: hidden; transition: border-color 0.12s, box-shadow 0.12s;
|
||
}
|
||
.stl-tab-chip:hover { border-color: #484f58; }
|
||
.stl-tab-chip.active {
|
||
background: #3b463d; border-color: #73A17F;
|
||
box-shadow: 0 0 0 2px rgba(115,161,127,0.22), 0 1px 4px rgba(59,70,61,0.4);
|
||
}
|
||
.stl-tab {
|
||
display: inline-flex; align-items: center;
|
||
background: transparent; border: none;
|
||
color: #8b949e; font: 600 10px ui-monospace, monospace;
|
||
text-transform: uppercase; letter-spacing: 0.04em;
|
||
padding: 4px 8px; cursor: pointer; white-space: nowrap;
|
||
}
|
||
.stl-tab:hover { color: #c9d1d9; }
|
||
.stl-tab-chip.active .stl-tab { color: #fff; }
|
||
.stl-tab-info {
|
||
background: rgba(110,118,129,0.15); border: none; border-left: 1px solid #30363d;
|
||
color: #6e7681; cursor: pointer;
|
||
width: 18px; padding: 0; font: 700 9px ui-monospace, monospace;
|
||
}
|
||
.stl-tab-info:hover { background: rgba(59,70,61,0.2); color: #73A17F; }
|
||
.stl-tab-chip.active .stl-tab-info {
|
||
border-left-color: rgba(0,0,0,0.3); color: #fff;
|
||
background: rgba(0,0,0,0.2);
|
||
}
|
||
.stl-info-pop {
|
||
margin: 2px 8px 6px; padding: 7px 10px;
|
||
background: #0d1117; border: 1px solid #30363d; border-radius: 6px;
|
||
font: 11px system-ui; color: #c9d1d9; line-height: 1.45;
|
||
}
|
||
.stl-col-hdr,
|
||
.stl-row {
|
||
display: flex; align-items: center; gap: var(--stl-gap);
|
||
padding: 0 var(--stl-pad-x);
|
||
}
|
||
.stl-col-hdr {
|
||
height: 26px; flex-shrink: 0;
|
||
background: #0d1117; border-bottom: 1px solid #21262d;
|
||
}
|
||
.stl-hdr-name {
|
||
flex: 1; min-width: 0;
|
||
font: 700 11px ui-monospace, monospace;
|
||
color: #8b949e; text-transform: uppercase; letter-spacing: 0.04em;
|
||
}
|
||
.stl-hdr-num {
|
||
width: var(--stl-num-w); text-align: center; flex-shrink: 0;
|
||
font: 600 9px ui-monospace, monospace;
|
||
color: #6e7681; text-transform: uppercase; letter-spacing: 0.05em;
|
||
background: transparent; border: none; cursor: pointer;
|
||
padding: 0; transition: color 0.1s;
|
||
display: inline-flex; align-items: center; justify-content: center; gap: 3px;
|
||
}
|
||
.stl-hdr-num:hover { color: #c9d1d9; }
|
||
.stl-hdr-num.active { color: #73A17F; }
|
||
.stl-sort-arrow { font-size: 8px; }
|
||
.stl-rows { flex: 1; overflow-y: auto; padding-bottom: 6px; }
|
||
.stl-rows::-webkit-scrollbar { width: 6px; }
|
||
.stl-rows::-webkit-scrollbar-track { background: transparent; }
|
||
.stl-rows::-webkit-scrollbar-thumb { background: #21262d; border-radius: 3px; }
|
||
.stl-rows::-webkit-scrollbar-thumb:hover { background: #30363d; }
|
||
.stl-empty {
|
||
padding: 20px 12px; text-align: center;
|
||
font: 11px system-ui; color: #484f58;
|
||
}
|
||
.stl-loading {
|
||
display: inline-flex; align-items: center; gap: 8px;
|
||
width: 100%; justify-content: center;
|
||
color: #73A17F;
|
||
}
|
||
.stl-spinner {
|
||
width: 12px; height: 12px; border-radius: 50%;
|
||
border: 2px solid rgba(115,161,127,0.25);
|
||
border-top-color: #73A17F;
|
||
animation: stl-spin 0.7s linear infinite;
|
||
}
|
||
@keyframes stl-spin { to { transform: rotate(360deg); } }
|
||
.stl-overflow {
|
||
padding: 8px 10px; margin: 4px 0 0;
|
||
background: #0d1117; border-top: 1px dashed #30363d;
|
||
text-align: center; font: 10px system-ui; color: #6e7681;
|
||
}
|
||
.stl-overflow-hint { color: #73A17F; }
|
||
.stl-row {
|
||
min-height: 27px;
|
||
cursor: pointer; transition: opacity 0.12s, background 0.1s;
|
||
border-bottom: 1px solid rgba(33,38,45,0.45);
|
||
}
|
||
.stl-row:last-child { border-bottom: none; }
|
||
.stl-row:hover { background: rgba(255,255,255,0.04); }
|
||
.stl-row.child .stl-name { color: #adbac7; }
|
||
.stl-row.leaf .stl-name { font-style: italic; }
|
||
.stl-rows.has-sel .stl-row:not(.selected):not(.descendant) { opacity: 0.30; }
|
||
.stl-rows.has-sel .stl-row:not(.selected):not(.descendant):hover { opacity: 0.6; }
|
||
.stl-rows.has-sel .stl-row.descendant { opacity: 1; }
|
||
.stl-rows.has-sel .stl-row.selected {
|
||
opacity: 1;
|
||
background: rgba(255,255,255,0.05);
|
||
box-shadow:
|
||
inset 3px 0 0 0 var(--row-color, #73A17F),
|
||
inset 0 0 0 1px rgba(255,255,255,0.05),
|
||
0 0 14px -2px var(--row-color, rgba(115,161,127,0.4));
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-rows.has-sel .stl-row.selected {
|
||
background: rgba(255,255,255,0.7);
|
||
box-shadow:
|
||
inset 3px 0 0 0 var(--row-color, #3b463d),
|
||
inset 0 0 0 1px rgba(0,0,0,0.04),
|
||
0 0 14px -2px var(--row-color, rgba(59,70,61,0.35));
|
||
}
|
||
.stl-caret-sp { width: var(--stl-caret-w); flex-shrink: 0; }
|
||
.stl-dot-sp { width: var(--stl-dot-w); flex-shrink: 0; }
|
||
.stl-x-slot {
|
||
width: var(--stl-x-w); flex-shrink: 0;
|
||
display: flex; align-items: center; justify-content: center;
|
||
}
|
||
.stl-trunk { position: relative; flex-shrink: 0; width: 12px; align-self: stretch; }
|
||
.stl-trunk-pipe::before {
|
||
content: ''; position: absolute;
|
||
left: 5px; top: 0; bottom: 0; width: 1px;
|
||
background: var(--trunk-color, #6e7681);
|
||
opacity: 0.45;
|
||
}
|
||
.stl-trunk-tee::before {
|
||
content: ''; position: absolute;
|
||
left: 5px; top: 0; bottom: 0; width: 1px;
|
||
background: var(--trunk-color, #6e7681);
|
||
opacity: 0.45;
|
||
}
|
||
.stl-trunk-tee::after {
|
||
content: ''; position: absolute;
|
||
left: 5px; top: 50%; height: 1px; width: 7px;
|
||
background: var(--trunk-color, #6e7681);
|
||
opacity: 0.55;
|
||
}
|
||
.stl-trunk-elbow::before {
|
||
content: ''; position: absolute;
|
||
left: 5px; top: 0; height: 50%; width: 1px;
|
||
background: var(--trunk-color, #6e7681);
|
||
opacity: 0.45;
|
||
}
|
||
.stl-trunk-elbow::after {
|
||
content: ''; position: absolute;
|
||
left: 5px; top: calc(50% - 0.5px); height: 1px; width: 7px;
|
||
background: var(--trunk-color, #6e7681);
|
||
opacity: 0.55;
|
||
}
|
||
.stl-row.selected .stl-trunk-pipe::before,
|
||
.stl-row.selected .stl-trunk-tee::before,
|
||
.stl-row.selected .stl-trunk-tee::after,
|
||
.stl-row.selected .stl-trunk-elbow::before,
|
||
.stl-row.selected .stl-trunk-elbow::after,
|
||
.stl-row.descendant .stl-trunk-pipe::before,
|
||
.stl-row.descendant .stl-trunk-tee::before,
|
||
.stl-row.descendant .stl-trunk-tee::after,
|
||
.stl-row.descendant .stl-trunk-elbow::before,
|
||
.stl-row.descendant .stl-trunk-elbow::after {
|
||
opacity: 0.85;
|
||
}
|
||
.stl-caret {
|
||
background: none; border: none; padding: 0; cursor: pointer;
|
||
color: #6e7681; width: var(--stl-caret-w); height: var(--stl-caret-w); flex-shrink: 0;
|
||
display: flex; align-items: center; justify-content: center;
|
||
border-radius: 3px;
|
||
}
|
||
.stl-caret svg { transition: transform 0.15s; }
|
||
.stl-caret.open svg { transform: rotate(90deg); }
|
||
.stl-caret:hover { color: #c9d1d9; background: rgba(255,255,255,0.06); }
|
||
.stl-dot {
|
||
width: var(--stl-dot-w); height: var(--stl-dot-w); border-radius: 50%; flex-shrink: 0;
|
||
box-shadow: 0 0 0 1px rgba(0,0,0,0.4);
|
||
}
|
||
.stl-row.selected .stl-dot {
|
||
box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 0 0 3px rgba(115,161,127,0.25);
|
||
}
|
||
.stl-name {
|
||
flex: 1; min-width: 0;
|
||
font: 11.5px system-ui, sans-serif; color: #e6edf3;
|
||
white-space: normal; word-wrap: break-word; overflow-wrap: break-word;
|
||
line-height: 1.3;
|
||
}
|
||
.stl-num {
|
||
width: var(--stl-num-w); text-align: center; flex-shrink: 0;
|
||
font: 10.5px ui-monospace, monospace; color: #8b949e;
|
||
font-variant-numeric: tabular-nums;
|
||
}
|
||
.stl-row.selected .stl-num { color: #e6edf3; }
|
||
.stl-x-chip {
|
||
background: rgba(110,118,129,0.12); border: none; border-radius: 50%;
|
||
color: #6e7681; cursor: pointer;
|
||
width: 16px; height: 16px;
|
||
display: flex; align-items: center; justify-content: center;
|
||
transition: color 0.12s, background 0.12s;
|
||
}
|
||
.stl-x-chip:hover { color: #c9d1d9; background: rgba(110,118,129,0.25); }
|
||
.stl-collapse-btn {
|
||
background: rgba(110,118,129,0.15); border: 1px solid #30363d; border-radius: 5px;
|
||
color: #8b949e; cursor: pointer;
|
||
width: 22px; height: 20px; flex-shrink: 0;
|
||
display: flex; align-items: center; justify-content: center;
|
||
transition: color 0.1s, background 0.1s, transform 0.18s;
|
||
}
|
||
.stl-collapse-btn:hover { color: #c9d1d9; background: rgba(59,70,61,0.18); border-color: #73A17F; }
|
||
.stl-collapse-btn svg { transition: transform 0.18s; transform: rotate(180deg); }
|
||
.stl-reopen {
|
||
position: absolute; left: 8px; top: 60px; z-index: 3;
|
||
display: inline-flex; align-items: center; gap: 8px;
|
||
background: #0d1117; border: 1px solid #30363d;
|
||
border-radius: 999px;
|
||
color: #c9d1d9; cursor: pointer;
|
||
height: 36px;
|
||
padding: 0 14px 0 12px;
|
||
box-shadow: 0 4px 14px rgba(0,0,0,0.25);
|
||
font: 600 11px ui-monospace, monospace;
|
||
text-transform: uppercase; letter-spacing: 0.06em;
|
||
max-width: 320px;
|
||
transition: color 0.12s, background 0.12s, border-color 0.12s, transform 0.12s, box-shadow 0.12s;
|
||
}
|
||
.stl-reopen:hover {
|
||
color: #fff; background: #1c2333; border-color: #73A17F;
|
||
box-shadow: 0 6px 20px rgba(59,70,61,0.25);
|
||
transform: translateY(-1px);
|
||
}
|
||
.stl-reopen-icon { color: #73A17F; flex-shrink: 0; }
|
||
.stl-reopen-label {
|
||
display: inline-flex; align-items: center; gap: 6px;
|
||
min-width: 0; max-width: 200px;
|
||
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
||
text-transform: none; letter-spacing: 0;
|
||
font: 600 12px system-ui, sans-serif;
|
||
}
|
||
.stl-reopen-dot {
|
||
width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
|
||
box-shadow: 0 0 0 1px rgba(0,0,0,0.4);
|
||
}
|
||
.stl-reopen-caret { color: #6e7681; flex-shrink: 0; }
|
||
.stl-reopen:hover .stl-reopen-caret { color: #c9d1d9; }
|
||
@media (max-width: 640px) {
|
||
.stl-panel { width: 92vw; max-width: 380px; top: 64px; max-height: calc(100vh - 72px); }
|
||
.stl-reopen { top: 64px; }
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-inner {
|
||
background: #ffffff; border-color: #d0d7de;
|
||
box-shadow: 0 6px 24px rgba(31, 35, 40, 0.12);
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-titlebar { border-color: #d8dee4; }
|
||
.stl-panel[data-theme="light"] .stl-tb-title,
|
||
.stl-panel[data-theme="light"] .stl-tb-eyebrow { color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-tb-eyebrow { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-tb-text { color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-collapse-btn {
|
||
background: rgba(208,215,222,0.4); border-color: #d0d7de; color: #57606a;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-collapse-btn:hover {
|
||
background: rgba(59,70,61,0.12); border-color: #3b463d; color: #3b463d;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-tabs { border-color: #d8dee4; }
|
||
.stl-panel[data-theme="light"] .stl-tab-chip { background: #f6f8fa; border-color: #d0d7de; }
|
||
.stl-panel[data-theme="light"] .stl-tab { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-tab:hover { color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-tab-chip.active {
|
||
background: #3b463d; border-color: #3b463d;
|
||
box-shadow: 0 0 0 2px rgba(59,70,61,0.18);
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-tab-chip.active .stl-tab { color: #fff; }
|
||
.stl-panel[data-theme="light"] .stl-tab-info {
|
||
background: rgba(208,215,222,0.4); border-color: #d0d7de; color: #57606a;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-info-pop { background: #f6f8fa; border-color: #d0d7de; color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-col-hdr { background: #f6f8fa; border-color: #d8dee4; }
|
||
.stl-panel[data-theme="light"] .stl-hdr-name,
|
||
.stl-panel[data-theme="light"] .stl-hdr-num { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-hdr-num:hover { color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-hdr-num.active { color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-rows::-webkit-scrollbar-thumb { background: #d0d7de; }
|
||
.stl-panel[data-theme="light"] .stl-rows::-webkit-scrollbar-thumb:hover { background: #afb8c1; }
|
||
.stl-panel[data-theme="light"] .stl-empty,
|
||
.stl-panel[data-theme="light"] .stl-overflow {
|
||
color: #57606a; background: #f6f8fa; border-color: #d8dee4;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-overflow-hint { color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-row { border-color: rgba(208,215,222,0.5); }
|
||
.stl-panel[data-theme="light"] .stl-row:hover { background: rgba(59,70,61,0.04); }
|
||
.stl-panel[data-theme="light"] .stl-row.child .stl-name { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-name { color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-num { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-row.selected .stl-num { color: #1f2328; }
|
||
.stl-panel[data-theme="light"] .stl-caret { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-caret:hover { background: rgba(59,70,61,0.08); color: #3b463d; }
|
||
.stl-reopen[data-theme="light"] {
|
||
background: #ffffff; border-color: #d0d7de; color: #1f2328;
|
||
box-shadow: 0 4px 16px rgba(31,35,40,0.18);
|
||
}
|
||
.stl-reopen[data-theme="light"]:hover {
|
||
background: #f6f8fa; border-color: #3b463d; color: #3b463d;
|
||
box-shadow: 0 6px 20px rgba(59,70,61,0.2);
|
||
}
|
||
.stl-reopen[data-theme="light"] .stl-reopen-icon { color: #3b463d; }
|
||
.stl-reopen[data-theme="light"] .stl-reopen-caret { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-x-chip { color: #57606a; border-color: rgba(208,215,222,0.6); }
|
||
.stl-panel[data-theme="light"] .stl-x-chip:hover { color: #1f2328; background: rgba(208,215,222,0.3); border-color: #afb8c1; }
|
||
.stl-export { margin-left: auto; position: relative; flex-shrink: 0; }
|
||
.stl-export-btn {
|
||
display: inline-flex; align-items: center; gap: 5px;
|
||
background: rgba(110,118,129,0.15); border: 1px solid #30363d; border-radius: 6px;
|
||
color: #c9d1d9; cursor: pointer;
|
||
height: 22px; padding: 0 8px;
|
||
font: 600 10px ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.05em;
|
||
transition: color 0.12s, background 0.12s, border-color 0.12s;
|
||
}
|
||
.stl-export-btn:hover { color: #fff; background: rgba(59,70,61,0.25); border-color: #73A17F; }
|
||
.stl-export-btn.open { color: #fff; background: #3b463d; border-color: #73A17F; box-shadow: 0 0 0 2px rgba(115,161,127,0.22); }
|
||
.stl-export-btn:focus-visible { outline: none; border-color: #73A17F; box-shadow: 0 0 0 2px rgba(115,161,127,0.3); }
|
||
.stl-export-label { line-height: 1; }
|
||
.stl-export-backdrop { position: fixed; inset: 0; z-index: 9; }
|
||
.stl-export-menu {
|
||
position: absolute; right: 0; top: calc(100% + 6px); z-index: 10;
|
||
min-width: 168px;
|
||
display: flex; flex-direction: column;
|
||
background: #0d1117; border: 1px solid #30363d; border-radius: 8px;
|
||
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
||
padding: 4px; overflow: hidden;
|
||
}
|
||
.stl-export-item {
|
||
display: flex; align-items: center; gap: 8px;
|
||
background: transparent; border: none; border-radius: 5px;
|
||
padding: 7px 8px; width: 100%; text-align: left;
|
||
color: #6e7681; cursor: not-allowed;
|
||
font: 600 11px system-ui, sans-serif;
|
||
}
|
||
.stl-export-item[disabled] { opacity: 0.55; }
|
||
.stl-export-lock { color: #6e7681; flex-shrink: 0; }
|
||
.stl-export-item-label { flex: 1; min-width: 0; }
|
||
.stl-export-soon {
|
||
flex-shrink: 0;
|
||
font: 700 8px ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.06em;
|
||
color: #6e7681; background: rgba(110,118,129,0.15);
|
||
border-radius: 4px; padding: 2px 5px;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-export-btn {
|
||
background: rgba(208,215,222,0.4); border-color: #d0d7de; color: #57606a;
|
||
}
|
||
.stl-panel[data-theme="light"] .stl-export-btn:hover { color: #3b463d; background: rgba(59,70,61,0.12); border-color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-export-btn.open { color: #fff; background: #3b463d; border-color: #3b463d; }
|
||
.stl-panel[data-theme="light"] .stl-export-menu { background: #ffffff; border-color: #d0d7de; box-shadow: 0 8px 24px rgba(31,35,40,0.18); }
|
||
.stl-panel[data-theme="light"] .stl-export-item { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-export-lock { color: #57606a; }
|
||
.stl-panel[data-theme="light"] .stl-export-soon { color: #57606a; background: rgba(208,215,222,0.5); }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-tb-title,
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-tb-text { font-size: 14px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-tb-eyebrow { font-size: 11px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-tab { font-size: 12px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-hdr-name { font-size: 13px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-hdr-num { font-size: 10px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-name { font-size: 15px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-num { font-size: 13px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-inner { --stl-num-w: 70px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-hdr-num,
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-num { white-space: nowrap; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-info-pop { font-size: 13px; }
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-empty,
|
||
.stl-panel:not(.legend-mobile-sheet *) .stl-overflow { font-size: 12.5px; }
|
||
`,"semantic-tree-legend"),(P,Y)=>{var ge,xe,Se,Fe;return V(),ae(Ie,null,[C("div",{class:Ee(["stl-panel",{closed:!S.value,"fit-content":e.hideTabs}]),"data-theme":((ge=de(i))==null?void 0:ge.theme.value)||"dark"},[C("div",Rw,[C("div",{class:Ee(["stl-titlebar",{"has-progress":!!c.value}])},[C("span",Fw,[Fo(P.$slots,"title-caret",{},void 0,!0)]),P.$slots["title-caret"]?ve("",!0):(V(),ae("button",{key:0,class:Ee(["stl-collapse-btn",{closed:!S.value}]),title:S.value?"Collapse legend":"Expand legend",onClick:Y[0]||(Y[0]=Ne=>{S.value=!S.value,s("update:open",S.value)})},[...Y[8]||(Y[8]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,Ow)),K.value&&$.value?(V(),ae(Ie,{key:1},[C("span",Dw,he(K.value.tabName),1),C("button",{type:"button",class:"stl-tb-up",title:`Go up to ${K.value.node.label}`,"aria-label":`Go up to ${K.value.tabName} ${K.value.node.label}`,onClick:dt(X,["stop"])},[Y[9]||(Y[9]=C("svg",{class:"stl-tb-up-icon",width:"9",height:"9",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[C("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),K.value.node.color?(V(),ae("span",{key:0,class:"stl-tb-dot",style:Xe({background:K.value.node.color})},null,4)):ve("",!0),C("span",{class:"stl-tb-text",title:K.value.node.label},he(K.value.node.label),9,Gw)],8,Bw)],64)):(V(),ae("span",jw,he(u.value),1)),ve("",!0),c.value?(V(),Ge(cg,{key:4,class:"stl-progress","show-text":!1,covered:c.value.covered,total:c.value.total,segments:c.value.segments,"is-dark":f.value,"fmt-count":fe,onSelectSegment:k},null,8,["covered","total","segments","is-dark"])):ve("",!0)],2),e.hideTabs?ve("",!0):(V(),ae("div",zw,[C("div",Uw,[(V(!0),ae(Ie,null,yt(p.value,(Ne,pt)=>(V(),ae("div",{key:Ne.id,class:Ee(["stl-tab-chip",{active:M.value===pt}])},[C("button",{class:"stl-tab",onClick:Ke=>ne(pt)},he(a(Ne)),9,Kw),Ne.info?(V(),ae("button",{key:0,class:"stl-tab-info",title:Ne.info,onClick:Ke=>A(pt,Ke)},"i",8,Hw)):ve("",!0)],2))),128))]),z.value!==null&&((xe=p.value[z.value])!=null&&xe.info)?(V(),ae("div",Vw,he(p.value[z.value].info),1)):ve("",!0)])),C("div",qw,[Y[13]||(Y[13]=C("span",{class:"stl-caret-sp"},null,-1)),Y[14]||(Y[14]=C("span",{class:"stl-dot-sp"},null,-1)),C("span",Ww,he(e.columnLabel||(e.hideTabs?e.title:a(p.value[M.value])||de(o)("legend.columns.name"))),1),E.value?(V(),ae("button",{key:0,class:Ee(["stl-hdr-num",{active:O.value==="count"}]),title:de(o)("legend.sortByUpgs"),onClick:Y[4]||(Y[4]=Ne=>oe("count"))},[gt(he(de(o)("legend.columns.upgs"))+" ",1),O.value==="count"?(V(),ae("span",Xw,he(D.value==="desc"?"▼":"▲"),1)):ve("",!0)],10,Yw)):ve("",!0),F.value?(V(),ae("button",{key:1,class:Ee(["stl-hdr-num",{active:O.value==="pop"}]),title:de(o)("legend.sortByPop"),onClick:Y[5]||(Y[5]=Ne=>oe("pop"))},[gt(he(de(o)("legend.columns.population"))+" ",1),O.value==="pop"?(V(),ae("span",Zw,he(D.value==="desc"?"▼":"▲"),1)):ve("",!0)],10,Jw)):ve("",!0),Y[15]||(Y[15]=C("span",{class:"stl-x-slot"},null,-1))]),C("div",{class:Ee(["stl-rows",{"has-sel":Le.value}]),ref_key:"rowsContainer",ref:N},[(V(!0),ae(Ie,null,yt(me.value,Ne=>{var pt,Ke;return V(),ae("div",{key:Ne.node.id,class:Ee(["stl-row",Z(Ne)]),"data-stl-node-id":Ne.node.id,style:Xe({"--trunk-color":((pt=Ne.parent)==null?void 0:pt.color)||"#6e7681","--row-color":Ne.node.color||"#73A17F"}),onClick:He=>te(Ne.node)},[(V(!0),ae(Ie,null,yt(Ne.trunks,(He,sa)=>(V(),ae("span",{key:`tr${sa}`,class:Ee(["stl-trunk",`stl-trunk-${He}`])},null,2))),128)),(Ke=Ne.node.children)!=null&&Ke.length?(V(),ae("button",{key:0,class:Ee(["stl-caret",{open:L.value.has(Ne.node.id)}]),onClick:dt(He=>U(Ne.node.id,He),["stop"])},[...Y[16]||(Y[16]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,eA)):(V(),ae("span",tA)),Ne.node.color?(V(),ae("span",{key:2,class:"stl-dot",style:Xe({background:Ne.node.color})},null,4)):(V(),ae("span",oA)),C("span",nA,he(Ne.node.label),1),E.value?(V(),ae("span",aA,he(fe(Ne.node.count)),1)):ve("",!0),F.value?(V(),ae("span",rA,he(be(Ne.node.pop)),1)):ve("",!0),C("span",sA,[T.value===Ne.node.id?(V(),ae("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:Y[6]||(Y[6]=dt(He=>w(He),["stop"]))},[...Y[17]||(Y[17]=[C("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):ve("",!0)])],14,Qw)}),128)),pe.value&&!me.value.length?(V(),ae("div",iA,[Y[18]||(Y[18]=C("span",{class:"stl-spinner"},null,-1)),C("span",null,"Loading "+he(((Se=p.value[M.value])==null?void 0:Se.label)||"rows")+"…",1)])):!me.value.length&&e.nodes.length===0?(V(),ae("div",lA,"Loading data…")):me.value.length?ve("",!0):(V(),ae("div",cA,"No data at this level")),ie.value>0?(V(),ae("div",uA,[gt(" Showing top "+he(p.value[M.value].topLimit.toLocaleString())+" of "+he($e.value.length.toLocaleString())+" — ",1),Y[19]||(Y[19]=C("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):ve("",!0)],2)])],10,Iw),S.value?ve("",!0):(V(),ae("button",{key:0,class:"stl-reopen","data-theme":((Fe=de(i))==null?void 0:Fe.theme.value)||"dark",title:"Expand legend",onClick:Y[7]||(Y[7]=Ne=>{S.value=!0,s("update:open",!0)})},[Y[20]||(Y[20]=C("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),C("span",pA,[$.value?(V(),ae(Ie,{key:0},[$.value.color?(V(),ae("span",{key:0,class:"stl-reopen-dot",style:Xe({background:$.value.color})},null,4)):ve("",!0),gt(" "+he($.value.label),1)],64)):(V(),ae(Ie,{key:1},[gt(he(u.value),1)],64))]),Y[21]||(Y[21]=C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,dA))],64)}}},[["__scopeId","data-v-78a7a96e"]]),gA="#6b7280";function fA(){const e=wo(Xn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function hA(e,t){const o=fA();return e&&o[e]?o[e]:gA}function mA(e){return(e==null?void 0:e.properties)||e||{}}function Ll(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function bA(e){var t;return String(e.affinityBlock||Ll((t=e._raw)==null?void 0:t.rop1)||"").trim()}function yA(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function vA(e){var t;return String(e.cluster||Ll((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function _A(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function xA(e){var t;return String(e.peopleGroup||Ll((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function kA(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function wA(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function AA(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function SA(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function LA(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function vg(e){const t=Q(()=>{const r=e&&e.value||[],s=new Map;for(const i of r){const l=mA(i),c=bA(l),u=yA(l)||c||"— Unknown —",f=vA(l),b=_A(l)||f||"— Unknown —",k=xA(l),x=kA(l)||k||"— Unknown —",m=wA(l),v=AA(l)||m,g=SA(l),y=LA(l);if(!m)continue;let d=s.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},s.set(c||"__unknown__",d)),d.count+=1,d.pop+=g,d.memberIds.push(m);let h=d.clusters.get(f||"__unknown__");h||(h={code:f,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(f||"__unknown__",h)),h.count+=1,h.pop+=g,h.memberIds.push(m);let p=h.peopleGroups.get(k||"__unknown__");p||(p={code:k,label:x,count:0,pop:0,memberIds:[],instances:[]},h.peopleGroups.set(k||"__unknown__",p)),p.count+=1,p.pop+=g,p.memberIds.push(m),p.instances.push({id:m,name:v,country:y,pop:g})}return s}),o=r=>r&&r.length?["in",["get","uniqueId"],["literal",r]]:["==",["get","uniqueId"],"__none__"],n=Q(()=>{const r=t.value,s=[];for(const i of r.values()){const l=hA(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:o(i.memberIds),children:[]};for(const u of i.clusters.values()){const f={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const k={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:o(b.memberIds),children:[]};b.instances.sort((x,m)=>m.pop-x.pop||x.country.localeCompare(m.country));for(const x of b.instances)k.children.push({id:`pgic:${x.id}`,label:`${x.country?`${x.name}, ${x.country}`:x.name} (PGIC)`,color:l,count:1,pop:x.pop,filter:["==",["get","uniqueId"],x.id],children:[]});f.children.push(k)}f.children.sort((b,k)=>k.count-b.count||k.pop-b.pop),c.children.push(f)}c.children.sort((u,f)=>f.count-u.count||f.pop-u.pop),s.push(c)}return s.sort((i,l)=>l.count-i.count||l.pop-i.pop),s});function a(r){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!r){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(r.id||""),i={kind:null,label:r.label,filterExpr:r.filter};s.startsWith("bloc:")?i.kind="bloc":s.startsWith("cluster:")?i.kind="cluster":s.startsWith("pg:")?i.kind="people-group":s.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:n,highlight:a}}const CA={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},EA="#95a5a6";function $A(e){return CA[String(e||"").toLowerCase()]||EA}function TA(e){return(e==null?void 0:e.properties)||e||{}}function PA(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function NA(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function MA(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function IA(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function RA(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function FA(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function OA(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function _g(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=TA(s),l=NA(i),c=MA(i)||l||"— Unknown —",u=IA(i),f=RA(i)||u||"— Unknown —",b=FA(i),k=OA(i)||b||"— Unknown —",x=PA(i);if(!l||l==="na"||l==="none")continue;let m=r.get(l);if(m||(m={slug:l,label:c,count:0,pop:0,blocks:new Map},r.set(l,m)),m.count+=1,m.pop+=x,!u||u==="na")continue;let v=m.blocks.get(u);if(v||(v={slug:u,label:f,count:0,pop:0,countries:new Map},m.blocks.set(u,v)),v.count+=1,v.pop+=x,!b)continue;let g=v.countries.get(b);g||(g={iso:b,name:k,count:0,pop:0},v.countries.set(b,g)),g.count+=1,g.pop+=x}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=$A(s.slug),l=[],c=[],u=[...s.blocks.values()].sort((f,b)=>b.pop-f.pop||f.label.localeCompare(b.label));for(const f of u){const b=[],k=[],x=[...f.countries.values()].sort((m,v)=>v.pop-m.pop||m.name.localeCompare(v.name));for(const m of x)b.push(m.iso),l.push(m.iso),k.push({id:`country:${s.slug}__${f.slug}__${m.iso}`,label:m.name,color:i,count:m.count,pop:m.pop,filter:["==",["get","countryIso"],m.iso],isoCodes:[m.iso],children:[]});c.push({id:`block:${s.slug}__${f.slug}`,label:`${f.label} (Bloc)`,color:i,count:f.count,pop:f.pop,filter:["==",["get","wagfBlock"],f.slug],isoCodes:b,children:k})}r.push({id:`region:${s.slug}`,label:`${s.label} (Region)`,color:i,count:s.count,pop:s.pop,filter:["==",["get","doxaRegion"],s.slug],isoCodes:[...new Set(l)],children:c})}return r.sort((s,i)=>i.pop-s.pop||s.label.localeCompare(i.label)),r});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const r=String(a.id||""),s={kind:null,label:a.label,filterExpr:a.filter};r.startsWith("region:")?s.kind="region":r.startsWith("block:")?s.kind="block":r.startsWith("country:")&&(s.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,regionsTree:o,highlight:n}}const DA=["onClick"],BA={key:0,class:"rm-tab-sep","aria-hidden":"true"},GA={class:"rm-map-area"},jA={key:0,class:"rm-loading"},zA={key:1,class:"rm-error"},UA={class:"rm-legend-desktop-slot"},KA={class:"rm-legend-mobile-slot"},HA=!0,xg="doxa-regions",VA=22,qA=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"countries-map",setup(e){var Zg,Qg,ef,tf,of,nf,af,rf;let t=null,o=null;function n(I,G){if(I!=null&&I.getLayer("language-family-pins-hitbox"))try{I.setFilter("language-family-pins-hitbox",G)}catch{}}function a(){return t||(t=qt(()=>Promise.resolve().then(()=>XS),void 0).then(I=>I.useMapPoster({sourceMap:()=>ue.value,mapboxToken:c.value,styleUrl:()=>{var G,J,se,_e;return((se=(J=(G=ue.value)==null?void 0:G.getStyle())==null?void 0:J.sprite)==null?void 0:se.replace(/\/sprite.*$/,""))||((_e=l==null?void 0:l.value)==null?void 0:_e.style)}}))),t}const r=La(()=>qt(()=>Promise.resolve().then(()=>Ag),void 0)),s=La(()=>qt(()=>Promise.resolve().then(()=>Bx),void 0)),i=La(()=>qt(()=>Promise.resolve().then(()=>T2),void 0));mt(`
|
||
.mapboxgl-ctrl-top-left { top:12px!important;left:8px!important;width:380px!important;max-width:380px!important;z-index:1200!important; }
|
||
.mapboxgl-ctrl-top-left .mapboxgl-ctrl { margin:0!important;float:none!important; }
|
||
.mapboxgl-ctrl-geocoder { width:100%!important;max-width:100%!important;min-width:0!important;border-radius:999px!important;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;background:#fff;transition:box-shadow 0.12s,border-color 0.12s; }
|
||
.mapboxgl-ctrl-geocoder:focus-within { box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important; }
|
||
.mapboxgl-ctrl-geocoder--input { border-radius:999px!important;font-size:13px!important; }
|
||
.mapboxgl-ctrl-geocoder--input::placeholder { font-size:12px!important; }
|
||
.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button { display:block!important; }
|
||
.mapboxgl-ctrl-geocoder--button { display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important; }
|
||
.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close { position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important; }
|
||
.mapboxgl-ctrl-geocoder--suggestions { z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important; }
|
||
.suggestions { border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);max-height:60vh!important;overflow-y:auto!important; }
|
||
.mapboxgl-ctrl-geocoder--suggestions::-webkit-scrollbar,
|
||
.suggestions::-webkit-scrollbar { width:8px; }
|
||
.mapboxgl-ctrl-geocoder--suggestions::-webkit-scrollbar-thumb,
|
||
.suggestions::-webkit-scrollbar-thumb { background:rgba(0,0,0,0.3);border-radius:4px; }
|
||
.mapboxgl-ctrl-geocoder--suggestions::-webkit-scrollbar-track,
|
||
.suggestions::-webkit-scrollbar-track { background:rgba(0,0,0,0.05); }
|
||
.dg-main { font-weight:500;font-size:13px;color:#222;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px; }
|
||
.dg-main strong { font-weight:700;overflow:hidden;text-overflow:ellipsis; }
|
||
.dg-meta { margin-top:2px;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:#555;line-height:1.35; }
|
||
.dg-field strong { font-weight:600;color:#333;margin-right:2px; }
|
||
.dg-tag { flex:none;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;color:#3b463d;background:rgba(59,70,61,0.10);border-radius:4px;padding:1px 5px;line-height:1.5;white-space:nowrap; }
|
||
.dg-agg-label { overflow:hidden;text-overflow:ellipsis; }
|
||
.dg-count { flex:none;font-size:11px;font-weight:600;color:#73a17f; }
|
||
.dsm-dark .dg-tag { color:#cfe3d6;background:rgba(115,161,127,0.22); }
|
||
.dsm-dark .dg-count { color:#9fd0ab; }
|
||
.suggestions li:has(.dg-section-header-item) > a { pointer-events:none!important;cursor:default!important;background:none!important;padding:4px 10px 2px!important; }
|
||
.dg-section-header-item { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.6px;color:#9ca3af;padding:2px 0; }
|
||
.dsm-dark .dg-section-header-item { color:rgba(243,243,241,0.45); }
|
||
@media(max-width:767px){
|
||
.mapboxgl-ctrl-top-left { top:10px!important;left:3px!important;right:3px!important;width:calc(100% - 6px)!important;max-width:none!important; }
|
||
}
|
||
.dsm-dark .mapboxgl-ctrl-geocoder { background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder:focus-within { box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder--input { color:#F3F3F1!important;background:transparent!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder { color:rgba(243,243,241,0.65)!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon { fill:rgba(243,243,241,0.75)!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder--button { background:transparent!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder--icon-close { fill:rgba(243,243,241,0.75)!important; }
|
||
.dsm-dark .mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close { fill:#F3F3F1!important; }
|
||
.dsm-dark .suggestions { background:#3b463d!important;border:1px solid rgba(255,255,255,0.12)!important; }
|
||
.dsm-dark .suggestions > li { background:transparent!important; }
|
||
.dsm-dark .suggestions > li > a { background:transparent!important;color:#F3F3F1!important; }
|
||
.dsm-dark .suggestions > li.active > a,
|
||
.dsm-dark .suggestions > li.selected > a,
|
||
.dsm-dark .suggestions > li:hover > a,
|
||
.dsm-dark .suggestions > li > a:hover,
|
||
.dsm-dark .suggestions > li > a:focus { background:rgba(255,255,255,0.1)!important;color:#F3F3F1!important; }
|
||
.dsm-dark .dg-main { color:#F3F3F1!important; }
|
||
.dsm-dark .dg-meta { color:rgba(243,243,241,0.75)!important; }
|
||
.dsm-dark .dg-field strong { color:#F3F3F1!important; }
|
||
.rm-root { position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:#ffffff;color:#1f2937;isolation:isolate; }
|
||
.rm-root.rm-dark { background:#1a1a2e;color:#F3F3F1; }
|
||
.rm-tab-bar {
|
||
flex:0 0 auto;display:flex;align-items:center;
|
||
background:#ffffff;
|
||
border-bottom:1px solid rgba(0,0,0,0.12);
|
||
height:44px;
|
||
padding-inline-start:36px;
|
||
padding-inline-end:16px;
|
||
scroll-padding-inline:16px;
|
||
gap:var(--spacing-3xl,28px);
|
||
z-index:10;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
|
||
font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
||
}
|
||
.rm-tab-bar::-webkit-scrollbar{display:none;width:0;height:0;}
|
||
.rm-dark .rm-tab-bar { background:#2a332a;border-bottom-color:rgba(255,255,255,0.10); }
|
||
.rm-tab {
|
||
background:none;border:none;padding:0;height:100%;
|
||
font-family:inherit;
|
||
font-size:14px;font-weight:500;
|
||
color:#5f6368;
|
||
cursor:pointer;
|
||
border-bottom:2px solid transparent;
|
||
white-space:nowrap;
|
||
transition:color .12s,border-color .12s,background .12s;
|
||
}
|
||
.rm-tab:hover { color:#202124; }
|
||
.rm-tab.active { color:#1a73e8;border-bottom-color:#1a73e8;font-weight:600; }
|
||
.rm-tab-sep {
|
||
flex: 0 0 1px;
|
||
align-self: center;
|
||
width: 1px;
|
||
height: 50%;
|
||
background: rgba(0, 0, 0, 0.18);
|
||
pointer-events: none;
|
||
}
|
||
.rm-dark .rm-tab { color:rgba(243,243,241,0.85); }
|
||
.rm-dark .rm-tab:hover { color:#F3F3F1; }
|
||
.rm-dark .rm-tab.active { color:#cbc5b9;border-bottom-color:#cbc5b9; }
|
||
@media(max-width:767px){
|
||
.rm-tab-bar { padding-inline:16px; scroll-padding-inline:16px; gap:16px; height:40px; }
|
||
.rm-tab { font-size:13px; }
|
||
}
|
||
.rm-map-area { flex:1 1 0;position:relative;overflow:hidden; }
|
||
.rm-map-canvas { position:absolute;inset:0; }
|
||
.rm-loading { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f1216;color:#7c8cf8;font:13px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;z-index:5; }
|
||
.rm-error { position:absolute;top:50%;left:12px;right:12px;z-index:7;transform:translateY(-50%);text-align:center;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#fecaca;background:rgba(15,18,22,.95);border:1px solid rgba(254,202,202,.28);border-radius:10px;padding:12px 14px;box-shadow:0 2px 10px rgba(0,0,0,.4); }
|
||
.rm-badge { position:absolute;top:10px;right:10px;background:rgba(124,140,248,0.12);color:#7c8cf8;border:1px solid rgba(124,140,248,0.3);padding:3px 9px;border-radius:4px;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;pointer-events:none;z-index:50; }
|
||
.rm-legend-mobile-slot { display:none; }
|
||
@media(max-width:767px){
|
||
.rm-legend-mobile-slot { display:block; }
|
||
.rm-legend-desktop-slot { display:none; }
|
||
}
|
||
.map-scroll-edge { position:absolute;top:0;bottom:0;width:40px;z-index:2;touch-action:pan-y;pointer-events:auto;background:transparent; }
|
||
.map-scroll-edge--left { left:0; }
|
||
.map-scroll-edge--right { right:0; }
|
||
`,"research-map");const l=Te("profileConfig"),c=Te("mapboxToken"),u=Te("dataSource");Te("colorSet");const f=Te("instanceId",null),b=(()=>{var G;const I=(G=l==null?void 0:l.value)==null?void 0:G.locale;return I&&qi.includes(I)?I:null})(),{locale:k,t:x,te:m}=ht();b&&(k.value=b);function v(I){const G="tabs."+((I==null?void 0:I.i18nKey)||(I==null?void 0:I.id));return I&&m(G)?x(G):(I==null?void 0:I.label)??""}const g=Te("mapStore"),y=Te("dataStore"),d=Te("uiStore"),h=cv(d),p={doxaRegions:!0,adoption:!1,share:!0,hamburgerMenu:!1,geocoderPersistAcrossTabs:!1},L=[{id:"doxa-regions",label:"Countries",colorStrategy:"doxaRegion",legend:"doxa-regions",popup:"pray",feature:"doxaRegions"}].filter(I=>!I.feature||p[I.feature]),R=Q(()=>L),S=Q(()=>!1),z=le(xg),j=Q(()=>R.value.find(I=>I.id===z.value)??R.value[0]),O=Q(()=>{var I;return((I=j.value)==null?void 0:I.legend)??"default"}),D=Q(()=>{var I;return((I=j.value)==null?void 0:I.popup)??"pray"}),M=Q(()=>{var I,G,J,se;return((I=j.value)==null?void 0:I.id)==="language-families"?"Search language family, language, dialect/variety":((G=j.value)==null?void 0:G.id)==="affinity-blocks"?"Search affinity bloc, cluster, people group":((J=j.value)==null?void 0:J.id)==="doxa-regions"?"Search region, country, people group":((se=j.value)==null?void 0:se.id)==="religion"?"Search religion, people group":""}),$={"affinity-blocks":"people-groups",prayer:"people-groups",adoption:"people-groups",engagement:"people-groups","language-families":"language","doxa-regions":"regions",religion:"religion"},T=Q(()=>{var I;return $[(I=j.value)==null?void 0:I.id]||""}),N=(f==null?void 0:f.value)||f||"research-map-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,8);St("mapId",N);const q=le(null),ce=le(null),ee=le(null),oe=new Map;De(()=>z==null?void 0:z.value,async(I,G)=>{var se,_e,ze,Je,rt;if(G!==void 0&&I!==G){G&&oe.set(G,d.legendState);const st=oe.get(I)||(d.isMobile?"collapsed":"open");st==="fullyOpen"?(se=d.fullyOpenLegend)==null||se.call(d):st==="open"?(_e=d.openLegend)==null||_e.call(d):(ze=d.collapseLegend)==null||ze.call(d)}await jt();const J=(Je=ce.value)==null?void 0:Je.querySelector(".rm-tab.active");(rt=J==null?void 0:J.scrollIntoView)==null||rt.call(J,{inline:"center",block:"nearest",behavior:"smooth"})});const H=le(null),pe=le(!1),we=le(null),{map:ue,initializeMap:$e,destroy:Ae}=Wv({containerRef:H,accessToken:c.value,style:((Zg=l==null?void 0:l.value)==null?void 0:Zg.style)??h.bootStyle(),config:h.bootConfig,center:((Qg=l==null?void 0:l.value)==null?void 0:Qg.center)??io.center??[20,10],zoom:((ef=l==null?void 0:l.value)==null?void 0:ef.zoom)??io.zoom??1.8,pitch:((tf=l==null?void 0:l.value)==null?void 0:tf.pitch)??io.pitch??0,bearing:((of=l==null?void 0:l.value)==null?void 0:of.bearing)??io.bearing??0,minZoom:((nf=l==null?void 0:l.value)==null?void 0:nf.minZoom)??io.minZoom??.5,maxZoom:VA}),ie=new lg({sourcesConfig:Sn,locale:b}),ye=b_({mapId:N,dataSourceId:u.value,dataSourceManager:ie,dataStore:y,markRaw:I=>I});async function me(I){const G=String(I||"").trim().toUpperCase();if(G.length!==3)return;await tr();const J=ue.value;if(!J||!J.getLayer("regions-fill"))return;J.setLayoutProperty("regions-fill","visibility","visible"),J.setLayoutProperty("regions-border","visibility","visible");const se=["literal",[G]];J.setPaintProperty("regions-fill","fill-opacity",["case",["in",["get","iso_3166_1_alpha_3"],se],.3,.02]),J.setPaintProperty("regions-border","line-color",["case",["in",["get","iso_3166_1_alpha_3"],se],"#111827","rgba(60,60,80,0.15)"]),J.setPaintProperty("regions-border","line-width",["case",["in",["get","iso_3166_1_alpha_3"],se],2.5,.3]),J.getLayer("language-family-pins")&&J.moveLayer("language-family-pins")}function Le(){var G;w.clearCountry();const I=ue.value;!I||!I.getLayer("regions-fill")||(I.setPaintProperty("regions-fill","fill-opacity",.2),I.setPaintProperty("regions-fill","fill-outline-color",null),I.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),I.setPaintProperty("regions-border","line-width",.6),((G=j.value)==null?void 0:G.id)!=="doxa-regions"&&(I.setLayoutProperty("regions-fill","visibility","none"),I.setLayoutProperty("regions-border","visibility","none")))}const E=o_({getMap:()=>ue.value,mapId:N,getLanguageFamilyColor:I=>{var J,se;const G=wo((J=j.value)==null?void 0:J.colorStrategy);return((se=G==null?void 0:G.colors)==null?void 0:se[I])??(G==null?void 0:G.fallback)??"#7c8cf8"},getNormalizedPeopleGroups:()=>ye.normalizedPeopleGroups.value||[]});Zp({getMap:()=>ue.value,mapId:N,getLanguageFamilyColor:()=>"#7c8cf8",getNormalizedPeopleGroups:()=>ye.normalizedPeopleGroups.value||[]});const F=n_({getMap:()=>ue.value,mapId:N,mapStore:g,defaultCenter:((af=l==null?void 0:l.value)==null?void 0:af.center)??[20,10],defaultZoom:((rf=l==null?void 0:l.value)==null?void 0:rf.zoom)??1.8}),B=r_({getMap:()=>ue.value,getActivePinColor:I=>{var J,se;const G=wo(((J=j.value)==null?void 0:J.colorStrategy)??"languageFamily");return((se=G==null?void 0:G.getColor)==null?void 0:se.call(G,I))??"#1a1a1a"}});let K=null,te=null;function U(){return K?Promise.resolve(K):(te||(te=qt(()=>Promise.resolve().then(()=>F2),void 0).then(I=>(K=I.useMapClustering({getMap:()=>ue.value,mapId:N,mapStore:g,getPeopleGroups:()=>ye.normalizedPeopleGroups.value||[],getClusterColor:()=>{var G,J;return((J=wo((G=j.value)==null?void 0:G.colorStrategy))==null?void 0:J.fallback)??"#7c8cf8"}}),K))),te)}const X={setData(I){var G;(G=K==null?void 0:K.setData)==null||G.call(K,I)},applyFilters(I){var G;(G=K==null?void 0:K.applyFilters)==null||G.call(K,I)},refreshColors(){var I;(I=K==null?void 0:K.refreshColors)==null||I.call(K)},cleanup(){var I;(I=K==null?void 0:K.cleanup)==null||I.call(K)},async setEnabled(I){var G,J;(J=(G=await U()).setEnabled)==null||J.call(G,I)},async setMode(I){var G,J;(J=(G=await U()).setMode)==null||J.call(G,I)},_pendingSelectionFilter:null,setSelectionFilter(I){this._pendingSelectionFilter=I||null,K!=null&&K.setSelectionFilter&&K.setSelectionFilter(I)},flushSelectionFilter(){K!=null&&K.setSelectionFilter&&K.setSelectionFilter(this._pendingSelectionFilter)}},ne=Ja({});St("legendRows",ne.rows),St("normalizedPeopleGroups",ye.normalizedPeopleGroups);const w=u_(()=>ue.value),A=Pw(N);Nw(A);const{onPeopleGroupResult:W,onAggregateResult:re,onClear:be,clearGeocoderProgrammatic:fe}=y_({map:ue,geocoderRef:ee,clustering:X,mapStore:g,uiStore:d,mapLayers:E,pplrInstance:A,onSemanticTreeSelect:ia,switchTab:ms,activeTabId:z,clearAllHighlights:bs,clearCountryHighlight:Le,mapId:N,legendRouters:{country:nL,region:oL,religion:tL}});A.activeTab.value=2;function Z(I){return I==="doxa-regions"?2:I==="affinity-block"?0:I==="language-family"?1:0}De(O,I=>{A.activeTab.value=Z(I)});const P={get value(){return ye.normalizedPeopleGroups.value||[]}},{langTree:Y}=vl(P),ge=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor (e.g. Indo-European, Afro-Asiatic)."},{id:"language",label:"Language",info:"A language is a system of communication used by a people (e.g. Arabic, Bengali, Hindi)."},{id:"dialect",label:"Dialect/Variety",info:"A dialect/variety is a regional or social form of a language (e.g. Arabic, Sudanese; Pakistan Sign Language)."}],{affinityTree:xe}=vg(P),Se=[{id:"bloc",label:"Affinity Block",info:"Affinity Block (field: rop1) — broadest grouping by cultural/linguistic/geographic kinship. 16 blocks total. Examples: Malay Peoples, South Asian Peoples, Deaf, Arab World."},{id:"cluster",label:"Cluster",info:'Cluster (field: imb_reg_of_people_2, ROP 2) — finer-grained grouping inside a bloc. 194 clusters total. Suffix "(Cluster)" appears on each row to distinguish from PG/PGIC. Example: Borneo-Kalimantan within Malay Peoples.'},{id:"group",label:"People Group",info:'People Group (field: imb_reg_of_people_25, ROP 2.5) — abstract ethnolinguistic identity, country-agnostic. Suffix "(PG)" on each row. 1,736 PGs total; 131 of them have rows in multiple countries (e.g. Deaf in 123 countries). Example: Abai Sungai (PG) is one ROP25 code regardless of where its people live.'},{id:"pgic",label:"PG in Country",info:'PGIC = People Group In Country (field: imb_reg_of_people_3 + country_code) — one row per (people group, country) pair. Suffix "(PGIC)" on each row. 2,106 rows total. Example: "Abai Sungai, Malaysia (PGIC)" is the Abai Sungai PG specifically as it exists in Malaysia.'}],{regionsTree:Fe}=_g(P),Ne=[{id:"region",label:"WAGF Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"WAGF Bloc",info:'WAGF bloc — the organizational sub-grouping within each region (e.g. "South East Asia", "West Africa").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their bloc."}],pt=Ja(wr(()=>O.value),ds);function Ke(I){const G=[];for(const J of I){G.push({id:J.key,label:J.label,color:J.color,count:J.count??0,pop:J.population??0,filter:J.filterKey?["==",["get","_flat_filter"],J.filterKey]:null,children:[]});for(const se of J.children||[])G.push({id:se.key,label:se.label,color:se.color,count:se.count??0,pop:se.population??0,filter:se.filterKey?["==",["get","_flat_filter"],se.filterKey]:null,children:[]})}return G}const He=Q(()=>["prayer","engagement","adoption","religion"].includes(O.value)),sa=Q(()=>He.value?Ke(pt.items.value):O.value==="affinity-block"?xe.value:O.value==="doxa-regions"?Fe.value:Y.value),fs=Q(()=>He.value?null:O.value==="affinity-block"?Se:O.value==="doxa-regions"?Ne:ge),V2=Q(()=>He.value),q2=Q(()=>O.value==="religion"?x("legend.colLabel.religion"):O.value==="prayer"?x("legend.colLabel.prayer"):O.value==="engagement"?x("legend.colLabel.engagement"):O.value==="adoption"?x("legend.colLabel.adoption"):He.value?x("legend.colLabel.status"):""),W2=Q(()=>d.legendState!=="collapsed");function Y2(I){I?d.openLegend():d.collapseLegend()}const Kg=Q(()=>He.value?x("legend.titleBar.legend"):O.value==="affinity-block"?x("legend.titleBar.peopleGroups"):O.value==="doxa-regions"?x("legend.titleBar.wagfRegions"):x("legend.titleBar.languages"));function Tn(I,G){var J;for(const se of I){if(G(se))return se;if((J=se.children)!=null&&J.length){const _e=Tn(se.children,G);if(_e)return _e}}return null}St("onSemanticTreeSelect",I=>ia(I)),St("getActivePinColor",I=>{var J,se;const G=wo(((J=j.value)==null?void 0:J.colorStrategy)??"languageFamily");return((se=G==null?void 0:G.getColor)==null?void 0:se.call(G,I))??"#1a1a1a"});function X2(I,G){if(!I||!G)return null;const J=I.id;if(G==="prayer"){const se=["to-number",["get","peoplePraying"]];if(J==="noPrayer")return["==",se,0];if(J==="fullPrayer")return[">=",se,ko];if(J==="hasPrayer")return["all",[">",se,0],["<",se,ko]]}else if(G==="engagement"){if(J==="hasEngagement")return["==",["get","engagementStatus"],!0];if(J==="notEngaged")return["==",["get","engagementStatus"],!1]}else if(G==="adoption"){if(J==="hasAdoption")return["==",["get","adoptionStatus"],!0];if(J==="notAdopted")return["==",["get","adoptionStatus"],!1]}else if(G==="religion")return["==",["slice",["coalesce",["get","religion"],""],0,1],J];return null}function ia(I){var se,_e,ze,Je,rt,st,_t,pn;const G=ue.value;if(I){const tt=He.value?X2(I,O.value):null,Ue=((se=j.value)==null?void 0:se.id)==="doxa-regions",wt=tt?{matchExpr:tt}:{};Ue&&(wt.regionPolygonSource="regions"),(_e=F.zoomToLegendRow)==null||_e.call(F,I,Object.keys(wt).length?wt:void 0)}if(!I){if(He.value){const tt=O.value;tt==="prayer"?d.setPrayerFilter(null):tt==="engagement"?d.setEngagementFilter(null):tt==="adoption"?d.setAdoptionFilter(null):tt==="religion"&&d.setReligionFilter(null)}if(G&&G.getLayer("language-family-pins")){try{G.setFilter("language-family-pins",null)}catch{}n(G,null),G.setPaintProperty("language-family-pins","circle-opacity",1),G.setPaintProperty("language-family-pins","circle-stroke-opacity",1),G.getLayer("language-family-pins-shadow")&&G.setPaintProperty("language-family-pins-shadow","circle-opacity",1),E.syncGlowFilter(null)}G&&G.getLayer("regions-fill")&&(G.setPaintProperty("regions-fill","fill-opacity",.7),G.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),G.setPaintProperty("regions-border","line-width",.6)),g.selectedFamily&&g.selectFamily(null),g.selectedLanguage&&g.selectLanguage(null),g.selectedDialect&&((ze=g.selectDialect)==null||ze.call(g,null)),g.selectedRegion&&((Je=g.selectRegion)==null||Je.call(g,null)),fe();return}if(He.value){const tt=O.value;tt==="prayer"?d.setPrayerFilter(I.id):tt==="engagement"?d.setEngagementFilter(I.id):tt==="adoption"?d.setAdoptionFilter(I.id):tt==="religion"&&d.setReligionFilter(I.id);return}if(G&&G.getLayer("language-family-pins")&&I.filter){try{G.setFilter("language-family-pins",I.filter)}catch{}n(G,I.filter),G.setPaintProperty("language-family-pins","circle-opacity",1),G.setPaintProperty("language-family-pins","circle-stroke-opacity",1),E.syncGlowFilter(I.filter)}const J=String(I.id||"");if(J.startsWith("fam:"))(rt=g.selectFamily)==null||rt.call(g,I.label);else if(J.startsWith("lang:"))(st=g.selectLanguage)==null||st.call(g,I.label);else if(J.startsWith("dial:"))(_t=g.selectDialect)==null||_t.call(g,{key:J.slice(5),originalLabels:I.originalLabels||[]});else if(J.startsWith("bloc:")||J.startsWith("cluster:")||J.startsWith("pg:")||J.startsWith("pgic:")){if(G&&G.getLayer("language-family-pins")&&I.filter){try{G.setFilter("language-family-pins",null)}catch{}n(G,I.filter),G.setPaintProperty("language-family-pins","circle-opacity",["case",I.filter,1,0]),G.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",I.filter,1,0]),G.getLayer("language-family-pins-shadow")&&G.setPaintProperty("language-family-pins-shadow","circle-opacity",["case",I.filter,1,0]),E.syncGlowFilter(I.filter)}}else if(J.startsWith("region:")||J.startsWith("block:")||J.startsWith("country:")){if(G&&G.getLayer("language-family-pins")&&I.filter){try{G.setFilter("language-family-pins",I.filter)}catch{}n(G,I.filter),G.setPaintProperty("language-family-pins","circle-opacity",1),G.setPaintProperty("language-family-pins","circle-stroke-opacity",1)}if(J.startsWith("region:")&&((pn=g.selectRegion)==null||pn.call(g,J.slice(7))),G&&G.getLayer("regions-fill")){const tt=I.isoCodes||[];if(tt.length){const Ue=["literal",tt];G.setPaintProperty("regions-fill","fill-opacity",["case",["in",["get","iso_3166_1_alpha_3"],Ue],.85,.15]),G.setPaintProperty("regions-border","line-color",["case",["in",["get","iso_3166_1_alpha_3"],Ue],"#111827","rgba(60,60,80,0.15)"]),G.setPaintProperty("regions-border","line-width",["case",["in",["get","iso_3166_1_alpha_3"],Ue],2.5,.3])}else G.setPaintProperty("regions-fill","fill-opacity",.7),G.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),G.setPaintProperty("regions-border","line-width",.6)}}}De(()=>d.theme,I=>{A.theme.value=I==="dark"?"dark":"light"},{immediate:!0});function dn(I,G){var se,_e;if(!G){const ze=A.selection.value;ze&&((se=ze.id)!=null&&se.startsWith(I+":"))&&(A.selection.value=null);return}const J=A.selection.value;J&&((_e=J.id)!=null&&_e.startsWith(I+":"))&&J.label===G.label||(A.selection.value=G)}De(()=>g.selectedFamily,I=>{if(!I)return dn("fam",null);const G=Tn(Y.value,J=>J.id.startsWith("fam:")&&J.label===I);G&&dn("fam",{...G,depth:0})}),De(()=>g.selectedLanguage,I=>{if(!I)return dn("lang",null);const G=Tn(Y.value,J=>J.id.startsWith("lang:")&&J.label===I);G&&dn("lang",{...G,depth:1})}),De(()=>g.selectedDialect,I=>{if(!(I!=null&&I.key))return dn("dial",null);const G=`dial:${I.key}`,J=Tn(Y.value,se=>se.id===G);J&&dn("dial",{...J,depth:2})}),De(()=>g.selectedRegion,I=>{if(!I)return dn("region",null);const G=Tn(Fe.value,J=>J.id===`region:${I}`);G&&dn("region",{...G,depth:0})});const hs=le(null);async function Hg(){hs.value||(hs.value=await a()),Nl.value=!0}function J2(I){if(I==="poster")return Hg();if(I==="packet")return Q2()}let Pl=!1;function Z2(I,G){const J=URL.createObjectURL(I),se=document.createElement("a");se.href=J,se.download=G,document.body.appendChild(se),se.click(),se.remove(),setTimeout(()=>URL.revokeObjectURL(J),1e3)}async function Q2(){var I;if(!Pl){Pl=!0;try{o||(o=qt(()=>Promise.resolve().then(()=>H2),void 0).then(Je=>Je.useMapPacket(()=>ue.value)));const G=await o;let J=ye.normalizedPeopleGroups.value||[];J.length>50&&(console.warn(`[research-map] packet export truncated ${J.length} → 50 people groups`),J=J.slice(0,50));const{defaultPosterSpec:se}=await qt(async()=>{const{defaultPosterSpec:Je}=await Promise.resolve().then(()=>BS);return{defaultPosterSpec:Je}},void 0),_e=se({widthIn:8.27,heightIn:11.69,dpi:150,orientation:"portrait"});_e.slots.title={..._e.slots.title,text:Kg.value||"Doxa Map"},_e.slots.legend={..._e.slots.legend,rows:((I=ne==null?void 0:ne.rows)==null?void 0:I.value)||[]};const ze=await G.renderPacket(_e,J,{source:"pray.doxa.life",date:new Date().toISOString().slice(0,10)});Z2(ze,"packet.pdf")}catch(G){console.error("[research-map] packet export failed:",G)}finally{Pl=!1}}}const Vg=le(!1),Nl=le(!1),qg=Q(()=>g.selectedFeature),Ht=Q(()=>d.isDarkTheme),Ml=Q(()=>Lp.lightPreset==="night");function Il(){var J;const I=ue.value;if(!I||!I.getLayer("language-family-pins"))return;const G=Ml.value?"#ffffff":["case",[">",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"];I.setPaintProperty("language-family-pins","circle-stroke-color",G),I.setPaintProperty("language-family-pins","circle-stroke-width",Ml.value?Qv((J=j.value)==null?void 0:J.colorStrategy):Qp)}De(Ml,Il,{immediate:!1}),De(()=>{var I;return(I=j.value)==null?void 0:I.id},Il),De(()=>d.theme,()=>h.applyTheme(ue.value));function eL(){h.swapTheme(ue.value)}const Wg=le(!1);let er=null;async function tr(){if(!Wg.value)return er||(er=(async()=>{var I,G,J;try{const se=await((I=ye.loadRegionsData)==null?void 0:I.call(ye));se&&ue.value&&((G=E.addRegionsLayer)==null||G.call(E,se,"doxa-regions"),ue.value.getLayer("regions-fill")&&((J=j.value)==null?void 0:J.id)!=="doxa-regions"&&(ue.value.setLayoutProperty("regions-fill","visibility","none"),ue.value.setLayoutProperty("regions-border","visibility","none")),ue.value.getLayer("language-family-pins")&&ue.value.moveLayer("language-family-pins")),Wg.value=!0,ye.regionsData.value=null}catch(se){console.warn("[research-map] regions layer failed:",se)}finally{er=null}})(),er)}function ms(I){var se,_e,ze;if(I===z.value)return;z.value=I,(se=d.setActiveTab)==null||se.call(d,I),fe();const G=R.value.find(Je=>Je.id===I);if(!G||!ue.value)return;h.applyTheme(ue.value),G.id==="doxa-regions"&&tr();const J=wo(G.colorStrategy);if(ue.value.getLayer("language-family-pins")&&(J!=null&&J.buildColorExpression)){const Je=G.id==="doxa-regions"?"#a30000":J.buildColorExpression();ue.value.setPaintProperty("language-family-pins","circle-color",Je),bs(ue.value),G.id==="prayer"?E.startPrayerGlow():E.stopPrayerGlow();const rt=G.id==="doxa-regions";ue.value.getLayer("regions-fill")&&(ue.value.setLayoutProperty("regions-fill","visibility",rt?"visible":"none"),ue.value.setLayoutProperty("regions-border","visibility",rt?"visible":"none")),ue.value.getLayer("language-family-pins")&&ue.value.moveLayer("language-family-pins")}(_e=ne.refresh)==null||_e.call(ne),(ze=X.refreshColors)==null||ze.call(X)}function Yg(I){var J,se;const G=I==null?void 0:I.detail;!G||G.mapId!==N||(G.center&&Array.isArray(G.center)?(J=F.flyToCoords)==null||J.call(F,{longitude:G.center[0],latitude:G.center[1]},G.zoom??4):G.bounds&&((se=F.fitBounds)==null||se.call(F,G.bounds,60)))}function Xg(I){var st,_t,pn;const G=I==null?void 0:I.detail;if(!G||(Et(G),!((st=G.coords)!=null&&st.length)))return;const J=G.coords;if(J.length===1){(_t=F.flyToCoords)==null||_t.call(F,{longitude:J[0][0],latitude:J[0][1]},3);return}let se=1/0,_e=-1/0,ze=1/0,Je=-1/0;for(const[tt,Ue]of J)tt<se&&(se=tt),tt>_e&&(_e=tt),Ue<ze&&(ze=Ue),Ue>Je&&(Je=Ue);const rt=G.kind==="region"?2.2:3;(pn=F.fitBounds)==null||pn.call(F,[[se,ze],[_e,Je]],60,{maxZoom:rt})}const Vt={family:null,language:null,dialect:null,region:null,prayer:null,engagement:null,adoption:null};function bs(I){I.setPaintProperty("language-family-pins","circle-opacity",1),I.setPaintProperty("language-family-pins","circle-stroke-opacity",1),I.getLayer("language-family-pins-shadow")&&I.setPaintProperty("language-family-pins-shadow","circle-opacity",1),I.setFilter("language-family-pins",null),n(I,null),E.syncGlowFilter(null),I.getLayer("regions-fill")&&(I.setPaintProperty("regions-fill","fill-opacity",.7),I.setPaintProperty("regions-fill","fill-outline-color",null)),I.getLayer("regions-border")&&(I.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),I.setPaintProperty("regions-border","line-width",.6)),Vt.family=Vt.language=Vt.dialect=Vt.region=null,Vt.prayer=Vt.engagement=Vt.adoption=null,d.prayerFilter&&d.setPrayerFilter(null),d.engagementFilter&&d.setEngagementFilter(null),d.adoptionFilter&&d.setAdoptionFilter(null),d.religionFilter&&d.setReligionFilter(null),X.setSelectionFilter(null),g.selectedFamily&&g.selectFamily(null),g.selectedLanguage&&g.selectLanguage(null),g.selectedDialect&&g.selectDialect(null);try{A&&A.selection&&A.selection.value&&(A.selection.value=null)}catch{}}let ys=null,vs=0;function Et(I){var rt,st,_t,pn,tt;const G=ue.value;if(!G||!G.getLayer("language-family-pins"))return;let J,se,_e;if(I.kind==="family")_e="family",J="languageFamily",se=I.familyKey;else if(I.kind==="language")_e="language",J="language",se=I.languageKey;else if(I.kind==="region")_e="region",J="doxaRegion",se=I.regionKey;else if(I.kind==="prayer")_e="prayer",J=I.property||"peoplePraying",se=I.expectedValue;else if(I.kind==="engagement")_e="engagement",J=I.property||"engagementStatus",se=I.expectedValue;else if(I.kind==="adoption")_e="adoption",J=I.property||"adoptionStatus",se=I.expectedValue;else if(I.kind==="religion")_e="religion",J=I.property||"religion",se=I.expectedValue;else if(I.kind==="dialect")_e="dialect",J="language",se=I.dialectKey||"";else{bs(G),fe();for(const Ue of Object.keys(Vt))Vt[Ue]=null;ys=null,vs=0;return}const ze=Date.now(),Je=`${_e}|${se}`;if(!(ys===Je&&ze-vs<80)){if(ys=Je,vs=ze,Vt[_e]===se){bs(G),fe(),ys=null,vs=0;return}for(const Ue of Object.keys(Vt))Vt[Ue]=null;if(Vt[_e]=se,_e==="family"?(rt=g.selectFamily)==null||rt.call(g,se):_e==="region"?(st=g.selectRegion)==null||st.call(g,se):_e==="language"?(_t=g.selectLanguage)==null||_t.call(g,se):_e==="dialect"&&((pn=g.selectDialect)==null||pn.call(g,{key:se,originalLabels:I.originalLabels||[]})),X.setSelectionFilter({property:J,value:se}),_e==="region"){if(G.setFilter("language-family-pins",["==",["get","doxaRegion"],se]),n(G,["==",["get","doxaRegion"],se]),G.setPaintProperty("language-family-pins","circle-opacity",1),G.setPaintProperty("language-family-pins","circle-stroke-opacity",1),G.getLayer("regions-fill")){const Ue=((tt=E.regionIsoMap)==null?void 0:tt.value)||{},wt=Pn=>String(Pn).toLowerCase().replace(/[^a-z]/g,""),rL=wt(se);let _s=Ue[se]||[];if(!_s.length){for(const[Pn,sL]of Object.entries(Ue))if(wt(Pn)===rL){_s=sL;break}}if(_s.length){const Pn=["literal",_s];G.setPaintProperty("regions-fill","fill-opacity",["case",["in",["get","iso_3166_1_alpha_3"],Pn],.85,.15]),G.setPaintProperty("regions-border","line-color",["case",["in",["get","iso_3166_1_alpha_3"],Pn],"#111827","rgba(60,60,80,0.15)"]),G.setPaintProperty("regions-border","line-width",["case",["in",["get","iso_3166_1_alpha_3"],Pn],2.5,.3])}else G.setPaintProperty("regions-fill","fill-opacity",.7),G.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),G.setPaintProperty("regions-border","line-width",.6)}}else{G.setFilter("language-family-pins",null);let Ue;if(_e==="prayer"){const wt=["to-number",["get",J]];se==="noPrayer"?Ue=["==",wt,0]:se==="fullPrayer"?Ue=[">=",wt,ko]:se==="hasPrayer"?Ue=["all",[">",wt,0],["<",wt,ko]]:Ue=["==",["get",J],se]}else if(_e==="engagement")Ue=["==",["get",J],se==="hasEngagement"];else if(_e==="adoption")Ue=["==",["get",J],se==="hasAdoption"];else if(_e==="religion")Ue=["==",["slice",["coalesce",["get",J],""],0,1],se];else if(I.filterExpr)Ue=I.filterExpr;else if(_e==="language")Ue=["any",["==",["get",J],se],["==",["slice",["get",J],0,se.length+1],se+","],["in"," "+se,["get",J]]];else if(_e==="dialect"){const wt=I.originalLabels||[];wt.length===1?Ue=["==",["get",J],wt[0]]:wt.length>1?Ue=["in",["get",J],["literal",wt]]:Ue=["==",["get",J],se]}else Ue=["==",["get",J],se];G.setPaintProperty("language-family-pins","circle-opacity",["case",Ue,1,0]),G.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",Ue,1,0]),G.getLayer("language-family-pins-shadow")&&G.setPaintProperty("language-family-pins-shadow","circle-opacity",["case",Ue,1,0]),n(G,Ue),E.syncGlowFilter(Ue),G.getLayer("regions-fill")&&(G.setPaintProperty("regions-fill","fill-opacity",.2),G.setPaintProperty("regions-border","line-color","rgba(60,60,80,0.35)"),G.setPaintProperty("regions-border","line-width",.6))}}}function tL(I,{map:G,filterLayerId:J}){const se=I.label;try{G.setFilter(J,null)}catch{}const _e=Object.keys(Cn).find(ze=>Cn[ze]===se);if(_e){const ze={id:_e,label:se,depth:0},Je=()=>{try{G.setFilter(J,null)}catch{}ia(ze),A&&A.selection&&(A.selection.value=ze)};z.value!=="religion"&&ms("religion"),jt(Je)}}function oL(I,{map:G,filterLayerId:J}){const se=I.label,_e=st=>String(st).toLowerCase().replace(/[^a-z0-9]/g,""),ze=st=>String(st||"").replace(/\s*\((?:Region|Bloc)\)\s*$/i,""),Je=_e(se),rt=()=>{try{G.setFilter(J,null)}catch{}const st=Tn(Fe.value,_t=>(_t.id.startsWith("region:")||_t.id.startsWith("block:"))&&_e(ze(_t.label))===Je);st&&(ia(st),A&&A.selection&&(A.selection.value=st))};z.value!=="doxa-regions"?(ms("doxa-regions"),Promise.resolve(tr()).finally(()=>jt(rt))):rt()}function nL(I){var J,se,_e,ze;if(Array.isArray(I.bounds)&&I.bounds.length===4){const[Je,rt,st,_t]=I.bounds;(J=F.fitBounds)==null||J.call(F,[[Je,rt],[st,_t]],60)}else Array.isArray(I.center)&&I.center.length===2&&((se=F.flyTo)==null||se.call(F,I.center));const G=l_(I,ye.normalizedPeopleGroups.value||[]);if(G&&me(G),G&&((_e=j.value)==null?void 0:_e.id)!=="doxa-regions"&&w.showCountry(G),G&&((ze=j.value)==null?void 0:ze.id)==="doxa-regions"){const Je=()=>{const rt=Tn(Fe.value,st=>st.id.startsWith("country:")&&(st.isoCodes||[]).includes(G));rt&&(ia(rt),A&&A.selection&&(A.selection.value=rt))};Promise.resolve(tr()).finally(()=>jt(Je))}}De(()=>g.filters,()=>{var I,G;(I=E.applyFilters)==null||I.call(E,g.filters),(G=X.applyFilters)==null||G.call(X,g.filters)},{deep:!0}),De(()=>g.selectedRegion,I=>{Et(I?{kind:"region",regionKey:I}:{kind:null})}),De(()=>g.selectedFamily,I=>{I?Et({kind:"family",familyKey:I}):!g.selectedLanguage&&!g.selectedDialect&&Et({kind:null})}),De(()=>g.selectedLanguage,I=>{I?Et({kind:"language",languageKey:I}):!g.selectedFamily&&!g.selectedDialect&&Et({kind:null})}),De(()=>g.selectedDialect,I=>{I!=null&&I.key?Et({kind:"dialect",dialectKey:I.key,originalLabels:I.originalLabels||[]}):!g.selectedFamily&&!g.selectedLanguage&&Et({kind:null})}),De(()=>d.prayerFilter,I=>{Et(I?{kind:"prayer",property:"peoplePraying",expectedValue:I}:{kind:null})}),De(()=>d.engagementFilter,I=>{Et(I?{kind:"engagement",property:"engagementStatus",expectedValue:I}:{kind:null})}),De(()=>d.adoptionFilter,I=>{Et(I?{kind:"adoption",property:"adoptionStatus",expectedValue:I}:{kind:null})}),De(()=>d.religionFilter,I=>{Et(I?{kind:"religion",property:"religion",expectedValue:I}:{kind:null})}),De(()=>g.showClusters,async I=>{var G,J,se,_e;I?(await((G=X.setMode)==null?void 0:G.call(X,"mst")),(J=X.flushSelectionFilter)==null||J.call(X),await((se=X.setEnabled)==null?void 0:se.call(X,!0))):await((_e=X.setEnabled)==null?void 0:_e.call(X,!1))});async function aL(I){var G,J,se,_e,ze,Je,rt;g.registerMap(N,ue.value);try{ue.value.setProjection("mercator")}catch{}h.applyTheme(ue.value),I!=null&&I.length&&(E.addLanguageFamilyLayer(I,((G=j.value)==null?void 0:G.colorStrategy)??"languageFamily"),((J=j.value)==null?void 0:J.id)==="doxa-regions"&&((se=ue.value)!=null&&se.getLayer("language-family-pins"))&&ue.value.setPaintProperty("language-family-pins","circle-color","#4b5563"),((_e=j.value)==null?void 0:_e.id)==="prayer"&&E.startPrayerGlow(),(ze=X.setData)==null||ze.call(X,I),(Je=ne.build)==null||Je.call(ne,I),B.initialize()),((rt=j.value)==null?void 0:rt.id)==="doxa-regions"&&(typeof window<"u"&&window.requestIdleCallback?_t=>window.requestIdleCallback(_t,{timeout:2e3}):_t=>setTimeout(_t,800))(()=>{tr()}),Il(),g.setMapReady(N),pe.value=!0}let or=null;function Jg(I){const G=q.value;G&&(I>=700?(G.style.setProperty("--map-btn-size","40px"),G.style.setProperty("--map-toolbar-gap","8px"),G.style.setProperty("--map-font-md","13px"),G.style.setProperty("--map-font-sm","11px"),G.style.setProperty("--map-legend-width","380px")):I>=500?(G.style.setProperty("--map-btn-size","36px"),G.style.setProperty("--map-toolbar-gap","6px"),G.style.setProperty("--map-font-md","12px"),G.style.setProperty("--map-font-sm","10px"),G.style.setProperty("--map-legend-width","360px")):(G.style.setProperty("--map-btn-size","32px"),G.style.setProperty("--map-toolbar-gap","5px"),G.style.setProperty("--map-font-md","11px"),G.style.setProperty("--map-font-sm","10px"),G.style.setProperty("--map-legend-width","280px")))}return Zt(async()=>{var G,J,se;(G=d.init)==null||G.call(d),z.value=xg,d.isMobile?(J=d.collapseLegend)==null||J.call(d):(se=d.openLegend)==null||se.call(d),q.value&&(Jg(q.value.getBoundingClientRect().width),typeof ResizeObserver<"u"&&(or=new ResizeObserver(_e=>{for(const ze of _e)Jg(ze.contentRect.width)}),or.observe(q.value))),window.addEventListener("doxa:legend-row-click",Yg),window.addEventListener("legend:highlight",Xg);const I=ye.loadData().catch(_e=>(console.error("[research-map] data load failed:",_e),{normalizedPeopleGroups:[]}));try{await $e()}catch(_e){console.error("[countries-map] Map failed to initialize —",_e),we.value=String((_e==null?void 0:_e.message)||_e);return}if(!ue.value){console.error("[countries-map] Map failed to initialize — check token and container"),we.value="Map failed to initialize — check token and container";return}ue.value.once("style.load",async()=>{try{const{normalizedPeopleGroups:_e}=await I;await aL(_e)}catch(_e){console.error("[countries-map] onMapReady failed:",_e),we.value=String((_e==null?void 0:_e.message)||_e)}})}),ho(()=>{var I,G,J,se;window.removeEventListener("doxa:legend-row-click",Yg),window.removeEventListener("legend:highlight",Xg),or&&(or.disconnect(),or=null),(G=(I=hs.value)==null?void 0:I.cleanup)==null||G.call(I),E.stopPrayerGlow(),(J=X.cleanup)==null||J.call(X),(se=B.cleanup)==null||se.call(B),g.unregisterMap(N),Ae()}),(I,G)=>(V(),ae("div",{ref_key:"rmRoot",ref:q,class:Ee(["rm-root",{"rm-dark":Ht.value,"dsm-dark":Ht.value}])},[S.value?(V(),ae("div",{key:0,ref_key:"tabBar",ref:ce,class:"rm-tab-bar"},[(V(!0),ae(Ie,null,yt(R.value,J=>(V(),ae(Ie,{key:J.id},[C("button",{class:Ee(["rm-tab",{active:z.value===J.id}]),onClick:se=>ms(J.id)},he(v(J)),11,DA),J.sepAfter?(V(),ae("div",BA)):ve("",!0)],64))),128))],512)):ve("",!0),C("div",GA,[!pe.value&&!we.value?(V(),ae("div",jA,"Research map loading…")):ve("",!0),we.value?(V(),ae("div",zA,"The map could not be loaded. "+he(we.value),1)):ve("",!0),C("div",{ref_key:"mapContainer",ref:H,class:"rm-map-canvas"},null,512),G[4]||(G[4]=C("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),G[5]||(G[5]=C("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),pe.value&&de(ue)?(V(),Ge(Ck,{key:2,ref_key:"geocoderRef",ref:ee,"map-instance":de(ue),"access-token":de(c),"data-source-id":de(u),"is-dark":Ht.value,placeholder:M.value,"active-context":T.value,onPeopleGroupResult:de(W),onAggregateResult:de(re),onClear:de(be)},null,8,["map-instance","access-token","data-source-id","is-dark","placeholder","active-context","onPeopleGroupResult","onAggregateResult","onClear"])):ve("",!0),ve("",!0),pe.value&&de(ue)?(V(),Ge(ek,{key:4},{default:Mt(()=>[Ze(ok,{map:de(ue),"is-dark":Ht.value},null,8,["map","is-dark"]),Ze(nk,{map:de(ue),"is-dark":Ht.value},null,8,["map","is-dark"]),Ze(ak,{map:de(ue),"is-dark":Ht.value},null,8,["map","is-dark"]),Ze(ik,{"map-container":H.value,"is-dark":Ht.value},null,8,["map-container","is-dark"]),Ze(ck,{"is-dark":Ht.value,onToggle:eL},null,8,["is-dark"]),p.share?(V(),Ge(Jk,{key:0,"is-dark":Ht.value,"embed-path":"country-posters/countries-map/index.html"},null,8,["is-dark"])):ve("",!0)]),_:1})):ve("",!0),pe.value?(V(),Ge(Qx,{key:5,"legend-type":O.value,"is-dark":Ht.value},null,8,["legend-type","is-dark"])):ve("",!0),pe.value?(V(),Ge(uw,{key:6,"is-open":Vg.value,onClose:G[1]||(G[1]=J=>Vg.value=!1),onOpenPoster:Hg},{default:Mt(()=>[Ze(Tw)]),_:1},8,["is-open"])):ve("",!0),C("div",UA,[pe.value&&de(d).legendMode==="detail"&&de(d).selectedPeopleGroup?(V(),Ge(Kx,{key:0,"legend-type":O.value,"popup-action":D.value,"initially-collapsed":!1,"is-dark":Ht.value},null,8,["legend-type","popup-action","is-dark"])):ve("",!0),zt(C("div",null,[pe.value?(V(),Ge(yg,{key:0,nodes:sa.value,tabs:fs.value,title:Kg.value,hideTabs:V2.value,columnLabel:q2.value,open:W2.value,"export-enabled":HA,onSelect:ia,onExport:J2,"onUpdate:open":Y2},null,8,["nodes","tabs","title","hideTabs","columnLabel","open"])):ve("",!0)],512),[[Ku,!(de(d).legendMode==="detail"&&de(d).selectedPeopleGroup)]])]),C("div",KA,[pe.value?(V(),Ge(de(r),{key:0,"legend-type":O.value,"popup-action":D.value,"is-dark":Ht.value},null,8,["legend-type","popup-action","is-dark"])):ve("",!0)]),pe.value&&qg.value?(V(),Ge(de(s),{key:7,feature:qg.value,action:D.value,dark:Ht.value,onClose:G[2]||(G[2]=J=>de(g).selectFeature(null))},null,8,["feature","action","dark"])):ve("",!0),Nl.value?(V(),Ge(de(i),{key:8,poster:hs.value,"legend-rows":de(ne).rows,"active-tab":j.value,onClose:G[3]||(G[3]=J=>Nl.value=!1)},null,8,["poster","legend-rows","active-tab"])):ve("",!0)])],2))}}},Symbol.toStringTag,{value:"Module"})),WA={class:"wall-h"},YA={key:0,class:"wall-tag"},XA=["innerHTML"],JA={class:"sec-name"},ZA={class:"sec-count"},QA={class:"grid"},eS=["data-list-id"],tS=["aria-label","onClick"],oS={class:"hcount"},nS={class:"main"},aS={key:0,class:"ph is-soon"},rS={class:"ph-label"},sS={key:0,class:"ph-count"},iS={class:"ph-soon"},lS=["src","alt","onError"],cS={key:2,class:"ph"},uS={class:"ph-label"},dS={key:0,class:"ph-count"},pS={class:"tape pfs"},gS=["onClick"],fS=["onClick"],hS={class:"modal",role:"dialog","aria-live":"polite"},mS={class:"modal-kind"},bS={class:"modal-title"},yS={class:"modal-err"},vS={class:"modal-soon"},_S={class:"bar"},xS={class:"modal-phase"},kS={__name:"PosterWall",props:{items:{type:Array,required:!0},groupBy:{type:Function,default:()=>"All"},instanceId:{type:String,default:"poster-wall"},isDark:{type:Boolean,default:!1},assetsBase:{type:String,default:"./assets"},eventName:{type:String,default:"doxa-poster-wall:show-on-map"},heading:{type:String,default:"Prayer Lists & Posters"},tag:{type:String,default:""},intro:{type:String,default:""},unit:{type:String,default:"UPG"},itemNoun:{type:String,default:"list"},itemNounPlural:{type:String,default:""},collapsible:{type:Boolean,default:!1},collapsedBy:{type:Function,default:()=>!1},unsupported:{type:Function,default:()=>null},downloadPrefix:{type:String,default:"doxa"},prayerListSoonMessage:{type:String,default:"Coming soon — the prayer list for each people group is in build."}},setup(e){const t=e,o=Q(()=>t.itemNounPlural||`${t.itemNoun}s`),n=Q(()=>String(t.assetsBase||"./assets").replace(/\/+$/,"")),a=y=>`${n.value}/previews/${y}.webp`,r=Q(()=>{const y=new Map;for(const d of t.items||[]){if(!d||!d.id)continue;const h=t.groupBy(d)||"Other";y.has(h)||y.set(h,[]),y.get(h).push(d)}return[...y.entries()].map(([d,h])=>({name:d,items:h.slice().sort((p,_)=>(_.count||0)-(p.count||0)),total:h.reduce((p,_)=>p+(_.count||0),0)})).sort((d,h)=>h.total-d.total)}),s=Q(()=>{const y={};for(const d of r.value)y[d.name]=!!t.collapsedBy(d);return y}),i=le({}),l=y=>t.collapsible?y in i.value?!!i.value[y]:!!s.value[y]:!1,c=y=>{i.value={...i.value,[y]:!l(y)}},u=le(null),f=le({});function b(y){const d=u.value===y.id;u.value=d?null:y.id,window.dispatchEvent(new CustomEvent(t.eventName,{detail:{instanceId:t.instanceId,listId:d?null:y.id,label:d?null:y.label}}))}const k=le(null);async function x(y){if(k.value)return;const d=t.unsupported(y);if(d){k.value={label:y.label,kind:"Poster",phase:"soon",message:d,pct:0};return}k.value={label:y.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{const h=await fetch(`${n.value}/posters/${y.id}.webp`);if(!h.ok)throw new Error(`poster not found (${h.status})`);k.value={...k.value,phase:"save",message:"saving",pct:80},v(await h.blob(),`${t.downloadPrefix}-${y.id}-poster.webp`),k.value={...k.value,phase:"done",message:"saved",pct:100},setTimeout(()=>{k.value=null},900)}catch(h){k.value={label:y.label,kind:"Poster",phase:"error",message:String((h==null?void 0:h.message)||h).slice(0,140),pct:0}}}function m(y){k.value={label:y.label,kind:"Prayer List",phase:"soon",message:t.prayerListSoonMessage,pct:0}}function v(y,d){const h=document.createElement("a");h.href=URL.createObjectURL(y),h.download=d,document.body.appendChild(h),h.click(),h.remove(),setTimeout(()=>URL.revokeObjectURL(h.href),4e3)}function g(){k.value=null}return mt(`.wall{position:absolute;inset:0;overflow-y:auto;padding:22px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.wall.is-dark{background:#0a1410;color:#e5e7eb}.wall-h{margin:0 0 6px;font-size:19px;font-weight:700;text-align:center}.wall-tag{margin:0 auto 12px;width:fit-content;padding:3px 11px;border-radius:999px;background:rgba(16,185,129,.13);color:#0b7a5b;border:1px solid rgba(16,185,129,.28);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.is-dark .wall-tag{background:rgba(16,185,129,.16);color:#6ee7b7;border-color:rgba(110,231,183,.32)}.wall-sub{margin:0 auto 22px;max-width:620px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.wall-sub strong{font-weight:700;opacity:1;color:inherit}.grid{display:grid;gap:64px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-width:1180px;margin:0 auto}.card{position:relative;background:#fff;border:1px solid #e3e6ea;border-radius:3px;padding:24px 12px 26px;box-shadow:0 1px 3px rgba(0,0,0,.10),0 6px 18px rgba(0,0,0,.07);transition:transform .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-3px);box-shadow:0 3px 8px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.10)}.is-dark .card{background:#132019;border-color:rgba(110,231,183,.20)}.tape{box-sizing:border-box;position:absolute;left:50%;transform:translateX(-50%);z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:#eef2f6;color:#23303c}.is-dark .tape{background:#1d2b23;color:#cfe9d9;border-color:rgba(255,255,255,.10)}.tape-h{top:-11px;width:82%;padding:4px 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:5px}.tape-h:hover{background:#e2e8ee}.hcount{font-weight:800;font-variant-numeric:tabular-nums}.hsep{opacity:.45}.hlabel{font-weight:600}.card.is-last{box-shadow:0 0 0 2px #10b981,0 6px 18px rgba(0,0,0,.10)}.card.is-last .tape-h{background:#10b981;color:#04241a;border-color:#10b981}.pfs{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);width:82%;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;display:flex;gap:2px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#8a93a0}.is-dark .pfs > legend{color:#7f9c8c}.pbtn{position:relative;flex:1;border:0;background:none;color:#5b6672;font:inherit;font-size:10.5px;font-weight:600;padding:2px 6px 3px;cursor:pointer;white-space:nowrap;transition:color .15s}.pbtn::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background .15s}.pbtn:hover{color:#10b981}.pbtn:hover::after{background:#10b981}.is-dark .pbtn{color:#9fb3a8}.sec{max-width:1180px;margin:0 auto;padding-bottom:44px}.sec-head{display:flex;align-items:baseline;gap:10px;margin:0 2px 14px;padding:11px 10px 9px;border-bottom:1px solid rgba(0,0,0,.10);position:sticky;top:0;z-index:6;background:#f6f7f9;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{border-bottom-color:rgba(255,255,255,.12);background:#0a1410;box-shadow:0 6px 10px -8px rgba(0,0,0,.7)}.sec-head.is-shut{border-bottom-color:transparent;margin-bottom:6px}.sec-head.is-toggle{cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit}.sec-head.is-toggle:hover .sec-name{color:#10b981}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s ease}.sec-caret.is-open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}.sec-count{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.main{position:relative;aspect-ratio:1/1;border:1px solid #dfe3e7;overflow:hidden;background:#fbfcfd;display:flex;align-items:center;justify-content:center}.is-dark .main{background:#0c1712;border-color:rgba(255,255,255,.08)}.img{width:100%;height:100%;object-fit:contain;display:block}.ph{padding:14px 10px;text-align:center}.ph-label{font-size:12.5px;font-weight:700;line-height:1.3}.ph-count{margin-top:5px;font-size:11px;opacity:.7}.ph-note{margin-top:10px;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.45}.ph.is-soon{background:rgba(245,158,11,.06)}.ph-soon{margin-top:9px;font-size:10px;line-height:1.45;color:#8a6414}.is-dark .ph-soon{color:#e8b862}.modal-scrim{position:fixed;inset:0;z-index:1000;background:rgba(8,12,16,.55);display:grid;place-items:center;padding:22px}.modal{width:min(340px,100%);background:#fff;color:#0f1419;border-radius:14px;padding:20px 22px;box-shadow:0 10px 40px rgba(0,0,0,.35);text-align:center}.is-dark .modal{background:#132019;color:#e5e7eb}.modal-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.modal-title{margin:3px 0 14px;font-size:15px;font-weight:700;line-height:1.3}.bar{height:5px;border-radius:99px;background:rgba(0,0,0,.10);overflow:hidden}.is-dark .bar{background:rgba(255,255,255,.12)}.bar-fill{height:100%;background:#10b981;border-radius:99px;transition:width .25s ease}.modal-phase{margin-top:10px;font-size:12.5px;font-weight:600}.modal-hint{margin-top:6px;font-size:11px;line-height:1.5;opacity:.62}.modal-soon{font-size:13px;line-height:1.5;color:#5f5849;margin:6px 0 14px}.modal-err{font-size:12.5px;line-height:1.55;color:#b42318;margin-bottom:14px}.is-dark .modal-err{color:#fda29b}.modal-btn{border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit;font:inherit;font-size:12.5px;padding:6px 18px;border-radius:8px;cursor:pointer}.modal-btn:hover{background:rgba(0,0,0,.06)}`,"doxa-poster-wall"),(y,d)=>(V(),ae("div",{class:Ee(["wall",{"is-dark":e.isDark}])},[C("h2",WA,he(e.heading),1),e.tag?(V(),ae("div",YA,he(e.tag),1)):ve("",!0),e.intro?(V(),ae("p",{key:1,class:"wall-sub",innerHTML:e.intro},null,8,XA)):ve("",!0),(V(!0),ae(Ie,null,yt(r.value,h=>(V(),ae("section",{key:h.name,class:"sec"},[(V(),Ge(ai(e.collapsible?"button":"div"),{class:Ee(["sec-head",{"is-toggle":e.collapsible,"is-shut":e.collapsible&&l(h.name)}]),type:e.collapsible?"button":null,"aria-expanded":e.collapsible?String(!l(h.name)):null,onClick:p=>e.collapsible&&c(h.name)},{default:Mt(()=>[e.collapsible?(V(),ae("span",{key:0,class:Ee(["sec-caret",{"is-open":!l(h.name)}])},"▶",2)):ve("",!0),C("h3",JA,he(h.name),1),C("span",ZA,he(h.total.toLocaleString())+" people groups · "+he(h.items.length)+" "+he(h.items.length===1?e.itemNoun:o.value),1)]),_:2},1032,["class","type","aria-expanded","onClick"])),zt(C("div",QA,[(V(!0),ae(Ie,null,yt(h.items,p=>(V(),ae("div",{key:p.id,class:Ee(["card",{"is-last":u.value===p.id}]),"data-list-id":p.id},[C("button",{type:"button",class:"tape tape-h","aria-label":`Show ${p.label} on the map`,onClick:_=>b(p)},[C("span",oS,he(p.count)+" "+he(e.unit),1),d[1]||(d[1]=C("span",{class:"hsep"},"·",-1)),d[2]||(d[2]=C("span",{class:"hlabel"},"Show on map",-1))],8,tS),C("div",nS,[e.unsupported(p)?(V(),ae("div",aS,[C("div",rS,he(p.label),1),p.count?(V(),ae("div",sS,he(p.count.toLocaleString())+" people groups",1)):ve("",!0),C("div",iS,he(e.unsupported(p)),1)])):f.value[p.id]?(V(),ae("div",cS,[C("div",uS,he(p.label),1),p.count?(V(),ae("div",dS,he(p.count.toLocaleString())+" people groups",1)):ve("",!0),d[3]||(d[3]=C("div",{class:"ph-note"},"poster not generated yet",-1))])):(V(),ae("img",{key:1,class:"img",src:a(p.id),alt:`${p.label} — prayer poster`,loading:"lazy",decoding:"async",onError:_=>f.value[p.id]=!0},null,40,lS))]),C("fieldset",pS,[d[4]||(d[4]=C("legend",null,"Print Options",-1)),C("button",{type:"button",class:"pbtn",onClick:_=>m(p)},"Prayer List",8,gS),C("button",{type:"button",class:"pbtn",onClick:_=>x(p)},"Poster Map",8,fS)])],10,eS))),128))],512),[[Ku,!l(h.name)]])]))),128)),k.value?(V(),ae("div",{key:2,class:"modal-scrim",onClick:d[0]||(d[0]=dt(h=>k.value.phase==="error"&&g(),["self"]))},[C("div",hS,[C("div",mS,he(k.value.kind),1),C("div",bS,he(k.value.label),1),k.value.phase==="error"?(V(),ae(Ie,{key:0},[C("div",yS,he(k.value.message),1),C("button",{type:"button",class:"modal-btn",onClick:g},"Close")],64)):k.value.phase==="soon"?(V(),ae(Ie,{key:1},[C("div",vS,he(k.value.message),1),C("button",{type:"button",class:"modal-btn",onClick:g},"Close")],64)):(V(),ae(Ie,{key:2},[C("div",_S,[C("div",{class:"bar-fill",style:Xe({width:k.value.pct+"%"})},null,4)]),C("div",xS,he(k.value.message),1),d[5]||(d[5]=C("div",{class:"modal-hint"}," Rendering a print-quality image in your browser — nothing is uploaded. ",-1))],64))])])):ve("",!0)],2))}},wS={countries:[{id:"country-ind",iso3:"IND",label:"India",count:855,region:"Asia",bbox:[68.772258,8.087722,97.021619,34.627874],sheet:null,hasGeometry:!1,unsupportedReason:"India has 855 people groups — too many to fit one poster legibly. A solution is in progress."},{id:"country-chn",iso3:"CHN",label:"People's Republic of China",count:154,region:"Asia",bbox:[73.723,18.221,134.797,53.349],sheet:"3x4",hasGeometry:!0,unsupportedReason:null},{id:"country-sdn",iso3:"SDN",label:"Sudan",count:105,region:"Middle East",bbox:[21.814,8.641,38.582,23.143],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bra",iso3:"BRA",label:"Brazil",count:103,region:"Latin America & Caribbean",bbox:[-73.988,-33.749,-34.794,5.27],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lao",iso3:"LAO",label:"Lao People's Democratic Republic",count:95,region:"Asia",bbox:[100.084,13.91,107.633,22.493],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tcd",iso3:"TCD",label:"Chad",count:53,region:"Africa",bbox:[13.473,7.441,24,23.498],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-nga",iso3:"NGA",label:"Nigeria",count:38,region:"Africa",bbox:[2.693,4.27,14.678,13.886],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-idn",iso3:"IDN",label:"Indonesia",count:36,region:"Asia",bbox:[95.194,-10.925,141.019,5.651],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-npl",iso3:"NPL",label:"Nepal",count:34,region:"Asia",bbox:[80.06,26.347,88.204,30.473],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-eth",iso3:"ETH",label:"Ethiopia",count:29,region:"Africa",bbox:[33.003,3.403,47.959,14.835],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-col",iso3:"COL",label:"Colombia",count:27,region:"Latin America & Caribbean",bbox:[-78.995,-4.224,-66.87,12.441],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-pak",iso3:"PAK",label:"Pakistan",count:24,region:"Asia",bbox:[60.873,24.041,77.117,37.071],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ssd",iso3:"SSD",label:"South Sudan",count:22,region:"Africa",bbox:[24.152,3.481,35.951,12.236],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-rus",iso3:"RUS",label:"Russian Federation",count:21,region:"Europe",bbox:[-180,41.187,180,82.055],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-afg",iso3:"AFG",label:"Afghanistan",count:21,region:"Asia",bbox:[60.472,29.377,74.889,38.491],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-irn",iso3:"IRN",label:"Islamic Republic of Iran",count:20,region:"Middle East",bbox:[44.015,25.059,63.32,39.766],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-dza",iso3:"DZA",label:"Algeria",count:17,region:"Middle East",bbox:[-8.669,18.968,11.997,37.09],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-vnm",iso3:"VNM",label:"Vietnam",count:16,region:"Asia",bbox:[102.144,8.556,109.463,23.394],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tza",iso3:"TZA",label:"United Republic of Tanzania",count:16,region:"Africa",bbox:[29.596,-11.744,40.431,-.987],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lby",iso3:"LBY",label:"Libya",count:15,region:"Middle East",bbox:[9.287,19.496,25.156,33.181],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gin",iso3:"GIN",label:"Guinea",count:13,region:"Africa",bbox:[-14.914,7.191,-7.638,12.676],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mli",iso3:"MLI",label:"Mali",count:13,region:"Africa",bbox:[-12.239,10.146,4.245,25],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-btn",iso3:"BTN",label:"Bhutan",count:13,region:"Asia",bbox:[88.75,26.697,92.124,28.353],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mys",iso3:"MYS",label:"Malaysia",count:12,region:"Asia",bbox:[100.12,.854,119.267,7.037],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-per",iso3:"PER",label:"Peru",count:10,region:"Latin America & Caribbean",bbox:[-81.327,-18.355,-68.643,-.014],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ago",iso3:"AGO",label:"Angola",count:10,region:"Africa",bbox:[11.461,-18.039,24.088,-4.397],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-yem",iso3:"YEM",label:"Yemen",count:9,region:"Middle East",bbox:[42.598,12.305,54.534,19],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-som",iso3:"SOM",label:"Somalia",count:9,region:"Africa",bbox:[40.996,-1.665,51.413,11.984],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ben",iso3:"BEN",label:"Benin",count:9,region:"Africa",bbox:[.783,6.216,3.849,12.417],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cod",iso3:"COD",label:"Democratic Republic of the Congo",count:9,region:"Africa",bbox:[12.201,-13.449,31.277,5.392],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-eri",iso3:"ERI",label:"Eritrea",count:8,region:"Africa",bbox:[36.433,12.355,43.137,18.02],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tha",iso3:"THA",label:"Thailand",count:8,region:"Asia",bbox:[97.346,5.613,105.637,20.464],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cmr",iso3:"CMR",label:"Cameroon",count:8,region:"Africa",bbox:[8.505,1.661,16.188,13.079],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-irq",iso3:"IRQ",label:"Iraq",count:8,region:"Middle East",bbox:[38.775,29.063,48.559,37.371],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bfa",iso3:"BFA",label:"Burkina Faso",count:8,region:"Africa",bbox:[-5.518,9.401,2.405,15.083],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-omn",iso3:"OMN",label:"Oman",count:7,region:"Middle East",bbox:[52,16.65,59.839,26.387],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mmr",iso3:"MMR",label:"Myanmar",count:7,region:"Asia",bbox:[92.173,9.973,101.17,28.526],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-jpn",iso3:"JPN",label:"Japan",count:6,region:"Asia",bbox:[123.662,24.255,148.893,45.557],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tgo",iso3:"TGO",label:"Togo",count:6,region:"Africa",bbox:[-.143,6.112,1.803,11.137],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-uga",iso3:"UGA",label:"Uganda",count:6,region:"Africa",bbox:[29.582,-1.481,35,4.234],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-zmb",iso3:"ZMB",label:"Zambia",count:6,region:"Africa",bbox:[22.001,-18.079,33.712,-8.277],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ven",iso3:"VEN",label:"Venezuela",count:6,region:"Latin America & Caribbean",bbox:[-73.391,.649,-59.816,12.199],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-nam",iso3:"NAM",label:"Namibia",count:6,region:"Africa",bbox:[11.727,-28.969,25.263,-16.981],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-brn",iso3:"BRN",label:"Brunei Darussalam",count:5,region:"Asia",bbox:[114.08,4.002,115.366,5.042],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ken",iso3:"KEN",label:"Kenya",count:5,region:"Africa",bbox:[33.914,-4.675,41.906,5.431],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-syr",iso3:"SYR",label:"Syrian Arab Republic",count:5,region:"Middle East",bbox:[35.717,32.311,42.369,37.318],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lbn",iso3:"LBN",label:"Lebanon",count:4,region:"Middle East",bbox:[35.107,33.05,36.619,34.693],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-pse",iso3:"PSE",label:"State of Palestine",count:4,region:"Middle East",bbox:[34.881,31.342,35.573,32.543],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-moz",iso3:"MOZ",label:"Mozambique",count:4,region:"Africa",bbox:[30.217,-26.858,40.837,-10.48],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-isr",iso3:"ISR",label:"Israel",count:4,region:"Europe",bbox:[34.267,29.491,35.895,33.336],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mar",iso3:"MAR",label:"Morocco",count:4,region:"Middle East",bbox:[-17.105,20.77,-.999,35.922],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tur",iso3:"TUR",label:"Türkiye",count:3,region:"Europe",bbox:[26.036,35.808,44.818,42.105],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-qat",iso3:"QAT",label:"Qatar",count:3,region:"Middle East",bbox:[50.757,24.471,51.662,26.159],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-aze",iso3:"AZE",label:"Azerbaijan",count:3,region:"Asia",bbox:[44.765,38.394,50.37,41.913],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gmb",iso3:"GMB",label:"Republic of The Gambia",count:3,region:"Africa",bbox:[-16.814,13.043,-13.797,13.821],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sau",iso3:"SAU",label:"Saudi Arabia",count:3,region:"Middle East",bbox:[34.571,16.4,55.667,32.154],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-jor",iso3:"JOR",label:"Jordan",count:3,region:"Middle East",bbox:[34.96,29.184,39.302,33.374],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-zwe",iso3:"ZWE",label:"Zimbabwe",count:3,region:"Africa",bbox:[25.238,-22.421,33.067,-15.607],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-com",iso3:"COM",label:"Comoros",count:3,region:"Africa",bbox:[43.231,-11.938,43.518,-11.367],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-usa",iso3:"USA",label:"United States of America",count:3,region:"Other",bbox:[-178.228,13.246,179.778,71.353],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bgd",iso3:"BGD",label:"Bangladesh",count:3,region:"Asia",bbox:[88.021,20.728,92.691,26.621],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gnb",iso3:"GNB",label:"Guinea-Bissau",count:3,region:"Africa",bbox:[-16.717,10.892,-13.635,12.686],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-kos",iso3:"KOS",label:"KOS",count:3,region:"Europe",bbox:[20.629,42.045,21.164624,42.672265],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-mrt",iso3:"MRT",label:"Mauritania",count:3,region:"Middle East",bbox:[-17.102,14.72,-4.833,27.363],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-esh",iso3:"ESH",label:"Western Sahara",count:3,region:"Middle East",bbox:[-13.16135268,26.15604526,-10.60080902,27.1178117],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-tjk",iso3:"TJK",label:"Tajikistan",count:3,region:"Asia",bbox:[67.331,36.671,75.154,41.039],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-egy",iso3:"EGY",label:"Egypt",count:3,region:"Middle East",bbox:[24.706,22,36.892,31.671],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mng",iso3:"MNG",label:"Mongolia",count:3,region:"Asia",bbox:[87.738,41.58,119.932,52.15],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sur",iso3:"SUR",label:"Suriname",count:2,region:"North America & Non-Spanish Caribbean",bbox:[-58.069,1.831,-53.975,6.01],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ner",iso3:"NER",label:"Niger",count:2,region:"Africa",bbox:[.167,11.692,15.997,23.517],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-zaf",iso3:"ZAF",label:"South Africa",count:2,region:"Africa",bbox:[16.452,-34.834,32.945,-22.125],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cck",iso3:"CCK",label:"Cocos (Keeling) Islands",count:2,region:"Other",bbox:[96.831418,-12.185468,96.895,-12.119],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-bhr",iso3:"BHR",label:"Bahrain",count:2,region:"Middle East",bbox:[50.433,25.792,50.632,26.257],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cog",iso3:"COG",label:"Republic of the Congo",count:2,region:"Africa",bbox:[11.126,-5.041,18.641,3.711],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-are",iso3:"ARE",label:"United Arab Emirates",count:2,region:"Middle East",bbox:[51.592,22.631,56.376,26.06],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gab",iso3:"GAB",label:"Gabon",count:2,region:"Africa",bbox:[8.723,-3.953,14.521,2.302],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-guf",iso3:"GUF",label:"French Guiana",count:2,region:"Other",bbox:[-54.601,2.179,-51.656,5.762],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-civ",iso3:"CIV",label:"Cote d'Ivoire",count:2,region:"Africa",bbox:[-8.619,4.344,-2.506,10.726],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-kgz",iso3:"KGZ",label:"Kyrgyzstan",count:2,region:"Asia",bbox:[69.265,39.173,80.23,43.267],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lbr",iso3:"LBR",label:"Liberia",count:2,region:"Africa",bbox:[-11.498,4.361,-7.369,8.545],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-swe",iso3:"SWE",label:"Sweden",count:2,region:"Europe",bbox:[11.113,55.339,24.167,69.06],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tun",iso3:"TUN",label:"Tunisia",count:2,region:"Middle East",bbox:[7.522,30.23,11.6,37.347],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sle",iso3:"SLE",label:"Sierra Leone",count:2,region:"Africa",bbox:[-13.309,6.923,-10.271,9.999],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-and",iso3:"AND",label:"Andorra",count:1,region:"Other",bbox:[1.412,42.43,1.787,42.655],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sen",iso3:"SEN",label:"Senegal",count:1,region:"Africa",bbox:[-17.531,12.308,-11.358,16.693],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mne",iso3:"MNE",label:"Montenegro",count:1,region:"Europe",bbox:[18.434,41.846,20.354,43.558],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bol",iso3:"BOL",label:"Bolivia",count:1,region:"Latin America & Caribbean",bbox:[-69.645,-22.907,-57.454,-9.67],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ecu",iso3:"ECU",label:"Ecuador",count:1,region:"Latin America & Caribbean",bbox:[-91.59,-5.012,-75.189,1.412],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-vir",iso3:"VIR",label:"Virgin Islands, U.S.",count:1,region:"Other",bbox:[-64.904,17.68,-64.565,17.77],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-atg",iso3:"ATG",label:"Antigua and Barbuda",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-61.897,16.998,-61.674,17.168],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-arm",iso3:"ARM",label:"Armenia",count:1,region:"Europe",bbox:[43.465,38.853,46.637,41.298],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-abw",iso3:"ABW",label:"Aruba",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-70.063,12.415,-69.867,12.621],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bhs",iso3:"BHS",label:"Bahamas",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-78.998,20.912,-73.012,26.92],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-brb",iso3:"BRB",label:"Barbados",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-59.651,13.052,-59.422,13.335],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-blr",iso3:"BLR",label:"Belarus",count:1,region:"Europe",bbox:[23.165,51.252,32.74,56.167],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bmu",iso3:"BMU",label:"Bermuda",count:1,region:"Other",bbox:[-64.886,32.248,-64.674,32.339],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bih",iso3:"BIH",label:"Bosnia and Herzegovina",count:1,region:"Europe",bbox:[15.724,42.557,19.623,45.245],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-vgb",iso3:"VGB",label:"Virgin Islands, British",count:1,region:"Other",bbox:[-64.716,18.389,-64.558,18.457],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-bgr",iso3:"BGR",label:"Bulgaria",count:1,region:"Europe",bbox:[22.348,41.241,28.61,44.21],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-khm",iso3:"KHM",label:"Cambodia",count:1,region:"Asia",bbox:[102.334,10.405,107.628,14.687],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cym",iso3:"CYM",label:"Cayman Islands",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-81.416,19.265,-81.086,19.388],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-caf",iso3:"CAF",label:"Central African Republic",count:1,region:"Africa",bbox:[14.421,2.221,27.453,11.002],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cxr",iso3:"CXR",label:"Christmas Island",count:1,region:"Other",bbox:[105.672,-10.426,105.672,-10.426],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-cok",iso3:"COK",label:"Cook Islands",count:1,region:"Oceania",bbox:[-159.819,-21.268,-159.734,-21.2],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cub",iso3:"CUB",label:"Cuba",count:1,region:"Latin America & Caribbean",bbox:[-84.951,19.842,-74.138,23.187],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cuw",iso3:"CUW",label:"Curaçao",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-69.156,12.044,-68.737,12.392],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cyp",iso3:"CYP",label:"Cyprus",count:1,region:"Europe",bbox:[32.276,34.629,34.589,35.695],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-dji",iso3:"DJI",label:"Djibouti",count:1,region:"Africa",bbox:[41.749,10.93,43.414,12.708],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-dma",iso3:"DMA",label:"Dominica",count:1,region:"Other",bbox:[-61.48,15.21,-61.242,15.639],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gnq",iso3:"GNQ",label:"Equatorial Guinea",count:1,region:"Africa",bbox:[8.415,1,11.36,3.788],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-fro",iso3:"FRO",label:"Faroe Islands",count:1,region:"Europe",bbox:[-7.259,61.946,-6.734,62.31],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-fji",iso3:"FJI",label:"Fiji",count:1,region:"Oceania",bbox:[177.25,-18.276,180,-16.168],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-pyf",iso3:"PYF",label:"French Polynesia",count:1,region:"Oceania",bbox:[-149.62,-17.872,-149.137,-17.494],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-geo",iso3:"GEO",label:"Georgia",count:1,region:"Europe",bbox:[40.008,41.055,46.737,43.586],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gib",iso3:"GIB",label:"Gibraltar",count:1,region:"Europe",bbox:[-5.35,36.133,-5.35,36.133],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-grc",iso3:"GRC",label:"Greece",count:1,region:"Europe",bbox:[19.628,34.922,28.247,41.733],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-grd",iso3:"GRD",label:"Grenada",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-61.802,12.003,-61.609,12.227],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-glp",iso3:"GLP",label:"Guadeloupe",count:1,region:"Other",bbox:[-61.809,15.947,-61.55,16.362],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gum",iso3:"GUM",label:"Guam",count:1,region:"Oceania",bbox:[144.619,13.255,144.957,13.648],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ggy",iso3:"GGY",label:"Guernsey",count:1,region:"Europe",bbox:[-2.675,49.43,-2.505,49.506],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-isl",iso3:"ISL",label:"Iceland",count:1,region:"Europe",bbox:[-24.532,63.399,-13.495,66.537],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-kir",iso3:"KIR",label:"Kiribati",count:1,region:"Oceania",bbox:[-157.554,1.7,-157.169,2.048],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-jam",iso3:"JAM",label:"Jamaica",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-78.368,17.701,-76.19,18.525],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-jey",iso3:"JEY",label:"Jersey",count:1,region:"Europe",bbox:[-2.11,49.1858,-2.11,49.1858],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-kaz",iso3:"KAZ",label:"Kazakhstan",count:1,region:"Asia",bbox:[46.492,40.569,87.316,55.48],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-prk",iso3:"PRK",label:"North Korea",count:1,region:"Asia",bbox:[124.316,37.673,130.675,43.008],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-kwt",iso3:"KWT",label:"Kuwait",count:1,region:"Middle East",bbox:[46.553,28.524,48.431,30.104],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lie",iso3:"LIE",label:"Liechtenstein",count:1,region:"Europe",bbox:[9.486,47.049,9.634,47.266],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lux",iso3:"LUX",label:"Luxembourg",count:1,region:"Europe",bbox:[5.736,49.451,6.531,50.175],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-myt",iso3:"MYT",label:"Mayotte",count:1,region:"Africa",bbox:[45.052,-12.993,45.237,-12.651],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mdv",iso3:"MDV",label:"Maldives",count:1,region:"Asia",bbox:[73.527,1.868,73.545,1.943],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mlt",iso3:"MLT",label:"Malta",count:1,region:"Europe",bbox:[14.321,35.823,14.569,35.996],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mnp",iso3:"MNP",label:"Northern Mariana Islands",count:1,region:"Oceania",bbox:[145.708,15.092,145.814,15.287],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mhl",iso3:"MHL",label:"Marshall Islands",count:1,region:"Oceania",bbox:[171.038,7.053,171.355,7.165],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mus",iso3:"MUS",label:"Mauritius",count:1,region:"Africa",bbox:[57.309,-20.525,57.809,-19.985],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-fsm",iso3:"FSM",label:"Micronesia, Federated States of",count:1,region:"Oceania",bbox:[158.112,6.784,158.322,6.99],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mco",iso3:"MCO",label:"Monaco",count:1,region:"Other",bbox:[7.416,43.733,7.416,43.733],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-msr",iso3:"MSR",label:"Montserrat",count:1,region:"Other",bbox:[-62.232,16.675,-62.144,16.824],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-ncl",iso3:"NCL",label:"New Caledonia",count:1,region:"Oceania",bbox:[164,-22.395,168.134,-20.076],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-niu",iso3:"NIU",label:"Niue",count:1,region:"Other",bbox:[-169.949,-19.155,-169.774,-18.953],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-vut",iso3:"VUT",label:"Vanuatu",count:1,region:"Oceania",bbox:[166.542,-18.995,169.341,-14.644],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-nfk",iso3:"NFK",label:"Norfolk Island",count:1,region:"Other",bbox:[167.9544,-29.0338,167.9544,-29.0338],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-hkg",iso3:"HKG",label:"Hong Kong",count:1,region:"Asia",bbox:[114.16930265,22.27819894,114.16930265,22.27819894],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-mac",iso3:"MAC",label:"Macao",count:1,region:"Asia",bbox:[113.55129,22.2116,113.55129,22.2116],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-plw",iso3:"PLW",label:"Palau",count:1,region:"Oceania",bbox:[131.676,2.751,131.895,3.061],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-png",iso3:"PNG",label:"Papua New Guinea",count:1,region:"Oceania",bbox:[140.842,-11.645,155.965,-1.959],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-blm",iso3:"BLM",label:"Saint Barthélemy",count:1,region:"Other",bbox:[-62.868,17.879,-62.792,17.925],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-shn",iso3:"SHN",label:"Saint Helena",count:1,region:"Europe",bbox:[-5.79,-16.003,-5.636,-15.906],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lca",iso3:"LCA",label:"Saint Lucia",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-61.081,13.708,-60.874,14.108],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-smr",iso3:"SMR",label:"San Marino",count:1,region:"Other",bbox:[12.404,43.896,12.51,43.991],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-asm",iso3:"ASM",label:"American Samoa",count:1,region:"Oceania",bbox:[-170.844,-14.373,-170.562,-14.245],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-wsm",iso3:"WSM",label:"Samoa",count:1,region:"Oceania",bbox:[-172.804,-14.049,-171.434,-13.444],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-stp",iso3:"STP",label:"Sao Tome and Principe",count:1,region:"Africa",bbox:[6.467,.019,6.749,.412],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sxm",iso3:"SXM",label:"Sint Maarten (Dutch part)",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-63.0458,18.0237,-63.0458,18.0237],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-slb",iso3:"SLB",label:"Solomon Islands",count:1,region:"Oceania",bbox:[156.454,-11.845,162.375,-6.611],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-lka",iso3:"LKA",label:"Sri Lanka",count:1,region:"Asia",bbox:[79.693,5.919,81.879,9.836],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-sjm",iso3:"SJM",label:"Svalbard and Jan Mayen",count:1,region:"Europe",bbox:[15.65,78.22,15.65,78.22],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-swz",iso3:"SWZ",label:"Eswatini",count:1,region:"Africa",bbox:[30.803,-27.318,32.135,-25.719],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tkl",iso3:"TKL",label:"Tokelau",count:1,region:"Other",bbox:[-172.47,-8.557,-172.47,-8.557],sheet:"3x3",hasGeometry:!1,unsupportedReason:null},{id:"country-ton",iso3:"TON",label:"Tonga",count:1,region:"Oceania",bbox:[-175.34,-21.272,-175.032,-21.062],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-tca",iso3:"TCA",label:"Turks and Caicos Islands",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-72.039,21.803,-71.863,21.953],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-vct",iso3:"VCT",label:"Saint Vincent and the Grenadines",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-61.277,13.122,-61.115,13.383],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-wlf",iso3:"WLF",label:"Wallis and Futuna",count:1,region:"Other",bbox:[-176.251,-13.352,-176.162,-13.219],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-pry",iso3:"PRY",label:"Paraguay",count:1,region:"Latin America & Caribbean",bbox:[-62.64,-27.591,-54.26,-19.29],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-fin",iso3:"FIN",label:"Finland",count:1,region:"Europe",bbox:[19.628,59.808,31.587,70.081],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-alb",iso3:"ALB",label:"Albania",count:1,region:"Europe",bbox:[19.282,39.648,21.058,42.661],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-pan",iso3:"PAN",label:"Panama",count:1,region:"Latin America & Caribbean",bbox:[-83.05,7.204,-77.148,9.615],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-nzl",iso3:"NZL",label:"New Zealand",count:1,region:"Oceania",bbox:[-176.893,-47.277,178.55,-34.393],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-cze",iso3:"CZE",label:"Czech Republic",count:1,region:"Europe",bbox:[12.091,48.552,18.852,51.056],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-gha",iso3:"GHA",label:"Ghana",count:1,region:"Africa",bbox:[-3.255,4.737,1.192,11.173],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-phl",iso3:"PHL",label:"Philippines",count:1,region:"Asia",bbox:[117.182,5.056,126.605,18.651],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-guy",iso3:"GUY",label:"Guyana",count:1,region:"North America & Non-Spanish Caribbean",bbox:[-61.4,1.189,-56.487,8.495],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-uzb",iso3:"UZB",label:"Uzbekistan",count:1,region:"Asia",bbox:[55.999,37.177,73.14,45.59],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-esp",iso3:"ESP",label:"Spain",count:1,region:"Europe",bbox:[-18.007,27.735,4.328,43.787],sheet:"3x3",hasGeometry:!0,unsupportedReason:null},{id:"country-mwi",iso3:"MWI",label:"Malawi",count:1,region:"Africa",bbox:[32.676,-17.125,35.919,-9.368],sheet:"3x3",hasGeometry:!0,unsupportedReason:null}]},AS="One poster per country, ready to pray, print, and put on a wall — praying for them <strong>by their people group name</strong>. Regions and countries are ordered by how many unengaged people groups they hold, so the greatest need leads.",SS=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"country-poster-wall",setup(e){const t=Te("profileConfig",le(null)),o=Q(()=>{var c;return((c=t.value)==null?void 0:c.instanceId)||"country-posters-wall"}),n=Q(()=>{var c;return((c=t.value)==null?void 0:c.isDark)===!0}),a=Q(()=>{var c;return String(((c=t.value)==null?void 0:c.assetsBase)||"./assets").replace(/\/+$/,"")}),r=Q(()=>wS.countries||[]),s=c=>c.region||"Other",i=c=>c.total<60,l=c=>c.unsupportedReason||null;return(c,u)=>(V(),Ge(kS,{items:r.value,"group-by":s,"instance-id":o.value,"is-dark":n.value,"assets-base":a.value,"event-name":"doxa-country-posters:show-on-map",heading:"Country Posters — Prayer Lists & Posters",tag:"Prayer Mobilization",intro:AS,unit:"UPG","item-noun":"country","item-noun-plural":"countries",collapsible:!0,"collapsed-by":i,unsupported:l,"prayer-list-soon-message":"Coming soon — a prayer list will be generated for each country, naming every unengaged people group within it.","download-prefix":"doxa-country"},null,8,["items","instance-id","is-dark","assets-base"]))}}},Symbol.toStringTag,{value:"Module"})),LS={class:"legend-sheet-root"},CS=["src","alt"],ES={key:0,class:"pull-tab-handle"},$S=["aria-label"],TS=["aria-label"],PS=["aria-label"],NS={class:"collapsed-detail-title"},MS={class:"legend-content"},IS=["aria-label"],RS=["aria-label"],kg=80,FS=48,OS=44,DS=24,wg="--legend-sheet-h",Ag=Object.freeze(Object.defineProperty({__proto__:null,default:Ot({__name:"LegendMobile",props:{legendType:{type:String,required:!0},nodes:{type:Array,default:null},tabs:{type:Array,default:null},columnLabel:{type:String,default:null},title:{type:String,default:null},columns:{type:Array,default:null},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const{t}=ht();mt(`
|
||
.floating-mini-image{position:absolute;left:16px;bottom:calc(30% + 16px);z-index:999;pointer-events:auto;cursor:pointer;}
|
||
.mini-image{width:120px;height:150px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.25);display:block;}
|
||
.legend-sheet-root{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
|
||
.legend-sheet-root>*{pointer-events:auto;}
|
||
.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,
|
||
.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{transform:translateY(calc(-1 * min(var(--legend-sheet-h,0px),48px)));}
|
||
.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{z-index:3;}
|
||
.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:2px;opacity:0.72;transform:translateY(calc(-1 * min(var(--legend-sheet-h,0px),48px))) scale(0.85);transform-origin:bottom right;transition:opacity 0.15s;}
|
||
.mapboxgl-ctrl-bottom-right:hover,.maplibregl-ctrl-bottom-right:hover{opacity:1;}
|
||
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin:0 6px 6px 0;}
|
||
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib.mapboxgl-compact{margin-right:6px;}
|
||
.legend-mobile-sheet .stl-row{position:relative;}
|
||
.legend-mobile-sheet .stl-row .stl-x-slot{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:auto;}
|
||
.legend-mobile-sheet .stl-col-hdr .stl-x-slot{display:none;}
|
||
.legend-mobile-sheet{position:absolute;bottom:0;left:0;right:0;z-index:1000;background:white;border-top-left-radius:var(--map-radius,16px);border-top-right-radius:var(--map-radius,16px);box-shadow:0 -4px 20px rgba(0,0,0,0.2);transition:height 0.3s ease-out;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - var(--legend-sheet-top-reserve,80px));}
|
||
.legend-mobile-sheet.dragging{transition:none!important;}
|
||
.sheet-drag-strip{position:absolute;top:0;left:0;right:0;height:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;z-index:2;}
|
||
.pull-tab-handle{width:40px;height:4px;background:#ccc;border-radius:2px;}
|
||
.mobile-collapse-caret{width:22px;height:20px;display:flex;align-items:center;justify-content:center;background:rgba(208,215,222,0.4);border:1px solid #d0d7de;border-radius:5px;cursor:pointer;color:#57606a;padding:0;transition:transform 0.3s ease-out,color 0.1s,background 0.1s,border-color 0.1s;transform-origin:center;outline:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;}
|
||
.mobile-collapse-caret:focus{outline:none;}
|
||
.mobile-collapse-caret:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;}
|
||
.legend-mobile-sheet.sheet-dark .mobile-collapse-caret{background:rgba(110,118,129,0.15);border-color:#30363d;color:#8b949e;box-shadow:none;}
|
||
.legend-mobile-sheet.sheet-dark .mobile-collapse-caret:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;}
|
||
.detail-collapse-btn-mobile{position:absolute;top:10px;left:12px;background:transparent;border:none;padding:0;cursor:pointer;color:transparent;width:28px;height:28px;z-index:3;outline:none;-webkit-tap-highlight-color:transparent;}
|
||
.detail-collapse-btn-mobile:focus{outline:none;}
|
||
.detail-close-btn{position:absolute;top:10px;right:12px;background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;z-index:3;transition:color 0.2s ease;}
|
||
.detail-close-btn:hover{color:#333;}
|
||
.legend-mobile-sheet .pg-name-lead{padding-right:32px;}
|
||
.collapsed-detail-footer{position:absolute;top:12px;left:0;right:0;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;cursor:pointer;background:transparent;z-index:4;}
|
||
.collapsed-detail-title{font:600 13px system-ui,sans-serif;letter-spacing:0.02em;line-height:1.4;color:#1f2328;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
||
.legend-mobile-sheet.sheet-dark .collapsed-detail-title{color:#F3F3F1;}
|
||
.legend-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:12px 0;-webkit-overflow-scrolling:touch;}
|
||
.legend-mobile-sheet .legend-content>.stl-panel,
|
||
.legend-mobile-sheet .legend-content>.legend-row-group{flex:1;min-height:0;}
|
||
.legend-mobile-sheet .legend-row-group{--lrg-caret-col:24px;}
|
||
.legend-content::-webkit-scrollbar{width:4px;}
|
||
.legend-content::-webkit-scrollbar-track{background:transparent;}
|
||
.legend-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.18);border-radius:4px;}
|
||
.legend-content::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.3);}
|
||
.legend-mobile-sheet.collapsed .legend-content .lrg-row,
|
||
.legend-mobile-sheet.collapsed .legend-content .lrg-footer,
|
||
.legend-mobile-sheet.collapsed .legend-content .lrg-header-col,
|
||
.legend-mobile-sheet.collapsed .legend-content .lft-row,
|
||
.legend-mobile-sheet.collapsed .legend-content .lft-row-child,
|
||
.legend-mobile-sheet.collapsed .legend-content .lft-header-col{display:none!important;}
|
||
.legend-mobile-sheet.collapsed{box-shadow:0 -2px 8px rgba(0,0,0,0.15);height:48px !important;min-height:48px;border-top-left-radius:0;border-top-right-radius:0;}
|
||
.legend-mobile-sheet.collapsed .legend-content{padding:0!important;display:flex;align-items:center;height:48px;}
|
||
.legend-mobile-sheet.collapsed .lrg-items,
|
||
.legend-mobile-sheet.collapsed .lft-items{padding:0!important;align-content:center;height:48px;}
|
||
.legend-mobile-sheet .stl-titlebar{padding:8px 10px 8px 8px!important;border-bottom:1px solid rgba(33,38,45,0.10)!important;}
|
||
.legend-mobile-sheet .stl-tb-title{text-transform:none!important;letter-spacing:0!important;font:600 14px system-ui,sans-serif!important;color:#1f2328!important;}
|
||
.legend-mobile-sheet.sheet-dark .stl-tb-title{color:#F3F3F1!important;}
|
||
.legend-mobile-sheet.collapsed .lrg-title-row,
|
||
.legend-mobile-sheet.collapsed .lft-title-row,
|
||
.legend-mobile-sheet.collapsed .stl-titlebar{padding:0 16px!important;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:0!important;border-bottom:none!important;}
|
||
.legend-mobile-sheet.collapsed .stl-tb-title,
|
||
.legend-mobile-sheet.collapsed .lrg-title,
|
||
.legend-mobile-sheet.collapsed .lrg-title-row .lrg-title,
|
||
.legend-mobile-sheet.collapsed .lft-title{font-size:13px!important;letter-spacing:0.02em!important;line-height:1.4!important;}
|
||
.legend-mobile-sheet.collapsed .stl-tabs-wrap,
|
||
.legend-mobile-sheet.collapsed .stl-col-hdr,
|
||
.legend-mobile-sheet.collapsed .stl-rows,
|
||
.legend-mobile-sheet.collapsed .lrg-row,
|
||
.legend-mobile-sheet.collapsed .lrg-footer,
|
||
.legend-mobile-sheet.collapsed .lrg-header-col,
|
||
.legend-mobile-sheet.collapsed .lft-row,
|
||
.legend-mobile-sheet.collapsed .lft-row-child,
|
||
.legend-mobile-sheet.collapsed .lft-header-col{display:none!important;}
|
||
.legend-mobile-sheet .stl-panel{position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;z-index:auto!important;display:flex;flex-direction:column;min-height:0;max-height:none!important;}
|
||
.legend-mobile-sheet .stl-panel.closed{transform:none!important;opacity:1!important;pointer-events:auto!important;}
|
||
.legend-mobile-sheet .stl-inner{border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
|
||
.legend-mobile-sheet .lrg-item-inner{min-height:28px!important;padding:2px 0!important;}
|
||
.legend-mobile-sheet .lrg-items{row-gap:3px!important;}
|
||
.legend-mobile-sheet .stl-rows{min-height:0;}
|
||
.legend-mobile-sheet .stl-reopen{display:none!important;}
|
||
.legend-mobile-sheet .stl-collapse-btn{display:none!important;}
|
||
.legend-mobile-sheet .stl-titlebar{border-bottom-color:rgba(0,0,0,0.08)!important;}
|
||
.legend-mobile-sheet .lft-row{min-height:44px;column-gap:8px;}
|
||
.legend-mobile-sheet .lft-row-child{margin-left:0;}
|
||
.legend-mobile-sheet .lft-item-inner{min-height:36px;padding:6px 8px;}
|
||
.legend-mobile-sheet .lft-name{font-size:13px;}
|
||
.sheet-dark{background:#3b463d!important;box-shadow:0 -4px 20px rgba(0,0,0,0.5)!important;}
|
||
.sheet-dark .mobile-collapse-caret{background:rgba(110,118,129,0.15)!important;border-color:#30363d!important;color:#8b949e!important;}
|
||
.sheet-dark .mobile-collapse-caret:hover{color:#c9d1d9!important;background:rgba(59,70,61,0.18)!important;border-color:#73A17F!important;}
|
||
.sheet-dark .detail-close-btn{color:rgba(243,243,241,0.75)!important;}
|
||
.sheet-dark .detail-close-btn:hover{color:#F3F3F1!important;}
|
||
.sheet-dark .pull-tab-handle{background:rgba(243,243,241,0.3)!important;}
|
||
.sheet-dark .legend-content{background:#3b463d!important;}
|
||
.sheet-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);}
|
||
`,"legend-mobile-sheet");const o=e,n=Te("uiStore");Te("mapStore");const a=Te("dataStore"),r=Te("onSemanticTreeSelect",()=>{}),s=wr(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:f,totalCount:b,totalPopulation:k,fmtPop:x,fmtCount:m}=Ja(s,ds),v=Te("normalizedPeopleGroups",null),g=Q(()=>{var ne,w;if((ne=v==null?void 0:v.value)!=null&&ne.length)return v.value;const X=[];for(const A in(a==null?void 0:a.sources)||{}){const W=a.sources[A];(w=W==null?void 0:W.features)!=null&&w.length&&X.push(...W.features)}return X}),y={get value(){return g.value}},{langTree:d}=vl(y),{affinityTree:h}=vg(y),{regionsTree:p}=_g(y),_=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],L=[{id:"bloc",label:"Block",info:"Affinity Block (rop1) — broadest grouping. 16 blocks total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a block. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],R=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Bloc",info:'WAGF bloc — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their bloc."}],S=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function z(X){const ne=[];for(const w of X){ne.push({id:w.key,label:w.label,color:w.color,count:w.count??0,pop:w.population??0,filter:w.filterKey?["==",["get","_flat_filter"],w.filterKey]:null,children:[]});for(const A of w.children||[])ne.push({id:A.key,label:A.label,color:A.color,count:A.count??0,pop:A.population??0,filter:A.filterKey?["==",["get","_flat_filter"],A.filterKey]:null,children:[]})}return ne}const j=Q(()=>o.nodes?o.nodes:S.value?z(i.value):o.legendType==="affinity-block"?h.value:o.legendType==="doxa-regions"?p.value:d.value),O=Q(()=>o.nodes?o.tabs:S.value?null:o.legendType==="affinity-block"?L:o.legendType==="doxa-regions"?R:_),D=Q(()=>o.title?o.title:S.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),M=Q(()=>o.columnLabel!==null?o.columnLabel:o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":S.value?"Status":""),$=le(null),T=le(!1),N={pending:null,active:!1,startY:0,startH:0,startState:"",containerH:0,maxH:0,lastH:0,contentEl:null};let q=0;const ce=()=>Date.now()-q<400,ee=Q(()=>n.legendState),oe=Q(()=>n.legendHeight),H=Q(()=>n.caretRotation),pe=Q(()=>n.showPullTab),we=Q(()=>n.legendMode),ue=Q(()=>n.selectedPeopleGroup),$e=Q(()=>{var X;return we.value==="detail"&&ue.value?((X=ue.value.properties)==null?void 0:X.name)||t("legend.header.peopleGroupFallback"):ee.value==="collapsed"?o.title||t("legend.header.collapsed"):o.title||c.value});function Ae(X){n.handleLegendItemClick(),f(X)}function ie(){ce()||n.toggleLegend()}function ye(){ce()||(n.selectPeopleGroup(null),n.openLegend())}const me=Q(()=>{var ne;if(!ue.value)return null;const X=ue.value.properties||{};return X.imageUrl||((ne=X._raw)==null?void 0:ne.ImageURL)||null});function Le(X){var re;if(ee.value==="collapsed")return;const ne=X.touches[0],w=$.value;if(!ne||!w)return;const W=ne.clientY-w.getBoundingClientRect().top<=OS?"grab":we.value==="detail"?"content":null;W&&(N.pending=W,N.active=!1,N.startY=ne.clientY,N.startH=w.offsetHeight,N.lastH=N.startH,N.startState=ee.value,N.containerH=((re=w.parentElement)==null?void 0:re.offsetHeight)||window.innerHeight,N.maxH=N.containerH-kg,N.contentEl=w.querySelector(".legend-content"))}function E(X){if(!N.pending&&!N.active)return;const ne=X.touches[0];if(!ne)return;const w=N.startY-ne.clientY;if(!N.active){if(w===0)return;let W=N.pending==="grab";if(N.pending==="content"){const re=!N.contentEl||N.contentEl.scrollTop<=0;W=w>0?N.startH<N.maxH-1:re}if(N.pending=null,!W)return;N.active=!0,T.value=!0}X.preventDefault();const A=Math.round(Math.min(N.maxH,Math.max(FS,N.startH+w)));N.lastH=A,n.setLegendHeight(`${A}px`)}function F(){if(N.pending=null,!N.active)return;N.active=!1,T.value=!1,q=Date.now();const X=N.lastH,ne=X-N.startH,w=N.containerH*.3;if(we.value!=="detail"){X<w*.5&&n.collapseLegend();return}if(Math.abs(ne)<DS){B(N.startState);return}if(X<w*.5){n.collapseLegend();return}ne>0?n.fullyOpenLegend():N.startState==="fullyOpen"?n.openLegend():n.collapseLegend()}function B(X){X==="fullyOpen"?n.fullyOpenLegend():X==="collapsed"?n.collapseLegend():n.openLegend()}let K=null,te=null,U=null;return Zt(()=>{const X=$.value;if(!X||typeof ResizeObserver>"u")return;const ne=X.getRootNode();te=ne instanceof ShadowRoot?ne.host:ne.documentElement||null,te&&(U=X,K=new ResizeObserver(()=>{const w=X.offsetHeight;w<=0||(te.style.setProperty(wg,`${w}px`),te.__legendSheetVarOwner=X)}),K.observe(X))}),ho(()=>{K&&(K.disconnect(),K=null),te&&te.__legendSheetVarOwner===U&&(te.style.removeProperty(wg),te.__legendSheetVarOwner=null),te=null,U=null}),(X,ne)=>{var w;return V(),ae("div",LS,[we.value==="detail"&&ue.value&&ee.value==="open"&&me.value?(V(),ae("div",{key:0,class:"floating-mini-image",onClick:ne[0]||(ne[0]=A=>de(n).fullyOpenLegend())},[C("img",{src:me.value,alt:(w=ue.value.properties)==null?void 0:w.name,class:"mini-image"},null,8,CS)])):ve("",!0),C("div",{ref_key:"sheetRef",ref:$,class:Ee(["legend-mobile-sheet",[ee.value,{"sheet-dark":e.isDark,dragging:T.value}]]),style:Xe({height:oe.value,"--legend-sheet-top-reserve":kg+"px"}),onTouchstart:Le,onTouchmove:E,onTouchend:F,onTouchcancel:F},[C("div",{class:"sheet-drag-strip",onClick:ie},[pe.value?(V(),ae("div",ES)):ve("",!0)]),we.value==="detail"&&ee.value!=="collapsed"?(V(),ae("button",{key:0,class:"detail-collapse-btn-mobile",onClick:dt(ie,["stop"]),"aria-label":de(t)("aria.toggleLegend")},null,8,$S)):ve("",!0),we.value==="detail"&&ee.value!=="collapsed"?(V(),ae("button",{key:1,class:"detail-close-btn",onClick:dt(ye,["stop"]),"aria-label":de(t)("aria.backToLegend")},[...ne[1]||(ne[1]=[C("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[C("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,TS)):ve("",!0),ee.value==="collapsed"&&we.value==="detail"&&ue.value?(V(),ae("div",{key:2,class:"collapsed-detail-footer",onClick:ie},[C("button",{class:"mobile-collapse-caret",style:Xe({transform:`rotate(${H.value}deg)`}),"aria-label":de(t)("aria.toggleLegend"),tabindex:"-1"},[...ne[2]||(ne[2]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,PS),C("span",NS,he($e.value),1)])):ve("",!0),C("div",MS,[we.value==="detail"&&ue.value?(V(),ae(Ie,{key:0},[ee.value!=="collapsed"?(V(),Ge(xl,{key:0,peopleGroup:ue.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):ve("",!0)],64)):e.legendType!=="default"?(V(),Ge(yg,{key:1,nodes:j.value,tabs:O.value,title:$e.value||D.value,hideTabs:e.nodes?!e.tabs:S.value,columnLabel:M.value,columns:e.columns||["count","pop"],onSelect:de(r)},{"title-caret":Mt(()=>[C("button",{class:"mobile-collapse-caret",style:Xe({transform:`rotate(${H.value}deg)`}),onClick:dt(ie,["stop"]),"aria-label":de(t)("aria.toggleLegend")},[...ne[3]||(ne[3]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,IS)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","columns","onSelect"])):(V(),Ge(ug,{key:2,title:$e.value,items:de(i),columns:de(l),activeFilter:de(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:de(b),totalPopulation:de(k),fmtPop:de(x),fmtCount:de(m),onFilterClick:Ae},{"title-caret":Mt(()=>[C("button",{class:"mobile-collapse-caret",style:Xe({transform:`rotate(${H.value}deg)`}),onClick:dt(ie,["stop"]),"aria-label":de(t)("aria.toggleLegend")},[...ne[4]||(ne[4]=[C("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[C("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,RS)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],38)])}}},[["__scopeId","data-v-87b1df09"]])},Symbol.toStringTag,{value:"Module"})),ut={dpi:300,margins:{top:.75,right:.75,bottom:.75,left:.75},bleed:.125,gutter:{in:.2},title:{heightIn:1.25,fontFamily:'Inter, system-ui, -apple-system, "Segoe UI", sans-serif',fontWeightTitle:700,fontWeightSubtitle:500,fontSizeTitlePt:36,fontSizeSubtitlePt:16,color:"#0a0a0a"},legend:{widthIn:3,fontFamily:"Inter, system-ui, sans-serif",fontSizePt:11,swatchSize:14,backgroundColor:"rgba(255,255,255,0.94)",borderColor:"#cccccc"},chromeBand:{heightIn:.6},scaleBar:{widthIn:2.5,units:"both",color:"#111",backgroundColor:"rgba(255,255,255,0.9)"},north:{sizeIn:.6,color:"#111"},footer:{heightIn:.45,fontFamily:"Inter, system-ui, sans-serif",fontSizePt:10,color:"#222",attribution:"© Mapbox © OpenStreetMap",backgroundColor:"rgba(255,255,255,0.92)"}};function Cl(e){return{widthIn:e.widthIn,heightIn:e.heightIn,dpi:e.dpi||ut.dpi,orientation:e.orientation||(e.heightIn>=e.widthIn?"portrait":"landscape"),margins:{...ut.margins},bleed:ut.bleed,slots:{title:{text:"Untitled",subtitle:"",heightIn:ut.title.heightIn},legend:{rows:[],type:"generic",widthIn:ut.legend.widthIn},scaleBar:!0,north:!0,footer:{left:"",right:"",attribution:ut.footer.attribution,heightIn:ut.footer.heightIn}},renderPath:"auto"}}const BS=Object.freeze(Object.defineProperty({__proto__:null,defaultPosterSpec:Cl,posterDefaults:ut},Symbol.toStringTag,{value:"Module"}));function Pt(e,t){return Math.round(e*t)}function Sg(e,t){var p,_,L,R,S,z,j,O;const o=t.dpi,n=e.margins||ut.margins,a={x:0,y:0,w:t.width,h:t.height},r={x:Pt(n.left,o),y:Pt(n.top,o),w:t.width-Pt(n.left+n.right,o),h:t.height-Pt(n.top+n.bottom,o)},s=(p=e.slots)!=null&&p.title?Pt(e.slots.title.heightIn||ut.title.heightIn,o):0,i={x:r.x,y:r.y,w:r.w,h:s},l=Pt(((L=(_=e.slots)==null?void 0:_.footer)==null?void 0:L.heightIn)||ut.footer.heightIn,o),c={x:r.x,y:r.y+r.h-l,w:r.w,h:l},u=(R=e.slots)!=null&&R.legend?Pt(e.slots.legend.widthIn||ut.legend.widthIn,o):0,f=(S=e.slots)!=null&&S.scaleBar||(z=e.slots)!=null&&z.north?Pt(ut.chromeBand.heightIn,o):0,b=r.y+s+(s?Pt(ut.gutter.in,o):0),k=c.y-f-(f?Pt(ut.gutter.in,o):0),x={x:r.x,y:b,w:r.w-(u?u+Pt(ut.gutter.in,o):0),h:k-b},m=u?{x:r.x+r.w-u,y:b,w:u,h:x.h}:{x:0,y:0,w:0,h:0},v=Pt(ut.scaleBar.widthIn,o),g=f,y=(j=e.slots)!=null&&j.scaleBar?{x:r.x,y:k+(f?Pt(ut.gutter.in,o):0),w:v,h:g}:{x:0,y:0,w:0,h:0},d=Pt(ut.north.sizeIn,o),h=(O=e.slots)!=null&&O.north?{x:r.x+r.w-d-(u?u+Pt(ut.gutter.in,o):0),y:k+(f?Pt(ut.gutter.in,o):0),w:d,h:d}:{x:0,y:0,w:0,h:0};return{page:a,content:r,title:i,map:x,legend:m,scaleBar:y,north:h,footer:c}}const $n=4096,So=2048,Lg=15e3;function El(e){const t=le({phase:"idle",completed:0,total:0,message:"",fraction:0,percent:0}),o=le(!1);let n=null;async function a(x,m="png"){if(o.value)throw new Error("useMapPoster: already rendering");const v=e();if(!v)throw new Error("useMapPoster: no source map");n=new AbortController;const g=KS(x.signal,n.signal);o.value=!0,l=0,c("init",1,1,"preparing render");try{const y=$l(x),d=GS(x.renderPath||"auto",y);d==="single"&&(y.width>$n||y.height>$n)&&console.warn(`[useMapPoster] requested single-canvas ${y.width}×${y.height}px > ${$n}; auto-switching to tile-stitch.`);const p=(d==="single"&&(y.width>$n||y.height>$n)?"stitch":d)==="single"?await u(v,y,g):await f(v,y,g);c("compose",0,1,"compositing overlay");const _=await b(p,x,y);c("encode",0,1,`encoding ${m.toUpperCase()}`);const L=m==="pdf"?await US(_,x):await zS(_,"image/png");return c("done",1,1,"render complete"),L}finally{o.value=!1,n=null}}function r(){n&&n.abort()}const s={init:.02,"hidden-map":.3,stitch:.42,capture:.14,compose:.06,encode:.05,done:.01},i=["init","hidden-map","stitch","capture","compose","encode","done"];let l=0;function c(x,m,v,g){const y=i.indexOf(x);let d=0;for(let _=0;_<y;_++)d+=s[i[_]]||0;const h=v>0?Math.min(1,m/v):0,p=d+(s[x]||0)*h;l=x==="init"?p:Math.max(l,p),t.value={phase:x,completed:m,total:v,message:g,fraction:Math.min(1,l),percent:Math.round(Math.min(1,l)*100)}}async function u(x,m,v){c("hidden-map",0,3,"creating hidden map");const{hiddenMap:g,restoreDpr:y,container:d}=await Cg(x,m.width,m.height);try{Tl(v),c("hidden-map",1,3,"loading map tiles"),await Eg(g),c("hidden-map",3,3,"tiles loaded"),Tl(v),c("capture",0,1,"capturing canvas");const h=g.getCanvas().toDataURL("image/png"),p=await $g(h),_=document.createElement("canvas");return _.width=m.width,_.height=m.height,_.getContext("2d").drawImage(p,0,0,m.width,m.height),_}finally{try{g.remove()}catch{}d!=null&&d.parentNode&&d.parentNode.removeChild(d),y()}}async function f(x,m,v){const g=Math.ceil(m.width/So),y=Math.ceil(m.height/So),d=g*y;c("hidden-map",0,d,`creating hidden map (${g}×${y} tiles)`);const h=x.getBounds(),p=x.getCenter(),_=x.getZoom(),L=x.getBearing(),R=x.getPitch(),{hiddenMap:S,restoreDpr:z,container:j}=await Cg(x,So,So,{preserveBounds:!0,bounds:h});try{const O=document.createElement("canvas");O.width=m.width,O.height=m.height;const D=O.getContext("2d"),M=h.getNorthEast(),$=h.getSouthWest(),T=M.lng-$.lng,N=M.lat-$.lat,q=T/g,ce=N/y;let ee=0;for(let oe=0;oe<y;oe++)for(let H=0;H<g;H++){Tl(v);const pe=[$.lng+H*q,M.lat-(oe+1)*ce],we=[$.lng+(H+1)*q,M.lat-oe*ce];S.fitBounds([pe,we],{padding:0,animate:!1,duration:0}),await Eg(S);const ue=S.getCanvas().toDataURL("image/png"),$e=await $g(ue),Ae=H*So,ie=oe*So,ye=Math.min(So,m.width-Ae),me=Math.min(So,m.height-ie);D.drawImage($e,0,0,So,So,Ae,ie,ye,me),ee++,c("stitch",ee,d,`tile ${ee}/${d}`)}return x.jumpTo({center:p,zoom:_,bearing:L,pitch:R}),O}finally{try{S.remove()}catch{}j!=null&&j.parentNode&&j.parentNode.removeChild(j),z()}}async function b(x,m,v){const g=Sg(m,v),y=x.getContext("2d"),d=await k(m,g);for(const h of d){const p=await jS(h.svg,h.box.w,h.box.h);y.drawImage(p,h.box.x,h.box.y,h.box.w,h.box.h)}return x}async function k(x,m){var g,y,d,h;const v=[];return(g=x.slots)!=null&&g.title&&v.push({box:m.title,svg:HS(x,m.title)}),(y=x.slots)!=null&&y.legend&&v.push({box:m.legend,svg:VS(x,m.legend)}),(d=x.slots)!=null&&d.scaleBar&&v.push({box:m.scaleBar,svg:qS(x,m.scaleBar)}),(h=x.slots)!=null&&h.north&&v.push({box:m.north,svg:WS(x,m.north)}),v.push({box:m.footer,svg:YS(x,m.footer)}),v}return{render:a,progress:fn(t),isRendering:fn(o),cancel:r}}function $l(e){let t=e.widthIn,o=e.heightIn;e.orientation==="landscape"&&o>t&&([t,o]=[o,t]),e.orientation==="portrait"&&t>o&&([t,o]=[o,t]);const n=e.dpi||300;return{width:Math.round(t*n),height:Math.round(o*n),dpi:n}}function GS(e,t){return e==="single"||e==="stitch"?e:t.width>$n||t.height>$n?"stitch":"single"}async function Cg(e,t,o,n={}){const a=document.createElement("div");a.style.cssText=`
|
||
position: fixed; top: -100000px; left: -100000px;
|
||
width: ${t}px; height: ${o}px; pointer-events: none; visibility: hidden;
|
||
`,document.body.appendChild(a);const r=window.devicePixelRatio,s=()=>{try{Object.defineProperty(window,"devicePixelRatio",{value:r,configurable:!0})}catch{}};try{Object.defineProperty(window,"devicePixelRatio",{value:1,configurable:!0})}catch{}const i=typeof window<"u"?window.mapboxgl:null;if(!i)throw new Error("useMapPoster: mapboxgl global not found");const l=e.getStyle(),c=new i.Map({container:a,style:l,center:e.getCenter(),zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),interactive:!1,attributionControl:!1,preserveDrawingBuffer:!0,fadeDuration:0});return await new Promise((u,f)=>{let b=!1;const k=setTimeout(()=>{b||(b=!0,f(new Error("useMapPoster: hidden map style.load timeout")))},Lg);c.once("style.load",()=>{b||(b=!0,clearTimeout(k),u())})}),n.preserveBounds&&n.bounds&&c.fitBounds(n.bounds,{padding:0,animate:!1,duration:0}),{hiddenMap:c,restoreDpr:s,container:a}}function Eg(e){return new Promise((t,o)=>{let n=!1;const a=setTimeout(()=>{n||(n=!0,o(new Error("useMapPoster: hidden map idle timeout")))},Lg),r=()=>{n||(n=!0,clearTimeout(a),requestAnimationFrame(()=>t()))};e.loaded()&&!e.isMoving()?r():e.once("idle",r)})}function $g(e){return new Promise((t,o)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=a=>o(new Error("image load failed: "+((a==null?void 0:a.message)||"unknown"))),n.src=typeof e=="string"?e:URL.createObjectURL(e)})}function jS(e,t,o){const n=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(n);return new Promise((r,s)=>{const i=new Image;i.onload=()=>{URL.revokeObjectURL(a),r(i)},i.onerror=l=>{URL.revokeObjectURL(a),s(new Error("svg load failed: "+((l==null?void 0:l.message)||"unknown")))},i.width=t,i.height=o,i.src=a})}function zS(e,t){return new Promise((o,n)=>{e.toBlob(a=>a?o(a):n(new Error("toBlob failed")),t)})}async function US(e,t){let o;try{const s=await qt(()=>import("https://esm.sh/jspdf@4.2.1"),void 0);o=s.jsPDF||s.default}catch{throw new Error("useMapPoster.toPdf: jspdf not installed (npm i jspdf svg2pdf.js)")}const n=e.toDataURL("image/png"),a=e.width>e.height?"l":"p",r=new o({orientation:a,unit:"in",format:[t.widthIn,t.heightIn]});return r.addImage(n,"PNG",0,0,t.widthIn,t.heightIn),r.output("blob")}function Tl(e){if(e!=null&&e.aborted)throw new DOMException("useMapPoster: aborted","AbortError")}function KS(...e){const t=new AbortController;for(const o of e)if(o){if(o.aborted){t.abort();break}o.addEventListener("abort",()=>t.abort(),{once:!0})}return t.signal}function HS(e,t){var a,r,s,i;const o=(((r=(a=e.slots)==null?void 0:a.title)==null?void 0:r.text)||"").replace(/[<>&]/g,oa),n=(((i=(s=e.slots)==null?void 0:s.title)==null?void 0:i.subtitle)||"").replace(/[<>&]/g,oa);return`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${t.w}" height="${t.h}" viewBox="0 0 ${t.w} ${t.h}">
|
||
<rect width="100%" height="100%" fill="rgba(255,255,255,0.92)"/>
|
||
<text x="20" y="${t.h*.55}" font-family="Inter, system-ui, sans-serif"
|
||
font-size="${Math.min(t.h*.5,64)}" font-weight="700" fill="#0a0a0a">${o}</text>
|
||
${n?`<text x="20" y="${t.h*.85}" font-family="Inter, system-ui, sans-serif"
|
||
font-size="${Math.min(t.h*.22,28)}" fill="#444">${n}</text>`:""}
|
||
</svg>`}function VS(e,t){var a,r;const n=(((r=(a=e.slots)==null?void 0:a.legend)==null?void 0:r.rows)||[]).slice(0,24).map((s,i)=>{const l=30+i*26,c=(s.color||"#999").replace(/[<>&]/g,oa),u=(s.label||"").replace(/[<>&]/g,oa);return`<g><rect x="14" y="${l-14}" width="18" height="18" fill="${c}" stroke="#222" stroke-width="0.5"/><text x="42" y="${l}" font-family="Inter, sans-serif" font-size="14" fill="#111">${u}</text></g>`}).join("");return`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${t.w}" height="${t.h}" viewBox="0 0 ${t.w} ${t.h}">
|
||
<rect width="100%" height="100%" fill="rgba(255,255,255,0.94)" stroke="#ccc"/>
|
||
<text x="14" y="20" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#111">Legend</text>
|
||
${n}
|
||
</svg>`}function qS(e,t){return`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${t.w}" height="${t.h}" viewBox="0 0 ${t.w} ${t.h}">
|
||
<rect x="0" y="${t.h-18}" width="${t.w*.9}" height="6" fill="#000"/>
|
||
<text x="0" y="${t.h-22}" font-family="Inter, sans-serif" font-size="12" fill="#111">scale</text>
|
||
</svg>`}function WS(e,t){const o=Math.min(t.w,t.h);return`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${t.w}" height="${t.h}" viewBox="0 0 ${o} ${o}">
|
||
<polygon points="${o/2},4 ${o*.65},${o*.85} ${o/2},${o*.7} ${o*.35},${o*.85}" fill="#111"/>
|
||
<text x="${o/2}" y="${o*.98}" text-anchor="middle" font-family="Inter, sans-serif" font-size="${o*.18}" fill="#111">N</text>
|
||
</svg>`}function YS(e,t){var r,s,i,l,c,u;const o=(((s=(r=e.slots)==null?void 0:r.footer)==null?void 0:s.left)||"").replace(/[<>&]/g,oa),n=(((l=(i=e.slots)==null?void 0:i.footer)==null?void 0:l.right)||"").replace(/[<>&]/g,oa),a=((u=(c=e.slots)==null?void 0:c.footer)==null?void 0:u.attribution)||"© Mapbox © OpenStreetMap";return`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${t.w}" height="${t.h}" viewBox="0 0 ${t.w} ${t.h}">
|
||
<rect width="100%" height="100%" fill="rgba(255,255,255,0.92)"/>
|
||
<text x="14" y="${t.h*.55}" font-family="Inter, sans-serif" font-size="12" fill="#222">${o}</text>
|
||
<text x="${t.w/2}" y="${t.h*.55}" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="#222">${a}</text>
|
||
<text x="${t.w-14}" y="${t.h*.55}" text-anchor="end" font-family="Inter, sans-serif" font-size="12" fill="#222">${n}</text>
|
||
</svg>`}function oa(e){return e==="<"?"<":e===">"?">":"&"}const XS=Object.freeze(Object.defineProperty({__proto__:null,posterPixels:$l,useMapPoster:El},Symbol.toStringTag,{value:"Module"})),JS={class:"title-slot__title"},ZS={key:0,class:"title-slot__subtitle"},QS=Ot({__name:"TitleSlot",props:{title:{type:String,default:""},subtitle:{type:String,default:""},align:{type:String,default:"left"}},emits:[],setup(e){const t=e,o=Q(()=>({textAlign:t.align,fontFamily:ut.title.fontFamily,background:"rgba(255,255,255,0.92)",borderBottom:"1px solid #eee"}));return(n,a)=>(V(),ae("div",{class:"title-slot",style:Xe(o.value)},[C("div",JS,he(e.title||"Untitled"),1),e.subtitle?(V(),ae("div",ZS,he(e.subtitle),1)):ve("",!0)],4))}},[["__scopeId","data-v-7caa85cc"]]),e2={class:"poster-slot poster-slot--LegendSlot","data-slot":"LegendSlot"},t2=Ot({__name:"LegendSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(V(),ae("div",e2))}},[["__scopeId","data-v-1a65b1e9"]]),o2={class:"poster-slot poster-slot--ScaleBarSlot","data-slot":"ScaleBarSlot"},n2=Ot({__name:"ScaleBarSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(V(),ae("div",o2))}},[["__scopeId","data-v-2cbe964e"]]),a2={class:"poster-slot poster-slot--NorthArrowSlot","data-slot":"NorthArrowSlot"},r2=Ot({__name:"NorthArrowSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(V(),ae("div",a2))}},[["__scopeId","data-v-d12819c9"]]),s2={class:"poster-slot poster-slot--FooterSlot","data-slot":"FooterSlot"},i2=Ot({__name:"FooterSlot",props:{spec:{type:Object,default:()=>({})}},setup(e){return(t,o)=>(V(),ae("div",s2))}},[["__scopeId","data-v-93c6c172"]]),l2=["src"],c2=Ot({__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=Q(()=>$l(t.spec)),c=Q(()=>Sg(t.spec,l.value)),u=Q(()=>{const m=l.value.width;return m?Math.min(1,(a.value-24)/m):1}),f=Q(()=>({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 b(m){return m?{position:"absolute",left:m.x+"px",top:m.y+"px",width:m.w+"px",height:m.h+"px"}:{display:"none"}}let k=null;Zt(()=>{o.value&&typeof ResizeObserver<"u"&&(k=new ResizeObserver(()=>{var m;a.value=((m=o.value)==null?void 0:m.clientWidth)||800}),k.observe(o.value),a.value=o.value.clientWidth),x()}),Ea(()=>{k&&(k.disconnect(),k=null)}),De(()=>[t.spec.widthIn,t.spec.heightIn,t.spec.orientation,t.spec.dpi],()=>{x()});async function x(){var v,g,y,d;const m=(v=t.getMap)==null?void 0:v.call(t);if(m)try{(!m.loaded()||m.isMoving())&&await new Promise(p=>m.once("idle",p)),n.value=m.getCanvas().toDataURL("image/png"),r.value=((g=m.getBearing)==null?void 0:g.call(m))||0;const h=(y=m.getCenter)==null?void 0:y.call(m);s.value=(h==null?void 0:h.lat)||0,i.value=(d=m.getBounds)==null?void 0:d.call(m)}catch(h){console.warn("[PosterPreview] snapshot failed",h)}}return(m,v)=>{var g,y,d,h,p,_,L,R,S,z,j;return V(),ae("div",{ref_key:"rootEl",ref:o,class:"poster-preview"},[C("div",{class:"poster-preview__page",style:Xe(f.value)},[n.value?(V(),ae("img",{key:0,class:"poster-preview__map",src:n.value,style:Xe(b(c.value.map)),alt:"map preview"},null,12,l2)):(V(),ae("div",{key:1,class:"poster-preview__map placeholder",style:Xe(b(c.value.map))}," Loading map snapshot… ",4)),(g=e.spec.slots)!=null&&g.title?(V(),Ge(QS,{key:2,class:"poster-preview__slot",style:Xe(b(c.value.title)),title:e.spec.slots.title.text,subtitle:e.spec.slots.title.subtitle},null,8,["style","title","subtitle"])):ve("",!0),(y=e.spec.slots)!=null&&y.legend&&((d=e.spec.slots.legend.rows)!=null&&d.length)?(V(),Ge(t2,{key:3,class:"poster-preview__slot",style:Xe(b(c.value.legend)),rows:e.spec.slots.legend.rows,type:e.spec.slots.legend.type},null,8,["style","rows","type"])):ve("",!0),(h=e.spec.slots)!=null&&h.scaleBar?(V(),Ge(n2,{key:4,class:"poster-preview__slot",style:Xe(b(c.value.scaleBar)),"map-bounds":i.value,"map-center-lat":s.value},null,8,["style","map-bounds","map-center-lat"])):ve("",!0),(p=e.spec.slots)!=null&&p.north?(V(),Ge(r2,{key:5,class:"poster-preview__slot",style:Xe(b(c.value.north)),bearing:r.value},null,8,["style","bearing"])):ve("",!0),Ze(i2,{class:"poster-preview__slot",style:Xe(b(c.value.footer)),left:(L=(_=e.spec.slots)==null?void 0:_.footer)==null?void 0:L.left,right:(S=(R=e.spec.slots)==null?void 0:R.footer)==null?void 0:S.right,attribution:(j=(z=e.spec.slots)==null?void 0:z.footer)==null?void 0:j.attribution,metadata:e.metadata},null,8,["style","left","right","attribution","metadata"])],4)],512)}}},[["__scopeId","data-v-563f7dcd"]]),Tg=25.4,Pg=e=>e/Tg,Ng=e=>e*Tg;function Lo(e,t,o,n,a,r,s,i){const l=a==="in"?{w:o,h:n}:{w:Mg(Pg(o)),h:Mg(Pg(n))},c=a==="mm"?{w:o,h:n}:{w:Ig(Ng(o)),h:Ig(Ng(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 Mg(e){return Math.round(e*1e3)/1e3}function Ig(e){return Math.round(e*10)/10}const Rg={letter:Lo("letter",'Letter (8.5×11")',8.5,11,"in","us","either",300),tabloid:Lo("tabloid",'Tabloid (11×17")',11,17,"in","us","either",300),"18x24":Lo("18x24",'18 × 24"',18,24,"in","us","portrait",300),"24x36":Lo("24x36",'24 × 36"',24,36,"in","us","portrait",300),"27x40":Lo("27x40",'27 × 40"',27,40,"in","us","portrait",200),a4:Lo("a4","A4 (210 × 297 mm)",210,297,"mm","iso","either",300),a3:Lo("a3","A3 (297 × 420 mm)",297,420,"mm","iso","either",300),a2:Lo("a2","A2 (420 × 594 mm)",420,594,"mm","iso","portrait",300),a1:Lo("a1","A1 (594 × 841 mm)",594,841,"mm","iso","portrait",200),a0:Lo("a0","A0 (841 × 1189 mm)",841,1189,"mm","iso","portrait",150)},u2=["letter","tabloid","18x24","24x36","27x40","a4","a3","a2","a1","a0"],d2="24x36";function Fg(e){return Rg[e]||null}function p2(){return u2.map(e=>Rg[e])}const g2={class:"poster-dlg",role:"dialog","aria-modal":"true","aria-label":"Export Poster"},f2={class:"poster-dlg__header"},h2={class:"poster-dlg__body"},m2={class:"poster-dlg__controls"},b2={class:"ctl"},y2=["value"],v2={class:"ctl"},_2={class:"ctl"},x2={class:"ctl"},k2={class:"ctl"},w2={class:"ctl"},A2={class:"ctl ctl--check"},S2={key:0,class:"render-status"},L2=["max","value"],C2={class:"actions"},E2=["disabled"],$2={class:"poster-dlg__preview"},T2=Object.freeze(Object.defineProperty({__proto__:null,default:Ot({__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:d2}},emits:["update:modelValue","rendered","error"],setup(e,{emit:t}){const o=e,n=t,a=Q({get:()=>o.modelValue,set:h=>n("update:modelValue",h)}),r=p2(),s=le(o.initialSize),i=le("portrait"),l=le(300),c=le("png"),u=le(""),f=le(""),b=le(!0),k=le(!0),x=le(!0);De(s,h=>{const p=Fg(h);p&&(l.value=p.recommendedDpi,p.orientation!=="either"&&(i.value=p.orientation))},{immediate:!0});const m=Q(()=>{const h=Fg(s.value);if(!h)return Cl({widthIn:24,heightIn:36});const p=Cl({widthIn:h.inches.w,heightIn:h.inches.h,dpi:l.value,orientation:i.value});return p.slots.title={...p.slots.title,text:u.value,subtitle:f.value},p.slots.legend=b.value?{...p.slots.legend,rows:o.legendRows}:null,p.slots.scaleBar=k.value,p.slots.north=x.value,p.slots.footer={...p.slots.footer,left:o.metadata.source?`Source: ${o.metadata.source}`:"",right:o.metadata.date?`${o.metadata.date}`:new Date().toISOString().slice(0,10),attribution:ut.footer.attribution},p}),v=El(o.getMap);async function g(){try{const h=await v.render(m.value,c.value),p=c.value==="pdf"?"pdf":"png",_=(u.value||"poster").replace(/\W+/g,"-").toLowerCase();d(h,`${_}.${p}`),n("rendered",{blob:h,format:c.value,spec:m.value})}catch(h){console.error("[PosterDialog] render failed",h),n("error",h)}}function y(){a.value=!1}function d(h,p){const _=URL.createObjectURL(h),L=document.createElement("a");L.href=_,L.download=p,document.body.appendChild(L),L.click(),L.remove(),setTimeout(()=>URL.revokeObjectURL(_),1500)}return(h,p)=>(V(),Ge(_m,{name:"poster-dlg"},{default:Mt(()=>[a.value?(V(),ae("div",{key:0,class:"poster-dlg-backdrop",onClick:dt(y,["self"])},[C("section",g2,[C("header",f2,[Fo(h.$slots,"header",{},()=>[p[10]||(p[10]=C("h2",null,"Export Poster",-1))],!0),C("button",{class:"poster-dlg__close",type:"button","aria-label":"Close",onClick:y},"×")]),C("div",h2,[C("aside",m2,[C("label",b2,[p[11]||(p[11]=C("span",null,"Size",-1)),zt(C("select",{"onUpdate:modelValue":p[0]||(p[0]=_=>s.value=_)},[(V(!0),ae(Ie,null,yt(de(r),_=>(V(),ae("option",{key:_.id,value:_.id},he(_.label),9,y2))),128))],512),[[Hr,s.value]])]),C("label",v2,[p[13]||(p[13]=C("span",null,"Orientation",-1)),zt(C("select",{"onUpdate:modelValue":p[1]||(p[1]=_=>i.value=_)},[...p[12]||(p[12]=[C("option",{value:"portrait"},"Portrait",-1),C("option",{value:"landscape"},"Landscape",-1)])],512),[[Hr,i.value]])]),C("label",_2,[p[15]||(p[15]=C("span",null,"DPI",-1)),zt(C("select",{"onUpdate:modelValue":p[2]||(p[2]=_=>l.value=_)},[...p[14]||(p[14]=[C("option",{value:150},"150 (large posters)",-1),C("option",{value:200},"200 (balanced)",-1),C("option",{value:300},"300 (sharp)",-1)])],512),[[Hr,l.value,void 0,{number:!0}]])]),C("label",x2,[p[17]||(p[17]=C("span",null,"Format",-1)),zt(C("select",{"onUpdate:modelValue":p[3]||(p[3]=_=>c.value=_)},[...p[16]||(p[16]=[C("option",{value:"png"},"PNG (raster)",-1),C("option",{value:"pdf"},"PDF (raster on vector page)",-1)])],512),[[Hr,c.value]]),Fo(h.$slots,"format-extras",{},void 0,!0)]),C("label",k2,[p[18]||(p[18]=C("span",null,"Title",-1)),zt(C("input",{"onUpdate:modelValue":p[4]||(p[4]=_=>u.value=_),type:"text",placeholder:"Map title"},null,512),[[Kr,u.value]])]),C("label",w2,[p[19]||(p[19]=C("span",null,"Subtitle",-1)),zt(C("input",{"onUpdate:modelValue":p[5]||(p[5]=_=>f.value=_),type:"text",placeholder:"(optional)"},null,512),[[Kr,f.value]])]),C("fieldset",A2,[p[23]||(p[23]=C("legend",null,"Slots",-1)),C("label",null,[zt(C("input",{"onUpdate:modelValue":p[6]||(p[6]=_=>b.value=_),type:"checkbox"},null,512),[[wi,b.value]]),p[20]||(p[20]=gt(" Legend",-1))]),C("label",null,[zt(C("input",{"onUpdate:modelValue":p[7]||(p[7]=_=>k.value=_),type:"checkbox"},null,512),[[wi,k.value]]),p[21]||(p[21]=gt(" Scale bar",-1))]),C("label",null,[zt(C("input",{"onUpdate:modelValue":p[8]||(p[8]=_=>x.value=_),type:"checkbox"},null,512),[[wi,x.value]]),p[22]||(p[22]=gt(" North arrow",-1))]),p[24]||(p[24]=C("label",{class:"muted"},[C("input",{type:"checkbox",checked:"",disabled:""}),gt(" Footer (attribution required)")],-1))]),de(v).isRendering.value?(V(),ae("div",S2,[C("strong",null,he(de(v).progress.value.phase),1),C("progress",{max:de(v).progress.value.total||1,value:de(v).progress.value.completed},null,8,L2),C("small",null,he(de(v).progress.value.message),1),C("button",{class:"btn btn--ghost",type:"button",onClick:p[9]||(p[9]=(..._)=>de(v).cancel&&de(v).cancel(..._))},"Cancel")])):ve("",!0),C("div",C2,[C("button",{class:"btn btn--ghost",type:"button",onClick:y},"Close"),C("button",{class:"btn btn--primary",type:"button",disabled:de(v).isRendering.value,onClick:g},he(de(v).isRendering.value?"Rendering…":`Render ${c.value.toUpperCase()}`),9,E2)])]),C("main",$2,[Ze(c2,{spec:m.value,"get-map":e.getMap,"legend-rows":e.legendRows,metadata:e.metadata},null,8,["spec","get-map","legend-rows","metadata"])])])])])):ve("",!0)]),_:3}))}},[["__scopeId","data-v-1e730db1"]])},Symbol.toStringTag,{value:"Module"}));function Og(e,t,o,n){const a=parseFloat(t)-parseFloat(n),r=parseFloat(e)-parseFloat(o);return Math.sqrt(a*a+r*r)}function P2(e,t){const o={};for(const n of e){const a=t(n);o[a]||(o[a]=[]),o[a].push(n)}return o}const N2=Object.freeze({cluster:!0,clusterMaxZoom:6,clusterRadius:40}),M2=Object.freeze(["step",["get","point_count"],"#51bbd6",10,"#f1f075",50,"#f28cb1",500,"#e74c3c"]),I2=Object.freeze(["step",["get","point_count"],15,10,20,50,25,500,35]);class Dg{constructor(t={}){this.maxConnectionDistance=t.maxConnectionDistance??1/0}_calculateDistance(t,o){return Og(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[l]=c: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(f=>{const b=parseFloat(f.latitude),k=parseFloat(f.longitude);return!isNaN(b)&&!isNaN(k)});if(a.length<2)return[];const r=[];for(let f=0;f<a.length;f++)for(let b=f+1;b<a.length;b++){const k=this._calculateDistance(a[f],a[b]);k<=n&&r.push({from:f,to:b,distance:k,fromPoint:a[f],toPoint:a[b]})}r.sort((f,b)=>f.distance-b.distance);const s=this._createUnionFind(a.length),i=[];let l=0;const c=a.length-1;for(const f of r){if(l>=c)break;s.union(f.from,f.to)&&(i.push(f),l++)}const u=i.map(f=>({type:"Feature",geometry:{type:"LineString",coordinates:[[parseFloat(f.fromPoint.longitude),parseFloat(f.fromPoint.latitude)],[parseFloat(f.toPoint.longitude),parseFloat(f.toPoint.latitude)]]},properties:{distance:f.distance,algorithm:"MST"}}));return i.length<c&&console.warn(`[MST] Connected ${l+1} of ${a.length} points. Some points may be too far apart (>${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 f=Math.max(0,u-1),b=u>1?(c.length/f*100).toFixed(1):100;s.push({name:l,points:u,lines:c.length,expected:f,coverage:b+"%",hasOrphans:c.length<f})}s.sort((l,c)=>c.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 Dg;class Bg{constructor(t={}){this.maxDistance=t.maxDistance??15,this.maxNeighbors=t.maxNeighbors??15,this.sortKey=t.sortKey??"longitude"}_calculateDistance(t,o,n,a){return Og(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(f=>{const b=parseFloat(f.latitude),k=parseFloat(f.longitude);return!isNaN(b)&&!isNaN(k)});if(i.length<2)return[];const l=[],c=new Set,u=[...i].sort((f,b)=>parseFloat(f[r])-parseFloat(b[r]));for(let f=0;f<u.length;f++){const b=u[f],k=parseFloat(b.latitude),x=parseFloat(b.longitude),m=Math.min(f+1+a,u.length);for(let v=f+1;v<m;v++){const g=u[v],y=parseFloat(g.latitude),d=parseFloat(g.longitude),h=this._calculateDistance(k,x,y,d);h<n&&(l.push({type:"Feature",geometry:{type:"LineString",coordinates:[[x,k],[d,y]]},properties:{distance:h,type:"normal"}}),c.add(f),c.add(v))}}if(s){for(let b=0;b<u.length;b++){if(c.has(b))continue;const k=u[b],x=parseFloat(k.latitude),m=parseFloat(k.longitude);let v=-1,g=1/0;for(let y=0;y<u.length;y++){if(b===y||!c.has(y))continue;const d=u[y],h=parseFloat(d.latitude),p=parseFloat(d.longitude),_=this._calculateDistance(x,m,h,p);_<g&&(g=_,v=y)}if(v!==-1){const y=u[v];l.push({type:"Feature",geometry:{type:"LineString",coordinates:[[m,x],[parseFloat(y.longitude),parseFloat(y.latitude)]]},properties:{distance:g,type:"orphan-connector"}}),c.add(b)}}const f=[];for(let b=0;b<u.length;b++)c.has(b)||f.push(b);for(const b of f){const k=u[b],x=parseFloat(k.latitude),m=parseFloat(k.longitude);let v=-1,g=1/0;for(let y=0;y<u.length;y++){if(b===y)continue;const d=u[y],h=parseFloat(d.latitude),p=parseFloat(d.longitude),_=this._calculateDistance(x,m,h,p);_<g&&(g=_,v=y)}if(v!==-1){const y=u[v];l.push({type:"Feature",geometry:{type:"LineString",coordinates:[[m,x],[parseFloat(y.longitude),parseFloat(y.latitude)]]},properties:{distance:g,type:"orphan-to-orphan"}}),c.add(b)}}}return l}generateMultiGroupNetworkLines(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.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 Bg({maxDistance:15,maxNeighbors:15,sortKey:"longitude"});const na="cluster-lines-source",aa="cluster-lines",un="mapbox-clusters",eo="mapbox-clusters-circle",ra="mapbox-clusters-count",R2=Object.freeze({type:"FeatureCollection",features:[]});function Gg(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 Dg({maxConnectionDistance:1/0}),f=new Bg({maxDistance:15,maxNeighbors:15,sortKey:"longitude"}),b=le(!1),k=le("mapbox"),x=Q(()=>c&&"clusteringEnabled"in c?!!c.clusteringEnabled:b.value),m=Q(()=>c&&c.clusteringMode?c.clusteringMode:k.value),v=le([]);let g=null,y=null,d=null;function h(H){const pe=["mapbox","mst","network"];if(!pe.includes(H)){console.warn(`[${o}] useMapClustering.setMode: unknown mode "${H}". Allowed: ${pe.join(", ")}`);return}c&&typeof c.setClusteringMode=="function"?c.setClusteringMode(H):c&&"clusteringMode"in c?c.clusteringMode=H:k.value=H,x.value&&(z(),S())}function p(H){const pe=!!H;c&&typeof c.setClusteringEnabled=="function"?c.setClusteringEnabled(pe):c&&"clusteringEnabled"in c?c.clusteringEnabled=pe:b.value=pe,pe?S():z()}function _(H){!H||!H.property||H.value==null?d=null:d={property:H.property,value:H.value},c&&("clusterFilterProperty"in c&&(c.clusterFilterProperty=(d==null?void 0:d.property)??null),"clusterFilterValue"in c&&(c.clusterFilterValue=(d==null?void 0:d.value)??null)),x.value&&(z(),S())}function L(H){if(!d)return H;const{property:pe,value:we}=d,ue=Ae=>String(Ae||"").toLowerCase().replace(/[^a-z0-9]+/g,""),$e=ue(we);return $e?H.filter(Ae=>{var ye,me;const ie=(Ae==null?void 0:Ae[pe])??((ye=Ae==null?void 0:Ae.properties)==null?void 0:ye[pe])??((me=Ae==null?void 0:Ae._normalized)==null?void 0:me[pe]);return ue(ie)===$e}):H}function R(H){g=H}function S(){const H=t();if(H){switch(z(),m.value){case"mapbox":M(H);break;case"mst":$(H,"mst");break;case"network":$(H,"network");break;default:console.warn(`[${o}] Unknown clustering mode: ${m.value}`)}oe(H,!0)}}function z(){const H=t();H&&(O(H,ra,!1),O(H,eo,!1),D(H,un),O(H,aa,!1),D(H,na),v.value=[],N(H),oe(H,!1))}function j(){const H=t();H&&(N(H),H.getLayer(ra)&&H.removeLayer(ra),H.getLayer(eo)&&H.removeLayer(eo),H.getSource(un)&&H.removeSource(un),H.getLayer(aa)&&H.removeLayer(aa),H.getSource(na)&&H.removeSource(na),oe(H,!1)),v.value=[],g=null}function O(H,pe,we){if(H.getLayer(pe))try{H.setLayoutProperty(pe,"visibility",we?"visible":"none")}catch{}}function D(H,pe){const we=H.getSource(pe);if(we&&typeof we.setData=="function")try{we.setData(R2)}catch{}}function M(H){const pe=L(n());if(!pe.length)return;const we=pe.map(Ae=>{const ie=parseFloat(Ae.longitude??Ae.lng),ye=parseFloat(Ae.latitude??Ae.lat);return isNaN(ie)||isNaN(ye)?null:{type:"Feature",geometry:{type:"Point",coordinates:[ie,ye]},properties:{...Ae.properties||Ae}}}).filter(Boolean),ue={type:"FeatureCollection",features:we},$e=H.getSource(un);$e&&typeof $e.setData=="function"?$e.setData(ue):H.addSource(un,{type:"geojson",data:ue,...N2,...l}),H.getLayer(eo)?O(H,eo,!0):H.addLayer({id:eo,type:"circle",source:un,filter:["has","point_count"],paint:{"circle-color":M2,"circle-radius":I2,"circle-stroke-width":2,"circle-stroke-color":"#ffffff",...Wa(H),"circle-opacity":.85}}),H.getLayer(ra)?O(H,ra,!0):H.addLayer({id:ra,type:"symbol",source:un,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"}}),T(H),console.log(`[${o}] Clustering: mapbox-native applied (${we.length} features)`)}function $(H,pe){const we=L(n());if(!we.length)return;const ue=P2(we,Le=>{var E;return Le[s]??((E=Le._normalized)==null?void 0:E[s])??"Unknown"}),$e=typeof i=="function"?i:()=>"#666666";let Ae=[],ie=null;if(pe==="mst"?(Ae=u.generateAllMSTLines(ue,$e),ie=u.getMSTStats(ue)):(Ae=f.generateAllNetworkLines(ue,$e),ie=f.getClusteringStats(ue)),v.value=Ae,Ae.length===0)return;const ye={type:"FeatureCollection",features:Ae},me=H.getSource(na);if(me&&typeof me.setData=="function"?me.setData(ye):H.addSource(na,{type:"geojson",data:ye}),H.getLayer(aa))O(H,aa,!0);else{const Le={id:aa,type:"line",source:na,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"}};H.getLayer(r)?H.addLayer(Le,r):H.addLayer(Le)}console.log(`[${o}] Clustering: ${pe} applied — ${Ae.length} lines across ${(ie==null?void 0:ie.totalGroups)??0} groups`)}function T(H){H.getLayer(eo)&&(H.on("click",eo,q),H.on("mouseenter",eo,ce),H.on("mouseleave",eo,ee),y=eo)}function N(H){if(!y)return;const pe=y;try{H.off("click",pe,q),H.off("mouseenter",pe,ce),H.off("mouseleave",pe,ee)}catch{}y=null}function q(H){const pe=t();if(!pe)return;const we=pe.queryRenderedFeatures(H.point,{layers:[eo]});if(!we.length)return;const ue=we[0],$e=ue.properties.cluster_id,Ae=ue.geometry.coordinates,ie=ue.properties.point_count;if(typeof g=="function"){g({clusterId:$e,coordinates:Ae,pointCount:ie,originalEvent:H});return}const ye=pe.getSource(un);!ye||typeof ye.getClusterExpansionZoom!="function"||ye.getClusterExpansionZoom($e,(me,Le)=>{me||pe.easeTo({center:Ae,zoom:Le})})}function ce(){const H=t();H&&(H.getCanvas().style.cursor="pointer")}function ee(){const H=t();H&&(H.getCanvas().style.cursor="")}function oe(H,pe){if(H.getLayer(r))try{H.setPaintProperty(r,"circle-opacity",pe?.25:.9)}catch{}}return{enabled:x,mode:m,clusterLines:v,setMode:h,setEnabled:p,setSelectionFilter:_,onClusterClick:R,applyClustering:S,clearClustering:z,cleanup:j,mstUtil:u,networkUtil:f}}const F2=Object.freeze(Object.defineProperty({__proto__:null,default:Gg,useMapClustering:Gg},Symbol.toStringTag,{value:"Module"}));function O2(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 El(e).render(r,"png"),f=await K2(u);n("pdf-init",1,c,"building PDF");let b;try{const g=await qt(()=>import("https://esm.sh/jspdf@4.2.1"),void 0);b=g.jsPDF||g.default}catch{throw new Error("useMapPacket: jspdf not installed (npm i jspdf)")}const k=new b({orientation:r.widthIn>r.heightIn?"l":"p",unit:"in",format:[r.widthIn,r.heightIn]}),x=r.widthIn,m=r.heightIn,v=B2(i);k.addImage(f,"PNG",0,0,x,m),jg(k,x,m,v);for(let g=0;g<l.length;g++){const y=l[g]||{};k.addPage(),D2(k,x,m,y,v),n("cards",2+g,c,`card ${g+1}/${l.length}`)}return n("done",c,c,"packet complete"),k.output("blob")}finally{o.value=!1}}return{renderPacket:a,progress:fn(t),isRendering:fn(o)}}function D2(e,t,o,n,a){const r=Math.min(t,o)*.08,s=r;let i=r;const l=G2(n);e.setFont("helvetica","bold"),e.setFontSize(28),e.setTextColor(20,20,20),e.text(l,s,i+.32),i+=.7,e.setDrawColor(146,177,149),e.setLineWidth(.02),e.line(s,i,t-r,i),i+=.45;const c=[["Country",j2(n)],["Population",z2(n)],["% Evangelical",zg(n,"evangelical")],["% Christian",zg(n,"christian")],["Prayer count",U2(n)]],u=s,f=s+2.4,b=.5;e.setFontSize(14);for(const[k,x]of c)e.setFont("helvetica","normal"),e.setTextColor(110,110,110),e.text(String(k),u,i),e.setFont("helvetica","bold"),e.setTextColor(40,40,40),e.text(String(x),f,i),e.setDrawColor(225,225,225),e.setLineWidth(.008),e.line(u,i+.14,t-r,i+.14),i+=b;jg(e,t,o,a)}function jg(e,t,o,n){const a=Math.min(t,o)*.04;e.setFont("helvetica","normal"),e.setFontSize(8),e.setTextColor(120,120,120),e.text(n,a,o-a,{baseline:"bottom"})}function B2(e={}){const t=e.date||new Date().toISOString().slice(0,10),o=e.attribution||"© Mapbox © OpenStreetMap",n=[];return e.source&&n.push(String(e.source)),n.push(String(t)),n.push(o),n.join(" • ")}function Za(e){return e&&e.properties?e.properties:e||{}}function Qa(...e){for(const t of e)if(t!=null&&t!=="")return t}function G2(e){var o,n;const t=Za(e);return Qa(t.name,t.peopleName,t.PeopNameInCountry,(o=t._raw)==null?void 0:o.PeopNameInCountry,(n=t._raw)==null?void 0:n.peo_name,e.name)??"—"}function j2(e){var o;const t=Za(e);return Qa(t.countryName,t.countryIsoLabel,t.country,t.countryIso,(o=t._raw)==null?void 0:o.Country,e.country)??"—"}function z2(e){var a;const t=Za(e),o=Qa(t.population,(a=t._raw)==null?void 0:a.Population,e.population),n=Number(String(o??"").replace(/,/g,""));return o===void 0||Number.isNaN(n)?"—":n.toLocaleString()}function zg(e,t){var i,l,c,u,f;const o=Za(e),n=t==="evangelical"?[o.percentEvangelical,o.pctEvangelical,o.evangelical,(i=o._raw)==null?void 0:i.PercentEvangelical,(l=o._raw)==null?void 0:l.percent_evangelical]:[o.percentChristian,o.pctChristian,o.percentAdherents,o.christian,(c=o._raw)==null?void 0:c.PercentChristianPC,(u=o._raw)==null?void 0:u.percent_christian,(f=o._raw)==null?void 0:f.PercentAdherents],a=Qa(...n);if(a===void 0)return"—";const r=Number(a);return Number.isNaN(r)?"—":`${(r>0&&r<=1?r*100:r).toFixed(1)}%`}function U2(e){var a;const t=Za(e),o=Qa(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 K2(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 H2=Object.freeze(Object.defineProperty({__proto__:null,useMapPacket:O2},Symbol.toStringTag,{value:"Module"}))})();
|