Two bundles stale, two different causes:
my-upg-100-list — my own alt-assertion work merged last tick, never published
gospel-resources — five commits landed on main since the last publish
★ RE-CLONED RATHER THAN REBASED. My first push was rejected: another agent
published 553b6ff (the base team's plugin library) between my clone and my push.
A plain rebase would have replayed my 24-bundle rsync -a --delete on top of
theirs, and a bulk file operation replayed against a state it never saw can
delete what that state added. Re-cloning and re-rsyncing means merging onto
their ACTUAL tree rather than a snapshot taken before it existed.
Verified afterwards: their README.md intact, identical bundle sets so nothing
deleted, and zero files touched outside app/doxa-maps. Only my two bundles
differ from their catalog.
Verified before push: 24 bundles, 22 manifest bundles resolving, 57 leaves with
zero unresolved script srcs, tree settled (waited out a concurrent build).
1271 lines
663 KiB
JavaScript
1271 lines
663 KiB
JavaScript
(function(){"use strict";var Ep;var cn=typeof document<"u"?document.currentScript:null;const Nx="modulepreload",Ix=function(e){return"/"+e},Ox={},Mt=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)})};/**
|
||
* @vue/shared v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function Dr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ze={},un=[],oo=()=>{},Di=()=>!1,Aa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Sa=e=>e.startsWith("onUpdate:"),ct=Object.assign,Gr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Np=Object.prototype.hasOwnProperty,He=(e,t)=>Np.call(e,t),xe=Array.isArray,Ro=e=>Bn(e)==="[object Map]",Wo=e=>Bn(e)==="[object Set]",Gi=e=>Bn(e)==="[object Date]",Ee=e=>typeof e=="function",Qe=e=>typeof e=="string",Bt=e=>typeof e=="symbol",qe=e=>e!==null&&typeof e=="object",Bi=e=>(qe(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),ji=Object.prototype.toString,Bn=e=>ji.call(e),Ip=e=>Bn(e).slice(8,-1),La=e=>Bn(e)==="[object Object]",Pa=e=>Qe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,jn=Dr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ea=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Op=/-\w/g,_t=Ea(e=>e.replace(Op,t=>t.slice(1).toUpperCase())),Fp=/\B([A-Z])/g,jt=Ea(e=>e.replace(Fp,"-$1").toLowerCase()),Ca=Ea(e=>e.charAt(0).toUpperCase()+e.slice(1)),Br=Ea(e=>e?`on${Ca(e)}`:""),no=(e,t)=>!Object.is(e,t),Ta=(e,...t)=>{for(let o=0;o<e.length;o++)e[o](...t)},Ui=(e,t,o,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ma=e=>{const t=parseFloat(e);return isNaN(t)?e:t},zi=e=>{const t=Qe(e)?Number(e):NaN;return isNaN(t)?e:t};let Ki;const Ra=()=>Ki||(Ki=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function et(e){if(xe(e)){const t={};for(let o=0;o<e.length;o++){const n=e[o],a=Qe(n)?jp(n):et(n);if(a)for(const r in a)t[r]=a[r]}return t}else if(Qe(e)||qe(e))return e}const Dp=/;(?![^(]*\))/g,Gp=/:([^]+)/,Bp=/\/\*[^]*?\*\//g;function jp(e){const t={};return e.replace(Bp,"").split(Dp).forEach(o=>{if(o){const n=o.split(Gp);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ne(e){let t="";if(Qe(e))t=e;else if(xe(e))for(let o=0;o<e.length;o++){const n=Ne(e[o]);n&&(t+=n+" ")}else if(qe(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}const Up=Dr("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Hi(e){return!!e||e===""}function zp(e,t){if(e.length!==t.length)return!1;let o=!0;for(let n=0;o&&n<e.length;n++)o=No(e[n],t[n]);return o}function Vi(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]&&No(a,o[s])){r=s;break}if(r<0)return!1;n[r]=1}return!0}function No(e,t){if(e===t)return!0;let o=Gi(e),n=Gi(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=xe(e),n=xe(t),o||n)return o&&n?zp(e,t):!1;if(o=qe(e),n=qe(t),o||n){if(!o||!n)return!1;if(o=Ro(e),n=Ro(t),o||n||(o=Wo(e),n=Wo(t),o||n))return o&&n?Vi(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||!No(e[s],t[s]))return!1}}return String(e)===String(t)}function Kp(e,t){return e.findIndex(o=>No(o,t))}const Wi=e=>!!(e&&e.__v_isRef===!0),ue=e=>Qe(e)?e:e==null?"":xe(e)||qe(e)&&(e.toString===ji||!Ee(e.toString))?Wi(e)?ue(e.value):JSON.stringify(e,Yi,2):String(e),Yi=(e,t)=>Wi(t)?Yi(e,t.value):Ro(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[jr(n,r)+" =>"]=a,o),{})}:Wo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>jr(o))}:Bt(t)?jr(t):qe(t)&&!xe(t)&&!La(t)?String(t):t,jr=(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 qi{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 Ur(e){return new qi(e)}function Ji(){return bt}function Hp(e,t=!1){bt&&bt.cleanups.push(e)}let tt;const zr=new WeakSet;class Zi{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,zr.has(this)&&(zr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Qi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,al(this),el(this);const t=tt,o=Yt;tt=this,Yt=!0;try{return this.fn()}finally{tl(this),tt=t,Yt=o,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Wr(t);this.deps=this.depsTail=void 0,al(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?zr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Vr(this)&&this.run()}get dirty(){return Vr(this)}}let Xi=0,Un,zn;function Qi(e,t=!1){if(e.flags|=8,t){e.next=zn,zn=e;return}e.next=Un,Un=e}function Kr(){Xi++}function Hr(){if(--Xi>0)return;if(zn){let t=zn;for(zn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Un;){let t=Un;for(Un=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 el(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function tl(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Wr(n),Vp(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Vr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ol(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ol(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kn)||(e.globalVersion=Kn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Vr(e))))return;e.flags|=2;const t=e.dep,o=tt,n=Yt;tt=e,Yt=!0;try{el(e);const a=e.fn(e._value);(t.version===0||no(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{tt=o,Yt=n,tl(e),e.flags&=-3}}function Wr(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)Wr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Vp(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Yt=!0;const nl=[];function ao(){nl.push(Yt),Yt=!1}function ro(){const e=nl.pop();Yt=e===void 0?!0:e}function al(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=tt;tt=void 0;try{t()}finally{tt=o}}}let Kn=0;class Wp{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 Yr{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(!tt||!Yt||tt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==tt)o=this.activeLink=new Wp(tt,this),tt.deps?(o.prevDep=tt.depsTail,tt.depsTail.nextDep=o,tt.depsTail=o):tt.deps=tt.depsTail=o,rl(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=tt.depsTail,o.nextDep=void 0,tt.depsTail.nextDep=o,tt.depsTail=o,tt.deps===o&&(tt.deps=n)}return o}trigger(t){this.version++,Kn++,this.notify(t)}notify(t){Kr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Hr()}}}function rl(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)rl(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Na=new WeakMap,Yo=Symbol(""),qr=Symbol(""),Hn=Symbol("");function Ct(e,t,o){if(Yt&&tt){let n=Na.get(e);n||Na.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Yr),a.map=n,a.key=o),a.track()}}function yo(e,t,o,n,a,r){const s=Na.get(e);if(!s){Kn++;return}const i=l=>{l&&l.trigger()};if(Kr(),t==="clear")s.forEach(i);else{const l=xe(e),u=l&&Pa(o);if(l&&o==="length"){const c=Number(n);s.forEach((d,p)=>{(p==="length"||p===Hn||!Bt(p)&&p>=c)&&i(d)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(Hn)),t){case"add":l?u&&i(s.get("length")):(i(s.get(Yo)),Ro(e)&&i(s.get(qr)));break;case"delete":l||(i(s.get(Yo)),Ro(e)&&i(s.get(qr)));break;case"set":Ro(e)&&i(s.get(Yo));break}}Hr()}function Yp(e,t){const o=Na.get(e);return o&&o.get(t)}function dn(e){const t=Ue(e);return t===e?t:(Ct(t,"iterate",Hn),Ut(e)?t:t.map(qt))}function Ia(e){return Ct(e=Ue(e),"iterate",Hn),e}function so(e,t){return ko(e)?gn(vo(e)?qt(t):t):qt(t)}const qp={__proto__:null,[Symbol.iterator](){return Jr(this,Symbol.iterator,e=>so(this,e))},concat(...e){return dn(this).concat(...e.map(t=>xe(t)?dn(t):t))},entries(){return Jr(this,"entries",e=>(e[1]=so(this,e[1]),e))},every(e,t){return _o(this,"every",e,t,void 0,arguments)},filter(e,t){return _o(this,"filter",e,t,o=>o.map(n=>so(this,n)),arguments)},find(e,t){return _o(this,"find",e,t,o=>so(this,o),arguments)},findIndex(e,t){return _o(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _o(this,"findLast",e,t,o=>so(this,o),arguments)},findLastIndex(e,t){return _o(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _o(this,"forEach",e,t,void 0,arguments)},includes(...e){return Zr(this,"includes",e)},indexOf(...e){return Zr(this,"indexOf",e)},join(e){return dn(this).join(e)},lastIndexOf(...e){return Zr(this,"lastIndexOf",e)},map(e,t){return _o(this,"map",e,t,void 0,arguments)},pop(){return Vn(this,"pop")},push(...e){return Vn(this,"push",e)},reduce(e,...t){return sl(this,"reduce",e,t)},reduceRight(e,...t){return sl(this,"reduceRight",e,t)},shift(){return Vn(this,"shift")},some(e,t){return _o(this,"some",e,t,void 0,arguments)},splice(...e){return Vn(this,"splice",e)},toReversed(){return dn(this).toReversed()},toSorted(e){return dn(this).toSorted(e)},toSpliced(...e){return dn(this).toSpliced(...e)},unshift(...e){return Vn(this,"unshift",e)},values(){return Jr(this,"values",e=>so(this,e))}};function Jr(e,t,o){const n=Ia(e),a=n[t]();return n!==e&&!Ut(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Jp=Array.prototype;function _o(e,t,o,n,a,r){const s=Ia(e),i=s!==e&&!Ut(e),l=s[t];if(l!==Jp[t]){const d=l.apply(e,r);return i?qt(d):d}let u=o;s!==e&&(i?u=function(d,p){return o.call(this,so(e,d),p,e)}:o.length>2&&(u=function(d,p){return o.call(this,d,p,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function sl(e,t,o,n){const a=Ia(e),r=a!==e&&!Ut(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,d){return i&&(i=!1,u=so(e,u)),o.call(this,u,so(e,c),d,e)}):o.length>3&&(s=function(u,c,d){return o.call(this,u,c,d,e)}));const l=a[t](s,...n);return i?so(e,l):l}function Zr(e,t,o){const n=Ue(e);Ct(n,"iterate",Hn);const a=n[t](...o);return(a===-1||a===!1)&&Ba(o[0])?(o[0]=Ue(o[0]),n[t](...o)):a}function Vn(e,t,o=[]){ao(),Kr();const n=Ue(e)[t].apply(e,o);return Hr(),ro(),n}const Zp=Dr("__proto__,__v_isRef,__isVue"),il=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Bt));function Xp(e){Bt(e)||(e=String(e));const t=Ue(this);return Ct(t,"has",e),t.hasOwnProperty(e)}class ll{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?fl:gl:r?pl:dl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=xe(t);if(!a){let l;if(s&&(l=qp[o]))return l;if(o==="hasOwnProperty")return Xp}const i=Reflect.get(t,o,at(t)?t:n);if((Bt(o)?il.has(o):Zp(o))||(a||Ct(t,"get",o),r))return i;if(at(i)){const l=s&&Pa(o)?i:i.value;return a&&qe(l)?Qr(l):l}return qe(i)?a?Qr(i):pn(i):i}}class cl extends ll{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=xe(t)&&Pa(o);if(!this._isShallow){const u=ko(r);if(!Ut(n)&&!ko(n)&&(r=Ue(r),n=Ue(n)),!s&&at(r)&&!at(n))return u||(r.value=n),!0}const i=s?Number(o)<t.length:He(t,o),l=Reflect.set(t,o,n,at(t)?t:a);return t===Ue(a)&&l&&(i?no(n,r)&&yo(t,"set",o,n):yo(t,"add",o,n)),l}deleteProperty(t,o){const n=He(t,o);t[o];const a=Reflect.deleteProperty(t,o);return a&&n&&yo(t,"delete",o,void 0),a}has(t,o){const n=Reflect.has(t,o);return(!Bt(o)||!il.has(o))&&Ct(t,"has",o),n}ownKeys(t){return Ct(t,"iterate",xe(t)?"length":Yo),Reflect.ownKeys(t)}}class ul extends ll{constructor(t=!1){super(!0,t)}set(t,o){return!0}deleteProperty(t,o){return!0}}const Qp=new cl,eg=new ul,tg=new cl(!0),og=new ul(!0),Xr=e=>e,Oa=e=>Reflect.getPrototypeOf(e);function ng(e,t,o){return function(...n){const a=this.__v_raw,r=Ue(a),s=Ro(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?Xr:t?gn:qt;return!t&&Ct(r,"iterate",l?qr:Yo),ct(Object.create(u),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:i?[c(d[0]),c(d[1])]:c(d),done:p}}})}}function Fa(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ag(e,t){const o={get(a){const r=this.__v_raw,s=Ue(r),i=Ue(a);e||(no(a,i)&&Ct(s,"get",a),Ct(s,"get",i));const{has:l}=Oa(s),u=t?Xr:e?gn:qt;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Ct(Ue(a),"iterate",Yo),a.size},has(a){const r=this.__v_raw,s=Ue(r),i=Ue(a);return e||(no(a,i)&&Ct(s,"has",a),Ct(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=Ue(i),u=t?Xr:e?gn:qt;return!e&&Ct(l,"iterate",Yo),i.forEach((c,d)=>a.call(r,u(c),u(d),s))}};return ct(o,e?{add:Fa("add"),set:Fa("set"),delete:Fa("delete"),clear:Fa("clear")}:{add(a){const r=Ue(this),s=Oa(r),i=Ue(a),l=!t&&!Ut(a)&&!ko(a)?i:a;return s.has.call(r,l)||no(a,l)&&s.has.call(r,a)||no(i,l)&&s.has.call(r,i)||(r.add(l),yo(r,"add",l,l)),this},set(a,r){!t&&!Ut(r)&&!ko(r)&&(r=Ue(r));const s=Ue(this),{has:i,get:l}=Oa(s);let u=i.call(s,a);u||(a=Ue(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?no(r,c)&&yo(s,"set",a,r):yo(s,"add",a,r),this},delete(a){const r=Ue(this),{has:s,get:i}=Oa(r);let l=s.call(r,a);l||(a=Ue(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&yo(r,"delete",a,void 0),u},clear(){const a=Ue(this),r=a.size!==0,s=a.clear();return r&&yo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=ng(a,e,t)}),o}function Da(e,t){const o=ag(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(He(o,a)&&a in n?o:n,a,r)}const rg={get:Da(!1,!1)},sg={get:Da(!1,!0)},ig={get:Da(!0,!1)},lg={get:Da(!0,!0)},dl=new WeakMap,pl=new WeakMap,gl=new WeakMap,fl=new WeakMap;function cg(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pn(e){return ko(e)?e:Ga(e,!1,Qp,rg,dl)}function ug(e){return Ga(e,!1,tg,sg,pl)}function Qr(e){return Ga(e,!0,eg,ig,gl)}function Dx(e){return Ga(e,!0,og,lg,fl)}function Ga(e,t,o,n,a){if(!qe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=cg(Ip(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function vo(e){return ko(e)?vo(e.__v_raw):!!(e&&e.__v_isReactive)}function ko(e){return!!(e&&e.__v_isReadonly)}function Ut(e){return!!(e&&e.__v_isShallow)}function Ba(e){return e?!!e.__v_raw:!1}function Ue(e){const t=e&&e.__v_raw;return t?Ue(t):e}function qo(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&Ui(e,"__v_skip",!0),e}const qt=e=>qe(e)?pn(e):e,gn=e=>qe(e)?Qr(e):e;function at(e){return e?e.__v_isRef===!0:!1}function fe(e){return hl(e,!1)}function fn(e){return hl(e,!0)}function hl(e,t){return at(e)?e:new dg(e,t)}class dg{constructor(t,o){this.dep=new Yr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ue(t),this._value=o?t:qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ut(t)||ko(t);t=n?t:Ue(t),no(t,o)&&(this._rawValue=t,this._value=n?t:qt(t),this.dep.trigger())}}function he(e){return at(e)?e.value:e}const pg={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return at(a)&&!at(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function ml(e){return vo(e)?e:new Proxy(e,pg)}function gg(e){const t=xe(e)?new Array(e.length):{};for(const o in e)t[o]=bl(e,o);return t}class fg{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=Ue(t);let a=!0,r=t;if(!xe(t)||Bt(this._key)||!Pa(this._key))do a=!Ba(r)||Ut(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=he(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&at(this._raw[this._key])){const o=this._object[this._key];if(at(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Yp(this._raw,this._key)}}class hg{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 mg(e,t,o){return at(e)?e:Ee(e)?new hg(e):qe(e)&&arguments.length>1?bl(e,t,o):fe(e)}function bl(e,t,o){return new fg(e,t,o)}class bg{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Yr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&tt!==this)return Qi(this,!0),!0}get value(){const t=this.dep.track();return ol(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function yg(e,t,o=!1){let n,a;return Ee(e)?n=e:(n=e.get,a=e.set),new bg(n,a,o)}const ja={},Ua=new WeakMap;let Jo;function _g(e,t=!1,o=Jo){if(o){let n=Ua.get(o);n||Ua.set(o,n=[]),n.push(e)}}function vg(e,t,o=Ze){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=k=>a?k:Ut(k)||a===!1||a===0?wo(k,1):wo(k);let c,d,p,v,w=!1,g=!1;if(at(e)?(d=()=>e.value,w=Ut(e)):vo(e)?(d=()=>u(e),w=!0):xe(e)?(g=!0,w=e.some(k=>vo(k)||Ut(k)),d=()=>e.map(k=>{if(at(k))return k.value;if(vo(k))return u(k);if(Ee(k))return l?l(k,2):k()})):Ee(e)?t?d=l?()=>l(e,2):e:d=()=>{if(p){ao();try{p()}finally{ro()}}const k=Jo;Jo=c;try{return l?l(e,3,[v]):e(v)}finally{Jo=k}}:d=oo,t&&a){const k=d,A=a===!0?1/0:a;d=()=>wo(k(),A)}const f=Ji(),m=()=>{c.stop(),f&&f.active&&Gr(f.effects,c)};if(r&&t){const k=t;t=(...A)=>{const $=k(...A);return m(),$}}let b=g?new Array(e.length).fill(ja):ja;const h=k=>{if(!(!(c.flags&1)||!c.dirty&&!k))if(t){const A=c.run();if(k||a||w||(g?A.some(($,S)=>no($,b[S])):no(A,b))){p&&p();const $=Jo;Jo=c;try{const S=[A,b===ja?void 0:g&&b[0]===ja?[]:b,v];b=A,l?l(t,3,S):t(...S)}finally{Jo=$}}}else c.run()};return i&&i(h),c=new Zi(d),c.scheduler=s?()=>s(h,!1):h,v=k=>_g(k,!1,c),p=c.onStop=()=>{const k=Ua.get(c);if(k){if(l)l(k,4);else for(const A of k)A();Ua.delete(c)}},t?n?h(!0):b=c.run():s?s(h.bind(null,!0),!0):c.run(),m.pause=c.pause.bind(c),m.resume=c.resume.bind(c),m.stop=m,m}function wo(e,t=1/0,o){if(t<=0||!qe(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))wo(e.value,t,o);else if(xe(e))for(let n=0;n<e.length;n++)wo(e[n],t,o);else if(Wo(e)||Ro(e))e.forEach(n=>{wo(n,t,o)});else if(La(e)){for(const n in e)wo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&wo(e[n],t,o)}return e}/**
|
||
* @vue/runtime-core v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/const Wn=[];let es=!1;function Gx(e,...t){if(es)return;es=!0,ao();const o=Wn.length?Wn[Wn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=kg();if(n)hn(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 <${hc(o,r.type)}>`).join(`
|
||
`),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(`
|
||
`,...wg(a)),console.warn(...r)}ro(),es=!1}function kg(){let e=Wn[Wn.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 wg(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[`
|
||
`],...$g(o))}),t}function $g({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${hc(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...xg(e.props),r]:[a+r]}function xg(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...yl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function yl(e,t,o){return Qe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=yl(e,Ue(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ee(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ue(t),o?t:[`${e}=`,t])}function hn(e,t,o,n){try{return n?e(...n):e()}catch(a){Yn(a,t,o)}}function Jt(e,t,o,n){if(Ee(e)){const a=hn(e,t,o,n);return a&&Bi(a)&&a.catch(r=>{Yn(r,t,o)}),a}if(xe(e)){const a=[];for(let r=0;r<e.length;r++)a.push(Jt(e[r],t,o,n));return a}}function Yn(e,t,o,n=!0){const a=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||Ze;if(t){let i=t.parent;const l=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${o}`;for(;i;){const c=i.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,l,u)===!1)return}i=i.parent}if(r){ao(),hn(r,null,10,[e,l,u]),ro();return}}Ag(e,o,a,n,s)}function Ag(e,t,o,n=!0,a=!1){if(a)throw e;console.error(e)}const Rt=[];let io=-1;const mn=[];let Io=null,bn=0;const _l=Promise.resolve();let za=null;function lo(e){const t=za||_l;return e?t.then(this?e.bind(this):e):t}function Sg(e){let t=io+1,o=Rt.length;for(;t<o;){const n=t+o>>>1,a=Rt[n],r=qn(a);r<e||r===e&&a.flags&2?t=n+1:o=n}return t}function ts(e){if(!(e.flags&1)){const t=qn(e),o=Rt[Rt.length-1];!o||!(e.flags&2)&&t>=qn(o)?Rt.push(e):Rt.splice(Sg(t),0,e),e.flags|=1,vl()}}function vl(){za||(za=_l.then($l))}function Lg(e){if(!xe(e))Io&&e.id===-1?Io.splice(bn+1,0,e):e.flags&1||(mn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)mn.push(e[t]);vl()}function kl(e,t,o=io+1){for(;o<Rt.length;o++){const n=Rt[o];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Rt.splice(o,1),o--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function wl(e){if(mn.length){const t=[...new Set(mn)].sort((o,n)=>qn(o)-qn(n));if(mn.length=0,Io){for(let o=0;o<t.length;o++)Io.push(t[o]);return}for(Io=t,bn=0;bn<Io.length;bn++){const o=Io[bn];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}Io=null,bn=0}}const qn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function $l(e){try{for(io=0;io<Rt.length;io++){const t=Rt[io];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;io<Rt.length;io++){const t=Rt[io];t&&(t.flags&=-2)}io=-1,Rt.length=0,wl(),za=null,(Rt.length||mn.length)&&$l()}}let At=null,xl=null;function Ka(e){const t=At;return At=e,xl=e&&e.type.__scopeId||null,t}function zt(e,t=At,o){if(!t||e._n)return e;const n=(...a)=>{n._d&&or(-1);const r=Ka(t),s=xo.length;let i;try{i=e(...a)}finally{for(let l=xo.length;l>s;l--)ys();Ka(r),n._d&&or(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Ha(e,t){if(At===null)return e;const o=sr(At),n=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[r,s,i,l=Ze]=t[a];r&&(Ee(r)&&(r={mounted:r,updated:r}),r.deep&&wo(s),n.push({dir:r,instance:o,value:s,oldValue:void 0,arg:i,modifiers:l}))}return e}function Zo(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&&(ao(),Jt(l,o,8,[e.el,i,e,t]),ro())}}function Nt(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 Fe(e,t,o=!1){const n=So();if(n||Qo){let a=Qo?Qo._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&&Ee(t)?t.call(n&&n.proxy):t}}function Pg(){return!!(So()||Qo)}const Eg=Symbol.for("v-scx"),Cg=()=>Fe(Eg);function Tg(e,t){return os(e,null,t)}function rt(e,t,o){return os(e,t,o)}function os(e,t,o=Ze){const{immediate:n,deep:a,flush:r,once:s}=o,i=ct({},o),l=t&&n||!t&&r!=="post";let u;if(kn){if(r==="sync"){const v=Cg();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=oo,v.resume=oo,v.pause=oo,v}}const c=Lt;i.call=(v,w,g)=>Jt(v,c,w,g);let d=!1;r==="post"?i.scheduler=v=>{Ot(v,c&&c.suspense)}:r!=="sync"&&(d=!0,i.scheduler=(v,w)=>{w?v():ts(v)}),i.augmentJob=v=>{t&&(v.flags|=4),d&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const p=vg(e,t,i);return kn&&(u?u.push(p):l&&p()),p}function Mg(e,t,o){const n=this.proxy,a=Qe(e)?e.includes(".")?Al(n,e):()=>n[e]:e.bind(n,n);let r;Ee(t)?r=t:(r=t.handler,o=t);const s=sa(this),i=os(a,r.bind(n),o);return s(),i}function Al(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 Oo=new WeakMap,Sl=Symbol("_vte"),Va=e=>e.__isTeleport,Xo=e=>e&&(e.disabled||e.disabled===""),Rg=e=>e&&(e.defer||e.defer===""),Ll=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ns=(e,t)=>{const o=e&&e.to;return Qe(o)?t?t(o):null:o},Ng={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:d,pbc:p,o:{insert:v,querySelector:w,createText:g,createComment:f,parentNode:m}}=u,b=Xo(t.props);let{dynamicChildren:h}=t;const k=(S,x,E)=>{S.shapeFlag&16&&c(S.children,x,E,a,r,s,i,l)},A=(S=t)=>{const x=Xo(S.props),E=S.target=ns(S.props,w),G=as(E,S,g,v);E&&(s!=="svg"&&Ll(E)?s="svg":s!=="mathml"&&Pl(E)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(E),x||(k(S,E,G),Jn(S,!1)))},$=S=>{const x=()=>{if(Oo.get(S)===x){if(Oo.delete(S),Xo(S.props)){const E=m(S.el)||o;k(S,E,S.anchor),Jn(S,!0)}A(S)}};Oo.set(S,x),Ot(x,r)};if(e==null){const S=t.el=g(""),x=t.anchor=g("");if(v(S,o,n),v(x,o,n),Rg(t.props)||r&&r.pendingBranch){$(t);return}b&&(k(t,o,x),Jn(t,!0)),A()}else{t.el=e.el;const S=t.anchor=e.anchor,x=Oo.get(e);if(x){x.flags|=8,Oo.delete(e),$(t);return}t.targetStart=e.targetStart;const E=t.target=e.target,G=t.targetAnchor=e.targetAnchor,U=Xo(e.props),ee=U?o:E,F=U?S:G;if(s==="svg"||Ll(E)?s="svg":(s==="mathml"||Pl(E))&&(s="mathml"),h?(p(e.dynamicChildren,h,ee,a,r,s,i),bs(e,t,!0)):l||d(e,t,ee,F,a,r,s,i,!1),b)U?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Wa(t,o,S,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=ns(t.props,w);j&&(t.target=j,Wa(t,j,null,u,0))}else U&&Wa(t,E,G,u,1);Jn(t,b)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:d,props:p}=e,v=Xo(p),w=r||!v,g=Oo.get(e);if(g&&(g.flags|=8,Oo.delete(e)),d&&(a(u),a(c)),r&&a(l),!g&&(v||d)&&s&16)for(let f=0;f<i.length;f++){const m=i[f];n(m,t,o,w,!!m.dynamicChildren)}},move:Wa,hydrate:Ig};function Wa(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:u,props:c}=e,d=r===2;if(d&&n(s,t,o),!Oo.has(e)&&(!d||Xo(c))&&l&16)for(let p=0;p<u.length;p++)a(u[p],t,o,2);d&&n(i,t,o)}function Ig(e,t,o,n,a,r,{o:{nextSibling:s,parentNode:i,querySelector:l,insert:u,createText:c}},d){function p(f,m){let b=m;for(;b;){if(b&&b.nodeType===8){if(b.data==="teleport start anchor")t.targetStart=b;else if(b.data==="teleport anchor"){t.targetAnchor=b,f._lpa=t.targetAnchor&&s(t.targetAnchor);break}}b=s(b)}}function v(f,m){m.anchor=d(s(f),m,i(f),o,n,a,r)}const w=t.target=ns(t.props,l),g=Xo(t.props);if(w){const f=w._lpa||w.firstChild;t.shapeFlag&16&&(g?(v(e,t),p(w,f),t.targetAnchor||as(w,t,c,u,i(e)===w?e:null)):(t.anchor=s(e),p(w,f),t.targetAnchor||as(w,t,c,u),d(f&&s(f),t,w,o,n,a,r))),Jn(t,g)}else g&&t.shapeFlag&16&&(v(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const Og=Ng;function Jn(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 as(e,t,o,n,a=null){const r=t.targetStart=o(""),s=t.targetAnchor=o("");return r[Sl]=s,e&&(n(r,e,a),n(s,e,a)),s}const rs=Symbol("_leaveCb");function Fg(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==uo){t=o;break}}return t}function El(e){if(!Ja(e))return Va(e.type)&&e.children?Fg(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&&Ee(o.default))return o.default()}}function ss(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ss(Va(o.type)&&El(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 Zn(e,t){return Ee(e)?ct({name:e.name},t,{setup:e}):e}function is(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Cl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ya=new WeakMap;function Xn(e,t,o,n,a=!1){if(xe(e)){e.forEach((g,f)=>Xn(g,t&&(xe(t)?t[f]:t),o,n,a));return}if(yn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Xn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?sr(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===Ze?i.refs={}:i.refs,d=i.setupState,p=Ue(d),v=d===Ze?Di:g=>Cl(c,g)?!1:He(p,g),w=(g,f)=>!(f&&Cl(c,f));if(u!=null&&u!==l){if(Tl(t),Qe(u))c[u]=null,v(u)&&(d[u]=null);else if(at(u)){const g=t;w(u,g.k)&&(u.value=null),g.k&&(c[g.k]=null)}}if(Ee(l))hn(l,i,12,[s,c]);else{const g=Qe(l),f=at(l);if(g||f){const m=()=>{if(e.f){const b=g?v(l)?d[l]:c[l]:w()||!e.k?l.value:c[e.k];if(a)xe(b)&&Gr(b,r);else if(xe(b))b.includes(r)||b.push(r);else if(g)c[l]=[r],v(l)&&(d[l]=c[l]);else{const h=[r];w(l,e.k)&&(l.value=h),e.k&&(c[e.k]=h)}}else g?(c[l]=s,v(l)&&(d[l]=s)):f&&(w(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const b=()=>{m(),Ya.delete(e)};b.id=-1,Ya.set(e,b),Ot(b,o)}else Tl(e),m()}}}function Tl(e){const t=Ya.get(e);t&&(t.flags|=8,Ya.delete(e))}const Ml=e=>e.nodeType===8;Ra().requestIdleCallback,Ra().cancelIdleCallback;function Dg(e,t){if(Ml(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Ml(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const yn=e=>!!e.type.__asyncLoader;function Gg(e){Ee(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 u=null,c,d=0;const p=()=>(d++,u=null,v()),v=()=>{let w;return u||(w=u=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),l)return new Promise((f,m)=>{l(g,()=>f(p()),()=>m(g),d+1)});throw g}).then(g=>w!==u&&u?u:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),c=g,g)))};return Zn({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(w,g,f){const m=w.isConnected;let b=!1;(g.bu||(g.bu=[])).push(()=>b=!0);const h=()=>{b||!w.parentNode||m&&!w.isConnected||f()},k=r?()=>{const A=r(h,$=>Dg(w,$));A&&(g.bum||(g.bum=[])).push(A)}:h;c?k():v().then(()=>!g.isUnmounted&&k())},get __asyncResolved(){return c},setup(){const w=Lt;if(is(w),c)return()=>qa(c,w);const g=A=>{u=null,Yn(A,w,13,!n)};if(i&&w.suspense||kn)return v().then(A=>()=>qa(A,w)).catch(A=>(g(A),()=>n?Ve(n,{error:A}):null));const f=fe(!1),m=fe(),b=fe(!!a);let h,k;return Xa(()=>{h!=null&&clearTimeout(h),k!=null&&clearTimeout(k)}),a&&(k=setTimeout(()=>{w.isUnmounted||(b.value=!1)},a)),s!=null&&(h=setTimeout(()=>{if(!w.isUnmounted&&!f.value&&!m.value){const A=new Error(`Async component timed out after ${s}ms.`);g(A),m.value=A}},s)),v().then(()=>{w.isUnmounted||(f.value=!0,w.parent&&Ja(w.parent.vnode)&&w.parent.update())}).catch(A=>{if(w.isUnmounted){u=null;return}g(A),m.value=A}),()=>{if(f.value&&c)return qa(c,w);if(m.value&&n)return Ve(n,{error:m.value});if(o&&!b.value)return qa(o,w)}}})}function qa(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ve(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ja=e=>e.type.__isKeepAlive;function Bg(e,t){Rl(e,"a",t)}function jg(e,t){Rl(e,"da",t)}function Rl(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(Za(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ja(a.parent.vnode)&&Ug(n,t,o,a),a=a.parent}}function Ug(e,t,o,n){const a=Za(t,e,n,!0);Xa(()=>{Gr(n[t],a)},o)}function Za(e,t,o=Lt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{ao();const i=sa(o),l=Jt(t,o,e,s);return i(),ro(),l});return n?a.unshift(r):a.push(r),r}}const $o=e=>(t,o=Lt)=>{(!kn||e==="sp")&&Za(e,(...n)=>t(...n),o)},Nl=$o("bm"),co=$o("m"),zg=$o("bu"),Kg=$o("u"),Zt=$o("bum"),Xa=$o("um"),Hg=$o("sp"),Vg=$o("rtg"),Wg=$o("rtc");function Yg(e,t=Lt){Za("ec",e,t)}const qg="components",Il=Symbol.for("v-ndc");function ls(e){return Qe(e)?Jg(qg,e,!1)||e:e||Il}function Jg(e,t,o=!0,n=!1){const a=At||Lt;if(a){const r=a.type;{const i=fc(r,!1);if(i&&(i===t||i===_t(t)||i===Ca(_t(t))))return r}const s=Ol(a[e]||r[e],t)||Ol(a.appContext[e],t);return!s&&n?r:s}}function Ol(e,t){return e&&(e[t]||e[_t(t)]||e[Ca(_t(t))])}function vt(e,t,o,n){let a;const r=o,s=xe(e);if(s||Qe(e)){const i=s&&vo(e);let l=!1,u=!1;i&&(l=!Ut(e),u=ko(e),e=Ia(e)),a=new Array(e.length);for(let c=0,d=e.length;c<d;c++)a[c]=t(l?u?gn(qt(e[c])):qt(e[c]):e[c],c,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(qe(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,u=i.length;l<u;l++){const c=i[l];a[l]=t(e[c],c,l,r)}}else a=[];return a}function _n(e,t,o,n,a,r){if(o==null&&(o={}),At.ce||At.parent&&yn(At.parent)&&At.parent.ce){const u=r!=null&&o.key==null?ct({},o,{key:r}):o,c=Object.keys(u).length>0;return t!=="default"&&(u.name=t),H(),lt(Ie,null,[Ve("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=xo.length;H();let l;try{const u=s&&Fl(s(o)),c=o.key||r||u&&u.key;l=lt(Ie,{key:(c&&!Bt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=xo.length;c>i;c--)ys();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Fl(e){return e.some(t=>na(t)?!(t.type===uo||t.type===Ie&&!Fl(t.children)):!0)?e:null}const cs=e=>e?dc(e)?sr(e):cs(e.parent):null,Qn=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=>cs(e.parent),$root:e=>cs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>jl(e),$forceUpdate:e=>e.f||(e.f=()=>{ts(e.update)}),$nextTick:e=>e.n||(e.n=lo.bind(e.proxy)),$watch:e=>Mg.bind(e)}),us=(e,t)=>e!==Ze&&!e.__isScriptSetup&&He(e,t),Zg={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 p=s[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(us(n,t))return s[t]=1,n[t];if(a!==Ze&&He(a,t))return s[t]=2,a[t];if(He(r,t))return s[t]=3,r[t];if(o!==Ze&&He(o,t))return s[t]=4,o[t];ds&&(s[t]=0)}}const u=Qn[t];let c,d;if(u)return t==="$attrs"&&Ct(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==Ze&&He(o,t))return s[t]=4,o[t];if(d=l.config.globalProperties,He(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return us(a,t)?(a[t]=o,!0):n!==Ze&&He(n,t)?(n[t]=o,!0):He(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!==Ze&&i[0]!=="$"&&He(e,i)||us(t,i)||He(r,i)||He(n,i)||He(Qn,i)||He(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:He(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Dl(e){return xe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ds=!0;function Xg(e){const t=jl(e),o=e.proxy,n=e.ctx;ds=!1,t.beforeCreate&&Gl(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:d,mounted:p,beforeUpdate:v,updated:w,activated:g,deactivated:f,beforeDestroy:m,beforeUnmount:b,destroyed:h,unmounted:k,render:A,renderTracked:$,renderTriggered:S,errorCaptured:x,serverPrefetch:E,expose:G,inheritAttrs:U,components:ee,directives:F,filters:j}=t;if(u&&Qg(u,n,null),s)for(const V in s){const te=s[V];Ee(te)&&(n[V]=te.bind(o))}if(a){const V=a.call(o,o);qe(V)&&(e.data=pn(V))}if(ds=!0,r)for(const V in r){const te=r[V],oe=Ee(te)?te.bind(o,o):Ee(te.get)?te.get.bind(o,o):oo,L=!Ee(te)&&Ee(te.set)?te.set.bind(o):oo,D=Q({get:oe,set:L});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>D.value,set:z=>D.value=z})}if(i)for(const V in i)Bl(i[V],n,o,V);if(l){const V=Ee(l)?l.call(o):l;Reflect.ownKeys(V).forEach(te=>{Nt(te,V[te])})}c&&Gl(c,e,"c");function C(V,te){xe(te)?te.forEach(oe=>V(oe.bind(o))):te&&V(te.bind(o))}if(C(Nl,d),C(co,p),C(zg,v),C(Kg,w),C(Bg,g),C(jg,f),C(Yg,x),C(Wg,$),C(Vg,S),C(Zt,b),C(Xa,k),C(Hg,E),xe(G))if(G.length){const V=e.exposed||(e.exposed={});G.forEach(te=>{Object.defineProperty(V,te,{get:()=>o[te],set:oe=>o[te]=oe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===oo&&(e.render=A),U!=null&&(e.inheritAttrs=U),ee&&(e.components=ee),F&&(e.directives=F),E&&is(e)}function Qg(e,t,o=oo){xe(e)&&(e=ps(e));for(const n in e){const a=e[n];let r;qe(a)?"default"in a?r=Fe(a.from||n,a.default,!0):r=Fe(a.from||n):r=Fe(a),at(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Gl(e,t,o){Jt(xe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Bl(e,t,o,n){let a=n.includes(".")?Al(o,n):()=>o[n];if(Qe(e)){const r=t[e];Ee(r)&&rt(a,r)}else if(Ee(e))rt(a,e.bind(o));else if(qe(e))if(xe(e))e.forEach(r=>Bl(r,t,o,n));else{const r=Ee(e.handler)?e.handler.bind(o):t[e.handler];Ee(r)&&rt(a,r,e)}}function jl(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(u=>Qa(l,u,s,!0)),Qa(l,t,s)),qe(t)&&r.set(t,l),l}function Qa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Qa(e,r,o,!0),a&&a.forEach(s=>Qa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=ef[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const ef={data:Ul,props:zl,emits:zl,methods:ea,computed:ea,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:ea,directives:ea,watch:of,provide:Ul,inject:tf};function Ul(e,t){return t?e?function(){return ct(Ee(e)?e.call(this,this):e,Ee(t)?t.call(this,this):t)}:t:e}function tf(e,t){return ea(ps(e),ps(t))}function ps(e){if(xe(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 ea(e,t){return e?ct(Object.create(null),e,t):t}function zl(e,t){return e?xe(e)&&xe(t)?[...new Set([...e,...t])]:ct(Object.create(null),Dl(e),Dl(t??{})):t}function of(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 Kl(){return{app:null,config:{isNativeTag:Di,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 nf=0;function af(e,t){return function(n,a=null){Ee(n)||(n=ct({},n)),a!=null&&!qe(a)&&(a=null);const r=Kl(),s=new WeakSet,i=[];let l=!1;const u=r.app={_uid:nf++,_component:n,_props:a,_container:null,_context:r,_instance:null,version:Df,get config(){return r.config},set config(c){},use(c,...d){return s.has(c)||(c&&Ee(c.install)?(s.add(c),c.install(u,...d)):Ee(c)&&(s.add(c),c(u,...d))),u},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),u},component(c,d){return d?(r.components[c]=d,u):r.components[c]},directive(c,d){return d?(r.directives[c]=d,u):r.directives[c]},mount(c,d,p){if(!l){const v=u._ceVNode||Ve(n,a);return v.appContext=r,p===!0?p="svg":p===!1&&(p=void 0),e(v,c,p),l=!0,u._container=c,c.__vue_app__=u,sr(v.component)}},onUnmount(c){i.push(c)},unmount(){l&&(Jt(i,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(c,d){return r.provides[c]=d,u},runWithContext(c){const d=Qo;Qo=u;try{return c()}finally{Qo=d}}};return u}}let Qo=null;const rf=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_t(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function sf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ze;let a=o;const r=t.startsWith("update:"),s=r&&rf(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>Qe(c)?c.trim():c)),s.number&&(a=a.map(Ma)));let i,l=n[i=Br(t)]||n[i=Br(_t(t))];!l&&r&&(l=n[i=Br(jt(t))]),l&&Jt(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Jt(u,e,6,a)}}const lf=new WeakMap;function Hl(e,t,o=!1){const n=o?lf:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Ee(e)){const l=u=>{const c=Hl(u,t,!0);c&&(i=!0,ct(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(qe(e)&&n.set(e,null),null):(xe(r)?r.forEach(l=>s[l]=null):ct(s,r),qe(e)&&n.set(e,s),s)}function er(e,t){return!e||!Aa(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,jt(t))||He(e,t))}function Bx(){}function Vl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:d,data:p,setupState:v,ctx:w,inheritAttrs:g}=e,f=Ka(e);let m,b;try{if(o.shapeFlag&4){const k=a||n,A=k;m=po(u.call(A,k,c,d,v,p,w)),b=i}else{const k=t;m=po(k.length>1?k(d,{attrs:i,slots:s,emit:l}):k(d,null)),b=t.props?i:cf(i)}}catch(k){xo.length=0,Yn(k,e,1),m=Ve(uo)}let h=m;if(b&&g!==!1){const k=Object.keys(b),{shapeFlag:A}=h;k.length&&A&7&&(r&&k.some(Sa)&&(b=uf(b,r)),h=vn(h,b,!1,!0))}if(o.dirs&&(h=vn(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(o.dirs):o.dirs),o.transition){const k=Va(h.type)&&El(h)||h;ss(k,o.transition)}return m=h,Ka(f),m}const cf=e=>{let t;for(const o in e)(o==="class"||o==="style"||Aa(o))&&((t||(t={}))[o]=e[o]);return t},uf=(e,t)=>{const o={};for(const n in e)(!Sa(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function df(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Wl(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let d=0;d<c.length;d++){const p=c[d];if(Yl(s,n,p)&&!er(u,p))return!0}}}else return(a||i)&&(!i||!i.$stable)?!0:n===s?!1:n?s?Wl(n,s,u):!0:!!s;return!1}function Wl(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(Yl(t,e,r)&&!er(o,r))return!0}return!1}function Yl(e,t,o){const n=e[o],a=t[o];return o==="style"&&qe(n)&&qe(a)?!No(n,a):n!==a}function pf({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 ql={},Jl=()=>Object.create(ql),Zl=e=>Object.getPrototypeOf(e)===ql;function gf(e,t,o,n=!1){const a={},r=Jl();e.propsDefaults=Object.create(null),Xl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:ug(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function ff(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ue(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let d=0;d<c.length;d++){let p=c[d];if(er(e.emitsOptions,p))continue;const v=t[p];if(l)if(He(r,p))v!==r[p]&&(r[p]=v,u=!0);else{const w=_t(p);a[w]=gs(l,i,w,v,e,!1)}else v!==r[p]&&(r[p]=v,u=!0)}}}else{Xl(e,t,a,r)&&(u=!0);let c;for(const d in i)(!t||!He(t,d)&&((c=jt(d))===d||!He(t,c)))&&(l?o&&(o[d]!==void 0||o[c]!==void 0)&&(a[d]=gs(l,i,d,void 0,e,!0)):delete a[d]);if(r!==i)for(const d in r)(!t||!He(t,d))&&(delete r[d],u=!0)}u&&yo(e.attrs,"set","")}function Xl(e,t,o,n){const[a,r]=e.propsOptions;let s=!1,i;if(t)for(let l in t){if(jn(l))continue;const u=t[l];let c;a&&He(a,c=_t(l))?!r||!r.includes(c)?o[c]=u:(i||(i={}))[c]=u:er(e.emitsOptions,l)||(!(l in n)||u!==n[l])&&(n[l]=u,s=!0)}if(r){const l=Ue(o),u=i||Ze;for(let c=0;c<r.length;c++){const d=r[c];o[d]=gs(a,l,d,u[d],e,!He(u,d))}}return s}function gs(e,t,o,n,a,r){const s=e[o];if(s!=null){const i=He(s,"default");if(i&&n===void 0){const l=s.default;if(s.type!==Function&&!s.skipFactory&&Ee(l)){const{propsDefaults:u}=a;if(o in u)n=u[o];else{const c=sa(a);n=u[o]=l.call(null,t),c()}}else n=l;a.ce&&a.ce._setProp(o,n)}s[0]&&(r&&!i?n=!1:s[1]&&(n===""||n===jt(o))&&(n=!0))}return n}const hf=new WeakMap;function Ql(e,t,o=!1){const n=o?hf:t.propsCache,a=n.get(e);if(a)return a;const r=e.props,s={},i=[];let l=!1;if(!Ee(e)){const c=d=>{l=!0;const[p,v]=Ql(d,t,!0);ct(s,p),v&&i.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return qe(e)&&n.set(e,un),un;if(xe(r))for(let c=0;c<r.length;c++){const d=_t(r[c]);ec(d)&&(s[d]=Ze)}else if(r)for(const c in r){const d=_t(c);if(ec(d)){const p=r[c],v=s[d]=xe(p)||Ee(p)?{type:p}:ct({},p),w=v.type;let g=!1,f=!0;if(xe(w))for(let m=0;m<w.length;++m){const b=w[m],h=Ee(b)&&b.name;if(h==="Boolean"){g=!0;break}else h==="String"&&(f=!1)}else g=Ee(w)&&w.name==="Boolean";v[0]=g,v[1]=f,(g||He(v,"default"))&&i.push(d)}}const u=[s,i];return qe(e)&&n.set(e,u),u}function ec(e){return e[0]!=="$"&&!jn(e)}const fs=e=>e==="_"||e==="_ctx"||e==="$stable",hs=e=>xe(e)?e.map(po):[po(e)],mf=(e,t,o)=>{if(t._n)return t;const n=zt((...a)=>hs(t(...a)),o);return n._c=!1,n},tc=(e,t,o)=>{const n=e._ctx;for(const a in e){if(fs(a))continue;const r=e[a];if(Ee(r))t[a]=mf(a,r,n);else if(r!=null){const s=hs(r);t[a]=()=>s}}},oc=(e,t)=>{const o=hs(t);e.slots.default=()=>o},nc=(e,t,o)=>{for(const n in t)(o||!fs(n))&&(e[n]=t[n])},bf=(e,t,o)=>{const n=e.slots=Jl();if(e.vnode.shapeFlag&32){const a=t._;a?(nc(n,t,o),o&&Ui(n,"_",a,!0)):tc(t,n)}else t&&oc(e,t)},yf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Ze;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:nc(a,t,o):(r=!t.$stable,tc(t,a)),s=t}else t&&(oc(e,t),s={default:1});if(r)for(const i in a)!fs(i)&&s[i]==null&&delete a[i]},Ot=$f;function _f(e){return vf(e)}function vf(e,t){const o=Ra();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:p,setScopeId:v=oo,insertStaticContent:w}=e,g=(P,R,M,J=null,re=null,ae=null,ie=void 0,ce=null,_=!!R.dynamicChildren)=>{if(P===R)return;P&&!aa(P,R)&&(J=Se(P),z(P,re,ae,!0),P=null),R.patchFlag===-2&&(_=!1,R.dynamicChildren=null);const{type:y,ref:O,shapeFlag:Y}=R;switch(y){case ta:f(P,R,M,J);break;case uo:m(P,R,M,J);break;case tr:P==null&&b(R,M,J,ie);break;case Ie:ee(P,R,M,J,re,ae,ie,ce,_);break;default:Y&1?A(P,R,M,J,re,ae,ie,ce,_):Y&6?F(P,R,M,J,re,ae,ie,ce,_):(Y&64||Y&128)&&y.process(P,R,M,J,re,ae,ie,ce,_,Ge)}O!=null&&re?Xn(O,P&&P.ref,ae,R||P,!R):O==null&&P&&P.ref!=null&&Xn(P.ref,null,ae,P,!0)},f=(P,R,M,J)=>{if(P==null)n(R.el=i(R.children),M,J);else{const re=R.el=P.el;R.children!==P.children&&u(re,R.children)}},m=(P,R,M,J)=>{P==null?n(R.el=l(R.children||""),M,J):R.el=P.el},b=(P,R,M,J)=>{[P.el,P.anchor]=w(P.children,R,M,J,P.el,P.anchor)},h=({el:P,anchor:R},M,J)=>{let re;for(;P&&P!==R;)re=p(P),n(P,M,J),P=re;n(R,M,J)},k=({el:P,anchor:R})=>{let M;for(;P&&P!==R;)M=p(P),a(P),P=M;a(R)},A=(P,R,M,J,re,ae,ie,ce,_)=>{if(R.type==="svg"?ie="svg":R.type==="math"&&(ie="mathml"),P==null)$(R,M,J,re,ae,ie,ce,_);else{const y=P.el&&P.el._isVueCE?P.el:null;try{y&&y._beginPatch(),E(P,R,re,ae,ie,ce,_)}finally{y&&y._endPatch()}}},$=(P,R,M,J,re,ae,ie,ce)=>{let _,y;const{props:O,shapeFlag:Y,transition:de,dirs:le}=P;if(_=P.el=s(P.type,ae,O&&O.is,O),Y&8?c(_,P.children):Y&16&&x(P.children,_,null,J,re,ms(P,ae),ie,ce),le&&Zo(P,null,J,"created"),S(_,P,P.scopeId,ie,J),O){for(const X in O)X!=="value"&&!jn(X)&&r(_,X,null,O[X],ae,J);"value"in O&&r(_,"value",null,O.value,ae),(y=O.onVnodeBeforeMount)&&go(y,J,P)}le&&Zo(P,null,J,"beforeMount");const B=kf(re,de);B&&de.beforeEnter(_),n(_,R,M),((y=O&&O.onVnodeMounted)||B||le)&&Ot(()=>{try{y&&go(y,J,P),B&&de.enter(_),le&&Zo(P,null,J,"mounted")}finally{}},re)},S=(P,R,M,J,re)=>{if(M&&v(P,M),J)for(let ae=0;ae<J.length;ae++)v(P,J[ae]);if(re){let ae=re.subTree;if(R===ae||ic(ae.type)&&(ae.ssContent===R||ae.ssFallback===R)){const ie=re.vnode;S(P,ie,ie.scopeId,ie.slotScopeIds,re.parent)}}},x=(P,R,M,J,re,ae,ie,ce,_=0)=>{for(let y=_;y<P.length;y++){const O=P[y]=ce?Ao(P[y]):po(P[y]);g(null,O,R,M,J,re,ae,ie,ce)}},E=(P,R,M,J,re,ae,ie)=>{const ce=R.el=P.el;let{patchFlag:_,dynamicChildren:y,dirs:O}=R;_|=P.patchFlag&16;const Y=P.props||Ze,de=R.props||Ze;let le;if(M&&en(M,!1),(le=de.onVnodeBeforeUpdate)&&go(le,M,R,P),O&&Zo(R,P,M,"beforeUpdate"),M&&en(M,!0),y&&(!P.dynamicChildren||P.dynamicChildren.length!==y.length)&&(_=0,ie=!1,y=null),(Y.innerHTML&&de.innerHTML==null||Y.textContent&&de.textContent==null)&&c(ce,""),y?G(P.dynamicChildren,y,ce,M,J,ms(R,re),ae):ie||te(P,R,ce,null,M,J,ms(R,re),ae,!1),_>0){if(_&16)U(ce,Y,de,M,re);else if(_&2&&Y.class!==de.class&&r(ce,"class",null,de.class,re),_&4&&r(ce,"style",Y.style,de.style,re),_&8){const B=R.dynamicProps;for(let X=0;X<B.length;X++){const ke=B[X],Ae=Y[ke],je=de[ke];(je!==Ae||ke==="value")&&r(ce,ke,Ae,je,re,M)}}_&1&&P.children!==R.children&&c(ce,R.children)}else!ie&&y==null&&U(ce,Y,de,M,re);((le=de.onVnodeUpdated)||O)&&Ot(()=>{le&&go(le,M,R,P),O&&Zo(R,P,M,"updated")},J)},G=(P,R,M,J,re,ae,ie)=>{for(let ce=0;ce<R.length;ce++){const _=P[ce],y=R[ce],O=_.el&&(_.type===Ie||!aa(_,y)||_.shapeFlag&198)?d(_.el):M;g(_,y,O,null,J,re,ae,ie,!0)}},U=(P,R,M,J,re)=>{if(R!==M){if(R!==Ze)for(const ae in R)!jn(ae)&&!(ae in M)&&r(P,ae,R[ae],null,re,J);for(const ae in M){if(jn(ae))continue;const ie=M[ae],ce=R[ae];ie!==ce&&ae!=="value"&&r(P,ae,ce,ie,re,J)}"value"in M&&r(P,"value",R.value,M.value,re)}},ee=(P,R,M,J,re,ae,ie,ce,_)=>{const y=R.el=P?P.el:i(""),O=R.anchor=P?P.anchor:i("");let{patchFlag:Y,dynamicChildren:de,slotScopeIds:le}=R;le&&(ce=ce?ce.concat(le):le),P==null?(n(y,M,J),n(O,M,J),x(R.children||[],M,O,re,ae,ie,ce,_)):Y>0&&Y&64&&de&&P.dynamicChildren&&P.dynamicChildren.length===de.length?(G(P.dynamicChildren,de,M,re,ae,ie,ce),(R.key!=null||re&&R===re.subTree)&&bs(P,R,!0)):te(P,R,M,O,re,ae,ie,ce,_)},F=(P,R,M,J,re,ae,ie,ce,_)=>{R.slotScopeIds=ce,P==null?R.shapeFlag&512?re.ctx.activate(R,M,J,ie,_):j(R,M,J,re,ae,ie,_):N(P,R,_)},j=(P,R,M,J,re,ae,ie)=>{const ce=P.component=Cf(P,J,re);if(Ja(P)&&(ce.ctx.renderer=Ge),Tf(ce,!1,ie),ce.asyncDep){if(re&&re.registerDep(ce,C,ie),!P.el){const _=ce.subTree=Ve(uo);m(null,_,R,M),P.placeholder=_.el}}else C(ce,P,R,M,re,ae,ie)},N=(P,R,M)=>{const J=R.component=P.component;if(df(P,R,M))if(J.asyncDep&&!J.asyncResolved){V(J,R,M);return}else J.next=R,J.update();else R.el=P.el,J.vnode=R},C=(P,R,M,J,re,ae,ie)=>{const ce=()=>{if(P.isMounted){let{next:Y,bu:de,u:le,parent:B,vnode:X}=P;{const I=ac(P);if(I){Y&&(Y.el=X.el,V(P,Y,ie)),I.asyncDep.then(()=>{Ot(()=>{P.isUnmounted||y()},re)});return}}let ke=Y,Ae;en(P,!1),Y?(Y.el=X.el,V(P,Y,ie)):Y=X,de&&Ta(de),(Ae=Y.props&&Y.props.onVnodeBeforeUpdate)&&go(Ae,B,Y,X),en(P,!0);const je=Vl(P),dt=P.subTree;P.subTree=je,g(dt,je,d(dt.el),Se(dt),P,re,ae),Y.el=je.el,ke===null&&pf(P,je.el),le&&Ot(le,re),(Ae=Y.props&&Y.props.onVnodeUpdated)&&Ot(()=>go(Ae,B,Y,X),re)}else{let Y;const{el:de,props:le}=R,{bm:B,m:X,parent:ke,root:Ae,type:je}=P,dt=yn(R);en(P,!1),B&&Ta(B),!dt&&(Y=le&&le.onVnodeBeforeMount)&&go(Y,ke,R),en(P,!0);{Ae.ce&&Ae.ce._hasShadowRoot()&&Ae.ce._injectChildStyle(je,P.parent?P.parent.type:void 0);const I=P.subTree=Vl(P);g(null,I,M,J,P,re,ae),R.el=I.el}if(X&&Ot(X,re),!dt&&(Y=le&&le.onVnodeMounted)){const I=R;Ot(()=>go(Y,ke,I),re)}(R.shapeFlag&256||ke&&yn(ke.vnode)&&ke.vnode.shapeFlag&256)&&P.a&&Ot(P.a,re),P.isMounted=!0,R=M=J=null}};P.scope.on();const _=P.effect=new Zi(ce);P.scope.off();const y=P.update=_.run.bind(_),O=P.job=_.runIfDirty.bind(_);O.i=P,O.id=P.uid,_.scheduler=()=>ts(O),en(P,!0),y()},V=(P,R,M)=>{R.component=P;const J=P.vnode.props;P.vnode=R,P.next=null,ff(P,R.props,J,M),yf(P,R.children,M),ao(),kl(P),ro()},te=(P,R,M,J,re,ae,ie,ce,_=!1)=>{const y=P&&P.children,O=P?P.shapeFlag:0,Y=R.children,{patchFlag:de,shapeFlag:le}=R;if(de>0){if(de&128){L(y,Y,M,J,re,ae,ie,ce,_);return}else if(de&256){oe(y,Y,M,J,re,ae,ie,ce,_);return}}le&8?(O&16&&Ce(y,re,ae),Y!==y&&c(M,Y)):O&16?le&16?L(y,Y,M,J,re,ae,ie,ce,_):Ce(y,re,ae,!0):(O&8&&c(M,""),le&16&&x(Y,M,J,re,ae,ie,ce,_))},oe=(P,R,M,J,re,ae,ie,ce,_)=>{P=P||un,R=R||un;const y=P.length,O=R.length,Y=Math.min(y,O);let de;for(de=0;de<Y;de++){const le=R[de]=_?Ao(R[de]):po(R[de]);g(P[de],le,M,null,re,ae,ie,ce,_)}y>O?Ce(P,re,ae,!0,!1,Y):x(R,M,J,re,ae,ie,ce,_,Y)},L=(P,R,M,J,re,ae,ie,ce,_)=>{let y=0;const O=R.length;let Y=P.length-1,de=O-1;for(;y<=Y&&y<=de;){const le=P[y],B=R[y]=_?Ao(R[y]):po(R[y]);if(aa(le,B))g(le,B,M,null,re,ae,ie,ce,_);else break;y++}for(;y<=Y&&y<=de;){const le=P[Y],B=R[de]=_?Ao(R[de]):po(R[de]);if(aa(le,B))g(le,B,M,null,re,ae,ie,ce,_);else break;Y--,de--}if(y>Y){if(y<=de){const le=de+1,B=le<O?R[le].el:J;for(;y<=de;)g(null,R[y]=_?Ao(R[y]):po(R[y]),M,B,re,ae,ie,ce,_),y++}}else if(y>de)for(;y<=Y;)z(P[y],re,ae,!0),y++;else{const le=y,B=y,X=new Map;for(y=B;y<=de;y++){const ve=R[y]=_?Ao(R[y]):po(R[y]);ve.key!=null&&X.set(ve.key,y)}let ke,Ae=0;const je=de-B+1;let dt=!1,I=0;const q=new Array(je);for(y=0;y<je;y++)q[y]=0;for(y=le;y<=Y;y++){const ve=P[y];if(Ae>=je){z(ve,re,ae,!0);continue}let $e;if(ve.key!=null)$e=X.get(ve.key);else for(ke=B;ke<=de;ke++)if(q[ke-B]===0&&aa(ve,R[ke])){$e=ke;break}$e===void 0?z(ve,re,ae,!0):(q[$e-B]=y+1,$e>=I?I=$e:dt=!0,g(ve,R[$e],M,null,re,ae,ie,ce,_),Ae++)}const ye=dt?wf(q):un;for(ke=ye.length-1,y=je-1;y>=0;y--){const ve=B+y,$e=R[ve],nt=R[ve+1],Te=ve+1<O?nt.el||sc(nt):J;q[y]===0?g(null,$e,M,Te,re,ae,ie,ce,_):dt&&(ke<0||y!==ye[ke]?D($e,M,Te,2):ke--)}}},D=(P,R,M,J,re=null)=>{const{el:ae,type:ie,transition:ce,children:_,shapeFlag:y}=P;if(y&6){D(P.component.subTree,R,M,J);return}if(y&128){P.suspense.move(R,M,J);return}if(y&64){ie.move(P,R,M,Ge);return}if(ie===Ie){n(ae,R,M);for(let Y=0;Y<_.length;Y++)D(_[Y],R,M,J);n(P.anchor,R,M);return}if(ie===tr){h(P,R,M);return}if(J!==2&&y&1&&ce)if(J===0)ce.persisted&&!ae[rs]?n(ae,R,M):(ce.beforeEnter(ae),n(ae,R,M),Ot(()=>ce.enter(ae),re));else{const{leave:Y,delayLeave:de,afterLeave:le}=ce,B=()=>{P.ctx.isUnmounted?a(ae):n(ae,R,M)},X=()=>{const ke=ae._isLeaving||!!ae[rs];ae._isLeaving&&ae[rs](!0),ce.persisted&&!ke?B():Y(ae,()=>{B(),le&&le()})};de?de(ae,B,X):X()}else n(ae,R,M)},z=(P,R,M,J=!1,re=!1)=>{const{type:ae,props:ie,ref:ce,children:_,dynamicChildren:y,shapeFlag:O,patchFlag:Y,dirs:de,cacheIndex:le,memo:B}=P;if(Y===-2&&(re=!1),ce!=null&&(ao(),Xn(ce,null,M,P,!0),ro()),le!=null&&(R.renderCache[le]=void 0),O&256){R.ctx.deactivate(P);return}const X=O&1&&de,ke=!yn(P);let Ae;if(ke&&(Ae=ie&&ie.onVnodeBeforeUnmount)&&go(Ae,R,P),O&6)ge(P.component,M,J);else{if(O&128){P.suspense.unmount(M,J);return}X&&Zo(P,null,R,"beforeUnmount"),O&64?P.type.remove(P,R,M,Ge,J):y&&!y.hasOnce&&(ae!==Ie||Y>0&&Y&64)?Ce(y,R,M,!1,!0):(ae===Ie&&Y&384||!re&&O&16)&&Ce(_,R,M),J&&se(P)}const je=B!=null&&le==null;(ke&&(Ae=ie&&ie.onVnodeUnmounted)||X||je)&&Ot(()=>{Ae&&go(Ae,R,P),X&&Zo(P,null,R,"unmounted"),je&&(P.el=null)},M)},se=P=>{const{type:R,el:M,anchor:J,transition:re}=P;if(R===Ie){me(M,J);return}if(R===tr){k(P);return}const ae=()=>{a(M),re&&!re.persisted&&re.afterLeave&&re.afterLeave()};if(P.shapeFlag&1&&re&&!re.persisted){const{leave:ie,delayLeave:ce}=re,_=()=>ie(M,ae);ce?ce(P.el,ae,_):_()}else ae()},me=(P,R)=>{let M;for(;P!==R;)M=p(P),a(P),P=M;a(R)},ge=(P,R,M)=>{const{bum:J,scope:re,job:ae,subTree:ie,um:ce,m:_,a:y}=P;rc(_),rc(y),J&&Ta(J),re.stop(),ae&&(ae.flags|=8,z(ie,P,R,M)),ce&&Ot(ce,R),Ot(()=>{P.isUnmounted=!0},R)},Ce=(P,R,M,J=!1,re=!1,ae=0)=>{for(let ie=ae;ie<P.length;ie++)z(P[ie],R,M,J,re)},Se=P=>{if(P.shapeFlag&6)return Se(P.component.subTree);if(P.shapeFlag&128)return P.suspense.next();const R=p(P.anchor||P.el),M=R&&R[Sl];return M?p(M):R};let Oe=!1;const Be=(P,R,M)=>{let J;P==null?R._vnode&&(z(R._vnode,null,null,!0),J=R._vnode.component):g(R._vnode||null,P,R,null,null,null,M),R._vnode=P,Oe||(Oe=!0,kl(J),wl(),Oe=!1)},Ge={p:g,um:z,m:D,r:se,mt:j,mc:x,pc:te,pbc:G,n:Se,o:e};return{render:Be,hydrate:void 0,createApp:af(Be)}}function ms({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 en({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function kf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bs(e,t,o=!1){const n=e.children,a=t.children;if(xe(n)&&xe(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]=Ao(a[r]),i.el=s.el),!o&&i.patchFlag!==-2&&bs(s,i)),i.type===ta&&(i.patchFlag===-1&&(i=a[r]=Ao(i)),i.el=s.el),i.type===uo&&!i.el&&(i.el=s.el)}}function wf(e){const t=e.slice(),o=[0];let n,a,r,s,i;const l=e.length;for(n=0;n<l;n++){const u=e[n];if(u!==0){if(a=o[o.length-1],e[a]<u){t[n]=a,o.push(n);continue}for(r=0,s=o.length-1;r<s;)i=r+s>>1,e[o[i]]<u?r=i+1:s=i;u<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 ac(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ac(t)}function rc(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function sc(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?sc(t.subTree):null}const ic=e=>e.__isSuspense;function $f(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):Lg(e)}const Ie=Symbol.for("v-fgt"),ta=Symbol.for("v-txt"),uo=Symbol.for("v-cmt"),tr=Symbol.for("v-stc"),xo=[];let Kt=null;function H(e=!1){xo.push(Kt=e?null:[])}function ys(){xo.pop(),Kt=xo[xo.length-1]||null}let oa=1;function or(e,t=!1){oa+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function lc(e){return e.dynamicChildren=oa>0?Kt||un:null,ys(),oa>0&&Kt&&Kt.push(e),e}function Z(e,t,o,n,a,r){return lc(T(e,t,o,n,a,r,!0))}function lt(e,t,o,n,a){return lc(Ve(e,t,o,n,a,!0))}function na(e){return e?e.__v_isVNode===!0:!1}function aa(e,t){return e.type===t.type&&e.key===t.key}const cc=({key:e})=>e??null,nr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Qe(e)||at(e)||Ee(e)?{i:At,r:e,k:t,f:!!o}:e:null);function T(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&&cc(t),ref:t&&nr(t),scopeId:xl,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?(ar(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=Qe(o)?8:16),oa>0&&!s&&Kt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Kt.push(l),l}const Ve=xf;function xf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Il)&&(e=uo),na(e)){const i=vn(e,t,!0);return o&&ar(i,o),oa>0&&!r&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(Ff(e)&&(e=e.__vccOpts),t){t=Af(t);let{class:i,style:l}=t;i&&!Qe(i)&&(t.class=Ne(i)),qe(l)&&(Ba(l)&&!xe(l)&&(l=ct({},l)),t.style=et(l))}const s=Qe(e)?1:ic(e)?128:Va(e)?64:qe(e)?4:Ee(e)?2:0;return T(e,t,o,n,a,s,r,!0)}function Af(e){return e?Ba(e)||Zl(e)?ct({},e):e:null}function vn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?Lf(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&cc(u),ref:t&&t.ref?o&&r?xe(r)?r.concat(nr(t)):[r,nr(t)]:nr(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&&vn(e.ssContent),ssFallback:e.ssFallback&&vn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ss(c,l.clone(c)),c}function St(e=" ",t=0){return Ve(ta,null,e,t)}function Sf(e,t){const o=Ve(tr,null,e);return o.staticCount=t,o}function _e(e="",t=!1){return t?(H(),lt(uo,null,e)):Ve(uo,null,e)}function po(e){return e==null||typeof e=="boolean"?Ve(uo):xe(e)?Ve(Ie,null,e.slice()):na(e)?Ao(e):Ve(ta,null,String(e))}function Ao(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vn(e)}function ar(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(xe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),ar(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Zl(t)?t._ctx=At:a===3&&At&&(At.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ee(t)){if(n&65){ar(e,{default:t});return}t={default:t,_ctx:At},o=32}else t=String(t),n&64?(o=16,t=[St(t)]):o=8;e.children=t,e.shapeFlag|=o}function Lf(...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=Ne([t.class,n.class]));else if(a==="style")t.style=et([t.style,n.style]);else if(Aa(a)){const r=t[a],s=n[a];s&&r!==s&&!(xe(r)&&r.includes(s))?t[a]=r?[].concat(r,s):s:s==null&&r==null&&!Sa(a)&&(t[a]=s)}else a!==""&&(t[a]=n[a])}return t}function go(e,t,o,n=null){Jt(e,t,7,[o,n])}const Pf=Kl();let Ef=0;function Cf(e,t,o){const n=e.type,a=(t?t.appContext:e.appContext)||Pf,r={uid:Ef++,vnode:e,type:n,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new qi(!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:Ql(n,a),emitsOptions:Hl(n,a),emit:null,emitted:null,propsDefaults:Ze,inheritAttrs:n.inheritAttrs,ctx:Ze,data:Ze,props:Ze,attrs:Ze,slots:Ze,refs:Ze,setupState:Ze,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=sf.bind(null,r),e.ce&&e.ce(r),r}let Lt=null;const So=()=>Lt||At;let rr,ra;{const e=Ra(),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)}};rr=t("__VUE_INSTANCE_SETTERS__",o=>Lt=o),ra=t("__VUE_SSR_SETTERS__",o=>kn=o)}const sa=e=>{const t=Lt;return rr(e),e.scope.on(),()=>{e.scope.off(),rr(t)}},uc=()=>{Lt&&Lt.scope.off(),rr(null)};function dc(e){return e.vnode.shapeFlag&4}let kn=!1;function Tf(e,t=!1,o=!1){t&&ra(t);const{props:n,children:a}=e.vnode,r=dc(e);gf(e,n,r,t),bf(e,a,o||t);const s=r?Mf(e,t):void 0;return t&&ra(!1),s}function Mf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Zg);const{setup:n}=o;if(n){ao();const a=e.setupContext=n.length>1?Nf(e):null,r=sa(e),s=hn(n,e,0,[e.props,a]),i=Bi(s);if(ro(),r(),(i||e.sp)&&!yn(e)&&is(e),i){if(s.then(uc,uc),t)return s.then(l=>{ra(!0);try{pc(e,l,t)}finally{ra(!1)}}).catch(l=>{Yn(l,e,0)});e.asyncDep=s}else pc(e,s)}else gc(e)}function pc(e,t,o){Ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:qe(t)&&(e.setupState=ml(t)),gc(e)}function gc(e,t,o){const n=e.type;e.render||(e.render=n.render||oo);{const a=sa(e);ao();try{Xg(e)}finally{ro(),a()}}}const Rf={get(e,t){return Ct(e,"get",""),e[t]}};function Nf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Rf),slots:e.slots,emit:e.emit,expose:t}}function sr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ml(qo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Qn)return Qn[o](e)},has(t,o){return o in t||o in Qn}})):e.proxy}const If=/(?:^|[-_])\w/g,Of=e=>e.replace(If,t=>t.toUpperCase()).replace(/[-_]/g,"");function fc(e,t=!0){return Ee(e)?e.displayName||e.name:e.name||t&&e.__name}function hc(e,t,o=!1){let n=fc(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?Of(n):o?"App":"Anonymous"}function Ff(e){return Ee(e)&&"__vccOpts"in e}const Q=(e,t)=>yg(e,t,kn);function mc(e,t,o){try{or(-1);const n=arguments.length;return n===2?qe(t)&&!xe(t)?na(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&na(o)&&(o=[o]),Ve(e,t,o))}finally{or(1)}}const Df="3.5.42";/**
|
||
* @vue/runtime-dom v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let _s;const bc=typeof window<"u"&&window.trustedTypes;if(bc)try{_s=bc.createPolicy("vue",{createHTML:e=>e})}catch{}const yc=_s?e=>_s.createHTML(e):e=>e,Gf="http://www.w3.org/2000/svg",Bf="http://www.w3.org/1998/Math/MathML",Lo=typeof document<"u"?document:null,_c=Lo&&Lo.createElement("template"),jf={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"?Lo.createElementNS(Gf,e):t==="mathml"?Lo.createElementNS(Bf,e):o?Lo.createElement(e,{is:o}):Lo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Lo.createTextNode(e),createComment:e=>Lo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Lo.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{_c.innerHTML=yc(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const i=_c.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]}},Uf=Symbol("_vtc");function zf(e,t,o){const n=e[Uf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const ir=Symbol("_vod"),vc=Symbol("_vsh"),Kf={name:"show",beforeMount(e,{value:t},{transition:o}){e[ir]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):ia(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),ia(e,!0),n.enter(e)):n.leave(e,()=>{ia(e,!1)}):ia(e,t))},beforeUnmount(e,{value:t}){ia(e,t)}};function ia(e,t){e.style.display=t?e[ir]:"none",e[vc]=!t}const Hf=Symbol(""),Vf=/(?:^|;)\s*display\s*:/;function Wf(e,t,o){const n=e.style,a=Qe(o);let r=!1;if(o&&!a){if(t)if(Qe(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&la(n,i,"")}else for(const s in t)o[s]==null&&la(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?qf(e,s,!Qe(t)&&t?t[s]:void 0,i)||la(n,s,i):la(n,s,"")}}else if(a){if(t!==o){const s=n[Hf];s&&(o+=";"+s),n.cssText=o,r=Vf.test(o)}}else t&&e.removeAttribute("style");ir in e&&(e[ir]=r?n.display:"",e[vc]&&(n.display="none"))}const lr=/\s*!important$/;function la(e,t,o){if(xe(o))o.forEach(n=>la(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))lr.test(o)?e.setProperty(t,o.replace(lr,""),"important"):e.setProperty(t,o);else{const n=Yf(e,t);lr.test(o)?e.setProperty(jt(n),o.replace(lr,""),"important"):e[n]=o}}const kc=["Webkit","Moz","ms"],vs={};function Yf(e,t){const o=vs[t];if(o)return o;let n=_t(t);if(n!=="filter"&&n in e)return vs[t]=n;n=Ca(n);for(let a=0;a<kc.length;a++){const r=kc[a]+n;if(r in e)return vs[t]=r}return t}function qf(e,t,o,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&Qe(n)&&o===n}const wc="http://www.w3.org/1999/xlink";function $c(e,t,o,n,a,r=Up(t)){n&&t.startsWith("xlink:")?o==null?e.removeAttributeNS(wc,t.slice(6,t.length)):e.setAttributeNS(wc,t,o):o==null||r&&!Hi(o)?e.removeAttribute(t):e.setAttribute(t,r?"":Bt(o)?String(o):o)}function xc(e,t,o,n,a){if(t==="innerHTML"||t==="textContent"){o!=null&&(e[t]=t==="innerHTML"?yc(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=Hi(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 tn(e,t,o,n){e.addEventListener(t,o,n)}function Jf(e,t,o,n){e.removeEventListener(t,o,n)}const Ac=Symbol("_vei");function Zf(e,t,o,n,a=null){const r=e[Ac]||(e[Ac]={}),s=r[t];if(n&&s)s.value=n;else{const[i,l]=eh(t);if(n){const u=r[t]=nh(n,a);tn(e,i,u,l)}else s&&(Jf(e,i,s,l),r[t]=void 0)}}const Xf=/(Once|Passive|Capture)$/,Qf=/^on:?(?:Once|Passive|Capture)$/;function eh(e){let t,o;for(;(o=e.match(Xf))&&!Qf.test(e);)t||(t={}),e=e.slice(0,e.length-o[1].length),t[o[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):jt(e.slice(2)),t]}let ks=0;const th=Promise.resolve(),oh=()=>ks||(th.then(()=>ks=0),ks=Date.now());function nh(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(xe(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 u=s[l];u&&Jt(u,t,5,i)}}else Jt(a,t,5,[n])};return o.value=e,o.attached=oh(),o}const Sc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ah=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?zf(e,n,s):t==="style"?Wf(e,o,n):Aa(t)?Sa(t)||Zf(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):rh(e,t,n,s))?(xc(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$c(e,t,n,s,r,t!=="value")):e._isVueCE&&(sh(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Qe(n)))?xc(e,_t(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),$c(e,t,n,s))};function rh(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sc(t)&&Ee(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 Sc(t)&&Qe(o)?!1:t in e}function sh(e,t){const o=e._def.props;if(!o)return!1;const n=_t(t);return Array.isArray(o)?o.some(a=>_t(a)===n):Object.keys(o).some(a=>_t(a)===n)}const Lc={};function ih(e,t,o){let n=Zn(e,t);La(n)&&(n=ct({},n,t));class a extends ws{constructor(s){super(n,s,o)}}return a.def=n,a}const lh=typeof HTMLElement<"u"?HTMLElement:class{};class ws extends lh{constructor(t,o={},n=Rc){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!==Rc?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 ws){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,lo(()=>{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&&!xe(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=zi(this._props[l])),(i||(i=Object.create(null)))[_t(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)He(this,n)||Object.defineProperty(this,n,{get:()=>he(o[n])})}_resolveProps(t){const{props:o}=t,n=xe(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(_t))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):Lc;const a=_t(t);o&&this._numberProps&&this._numberProps[a]&&(n=zi(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===Lc?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(jt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(jt(t),o+""):o||this.removeAttribute(jt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),mh(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(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,La(s[0])?ct({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),jt(r)!==r&&a(jt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],r.insertBefore(u,i||s),i=u,l===0&&(n||this._styleAnchors.set(this._def,u),o&&this._styleAnchors.set(o,u))}}_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 u=o+"-s",c=document.createTreeWalker(l,1);l.setAttribute(u,"");let d;for(;d=c.nextNode();)d.setAttribute(u,"")}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 cr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?o=>Ta(t,o):t};function ch(e){e.target.composing=!0}function Pc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const on=Symbol("_assign"),ur=Symbol("_initialValue");function $s(e,t,o){return t&&(e=e.trim()),o&&(e=Ma(e)),e}const uh={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[on]=cr(a);const r=n||a.props&&a.props.type==="number";tn(e,t?"change":"input",s=>{s.target.composing||e[on]($s(e.value,o,r))}),(o||r)&&tn(e,"change",()=>{e.value=$s(e.value,o,r)}),t||(tn(e,"compositionstart",ch),tn(e,"compositionend",Pc),tn(e,"change",Pc))},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[on]($s(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[on]=cr(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ma(e.value):e.value,l=t??"";if(i===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Ec={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,tn(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?Ma(dr(l)):dr(l)),r=e.multiple,s=r?Wo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?xe(s)?a.slice():a:s];try{e[on](s)}finally{lo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[on]=cr(n)},mounted(e,{value:t}){Cc(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[on]=cr(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!dh(t,o[1],o[0]))&&Cc(e,t)}};function dh(e,t,o){if(!o||xe(e))return No(e,t);if(Wo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function Cc(e,t){const o=e.multiple,n=xe(t);if(!(o&&!n&&!Wo(t))){for(let a=0,r=e.options.length;a<r;a++){const s=e.options[a],i=dr(s);if(o)if(n){const l=typeof i;l==="string"||l==="number"?s.selected=t.some(u=>String(u)===String(i)):s.selected=Kp(t,i)>-1}else s.selected=t.has(i);else if(No(dr(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function dr(e){return"_value"in e?e._value:e.value}const ph=["ctrl","shift","alt","meta"],gh={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)=>ph.some(o=>e[`${o}Key`]&&!t.includes(o))},kt=(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=gh[t[s]];if(i&&i(a,t))return}return e(a,...r)})},fh={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},xs=(e,t)=>{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const r=jt(a.key);if(t.some(s=>s===r||fh[s]===r))return e(a)})},hh=ct({patchProp:ah},jf);let Tc;function Mc(){return Tc||(Tc=_f(hh))}const mh=(...e)=>{Mc().render(...e)},Rc=(...e)=>{const t=Mc().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=yh(n);if(!a)return;const r=t._component;!Ee(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,bh(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function bh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function yh(e){return Qe(e)?document.querySelector(e):e}/*!
|
||
* pinia v2.3.1
|
||
* (c) 2025 Eduardo San Martin Morote
|
||
* @license MIT
|
||
*/let Nc;const pr=e=>Nc=e,Ic=Symbol();function As(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ca;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ca||(ca={}));function _h(){const e=Ur(!0),t=e.run(()=>fe({}));let o=[],n=[];const a=qo({install(r){pr(a),a._a=r,r.provide(Ic,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 Oc=()=>{};function Fc(e,t,o,n=Oc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Ji()&&Hp(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const vh=e=>e(),Dc=Symbol(),Ss=Symbol();function Ls(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];As(a)&&As(n)&&e.hasOwnProperty(o)&&!at(n)&&!vo(n)?e[o]=Ls(a,n):e[o]=n}return e}const kh=Symbol();function wh(e){return!As(e)||!e.hasOwnProperty(kh)}const{assign:Fo}=Object;function $h(e){return!!(at(e)&&e.effect)}function xh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=gg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((d,p)=>(d[p]=qo(Q(()=>{pr(o);const v=o._s.get(e);return s[p].call(v,v)})),d),{}))}return l=Gc(e,u,t,o,n,!0),l}function Gc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,d=[],p=[],v;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let g;function f(x){let E;u=c=!1,typeof x=="function"?(x(n.state.value[e]),E={type:ca.patchFunction,storeId:e,events:v}):(Ls(n.state.value[e],x),E={type:ca.patchObject,payload:x,storeId:e,events:v});const G=g=Symbol();lo().then(()=>{g===G&&(u=!0)}),c=!0,wn(d,E,n.state.value[e])}const m=r?function(){const{state:E}=o,G=E?E():{};this.$patch(U=>{Fo(U,G)})}:Oc;function b(){s.stop(),d=[],p=[],n._s.delete(e)}const h=(x,E="")=>{if(Dc in x)return x[Ss]=E,x;const G=function(){pr(n);const U=Array.from(arguments),ee=[],F=[];function j(V){ee.push(V)}function N(V){F.push(V)}wn(p,{args:U,name:G[Ss],store:A,after:j,onError:N});let C;try{C=x.apply(this&&this.$id===e?this:A,U)}catch(V){throw wn(F,V),V}return C instanceof Promise?C.then(V=>(wn(ee,V),V)).catch(V=>(wn(F,V),Promise.reject(V))):(wn(ee,C),C)};return G[Dc]=!0,G[Ss]=E,G},k={_p:n,$id:e,$onAction:Fc.bind(null,p),$patch:f,$reset:m,$subscribe(x,E={}){const G=Fc(d,x,E.detached,()=>U()),U=s.run(()=>rt(()=>n.state.value[e],ee=>{(E.flush==="sync"?c:u)&&x({storeId:e,type:ca.direct,events:v},ee)},Fo({},l,E)));return G},$dispose:b},A=pn(k);n._s.set(e,A);const S=(n._a&&n._a.runWithContext||vh)(()=>n._e.run(()=>(s=Ur()).run(()=>t({action:h}))));for(const x in S){const E=S[x];if(at(E)&&!$h(E)||vo(E))r||(w&&wh(E)&&(at(E)?E.value=w[x]:Ls(E,w[x])),n.state.value[e][x]=E);else if(typeof E=="function"){const G=h(E,x);S[x]=G,i.actions[x]=E}}return Fo(A,S),Fo(Ue(A),S),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:x=>{f(E=>{Fo(E,x)})}}),n._p.forEach(x=>{Fo(A,s.run(()=>x({store:A,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(A.$state,w),u=!0,c=!0,A}/*! #__NO_SIDE_EFFECTS__ */function Ps(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=Pg();return i=i||(u?Fe(Ic,null):null),i&&pr(i),i=Nc,i._s.has(n)||(r?Gc(n,t,a,i):xh(n,a,i)),i._s.get(n)}return s.$id=n,s}const Es="__doxaMapToken",Cs="doxa:map-token",Bc="__doxaMapTokenBridge",$n=()=>{if(typeof window>"u")return"";const e=window[Es];return typeof e=="string"?e:""};function jc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===$n())return $n();window[Es]=t;try{window.dispatchEvent(new CustomEvent(Cs,{detail:t}))}catch{}return t}function Ah(){if(typeof window>"u"||window[Bc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!$n()&&(window[Es]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return $n()},set(t){jc(t)}}),window[Bc]=!0}catch{}}function Sh(){Ah();const e=fe($n());if(typeof window<"u"){const t=()=>{e.value=$n()};window.addEventListener(Cs,t);try{Zt(()=>window.removeEventListener(Cs,t))}catch{}}return e}function Uc(e){return Gg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Lh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},Ph={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف"},Eh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Ch={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},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:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."},a11y:{expandRow:"توسيع {label}",collapseRow:"طي {label}",clearSelection:"إلغاء التحديد"}},Th={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"}},Mh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Rh={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Nh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ih={"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُخْدُومَة","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات شعبية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة البشرية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"تغطية الصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"ابحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"المجموعات الشعبية غير المَخْدُومَة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"مجموعات شعبية متبنَّاة","people groups engaged":"مجموعات شعبية مُخْدُومَة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},Oh={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Fh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية"},Dh={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Gh={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile"},Bh={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},jh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},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",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."},a11y:{expandRow:"{label} ausklappen",collapseRow:"{label} einklappen",clearSelection:"Auswahl aufheben"}},Uh={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"}},zh={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Kh={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Hh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Vh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Adoptiert","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Fortschritt der Arbeit vor Ort","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Unberührte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen."},Wh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},Yh={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",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe"},qh={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},Jh={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row"},Zh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Xh={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"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."},a11y:{expandRow:"Expand {label}",collapseRow:"Collapse {label}",clearSelection:"Clear selection"}},Qh={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"}},em={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},tm={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},om={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},nm={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected."},am={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"}},rm={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",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group"},sm={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},im={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila"},lm={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."}},cm={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",default:"Leyenda"},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"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."},a11y:{expandRow:"Expandir {label}",collapseRow:"Contraer {label}",clearSelection:"Borrar la selección"}},um={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"}},dm={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},pm={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},gm={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},fm={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Adoptado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos étnicos adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas."},hm={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"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},mm={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",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},bm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},ym={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne"},_m={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},vm={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",default:"Légende"},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"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."},a11y:{expandRow:"Développer {label}",collapseRow:"Réduire {label}",clearSelection:"Effacer la sélection"}},km={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"}},wm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},$m={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},xm={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Am={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés."},Sm={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"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Lm={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",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples"},Pm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Em={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर"},Cm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Tm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},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:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"},a11y:{expandRow:"{label} का विस्तार करें",collapseRow:"{label} को छोटा करें",clearSelection:"चयन हटाएँ"}},Mm={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"}},Rm={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Nm={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Im={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Om={"%count% people groups in %countries% countries":"%countries% देशों में %count% जनसमूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"गोद लिया गया","Adoption Progress":"गोद लेने की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"संपर्कित","Engagement Progress":"संलग्नता की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूरी प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"जनसमूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसंख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें…","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनसंपर्कित जनसमूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"जनसमूह गोद लिए गए","people groups engaged":"संपर्कित जनसमूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},Fm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Dm={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह"},Gm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Bm={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga"},jm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Um={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",default:"Legenda"},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",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."},a11y:{expandRow:"Espandi {label}",collapseRow:"Comprimi {label}",clearSelection:"Cancella la selezione"}},zm={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"}},Km={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Hm={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},Vm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Wm={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati."},Ym={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},qm={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico"},Jm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},Zm={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha"},Xm={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."}},Qm={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",default:"Legenda"},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"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."},a11y:{expandRow:"Expandir {label}",collapseRow:"Recolher {label}",clearSelection:"Limpar a seleção"}},eb={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"}},tb={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ob={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},nb={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ab={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Adotado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"População","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados."},rb={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"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},sb={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",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},ib={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},lb={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând"},cb={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ă."}},ub={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",default:"Legendă"},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",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."},a11y:{expandRow:"Extinde {label}",collapseRow:"Restrânge {label}",clearSelection:"Șterge selecția"}},db={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"}},pb={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},gb={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},fb={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},hb={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate."},mb={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},bb={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic"},yb={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},_b={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду"},vb={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},kb={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},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:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."},a11y:{expandRow:"Развернуть {label}",collapseRow:"Свернуть {label}",clearSelection:"Снять выделение"}},wb={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"}},$b={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},xb={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Ab={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Sb={"%count% people groups in %countries% countries":"%count% народов в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Ответственность взята","Adoption Progress":"Прогресс принятия ответственности","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечён","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить ещё","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Народы","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенный охват","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по названиям, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые народы","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"народов, за которые взята ответственность","people groups engaged":"вовлечённые народы","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},Lb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Pb={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ"},Eb={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},Cb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数"},Tb={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Mb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},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:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"},a11y:{expandRow:"展开{label}",collapseRow:"折叠{label}",clearSelection:"清除选择"}},Rb={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"}},Nb={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ib={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},Ob={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Fb={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},Db={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Gb={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群"};/*!
|
||
* shared v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function Bb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const gr=typeof window<"u",Do=(e,t=!1)=>t?Symbol.for(e):Symbol(e),jb=(e,t,o)=>Ub({l:e,k:t,s:o}),Ub=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ft=e=>typeof e=="number"&&isFinite(e),zb=e=>Wc(e)==="[object Date]",Go=e=>Wc(e)==="[object RegExp]",fr=e=>Re(e)&&Object.keys(e).length===0,Pt=Object.assign,Kb=Object.create,Je=(e=null)=>Kb(e);let zc;const Po=()=>zc||(zc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Je());function Kc(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Hc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Hb(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Hc(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Hc(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 Vb=Object.prototype.hasOwnProperty;function Xt(e,t){return Vb.call(e,t)}const st=Array.isArray,ot=e=>typeof e=="function",be=e=>typeof e=="string",De=e=>typeof e=="boolean",Ke=e=>e!==null&&typeof e=="object",Wb=e=>Ke(e)&&ot(e.then)&&ot(e.catch),Vc=Object.prototype.toString,Wc=e=>Vc.call(e),Re=e=>{if(!Ke(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Yb=e=>e==null?"":st(e)||Re(e)&&e.toString===Vc?JSON.stringify(e,null,2):String(e);function qb(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function hr(e){let t=e;return()=>++t}const mr=e=>!Ke(e)||st(e);function br(e,t){if(mr(e)||mr(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__"&&(Ke(n[r])&&!Ke(a[r])&&(a[r]=Array.isArray(n[r])?[]:Je()),mr(a[r])||mr(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 Jb(e,t,o){return{line:e,column:t,offset:o}}function yr(e,t,o){return{start:e,end:t}}const Zb=/\{([0-9a-zA-Z]+)\}/g;function Yc(e,...t){return t.length===1&&Xb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Zb,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const qc=Object.assign,Jc=e=>typeof e=="string",Xb=e=>e!==null&&typeof e=="object";function Zc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Ts={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Qb={[Ts.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function ey(e,t,...o){const n=Yc(Qb[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Le={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},ty={[Le.EXPECTED_TOKEN]:"Expected token: '{0}'",[Le.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Le.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Le.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Le.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Le.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Le.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Le.EMPTY_PLACEHOLDER]:"Empty placeholder",[Le.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Le.INVALID_LINKED_FORMAT]:"Invalid linked format",[Le.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Le.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Le.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Le.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Le.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Le.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function xn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Yc((a||ty)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function oy(e){throw e}const Eo=" ",ny="\r",Ft=`
|
||
`,ay="\u2028",ry="\u2029";function sy(e){const t=e;let o=0,n=1,a=1,r=0;const s=S=>t[S]===ny&&t[S+1]===Ft,i=S=>t[S]===Ft,l=S=>t[S]===ry,u=S=>t[S]===ay,c=S=>s(S)||i(S)||l(S)||u(S),d=()=>o,p=()=>n,v=()=>a,w=()=>r,g=S=>s(S)||l(S)||u(S)?Ft:t[S],f=()=>g(o),m=()=>g(o+r);function b(){return r=0,c(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function h(){return s(o+r)&&r++,r++,t[o+r]}function k(){o=0,n=1,a=1,r=0}function A(S=0){r=S}function $(){const S=o+r;for(;S!==o;)b();r=0}return{index:d,line:p,column:v,peekOffset:w,charAt:g,currentChar:f,currentPeek:m,next:b,peek:h,reset:k,resetPeek:A,skipToPeek:$}}const Bo=void 0,iy=".",Xc="'",ly="tokenizer";function cy(e,t={}){const o=t.location!==!1,n=sy(e),a=()=>n.index(),r=()=>Jb(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:""},u=()=>l,{onError:c}=t;function d(_,y,O,...Y){const de=u();if(y.column+=O,y.offset+=O,c){const le=o?yr(de.startLoc,y):null,B=xn(_,le,{domain:ly,args:Y});c(B)}}function p(_,y,O){_.endLoc=r(),_.currentType=y;const Y={type:y};return o&&(Y.loc=yr(_.startLoc,_.endLoc)),O!=null&&(Y.value=O),Y}const v=_=>p(_,14);function w(_,y){return _.currentChar()===y?(_.next(),y):(d(Le.EXPECTED_TOKEN,r(),0,y),"")}function g(_){let y="";for(;_.currentPeek()===Eo||_.currentPeek()===Ft;)y+=_.currentPeek(),_.peek();return y}function f(_){const y=g(_);return _.skipToPeek(),y}function m(_){if(_===Bo)return!1;const y=_.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y===95}function b(_){if(_===Bo)return!1;const y=_.charCodeAt(0);return y>=48&&y<=57}function h(_,y){const{currentType:O}=y;if(O!==2)return!1;g(_);const Y=m(_.currentPeek());return _.resetPeek(),Y}function k(_,y){const{currentType:O}=y;if(O!==2)return!1;g(_);const Y=_.currentPeek()==="-"?_.peek():_.currentPeek(),de=b(Y);return _.resetPeek(),de}function A(_,y){const{currentType:O}=y;if(O!==2)return!1;g(_);const Y=_.currentPeek()===Xc;return _.resetPeek(),Y}function $(_,y){const{currentType:O}=y;if(O!==8)return!1;g(_);const Y=_.currentPeek()===".";return _.resetPeek(),Y}function S(_,y){const{currentType:O}=y;if(O!==9)return!1;g(_);const Y=m(_.currentPeek());return _.resetPeek(),Y}function x(_,y){const{currentType:O}=y;if(!(O===8||O===12))return!1;g(_);const Y=_.currentPeek()===":";return _.resetPeek(),Y}function E(_,y){const{currentType:O}=y;if(O!==10)return!1;const Y=()=>{const le=_.currentPeek();return le==="{"?m(_.peek()):le==="@"||le==="%"||le==="|"||le===":"||le==="."||le===Eo||!le?!1:le===Ft?(_.peek(),Y()):ee(_,!1)},de=Y();return _.resetPeek(),de}function G(_){g(_);const y=_.currentPeek()==="|";return _.resetPeek(),y}function U(_){const y=g(_),O=_.currentPeek()==="%"&&_.peek()==="{";return _.resetPeek(),{isModulo:O,hasSpace:y.length>0}}function ee(_,y=!0){const O=(de=!1,le="",B=!1)=>{const X=_.currentPeek();return X==="{"?le==="%"?!1:de:X==="@"||!X?le==="%"?!0:de:X==="%"?(_.peek(),O(de,"%",!0)):X==="|"?le==="%"||B?!0:!(le===Eo||le===Ft):X===Eo?(_.peek(),O(!0,Eo,B)):X===Ft?(_.peek(),O(!0,Ft,B)):!0},Y=O();return y&&_.resetPeek(),Y}function F(_,y){const O=_.currentChar();return O===Bo?Bo:y(O)?(_.next(),O):null}function j(_){const y=_.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36}function N(_){return F(_,j)}function C(_){const y=_.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36||y===45}function V(_){return F(_,C)}function te(_){const y=_.charCodeAt(0);return y>=48&&y<=57}function oe(_){return F(_,te)}function L(_){const y=_.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function D(_){return F(_,L)}function z(_){let y="",O="";for(;y=oe(_);)O+=y;return O}function se(_){f(_);const y=_.currentChar();return y!=="%"&&d(Le.EXPECTED_TOKEN,r(),0,y),_.next(),"%"}function me(_){let y="";for(;;){const O=_.currentChar();if(O==="{"||O==="}"||O==="@"||O==="|"||!O)break;if(O==="%")if(ee(_))y+=O,_.next();else break;else if(O===Eo||O===Ft)if(ee(_))y+=O,_.next();else{if(G(_))break;y+=O,_.next()}else y+=O,_.next()}return y}function ge(_){f(_);let y="",O="";for(;y=V(_);)O+=y;return _.currentChar()===Bo&&d(Le.UNTERMINATED_CLOSING_BRACE,r(),0),O}function Ce(_){f(_);let y="";return _.currentChar()==="-"?(_.next(),y+=`-${z(_)}`):y+=z(_),_.currentChar()===Bo&&d(Le.UNTERMINATED_CLOSING_BRACE,r(),0),y}function Se(_){return _!==Xc&&_!==Ft}function Oe(_){f(_),w(_,"'");let y="",O="";for(;y=F(_,Se);)y==="\\"?O+=Be(_):O+=y;const Y=_.currentChar();return Y===Ft||Y===Bo?(d(Le.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),Y===Ft&&(_.next(),w(_,"'")),O):(w(_,"'"),O)}function Be(_){const y=_.currentChar();switch(y){case"\\":case"'":return _.next(),`\\${y}`;case"u":return Ge(_,y,4);case"U":return Ge(_,y,6);default:return d(Le.UNKNOWN_ESCAPE_SEQUENCE,r(),0,y),""}}function Ge(_,y,O){w(_,y);let Y="";for(let de=0;de<O;de++){const le=D(_);if(!le){d(Le.INVALID_UNICODE_ESCAPE_SEQUENCE,r(),0,`\\${y}${Y}${_.currentChar()}`);break}Y+=le}return`\\${y}${Y}`}function ut(_){return _!=="{"&&_!=="}"&&_!==Eo&&_!==Ft}function P(_){f(_);let y="",O="";for(;y=F(_,ut);)O+=y;return O}function R(_){let y="",O="";for(;y=N(_);)O+=y;return O}function M(_){const y=O=>{const Y=_.currentChar();return Y==="{"||Y==="%"||Y==="@"||Y==="|"||Y==="("||Y===")"||!Y||Y===Eo?O:(O+=Y,_.next(),y(O))};return y("")}function J(_){f(_);const y=w(_,"|");return f(_),y}function re(_,y){let O=null;switch(_.currentChar()){case"{":return y.braceNest>=1&&d(Le.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),_.next(),O=p(y,2,"{"),f(_),y.braceNest++,O;case"}":return y.braceNest>0&&y.currentType===2&&d(Le.EMPTY_PLACEHOLDER,r(),0),_.next(),O=p(y,3,"}"),y.braceNest--,y.braceNest>0&&f(_),y.inLinked&&y.braceNest===0&&(y.inLinked=!1),O;case"@":return y.braceNest>0&&d(Le.UNTERMINATED_CLOSING_BRACE,r(),0),O=ae(_,y)||v(y),y.braceNest=0,O;default:{let de=!0,le=!0,B=!0;if(G(_))return y.braceNest>0&&d(Le.UNTERMINATED_CLOSING_BRACE,r(),0),O=p(y,1,J(_)),y.braceNest=0,y.inLinked=!1,O;if(y.braceNest>0&&(y.currentType===5||y.currentType===6||y.currentType===7))return d(Le.UNTERMINATED_CLOSING_BRACE,r(),0),y.braceNest=0,ie(_,y);if(de=h(_,y))return O=p(y,5,ge(_)),f(_),O;if(le=k(_,y))return O=p(y,6,Ce(_)),f(_),O;if(B=A(_,y))return O=p(y,7,Oe(_)),f(_),O;if(!de&&!le&&!B)return O=p(y,13,P(_)),d(Le.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,O.value),f(_),O;break}}return O}function ae(_,y){const{currentType:O}=y;let Y=null;const de=_.currentChar();switch((O===8||O===9||O===12||O===10)&&(de===Ft||de===Eo)&&d(Le.INVALID_LINKED_FORMAT,r(),0),de){case"@":return _.next(),Y=p(y,8,"@"),y.inLinked=!0,Y;case".":return f(_),_.next(),p(y,9,".");case":":return f(_),_.next(),p(y,10,":");default:return G(_)?(Y=p(y,1,J(_)),y.braceNest=0,y.inLinked=!1,Y):$(_,y)||x(_,y)?(f(_),ae(_,y)):S(_,y)?(f(_),p(y,12,R(_))):E(_,y)?(f(_),de==="{"?re(_,y)||Y:p(y,11,M(_))):(O===8&&d(Le.INVALID_LINKED_FORMAT,r(),0),y.braceNest=0,y.inLinked=!1,ie(_,y))}}function ie(_,y){let O={type:14};if(y.braceNest>0)return re(_,y)||v(y);if(y.inLinked)return ae(_,y)||v(y);switch(_.currentChar()){case"{":return re(_,y)||v(y);case"}":return d(Le.UNBALANCED_CLOSING_BRACE,r(),0),_.next(),p(y,3,"}");case"@":return ae(_,y)||v(y);default:{if(G(_))return O=p(y,1,J(_)),y.braceNest=0,y.inLinked=!1,O;const{isModulo:de,hasSpace:le}=U(_);if(de)return le?p(y,0,me(_)):p(y,4,se(_));if(ee(_))return p(y,0,me(_));break}}return O}function ce(){const{currentType:_,offset:y,startLoc:O,endLoc:Y}=l;return l.lastType=_,l.lastOffset=y,l.lastStartLoc=O,l.lastEndLoc=Y,l.offset=a(),l.startLoc=r(),n.currentChar()===Bo?p(l,14):ie(n,l)}return{nextToken:ce,currentOffset:a,currentPosition:r,context:u}}const uy="parser",dy=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function py(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 gy(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(h,k,A,$,...S){const x=h.currentPosition();if(x.offset+=$,x.column+=$,o){const E=t?yr(A,x):null,G=xn(k,E,{domain:uy,args:S});o(G)}}function r(h,k,A,$,...S){const x=h.currentPosition();if(x.offset+=$,x.column+=$,n){const E=t?yr(A,x):null;n(ey(k,E,S))}}function s(h,k,A){const $={type:h};return t&&($.start=k,$.end=k,$.loc={start:A,end:A}),$}function i(h,k,A,$){t&&(h.end=k,h.loc&&(h.loc.end=A))}function l(h,k){const A=h.context(),$=s(3,A.offset,A.startLoc);return $.value=k,i($,h.currentOffset(),h.currentPosition()),$}function u(h,k){const A=h.context(),{lastOffset:$,lastStartLoc:S}=A,x=s(5,$,S);return x.index=parseInt(k,10),h.nextToken(),i(x,h.currentOffset(),h.currentPosition()),x}function c(h,k,A){const $=h.context(),{lastOffset:S,lastStartLoc:x}=$,E=s(4,S,x);return E.key=k,A===!0&&(E.modulo=!0),h.nextToken(),i(E,h.currentOffset(),h.currentPosition()),E}function d(h,k){const A=h.context(),{lastOffset:$,lastStartLoc:S}=A,x=s(9,$,S);return x.value=k.replace(dy,py),h.nextToken(),i(x,h.currentOffset(),h.currentPosition()),x}function p(h){const k=h.nextToken(),A=h.context(),{lastOffset:$,lastStartLoc:S}=A,x=s(8,$,S);return k.type!==12?(a(h,Le.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),x.value="",i(x,$,S),{nextConsumeToken:k,node:x}):(k.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Qt(k)),x.value=k.value||"",i(x,h.currentOffset(),h.currentPosition()),{node:x})}function v(h,k){const A=h.context(),$=s(7,A.offset,A.startLoc);return $.value=k,i($,h.currentOffset(),h.currentPosition()),$}function w(h){const k=h.context(),A=s(6,k.offset,k.startLoc);let $=h.nextToken();if($.type===9){const S=p(h);A.modifier=S.node,$=S.nextConsumeToken||h.nextToken()}switch($.type!==10&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt($)),$=h.nextToken(),$.type===2&&($=h.nextToken()),$.type){case 11:$.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt($)),A.key=v(h,$.value||"");break;case 5:$.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt($)),A.key=c(h,$.value||"");break;case 6:$.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt($)),A.key=u(h,$.value||"");break;case 7:$.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt($)),A.key=d(h,$.value||"");break;default:{a(h,Le.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const S=h.context(),x=s(7,S.offset,S.startLoc);return x.value="",i(x,S.offset,S.startLoc),A.key=x,i(A,S.offset,S.startLoc),{nextConsumeToken:$,node:A}}}return i(A,h.currentOffset(),h.currentPosition()),{node:A}}function g(h){const k=h.context(),A=k.currentType===1?h.currentOffset():k.offset,$=k.currentType===1?k.endLoc:k.startLoc,S=s(2,A,$);S.items=[];let x=null,E=null;do{const ee=x||h.nextToken();switch(x=null,ee.type){case 0:ee.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt(ee)),S.items.push(l(h,ee.value||""));break;case 6:ee.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt(ee)),S.items.push(u(h,ee.value||""));break;case 4:E=!0;break;case 5:ee.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt(ee)),S.items.push(c(h,ee.value||"",!!E)),E&&(r(h,Ts.USE_MODULO_SYNTAX,k.lastStartLoc,0,Qt(ee)),E=null);break;case 7:ee.value==null&&a(h,Le.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Qt(ee)),S.items.push(d(h,ee.value||""));break;case 8:{const F=w(h);S.items.push(F.node),x=F.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const G=k.currentType===1?k.lastOffset:h.currentOffset(),U=k.currentType===1?k.lastEndLoc:h.currentPosition();return i(S,G,U),S}function f(h,k,A,$){const S=h.context();let x=$.items.length===0;const E=s(1,k,A);E.cases=[],E.cases.push($);do{const G=g(h);x||(x=G.items.length===0),E.cases.push(G)}while(S.currentType!==14);return x&&a(h,Le.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(E,h.currentOffset(),h.currentPosition()),E}function m(h){const k=h.context(),{offset:A,startLoc:$}=k,S=g(h);return k.currentType===14?S:f(h,A,$,S)}function b(h){const k=cy(h,qc({},e)),A=k.context(),$=s(0,A.offset,A.startLoc);return t&&$.loc&&($.loc.source=h),$.body=m(k),e.onCacheKey&&($.cacheKey=e.onCacheKey(h)),A.currentType!==14&&a(k,Le.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,h[A.offset]||""),i($,k.currentOffset(),k.currentPosition()),$}return{parse:b}}function Qt(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 fy(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Qc(e,t){for(let o=0;o<e.length;o++)Ms(e[o],t)}function Ms(e,t){switch(e.type){case 1:Qc(e.cases,t),t.helper("plural");break;case 2:Qc(e.items,t);break;case 6:{Ms(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 hy(e,t={}){const o=fy(e);o.helper("normalize"),e.body&&Ms(e.body,o);const n=o.context();e.helpers=Array.from(n.helpers)}function my(e){const t=e.body;return t.type===2?eu(t):t.cases.forEach(o=>eu(o)),e}function eu(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=Zc(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 by="minifier";function An(e){switch(e.t=e.type,e.type){case 0:{const t=e;An(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++)An(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++)An(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;An(t.key),t.k=t.key,delete t.key,t.modifier&&(An(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 xn(Le.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:by,args:[e.type]})}delete e.type}const yy="parser";function _y(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(g,f){s.code+=g}function u(g,f=!0){const m=f?n:"";l(a?m+" ".repeat(g):m)}function c(g=!0){const f=++s.indentLevel;g&&u(f)}function d(g=!0){const f=--s.indentLevel;g&&u(f)}function p(){u(s.indentLevel)}return{context:i,push:l,indent:c,deindent:d,newline:p,helper:g=>`_${g}`,needIndent:()=>s.needIndent}}function vy(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Sn(e,t.key),t.modifier?(e.push(", "),Sn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function ky(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&&(Sn(e,t.items[r]),r!==a-1);r++)e.push(", ");e.deindent(n()),e.push("])")}function wy(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&&(Sn(e,t.cases[r]),r!==a-1);r++)e.push(", ");e.deindent(n()),e.push("])")}}function $y(e,t){t.body?Sn(e,t.body):e.push("null")}function Sn(e,t){const{helper:o}=e;switch(t.type){case 0:$y(e,t);break;case 1:wy(e,t);break;case 2:ky(e,t);break;case 6:vy(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 xn(Le.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:yy,args:[t.type]})}}const xy=(e,t={})=>{const o=Jc(t.mode)?t.mode:"normal",n=Jc(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=_y(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${Zc(s.map(c=>`${c}: _${c}`),", ")} } = ctx`),i.newline()),i.push("return "),Sn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:u}=i.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function Ay(e,t={}){const o=qc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=gy(o).parse(e);return n?(r&&my(i),a&&An(i),{ast:i,code:""}):(hy(i,o),xy(i,o))}/*!
|
||
* core-base v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function Sy(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Po().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function fo(e){return Ke(e)&&Rs(e)===0&&(Xt(e,"b")||Xt(e,"body"))}const tu=["b","body"];function Ly(e){return jo(e,tu)}const ou=["c","cases"];function Py(e){return jo(e,ou,[])}const nu=["s","static"];function Ey(e){return jo(e,nu)}const au=["i","items"];function Cy(e){return jo(e,au,[])}const ru=["t","type"];function Rs(e){return jo(e,ru)}const su=["v","value"];function _r(e,t){const o=jo(e,su);if(o!=null)return o;throw ua(t)}const iu=["m","modifier"];function Ty(e){return jo(e,iu)}const lu=["k","key"];function My(e){const t=jo(e,lu);if(t)return t;throw ua(6)}function jo(e,t,o){for(let n=0;n<t.length;n++){const a=t[n];if(Xt(e,a)&&e[a]!=null)return e[a]}return o}const cu=[...tu,...ou,...nu,...au,...lu,...iu,...su,...ru];function ua(e){return new Error(`unhandled node type: ${e}`)}const Uo=[];Uo[0]={w:[0],i:[3,0],"[":[4],o:[7]},Uo[1]={w:[1],".":[2],"[":[4],o:[7]},Uo[2]={w:[2],i:[3,0],0:[3,0]},Uo[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},Uo[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},Uo[5]={"'":[4,0],o:8,l:[5,0]},Uo[6]={'"':[4,0],o:8,l:[6,0]};const Ry=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Ny(e){return Ry.test(e)}function Iy(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 Oy(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 Fy(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:Ny(t)?Iy(t):"*"+t}function Dy(e){const t=[];let o=-1,n=0,a=0,r,s,i,l,u,c,d;const p=[];p[0]=()=>{s===void 0?s=i:s+=i},p[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},p[2]=()=>{p[0](),a++},p[3]=()=>{if(a>0)a--,n=4,p[0]();else{if(a=0,s===void 0||(s=Fy(s),s===!1))return!1;p[1]()}};function v(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,p[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&v())){if(l=Oy(r),d=Uo[n],u=d[l]||d.l||8,u===8||(n=u[0],u[1]!==void 0&&(c=p[u[1]],c&&(i=r,c()===!1))))return;if(n===7)return t}}const uu=new Map;function Gy(e,t){return Ke(e)?e[t]:null}function By(e,t){if(!Ke(e))return null;let o=uu.get(t);if(o||(o=Dy(t),o&&uu.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;r<n;){const s=o[r];if(cu.includes(s)&&fo(a))return null;const i=a[s];if(i===void 0||ot(a))return null;a=i,r++}return a}const jy=e=>e,Uy=e=>"",zy="text",Ky=e=>e.length===0?"":qb(e),Hy=Yb;function du(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Vy(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 Wy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Yy(e={}){const t=e.locale,o=Vy(e),n=Ke(e.pluralRules)&&be(t)&&ot(e.pluralRules[t])?e.pluralRules[t]:du,a=Ke(e.pluralRules)&&be(t)&&ot(e.pluralRules[t])?du:void 0,r=m=>m[n(o,m.length,a)],s=e.list||[],i=m=>s[m],l=e.named||Je();ft(e.pluralIndex)&&Wy(o,l);const u=m=>l[m];function c(m){const b=ot(e.messages)?e.messages(m):Ke(e.messages)?e.messages[m]:!1;return b||(e.parent?e.parent.message(m):Uy)}const d=m=>e.modifiers?e.modifiers[m]:jy,p=Re(e.processor)&&ot(e.processor.normalize)?e.processor.normalize:Ky,v=Re(e.processor)&&ot(e.processor.interpolate)?e.processor.interpolate:Hy,w=Re(e.processor)&&be(e.processor.type)?e.processor.type:zy,f={list:i,named:u,plural:r,linked:(m,...b)=>{const[h,k]=b;let A="text",$="";b.length===1?Ke(h)?($=h.modifier||$,A=h.type||A):be(h)&&($=h||$):b.length===2&&(be(h)&&($=h||$),be(k)&&(A=k||A));const S=c(m)(f),x=A==="vnode"&&st(S)&&$?S[0]:S;return $?d($)(x,A):x},message:c,type:w,interpolate:v,normalize:p,values:Pt(Je(),s,l)};return f}let da=null;function qy(e){da=e}function Jy(e,t,o){da&&da.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Zy=Xy("function:translate");function Xy(e){return t=>da&&da.emit(e,t)}const Qy=Ts.__EXTEND_POINT__,nn=hr(Qy),e0={FALLBACK_TO_TRANSLATE:nn(),CANNOT_FORMAT_NUMBER:nn(),FALLBACK_TO_NUMBER_FORMAT:nn(),CANNOT_FORMAT_DATE:nn(),FALLBACK_TO_DATE_FORMAT:nn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:nn(),__EXTEND_POINT__:nn()},pu=Le.__EXTEND_POINT__,an=hr(pu),eo={INVALID_ARGUMENT:pu,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 ho(e){return xn(e,null,void 0)}function Ns(e,t){return t.locale!=null?gu(t.locale):gu(e.locale)}let Is;function gu(e){if(be(e))return e;if(ot(e)){if(e.resolvedOnce&&Is!=null)return Is;if(e.constructor.name==="Function"){const t=e();if(Wb(t))throw ho(eo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Is=t}else throw ho(eo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ho(eo.NOT_SUPPORT_LOCALE_TYPE)}function t0(e,t,o){return[...new Set([o,...st(t)?t:Ke(t)?Object.keys(t):be(t)?[t]:[o]])]}function fu(e,t,o){const n=be(o)?o:Ln,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;st(s);)s=hu(r,s,t);const i=st(t)||!Re(t)?t:t.default?t.default:null;s=be(i)?[i]:i,st(s)&&hu(r,s,!1),a.__localeChainCache.set(n,r)}return r}function hu(e,t,o){let n=!0;for(let a=0;a<t.length&&De(n);a++){const r=t[a];be(r)&&(n=o0(e,t[a],o))}return n}function o0(e,t,o){let n;const a=t.split("-");do{const r=a.join("-");n=n0(e,r,o),a.splice(-1,1)}while(a.length&&n===!0);return n}function n0(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),(st(o)||Re(o))&&o[a]&&(n=o[a])}return n}const a0="9.14.5",vr=-1,Ln="en-US",mu="",bu=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function r0(){return{upper:(e,t)=>t==="text"&&be(e)?e.toUpperCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&be(e)?e.toLowerCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&be(e)?bu(e):t==="vnode"&&Ke(e)&&"__v_isVNode"in e?bu(e.children):e}}let yu;function _u(e){yu=e}let vu;function s0(e){vu=e}let ku;function i0(e){ku=e}let wu=null;const l0=e=>{wu=e},c0=()=>wu;let $u=null;const xu=e=>{$u=e},u0=()=>$u;let Au=0;function d0(e={}){const t=ot(e.onWarn)?e.onWarn:Bb,o=be(e.version)?e.version:a0,n=be(e.locale)||ot(e.locale)?e.locale:Ln,a=ot(n)?Ln:n,r=st(e.fallbackLocale)||Re(e.fallbackLocale)||be(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Re(e.messages)?e.messages:Os(a),i=Re(e.datetimeFormats)?e.datetimeFormats:Os(a),l=Re(e.numberFormats)?e.numberFormats:Os(a),u=Pt(Je(),e.modifiers,r0()),c=e.pluralRules||Je(),d=ot(e.missing)?e.missing:null,p=De(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,v=De(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,g=!!e.unresolving,f=ot(e.postTranslation)?e.postTranslation:null,m=Re(e.processor)?e.processor:null,b=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,k=ot(e.messageCompiler)?e.messageCompiler:yu,A=ot(e.messageResolver)?e.messageResolver:vu||Gy,$=ot(e.localeFallbacker)?e.localeFallbacker:ku||t0,S=Ke(e.fallbackContext)?e.fallbackContext:void 0,x=e,E=Ke(x.__datetimeFormatters)?x.__datetimeFormatters:new Map,G=Ke(x.__numberFormatters)?x.__numberFormatters:new Map,U=Ke(x.__meta)?x.__meta:{};Au++;const ee={version:o,cid:Au,locale:n,fallbackLocale:r,messages:s,modifiers:u,pluralRules:c,missing:d,missingWarn:p,fallbackWarn:v,fallbackFormat:w,unresolving:g,postTranslation:f,processor:m,warnHtmlMessage:b,escapeParameter:h,messageCompiler:k,messageResolver:A,localeFallbacker:$,fallbackContext:S,onWarn:t,__meta:U};return ee.datetimeFormats=i,ee.numberFormats=l,ee.__datetimeFormatters=E,ee.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&Jy(ee,o,U),ee}const Os=e=>({[e]:Je()});function Fs(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return be(i)?i:t}else return t}function pa(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function p0(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function g0(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;n<t.length;n++)if(p0(e,t[n]))return!0;return!1}function Ds(e){return o=>f0(o,e)}function f0(e,t){const o=Ly(t);if(o==null)throw ua(0);if(Rs(o)===1){const r=Py(o);return e.plural(r.reduce((s,i)=>[...s,Su(e,i)],[]))}else return Su(e,o)}function Su(e,t){const o=Ey(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Cy(t).reduce((a,r)=>[...a,Gs(e,r)],[]);return e.normalize(n)}}function Gs(e,t){const o=Rs(t);switch(o){case 3:return _r(t,o);case 9:return _r(t,o);case 4:{const n=t;if(Xt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Xt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw ua(o)}case 5:{const n=t;if(Xt(n,"i")&&ft(n.i))return e.interpolate(e.list(n.i));if(Xt(n,"index")&&ft(n.index))return e.interpolate(e.list(n.index));throw ua(o)}case 6:{const n=t,a=Ty(n),r=My(n);return e.linked(Gs(e,r),a?Gs(e,a):void 0,e.type)}case 7:return _r(t,o);case 8:return _r(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Lu=e=>e;let Pn=Je();function Pu(e,t={}){let o=!1;const n=t.onError||oy;return t.onError=a=>{o=!0,n(a)},{...Ay(e,t),detectError:o}}const h0=(e,t)=>{if(!be(e))throw ho(eo.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Lu)(e),a=Pn[n];if(a)return a;const{code:r,detectError:s}=Pu(e,t),i=new Function(`return ${r}`)();return s?i:Pn[n]=i}};function m0(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&be(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Lu)(e),a=Pn[n];if(a)return a;const{ast:r,detectError:s}=Pu(e,{...t,location:!1,jit:!0}),i=Ds(r);return s?i:Pn[n]=i}else{const o=e.cacheKey;if(o){const n=Pn[o];return n||(Pn[o]=Ds(e))}else return Ds(e)}}const Eu=()=>"",Vt=e=>ot(e);function Cu(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,u]=Bs(...t),c=De(u.missingWarn)?u.missingWarn:e.missingWarn,d=De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,p=De(u.escapeParameter)?u.escapeParameter:e.escapeParameter,v=!!u.resolvedMessage,w=be(u.default)||De(u.default)?De(u.default)?r?l:()=>l:u.default:o?r?l:()=>l:"",g=o||w!=="",f=Ns(e,u);p&&b0(u);let[m,b,h]=v?[l,f,i[f]||Je()]:Tu(e,l,f,s,d,c),k=m,A=l;if(!v&&!(be(k)||fo(k)||Vt(k))&&g&&(k=w,A=k),!v&&(!(be(k)||fo(k)||Vt(k))||!be(b)))return a?vr:l;let $=!1;const S=()=>{$=!0},x=Vt(k)?k:Mu(e,l,b,k,A,S);if($)return k;const E=v0(e,b,h,u),G=Yy(E),U=y0(e,x,G);let ee=n?n(U,l):U;if(p&&be(ee)&&(ee=Hb(ee)),__INTLIFY_PROD_DEVTOOLS__){const F={timestamp:Date.now(),key:be(l)?l:Vt(k)?k.key:"",locale:b||(Vt(k)?k.locale:""),format:be(k)?k:Vt(k)?k.source:"",message:ee};F.meta=Pt({},e.__meta,c0()||{}),Zy(F)}return ee}function b0(e){st(e.list)?e.list=e.list.map(t=>be(t)?Kc(t):t):Ke(e.named)&&Object.keys(e.named).forEach(t=>{be(e.named[t])&&(e.named[t]=Kc(e.named[t]))})}function Tu(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,o);let d=Je(),p,v=null;const w="translate";for(let g=0;g<c.length&&(p=c[g],d=s[p]||Je(),(v=l(d,t))===null&&(v=d[t]),!(be(v)||fo(v)||Vt(v)));g++)if(!g0(p,c)){const f=Fs(e,t,p,r,w);f!==t&&(v=f)}return[v,p,d]}function Mu(e,t,o,n,a,r){const{messageCompiler:s,warnHtmlMessage:i}=e;if(Vt(n)){const u=n;return u.locale=u.locale||o,u.key=u.key||t,u}if(s==null){const u=()=>n;return u.locale=o,u.key=t,u}const l=s(n,_0(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function y0(e,t,o){return t(o)}function Bs(...e){const[t,o,n]=e,a=Je();if(!be(t)&&!ft(t)&&!Vt(t)&&!fo(t))throw ho(eo.INVALID_ARGUMENT);const r=ft(t)?String(t):(Vt(t),t);return ft(o)?a.plural=o:be(o)?a.default=o:Re(o)&&!fr(o)?a.named=o:st(o)&&(a.list=o),ft(n)?a.plural=n:be(n)?a.default=n:Re(n)&&Pt(a,n),[r,a]}function _0(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>jb(t,o,s)}}function v0(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,p={locale:t,modifiers:a,pluralRules:r,messages:v=>{let w=s(o,v);if(w==null&&c){const[,,g]=Tu(c,v,t,i,l,u);w=s(g,v)}if(be(w)||fo(w)){let g=!1;const m=Mu(e,v,t,w,v,()=>{g=!0});return g?Eu:m}else return Vt(w)?w:Eu}};return e.processor&&(p.processor=e.processor),n.list&&(p.list=n.list),n.named&&(p.named=n.named),ft(n.plural)&&(p.pluralIndex=n.plural),p}function Ru(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,u,c,d]=js(...t),p=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const v=!!c.part,w=Ns(e,c),g=s(e,a,w);if(!be(l)||l==="")return new Intl.DateTimeFormat(w,d).format(u);let f={},m,b=null;const h="datetime format";for(let $=0;$<g.length&&(m=g[$],f=o[m]||{},b=f[l],!Re(b));$++)Fs(e,l,m,p,h);if(!Re(b)||!be(m))return n?vr:l;let k=`${m}__${l}`;fr(d)||(k=`${k}__${JSON.stringify(d)}`);let A=i.get(k);return A||(A=new Intl.DateTimeFormat(m,Pt({},b,d)),i.set(k,A)),v?A.formatToParts(u):A.format(u)}const Nu=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function js(...e){const[t,o,n,a]=e,r=Je();let s=Je(),i;if(be(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw ho(eo.INVALID_ISO_DATE_ARGUMENT);const u=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(u);try{i.toISOString()}catch{throw ho(eo.INVALID_ISO_DATE_ARGUMENT)}}else if(zb(t)){if(isNaN(t.getTime()))throw ho(eo.INVALID_DATE_ARGUMENT);i=t}else if(ft(t))i=t;else throw ho(eo.INVALID_ARGUMENT);return be(o)?r.key=o:Re(o)&&Object.keys(o).forEach(l=>{Nu.includes(l)?s[l]=o[l]:r[l]=o[l]}),be(n)?r.locale=n:Re(n)&&(s=n),Re(a)&&(s=a),[r.key||"",i,r,s]}function Iu(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Ou(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,u,c,d]=Us(...t),p=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const v=!!c.part,w=Ns(e,c),g=s(e,a,w);if(!be(l)||l==="")return new Intl.NumberFormat(w,d).format(u);let f={},m,b=null;const h="number format";for(let $=0;$<g.length&&(m=g[$],f=o[m]||{},b=f[l],!Re(b));$++)Fs(e,l,m,p,h);if(!Re(b)||!be(m))return n?vr:l;let k=`${m}__${l}`;fr(d)||(k=`${k}__${JSON.stringify(d)}`);let A=i.get(k);return A||(A=new Intl.NumberFormat(m,Pt({},b,d)),i.set(k,A)),v?A.formatToParts(u):A.format(u)}const Fu=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Us(...e){const[t,o,n,a]=e,r=Je();let s=Je();if(!ft(t))throw ho(eo.INVALID_ARGUMENT);const i=t;return be(o)?r.key=o:Re(o)&&Object.keys(o).forEach(l=>{Fu.includes(l)?s[l]=o[l]:r[l]=o[l]}),be(n)?r.locale=n:Re(n)&&(s=n),Re(a)&&(s=a),[r.key||"",i,r,s]}function Du(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Sy();/*!
|
||
* vue-i18n v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/const k0="9.14.5";function w0(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Po().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Po().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Po().__INTLIFY_PROD_DEVTOOLS__=!1)}const $0=e0.__EXTEND_POINT__,Co=hr($0);Co(),Co(),Co(),Co(),Co(),Co(),Co(),Co(),Co();const Gu=eo.__EXTEND_POINT__,Gt=hr(Gu),yt={UNEXPECTED_RETURN_TYPE:Gu,INVALID_ARGUMENT:Gt(),MUST_BE_CALL_SETUP_TOP:Gt(),NOT_INSTALLED:Gt(),NOT_AVAILABLE_IN_LEGACY_MODE:Gt(),REQUIRED_VALUE:Gt(),INVALID_VALUE:Gt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Gt(),NOT_INSTALLED_WITH_PROVIDE:Gt(),UNEXPECTED_ERROR:Gt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Gt(),BRIDGE_SUPPORT_VUE_2_ONLY:Gt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Gt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Gt(),__EXTEND_POINT__:Gt()};function wt(e,...t){return xn(e,null,void 0)}const zs=Do("__translateVNode"),Ks=Do("__datetimeParts"),Hs=Do("__numberParts"),Bu=Do("__setPluralRules"),ju=Do("__injectWithOption"),Vs=Do("__dispose");function ga(e){if(!Ke(e)||fo(e))return e;for(const t in e)if(Xt(e,t))if(!t.includes("."))Ke(e[t])&&ga(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]]=Je()),!Ke(a[o[s]])){r=!0;break}a=a[o[s]]}if(r||(fo(a)?cu.includes(o[n])||delete e[t]:(a[o[n]]=e[t],delete e[t])),!fo(a)){const s=a[o[n]];Ke(s)&&ga(s)}}return e}function kr(e,t){const{messages:o,__i18n:n,messageResolver:a,flatJson:r}=t,s=Re(o)?o:st(n)?Je():{[e]:Je()};if(st(n)&&n.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:l,resource:u}=i;l?(s[l]=s[l]||Je(),br(u,s[l])):br(u,s)}else be(i)&&br(JSON.parse(i),s)}),a==null&&r)for(const i in s)Xt(s,i)&&ga(s[i]);return s}function Uu(e){return e.type}function zu(e,t,o){let n=Ke(t.messages)?t.messages:Je();"__i18nGlobal"in o&&(n=kr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ke(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ke(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Ku(e){return Ve(ta,null,e,0)}const Hu="__INTLIFY_META__",Vu=()=>[],x0=()=>!1;let Wu=0;function Yu(e){return(t,o,n,a)=>e(o,n,So()||void 0,a)}const A0=()=>{const e=So();let t=null;return e&&(t=Uu(e)[Hu])?{[Hu]:t}:null};function Ws(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=gr?fe:fn,i=!!e.translateExistCompatible;let l=De(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:be(e.locale)?e.locale:Ln),c=s(o&&l?o.fallbackLocale.value:be(e.fallbackLocale)||st(e.fallbackLocale)||Re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),d=s(kr(u.value,e)),p=s(Re(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),v=s(Re(e.numberFormats)?e.numberFormats:{[u.value]:{}});let w=o?o.missingWarn:De(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,g=o?o.fallbackWarn:De(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,f=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,b=ot(e.missing)?e.missing:null,h=ot(e.missing)?Yu(e.missing):null,k=ot(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const S=o?o.modifiers:Re(e.modifiers)?e.modifiers:{};let x=e.pluralRules||o&&o.pluralRules,E;E=(()=>{a&&xu(null);const B={version:k0,locale:u.value,fallbackLocale:c.value,messages:d.value,modifiers:S,pluralRules:x,missing:h===null?void 0:h,missingWarn:w,fallbackWarn:g,fallbackFormat:m,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};B.datetimeFormats=p.value,B.numberFormats=v.value,B.__datetimeFormatters=Re(E)?E.__datetimeFormatters:void 0,B.__numberFormatters=Re(E)?E.__numberFormatters:void 0;const X=d0(B);return a&&xu(X),X})(),pa(E,u.value,c.value);function U(){return[u.value,c.value,d.value,p.value,v.value]}const ee=Q({get:()=>u.value,set:B=>{u.value=B,E.locale=u.value}}),F=Q({get:()=>c.value,set:B=>{c.value=B,E.fallbackLocale=c.value,pa(E,u.value,B)}}),j=Q(()=>d.value),N=Q(()=>p.value),C=Q(()=>v.value);function V(){return ot(k)?k:null}function te(B){k=B,E.postTranslation=B}function oe(){return b}function L(B){B!==null&&(h=Yu(B)),b=B,E.missing=h}const D=(B,X,ke,Ae,je,dt)=>{U();let I;try{__INTLIFY_PROD_DEVTOOLS__,a||(E.fallbackContext=o?u0():void 0),I=B(E)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(E.fallbackContext=void 0)}if(ke!=="translate exists"&&ft(I)&&I===vr||ke==="translate exists"&&!I){const[q,ye]=X();return o&&f?Ae(o):je(q)}else{if(dt(I))return I;throw wt(yt.UNEXPECTED_RETURN_TYPE)}};function z(...B){return D(X=>Reflect.apply(Cu,null,[X,...B]),()=>Bs(...B),"translate",X=>Reflect.apply(X.t,X,[...B]),X=>X,X=>be(X))}function se(...B){const[X,ke,Ae]=B;if(Ae&&!Ke(Ae))throw wt(yt.INVALID_ARGUMENT);return z(X,ke,Pt({resolvedMessage:!0},Ae||{}))}function me(...B){return D(X=>Reflect.apply(Ru,null,[X,...B]),()=>js(...B),"datetime format",X=>Reflect.apply(X.d,X,[...B]),()=>mu,X=>be(X))}function ge(...B){return D(X=>Reflect.apply(Ou,null,[X,...B]),()=>Us(...B),"number format",X=>Reflect.apply(X.n,X,[...B]),()=>mu,X=>be(X))}function Ce(B){return B.map(X=>be(X)||ft(X)||De(X)?Ku(String(X)):X)}const Oe={normalize:Ce,interpolate:B=>B,type:"vnode"};function Be(...B){return D(X=>{let ke;const Ae=X;try{Ae.processor=Oe,ke=Reflect.apply(Cu,null,[Ae,...B])}finally{Ae.processor=null}return ke},()=>Bs(...B),"translate",X=>X[zs](...B),X=>[Ku(X)],X=>st(X))}function Ge(...B){return D(X=>Reflect.apply(Ou,null,[X,...B]),()=>Us(...B),"number format",X=>X[Hs](...B),Vu,X=>be(X)||st(X))}function ut(...B){return D(X=>Reflect.apply(Ru,null,[X,...B]),()=>js(...B),"datetime format",X=>X[Ks](...B),Vu,X=>be(X)||st(X))}function P(B){x=B,E.pluralRules=x}function R(B,X){return D(()=>{if(!B)return!1;const ke=be(X)?X:u.value,Ae=re(ke),je=E.messageResolver(Ae,B);return i?je!=null:fo(je)||Vt(je)||be(je)},()=>[B],"translate exists",ke=>Reflect.apply(ke.te,ke,[B,X]),x0,ke=>De(ke))}function M(B){let X=null;const ke=fu(E,c.value,u.value);for(let Ae=0;Ae<ke.length;Ae++){const je=d.value[ke[Ae]]||{},dt=E.messageResolver(je,B);if(dt!=null){X=dt;break}}return X}function J(B){const X=M(B);return X??(o?o.tm(B)||{}:{})}function re(B){return d.value[B]||{}}function ae(B,X){if(r){const ke={[B]:X};for(const Ae in ke)Xt(ke,Ae)&&ga(ke[Ae]);X=ke[B]}d.value[B]=X,E.messages=d.value}function ie(B,X){d.value[B]=d.value[B]||{};const ke={[B]:X};if(r)for(const Ae in ke)Xt(ke,Ae)&&ga(ke[Ae]);X=ke[B],br(X,d.value[B]),E.messages=d.value}function ce(B){return p.value[B]||{}}function _(B,X){p.value[B]=X,E.datetimeFormats=p.value,Iu(E,B,X)}function y(B,X){p.value[B]=Pt(p.value[B]||{},X),E.datetimeFormats=p.value,Iu(E,B,X)}function O(B){return v.value[B]||{}}function Y(B,X){v.value[B]=X,E.numberFormats=v.value,Du(E,B,X)}function de(B,X){v.value[B]=Pt(v.value[B]||{},X),E.numberFormats=v.value,Du(E,B,X)}Wu++,o&&gr&&(rt(o.locale,B=>{l&&(u.value=B,E.locale=B,pa(E,u.value,c.value))}),rt(o.fallbackLocale,B=>{l&&(c.value=B,E.fallbackLocale=B,pa(E,u.value,c.value))}));const le={id:Wu,locale:ee,fallbackLocale:F,get inheritLocale(){return l},set inheritLocale(B){l=B,B&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,pa(E,u.value,c.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:j,get modifiers(){return S},get pluralRules(){return x||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(B){w=B,E.missingWarn=w},get fallbackWarn(){return g},set fallbackWarn(B){g=B,E.fallbackWarn=g},get fallbackRoot(){return f},set fallbackRoot(B){f=B},get fallbackFormat(){return m},set fallbackFormat(B){m=B,E.fallbackFormat=m},get warnHtmlMessage(){return A},set warnHtmlMessage(B){A=B,E.warnHtmlMessage=B},get escapeParameter(){return $},set escapeParameter(B){$=B,E.escapeParameter=B},t:z,getLocaleMessage:re,setLocaleMessage:ae,mergeLocaleMessage:ie,getPostTranslationHandler:V,setPostTranslationHandler:te,getMissingHandler:oe,setMissingHandler:L,[Bu]:P};return le.datetimeFormats=N,le.numberFormats=C,le.rt=se,le.te=R,le.tm=J,le.d=me,le.n=ge,le.getDateTimeFormat=ce,le.setDateTimeFormat=_,le.mergeDateTimeFormat=y,le.getNumberFormat=O,le.setNumberFormat=Y,le.mergeNumberFormat=de,le[ju]=n,le[zs]=Be,le[Ks]=ut,le[Hs]=Ge,le}function S0(e){const t=be(e.locale)?e.locale:Ln,o=be(e.fallbackLocale)||st(e.fallbackLocale)||Re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ot(e.missing)?e.missing:void 0,a=De(e.silentTranslationWarn)||Go(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=De(e.silentFallbackWarn)||Go(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=De(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Re(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=ot(e.postTranslation)?e.postTranslation:void 0,d=be(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,p=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let w=e.messages;if(Re(e.sharedMessages)){const $=e.sharedMessages;w=Object.keys($).reduce((x,E)=>{const G=x[E]||(x[E]={});return Pt(G,$[E]),x},w||{})}const{__i18n:g,__root:f,__injectWithOption:m}=e,b=e.datetimeFormats,h=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:k,datetimeFormats:b,numberFormats:h,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:d,escapeParameter:p,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:A,__i18n:g,__root:f,__injectWithOption:m}}function Ys(e={},t){{const o=Ws(S0(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 De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=De(r)?!r:r},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=De(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,u={};let c=null,d=null;if(!be(s))throw wt(yt.INVALID_ARGUMENT);const p=s;return be(i)?u.locale=i:st(i)?c=i:Re(i)&&(d=i),st(l)?c=l:Re(l)&&(d=l),Reflect.apply(o.t,o,[p,c||d||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,d=null;if(!be(s))throw wt(yt.INVALID_ARGUMENT);const p=s;return be(i)?u.locale=i:ft(i)?u.plural=i:st(i)?c=i:Re(i)&&(d=i),be(l)?u.locale=l:st(l)?c=l:Re(l)&&(d=l),Reflect.apply(o.t,o,[p,c||d||{},u])},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 qs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function L0({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},Je())}function qu(e){return Ie}const Ju=Zn({name:"i18n-t",props:Pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ft(e)||!isNaN(e)}},qs),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||mt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(d=>d!=="_"),s=Je();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=be(e.plural)?+e.plural:e.plural);const i=L0(t,r),l=a[zs](e.keypath,i,s),u=Pt(Je(),n),c=be(e.tag)||Ke(e.tag)?e.tag:qu();return mc(c,u,l)}}});function P0(e){return st(e)&&!be(e[0])}function Zu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Je();e.locale&&(s.locale=e.locale),be(e.format)?s.key=e.format:Ke(e.format)&&(be(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((p,v)=>o.includes(v)?Pt(Je(),p,{[v]:e.format[v]}):p,Je()));const l=n(e.value,s,i);let u=[s.key];st(l)?u=l.map((p,v)=>{const w=a[p.type],g=w?w({[p.type]:p.value,index:v,parts:l}):[p.value];return P0(g)&&(g[0].key=`${p.type}-${v}`),g}):be(l)&&(u=[l]);const c=Pt(Je(),r),d=be(e.tag)||Ke(e.tag)?e.tag:qu();return mc(d,c,u)}}const Xu=Zn({name:"i18n-n",props:Pt({value:{type:Number,required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||mt({useScope:e.scope,__useComponent:!0});return Zu(e,t,Fu,(...n)=>o[Hs](...n))}}),Qu=Zn({name:"i18n-d",props:Pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||mt({useScope:e.scope,__useComponent:!0});return Zu(e,t,Nu,(...n)=>o[Ks](...n))}});function E0(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 C0(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw wt(yt.UNEXPECTED_ERROR);const c=E0(e,i.$),d=ed(u);return[Reflect.apply(c.t,c,[...td(d)]),c]};return{created:(s,i)=>{const[l,u]=t(i);gr&&e.global===u&&(s.__i18nWatcher=rt(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{gr&&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,u=ed(i);s.textContent=Reflect.apply(l.t,l,[...td(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ed(e){if(be(e))return{path:e};if(Re(e)){if(!("path"in e))throw wt(yt.REQUIRED_VALUE,"path");return e}else throw wt(yt.INVALID_VALUE)}function td(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return be(o)&&(s.locale=o),ft(a)&&(s.plural=a),ft(r)&&(s.plural=r),[t,i,s]}function T0(e,t,...o){const n=Re(o[0])?o[0]:{},a=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Ju.name,"I18nT"].forEach(s=>e.component(s,Ju)),[Xu.name,"I18nN"].forEach(s=>e.component(s,Xu)),[Qu.name,"I18nD"].forEach(s=>e.component(s,Qu))),e.directive("t",C0(t))}function M0(e,t,o){return{beforeCreate(){const n=So();if(!n)throw wt(yt.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=od(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ys(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=od(e,a);else{this.$i18n=Ys({__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&&zu(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=So();if(!n)throw wt(yt.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 od(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[Bu](t.pluralizationRules||e.pluralizationRules);const o=kr(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 R0=Do("global-vue-i18n");function N0(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=I0(e,o),l=Do("");function u(p){return r.get(p)||null}function c(p,v){r.set(p,v)}function d(p){r.delete(p)}{const p={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(v,...w){if(v.__VUE_I18N_SYMBOL__=l,v.provide(v.__VUE_I18N_SYMBOL__,p),Re(w[0])){const m=w[0];p.__composerExtend=m.__composerExtend,p.__vueI18nExtend=m.__vueI18nExtend}let g=null;!o&&n&&(g=K0(v,p.global)),__VUE_I18N_FULL_INSTALL__&&T0(v,p,...w),__VUE_I18N_LEGACY_API__&&o&&v.mixin(M0(i,i.__composer,p));const f=v.unmount;v.unmount=()=>{g&&g(),p.dispose(),f()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:d};return p}}function mt(e={}){const t=So();if(t==null)throw wt(yt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw wt(yt.NOT_INSTALLED);const o=O0(t),n=D0(o),a=Uu(t),r=F0(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw wt(yt.NOT_AVAILABLE_IN_LEGACY_MODE);return U0(t,r,n,e)}if(r==="global")return zu(n,e,a),n;if(r==="parent"){let l=G0(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Pt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Ws(l),s.__composerExtend&&(i[Vs]=s.__composerExtend(i)),j0(s,t,i),s.__setInstance(t,i)}return i}function I0(e,t,o){const n=Ur();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ys(e)):n.run(()=>Ws(e));if(a==null)throw wt(yt.UNEXPECTED_ERROR);return[n,a]}}function O0(e){{const t=Fe(e.isCE?R0:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw wt(e.isCE?yt.NOT_INSTALLED_WITH_PROVIDE:yt.UNEXPECTED_ERROR);return t}}function F0(e,t){return fr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function D0(e){return e.mode==="composition"?e.global:e.global.__composer}function G0(e,t,o=!1){let n=null;const a=t.root;let r=B0(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[ju]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function B0(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function j0(e,t,o){co(()=>{},t),Xa(()=>{const n=o;e.__deleteInstance(t);const a=n[Vs];a&&(a(),delete n[Vs])},t)}function U0(e,t,o,n={}){const a=t==="local",r=fn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw wt(yt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=De(n.inheritLocale)?n.inheritLocale:!be(n.locale),i=fe(!a||s?o.locale.value:be(n.locale)?n.locale:Ln),l=fe(!a||s?o.fallbackLocale.value:be(n.fallbackLocale)||st(n.fallbackLocale)||Re(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=fe(kr(i.value,n)),c=fe(Re(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=fe(Re(n.numberFormats)?n.numberFormats:{[i.value]:{}}),p=a?o.missingWarn:De(n.missingWarn)||Go(n.missingWarn)?n.missingWarn:!0,v=a?o.fallbackWarn:De(n.fallbackWarn)||Go(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,g=!!n.fallbackFormat,f=ot(n.missing)?n.missing:null,m=ot(n.postTranslation)?n.postTranslation:null,b=a?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,h=!!n.escapeParameter,k=a?o.modifiers:Re(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function $(){return[i.value,l.value,u.value,c.value,d.value]}const S=Q({get:()=>r.value?r.value.locale.value:i.value,set:M=>{r.value&&(r.value.locale.value=M),i.value=M}}),x=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:M=>{r.value&&(r.value.fallbackLocale.value=M),l.value=M}}),E=Q(()=>r.value?r.value.messages.value:u.value),G=Q(()=>c.value),U=Q(()=>d.value);function ee(){return r.value?r.value.getPostTranslationHandler():m}function F(M){r.value&&r.value.setPostTranslationHandler(M)}function j(){return r.value?r.value.getMissingHandler():f}function N(M){r.value&&r.value.setMissingHandler(M)}function C(M){return $(),M()}function V(...M){return r.value?C(()=>Reflect.apply(r.value.t,null,[...M])):C(()=>"")}function te(...M){return r.value?Reflect.apply(r.value.rt,null,[...M]):""}function oe(...M){return r.value?C(()=>Reflect.apply(r.value.d,null,[...M])):C(()=>"")}function L(...M){return r.value?C(()=>Reflect.apply(r.value.n,null,[...M])):C(()=>"")}function D(M){return r.value?r.value.tm(M):{}}function z(M,J){return r.value?r.value.te(M,J):!1}function se(M){return r.value?r.value.getLocaleMessage(M):{}}function me(M,J){r.value&&(r.value.setLocaleMessage(M,J),u.value[M]=J)}function ge(M,J){r.value&&r.value.mergeLocaleMessage(M,J)}function Ce(M){return r.value?r.value.getDateTimeFormat(M):{}}function Se(M,J){r.value&&(r.value.setDateTimeFormat(M,J),c.value[M]=J)}function Oe(M,J){r.value&&r.value.mergeDateTimeFormat(M,J)}function Be(M){return r.value?r.value.getNumberFormat(M):{}}function Ge(M,J){r.value&&(r.value.setNumberFormat(M,J),d.value[M]=J)}function ut(M,J){r.value&&r.value.mergeNumberFormat(M,J)}const P={get id(){return r.value?r.value.id:-1},locale:S,fallbackLocale:x,messages:E,datetimeFormats:G,numberFormats:U,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(M){r.value&&(r.value.inheritLocale=M)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:k},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:p},set missingWarn(M){r.value&&(r.value.missingWarn=M)},get fallbackWarn(){return r.value?r.value.fallbackWarn:v},set fallbackWarn(M){r.value&&(r.value.missingWarn=M)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(M){r.value&&(r.value.fallbackRoot=M)},get fallbackFormat(){return r.value?r.value.fallbackFormat:g},set fallbackFormat(M){r.value&&(r.value.fallbackFormat=M)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:b},set warnHtmlMessage(M){r.value&&(r.value.warnHtmlMessage=M)},get escapeParameter(){return r.value?r.value.escapeParameter:h},set escapeParameter(M){r.value&&(r.value.escapeParameter=M)},t:V,getPostTranslationHandler:ee,setPostTranslationHandler:F,getMissingHandler:j,setMissingHandler:N,rt:te,d:oe,n:L,tm:D,te:z,getLocaleMessage:se,setLocaleMessage:me,mergeLocaleMessage:ge,getDateTimeFormat:Ce,setDateTimeFormat:Se,mergeDateTimeFormat:Oe,getNumberFormat:Be,setNumberFormat:Ge,mergeNumberFormat:ut};function R(M){M.locale.value=i.value,M.fallbackLocale.value=l.value,Object.keys(u.value).forEach(J=>{M.mergeLocaleMessage(J,u.value[J])}),Object.keys(c.value).forEach(J=>{M.mergeDateTimeFormat(J,c.value[J])}),Object.keys(d.value).forEach(J=>{M.mergeNumberFormat(J,d.value[J])}),M.escapeParameter=h,M.fallbackFormat=g,M.fallbackRoot=w,M.fallbackWarn=v,M.missingWarn=p,M.warnHtmlMessage=b}return Nl(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw wt(yt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const M=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=M.locale.value,l.value=M.fallbackLocale.value,u.value=M.messages.value,c.value=M.datetimeFormats.value,d.value=M.numberFormats.value):a&&R(M)}),P}const z0=["locale","fallbackLocale","availableLocales"],nd=["t","rt","d","n","tm","te"];function K0(e,t){const o=Object.create(null);return z0.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw wt(yt.UNEXPECTED_ERROR);const s=at(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,nd.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw wt(yt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,nd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(w0(),__INTLIFY_JIT_COMPILATION__?_u(m0):_u(h0),s0(By),i0(fu),__INTLIFY_PROD_DEVTOOLS__){const e=Po();e.__INTLIFY__=!0,qy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const H0=Object.assign({"./locales/ar/aria.json":Lh,"./locales/ar/buttons.json":Ph,"./locales/ar/detail.json":Eh,"./locales/ar/legend.json":Ch,"./locales/ar/messages.json":Th,"./locales/ar/options.json":Mh,"./locales/ar/popup.json":Rh,"./locales/ar/prayerLaps.json":Nh,"./locales/ar/regions.json":Ih,"./locales/ar/search.json":Oh,"./locales/ar/tabs.json":Fh,"./locales/de/aria.json":Dh,"./locales/de/buttons.json":Gh,"./locales/de/detail.json":Bh,"./locales/de/legend.json":jh,"./locales/de/messages.json":Uh,"./locales/de/options.json":zh,"./locales/de/popup.json":Kh,"./locales/de/prayerLaps.json":Hh,"./locales/de/regions.json":Vh,"./locales/de/search.json":Wh,"./locales/de/tabs.json":Yh,"./locales/en/aria.json":qh,"./locales/en/buttons.json":Jh,"./locales/en/detail.json":Zh,"./locales/en/legend.json":Xh,"./locales/en/messages.json":Qh,"./locales/en/options.json":em,"./locales/en/popup.json":tm,"./locales/en/prayerLaps.json":om,"./locales/en/regions.json":nm,"./locales/en/search.json":am,"./locales/en/tabs.json":rm,"./locales/es/aria.json":sm,"./locales/es/buttons.json":im,"./locales/es/detail.json":lm,"./locales/es/legend.json":cm,"./locales/es/messages.json":um,"./locales/es/options.json":dm,"./locales/es/popup.json":pm,"./locales/es/prayerLaps.json":gm,"./locales/es/regions.json":fm,"./locales/es/search.json":hm,"./locales/es/tabs.json":mm,"./locales/fr/aria.json":bm,"./locales/fr/buttons.json":ym,"./locales/fr/detail.json":_m,"./locales/fr/legend.json":vm,"./locales/fr/messages.json":km,"./locales/fr/options.json":wm,"./locales/fr/popup.json":$m,"./locales/fr/prayerLaps.json":xm,"./locales/fr/regions.json":Am,"./locales/fr/search.json":Sm,"./locales/fr/tabs.json":Lm,"./locales/hi/aria.json":Pm,"./locales/hi/buttons.json":Em,"./locales/hi/detail.json":Cm,"./locales/hi/legend.json":Tm,"./locales/hi/messages.json":Mm,"./locales/hi/options.json":Rm,"./locales/hi/popup.json":Nm,"./locales/hi/prayerLaps.json":Im,"./locales/hi/regions.json":Om,"./locales/hi/search.json":Fm,"./locales/hi/tabs.json":Dm,"./locales/it/aria.json":Gm,"./locales/it/buttons.json":Bm,"./locales/it/detail.json":jm,"./locales/it/legend.json":Um,"./locales/it/messages.json":zm,"./locales/it/options.json":Km,"./locales/it/popup.json":Hm,"./locales/it/prayerLaps.json":Vm,"./locales/it/regions.json":Wm,"./locales/it/search.json":Ym,"./locales/it/tabs.json":qm,"./locales/pt/aria.json":Jm,"./locales/pt/buttons.json":Zm,"./locales/pt/detail.json":Xm,"./locales/pt/legend.json":Qm,"./locales/pt/messages.json":eb,"./locales/pt/options.json":tb,"./locales/pt/popup.json":ob,"./locales/pt/prayerLaps.json":nb,"./locales/pt/regions.json":ab,"./locales/pt/search.json":rb,"./locales/pt/tabs.json":sb,"./locales/ro/aria.json":ib,"./locales/ro/buttons.json":lb,"./locales/ro/detail.json":cb,"./locales/ro/legend.json":ub,"./locales/ro/messages.json":db,"./locales/ro/options.json":pb,"./locales/ro/popup.json":gb,"./locales/ro/prayerLaps.json":fb,"./locales/ro/regions.json":hb,"./locales/ro/search.json":mb,"./locales/ro/tabs.json":bb,"./locales/ru/aria.json":yb,"./locales/ru/buttons.json":_b,"./locales/ru/detail.json":vb,"./locales/ru/legend.json":kb,"./locales/ru/messages.json":wb,"./locales/ru/options.json":$b,"./locales/ru/popup.json":xb,"./locales/ru/prayerLaps.json":Ab,"./locales/ru/regions.json":Sb,"./locales/ru/search.json":Lb,"./locales/ru/tabs.json":Pb,"./locales/zh/aria.json":Eb,"./locales/zh/buttons.json":Cb,"./locales/zh/detail.json":Tb,"./locales/zh/legend.json":Mb,"./locales/zh/messages.json":Rb,"./locales/zh/options.json":Nb,"./locales/zh/popup.json":Ib,"./locales/zh/prayerLaps.json":Ob,"./locales/zh/regions.json":Fb,"./locales/zh/search.json":Db,"./locales/zh/tabs.json":Gb}),fa={};for(const[e,t]of Object.entries(H0)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;fa[n]??(fa[n]={}),fa[n][a]=t}const Js=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],V0=new Set(["ar"]);function W0(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(Js.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Js.includes(o)?o:"en"}function Y0(){const e=W0();try{V0.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return N0({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:fa,missingWarn:!1,fallbackWarn:!1})}function $t(e,t){const o=t||q0(e);co(()=>{var i;const n=So();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 q0(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 J0={class:"pin-hint-pill"},Z0={__name:"PinHint",setup(e){const{t,te:o}=mt(),n=Fe("uiStore",null),a=Fe("profileConfig",null),r=Q(()=>(n==null?void 0:n.theme)==="dark"),s=Q(()=>{var E;const S=(E=a==null?void 0:a.value)==null?void 0:E.pinHintLabel;if(S)return S;const x="Tap a coloured dot — someone still needs prayer";try{return o("messages.pinHint.tapDot")?t("messages.pinHint.tapDot"):x}catch{return x}}),i=fe(!1),l=fe(null);let u=null,c=null,d=null,p=null,v=null,w=null,g=[],f=null,m=null;function b(){i.value=!1}function h(S,x){var G;let E=S==null?void 0:S.parentElement;for(let U=0;E&&U<12;U++,E=E.parentElement){if(E===x||(G=E.classList)!=null&&G.contains("profile-loader"))return null;let ee="";try{ee=getComputedStyle(E).position}catch{}if(ee&&ee!=="static"){const F=E.getBoundingClientRect();if(F.height>=120&&F.width>=160)return E}}return null}function k(S){var E;const x=(E=p==null?void 0:p.querySelector)==null?void 0:E.call(p,".legend-mobile-sheet");if(!x)return 1/0;if(v&&w!==x){try{v.disconnect()}catch{}v=null}if(!v&&typeof ResizeObserver<"u")try{v=new ResizeObserver(()=>A()),v.observe(x),w=x}catch{v=null}try{const G=x.getBoundingClientRect();return!(G.height>16)||!(G.width>16)||S.right<=G.left||G.right<=S.left?1/0:G.top}catch{return 1/0}}function A(){const S=l.value;if(S)try{S.style.removeProperty("--pin-hint-lift");const x=S.getBoundingClientRect();if(!x.height)return;const E=Math.min(window.innerHeight,k(x)),G=Math.round(x.bottom-E);G>0&&S.style.setProperty("--pin-hint-lift",G+8+"px")}catch{}}function $(S){const x=l.value;if(!x||!(S!=null&&S.querySelector))return;let E=0;try{const U=S.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(U){const ee=U.getBoundingClientRect(),F=x.parentElement,j=F?F.getBoundingClientRect():null;if(E=j?Math.max(ee.height||0,j.bottom-ee.top):ee.height||0,m!==U&&typeof ResizeObserver<"u"){if(d)try{d.disconnect()}catch{}m=U,d=new ResizeObserver(()=>$(S)),d.observe(U)}}}catch{}const G=Math.min(Math.max(Math.ceil(E)||20,20),72);x.style.setProperty("--pin-hint-attrib-clear",G+"px"),A()}return co(()=>{var G,U,ee;const S=So(),x=(ee=(U=(G=S==null?void 0:S.proxy)==null?void 0:G.$el)==null?void 0:U.getRootNode)==null?void 0:ee.call(U);if(!x||typeof x.querySelector!="function")return;p=x;let E=0;u=setInterval(()=>{E++;const F=x.querySelector("canvas");F?(clearInterval(u),u=null,i.value=!0,lo(()=>{const j=h(F,x),N=l.value;if(j&&N&&N.parentElement!==j)try{j.appendChild(N),c=j}catch{}$(x),A(),g.push(setTimeout(A,1200),setTimeout(A,3e3),setTimeout(A,6e3));try{const C=l.value&&l.value.offsetParent||null;if(C&&typeof ResizeObserver<"u"){if(f)try{f.disconnect()}catch{}f=new ResizeObserver(()=>A()),f.observe(C)}}catch{}})):E>40&&(clearInterval(u),u=null)},300)}),Zt(()=>{var S;if(u&&clearInterval(u),d){try{d.disconnect()}catch{}d=null}if(m=null,f){try{f.disconnect()}catch{}f=null}if(v){try{v.disconnect()}catch{}v=null}w=null;for(const x of g)clearTimeout(x);if(g=[],p=null,c&&((S=l.value)==null?void 0:S.parentElement)===c)try{c.removeChild(l.value)}catch{}c=null}),$t(`
|
||
.pin-hint { position: absolute; left: 50%;
|
||
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
|
||
z-index: 2147482000; pointer-events: none;
|
||
max-width: calc(100% - 24px); box-sizing: border-box;
|
||
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"),(S,x)=>i.value?(H(),Z("div",{key:0,ref_key:"hintEl",ref:l,class:Ne(["pin-hint",{dark:r.value}]),role:"status"},[T("span",J0,[x[0]||(x[0]=T("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),St(" "+ue(s.value)+" ",1),T("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):_e("",!0)}},X0=!1;let Q0=0;const e1=Ps("ui",{state:()=>({_storeInstanceId:++Q0,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)}))}}}),t1=Ps("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()}}}),o1=Ps("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]=qo({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]=qo({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}}}),ha={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},n1=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",En=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},a1={class:"profile-loader"},r1={key:0,class:"profile-error"},s1={key:1,class:"profile-error"},i1=En({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var A;const o=e,n=Fe("profileConfig",null),a=Q(()=>{var S;if(!o.profileConfig)return null;let $;try{$=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if($&&$.assetsBase===void 0){const x=(S=n==null?void 0:n.value)==null?void 0:S.assetsBase;typeof x=="string"&&x&&($.assetsBase=x)}return $}),r=Q(()=>{var $;return(($=a.value)==null?void 0:$.profile)||null}),s=Sh(),i=Q(()=>{var S;const $=(S=a.value)==null?void 0:S.tk;return typeof $=="string"&&$?$:s.value||""});rt(()=>{var $;return($=a.value)==null?void 0:$.tk},$=>{typeof $=="string"&&$&&jc($)},{immediate:!0});const l=Q(()=>{var $;return(($=a.value)==null?void 0:$.dataSource)||ha.activeSource}),u=Q(()=>{var $;return(($=a.value)==null?void 0:$.colorSet)||"default"}),c=Q(()=>!1),d=Q(()=>{var $;return(($=a.value)==null?void 0:$.pinHint)!==!1}),p=Q(()=>{var S,x;const $=(((S=a.value)==null?void 0:S.locale)||((x=a.value)==null?void 0:x.lang)||"").split("-")[0].toLowerCase();return Js.includes($)?$:""}),v=Fe("appI18n",null);Tg(()=>{p.value&&v&&(v.global.locale.value=p.value)});const w=Q(()=>{var $,S;return p.value||((S=($=v==null?void 0:v.global)==null?void 0:$.locale)==null?void 0:S.value)||"en"}),g=Q(()=>{var $;return(($=a.value)==null?void 0:$.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),f=Fe("profileModules",null);if(!f)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const m=Q(()=>{if(!r.value)return null;const $=`./${r.value}.vue`;return f[$]?Uc(f[$]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(f)),null)});Nt("mapboxToken",i),Nt("dataSource",l),Nt("colorSet",u),Nt("profileConfig",a),Nt("instanceId",g),Nt("lang",w);const b=e1(),h=t1(),k=o1();try{const $=typeof localStorage<"u"?localStorage.getItem("theme"):null;$&&((A=b.setTheme)==null||A.call(b,$))}catch{}return Nt("uiStore",b),Nt("mapStore",h),Nt("dataStore",k),($,S)=>(H(),Z("div",a1,[a.value?m.value?(H(),lt(ls(m.value),{key:2})):(H(),Z("div",s1,[T("p",null,[S[1]||(S[1]=St("⚠️ Profile ",-1)),T("strong",null,'"'+ue(r.value)+'"',1),S[2]||(S[2]=St(" not found.",-1))])])):(H(),Z("div",r1,[...S[0]||(S[0]=[T("p",null,[St("⚠️ "),T("strong",null,"doxa-map"),St(": missing or invalid "),T("code",null,"profile-config"),St(" prop.")],-1),T("p",null,[St("Example: "),T("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),m.value&&c.value?(H(),lt(ls(he(null)),{key:3})):_e("",!0),m.value&&d.value?(H(),lt(Z0,{key:4})):_e("",!0)]))}},[["styles",[n1]],["__scopeId","data-v-ba19fc13"]]),l1=Object.assign({"./poster-wall.vue":()=>Mt(()=>Promise.resolve().then(()=>a_),void 0),"./upg-100-list.vue":()=>Mt(()=>Promise.resolve().then(()=>D$),void 0),"./upg-100-mfe.vue":()=>Mt(()=>Promise.resolve().then(()=>fx),void 0)});if(typeof window<"u"&&((Ep=window.mapboxgl)!=null&&Ep.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 c1(){return ih(i1,{configureApp(e){e.use(_h()),e.use(Y0()),e.provide("profileModules",l1)}})}const u1=c1();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",u1));function ma(e,{autoprint:t=!1}={}){const o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(o);const n=o.contentDocument;if(!n)return o.remove(),null;n.open(),n.write(e),t&&n.write('<script>window.addEventListener("load",function(){setTimeout(function(){window.focus();window.print()},150)})<\/script>'),n.close();const a=()=>{o.parentNode&&o.remove()};try{o.contentWindow.addEventListener("afterprint",()=>setTimeout(a,0))}catch{}return setTimeout(a,6e4),o.contentWindow}const d1=Object.freeze(Object.defineProperty({__proto__:null,openPrintFrame:ma},Symbol.toStringTag,{value:"Module"})),wr=e=>String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");function ad(e={}){const t=e.state||fe(null),o=()=>t.value!==null,n=e.label||(g=>(g==null?void 0:g.label)||(g==null?void 0:g.id)||""),a=e.lang||(()=>"en"),r=e.stock||(()=>"poker"),s=(g,f,m,b,h)=>{t.value={label:n(g),kind:f,phase:m,message:b,pct:h}},i=(g,f)=>{s(g,f,"done","print dialog opened",100),setTimeout(()=>{t.value=null},900)},l=(g,f,m)=>{s(g,f,"error",String((m==null?void 0:m.message)||m).slice(0,140),0)};function u(){t.value=null}async function c(g){if(typeof e.records!="function")throw new Error("this wall supplies no records provider");const f=await e.records(g);if(!f||!f.length)throw new Error("that list resolved to no records");return f}async function d(g){if(o())return;const f="Poster";s(g,f,"fetch","fetching the poster",25);try{const m=e.posterUrl?e.posterUrl(g):null;let b="";if(m){const h=await fetch(m,{cache:"force-cache"});h.ok&&(b=await h.text())}if(!b)throw new Error("no poster available for this item");ma(b,{autoprint:!0}),i(g,f)}catch(m){l(g,f,m)}}async function p(g,{columns:f,title:m}={}){if(o())return;const b="List";s(g,b,"fetch","fetching records",30);try{const h=await c(g),k=f||[{key:"name",head:"Name",cls:"c-name"},{key:"country_code_label",head:"Country"},{key:"population",head:"People",cls:"c-num",num:!0},{key:"religion_label",head:"Religion"}],A=k.map(x=>`<th>${wr(x.head)}</th>`).join("")+'<th class="c-pray">✓</th>',$=h.map(x=>"<tr>"+k.map(E=>{const G=x[E.key]??x[`${E.key}_label`]??"—",U=E.num&&Number.isFinite(Number(G))?Number(G).toLocaleString(a()):G;return`<td${E.cls?` class="${E.cls}"`:""}>${wr(U)}</td>`}).join("")+'<td class="c-pray">□</td></tr>').join("");s(g,b,"render",`laying out ${h.length} rows`,70);const S=m||`${n(g)} — ${h.length}`;ma(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${wr(S)}</title><style>@page{size:letter portrait;margin:14mm 12mm}html,body{margin:0;background:#fff;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.hd{margin-bottom:14px}.hd h1{margin:0 0 3px;font-size:18px}.hd p{margin:0;font-size:11px;color:#5b6672}table{width:100%;border-collapse:collapse;font-size:11px}thead th{text-align:left;border-bottom:2px solid #0f1419;padding:5px 6px;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}tbody td{padding:5px 6px;border-bottom:1px solid #e3e6ea}.c-name{font-weight:600}.c-num{font-variant-numeric:tabular-nums}.c-pray{width:26px;text-align:center;font-size:13px}tbody tr{break-inside:avoid}</style></head><body><div class="hd"><h1>${wr(S)}</h1><p>${h.length} entries · pray for them by name</p></div><table><thead><tr>${A}</tr></thead><tbody>${$}</tbody></table></body></html>`,{autoprint:!0}),i(g,b)}catch(h){l(g,b,h)}}async function v(g){if(o())return;const f="Card Deck";s(g,f,"fetch","fetching records",30);try{const m=await c(g),[{createCardRenderer:b},h]=await Promise.all([Mt(()=>Promise.resolve().then(()=>fp),void 0),e.strings?e.strings():Mt(()=>Promise.resolve().then(()=>Ri),void 0).then(A=>A.default||A)]);s(g,f,"render",`laying out ${m.length} cards`,70);const k=b({strings:h,lang:a(),stock:r()});ma(k.buildDeck(g,m),{autoprint:!0}),i(g,f)}catch(m){l(g,f,m)}}async function w(g,{mapSvg:f=""}={}){if(o())return;const m="Prayer Packet";s(g,m,"fetch","fetching people groups",30);try{const b=await c(g),[{createPacketRenderer:h},k]=await Promise.all([Mt(()=>Promise.resolve().then(()=>Lp),void 0),e.strings?e.strings():Mt(()=>Promise.resolve().then(()=>Ri),void 0).then(S=>S.default||S)]),A=h({strings:k,lang:a()}),$=new Map(b.filter(S=>S.image_url).map(S=>[S.slug,S.image_url]));s(g,m,"render",`printing ${b.length} people groups`,70),ma(A.buildPacket(g,b,$,f),{autoprint:!0}),i(g,m)}catch(b){l(g,m,b)}}return{exportState:t,dismiss:u,printPoster:d,printList:p,printCardDeck:v,printPacket:w}}function p1(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function rd(e){const t=fe(null),o=fn({position:"fixed",inset:"0"}),n=()=>{var c,d;const r=t.value;if(!r)return;const s=p1(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((c=i==null?void 0:i.documentElement)==null?void 0:c.clientWidth)||0,u=((d=i==null?void 0:i.documentElement)==null?void 0:d.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${u}px`,boxSizing:"border-box"}};rt(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),Zt(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const g1=cn&&cn.tagName.toUpperCase()==="SCRIPT"&&cn.src||new URL("my-upg-100-list.js",document.baseURI).href,zo=e=>String(e||"").trim().replace(/\/+$/,"");function Zs(){try{const t=String(g1||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function f1(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return zo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return zo(o)}return zo(Zs()||"")}function $r(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=zo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=zo((e==null?void 0:e.treeBase)||"")||zo(Zs()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return zo(new URL(o+"/assets",n).href)}catch{return zo(o+"/assets")}return"./assets"}function h1({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=f1(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 m1={class:"wall-h"},b1={key:0,class:"wall-tag"},y1=["innerHTML"],_1={class:"sec-name"},v1={class:"sec-count"},k1={key:1,class:"perrow"},w1=["for"],$1=["id"],x1=["value"],A1=["data-list-id"],S1=["aria-label","onClick"],L1={class:"hcount"},P1={class:"hlabel"},E1={class:"main"},C1={key:0,class:"ph is-soon"},T1={class:"ph-label"},M1={key:0,class:"ph-count"},R1={class:"ph-soon"},N1=["src","alt","role","tabindex","title","onClick","onKeydown","onError"],I1={key:2,class:"ph"},O1={class:"ph-label"},F1={key:0,class:"ph-count"},D1={class:"tape pfs"},G1=["onClick"],B1=["onClick"],j1=["aria-label"],U1=["value"],z1=["onClick"],K1={class:"modal",role:"dialog","aria-live":"polite"},H1={class:"modal-kind"},V1={class:"modal-title"},W1={class:"modal-err"},Y1={class:"modal-soon"},q1={class:"bar"},J1={class:"modal-phase"},Z1={class:"modal-hint"},X1={__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."},records:{type:Function,default:null},cardStock:{type:String,default:"poker"},cardStocks:{type:[Boolean,Array],default:!1},posterAction:{type:String,default:"download"},previewAction:{type:String,default:"none"},hidePrayerListWhenSoon:{type:Boolean,default:!1},embedded:{type:Boolean,default:!1},sectionHeads:{type:Boolean,default:!0},columns:{type:Number,default:0},columnsControl:{type:Boolean,default:!1}},setup(e){const t=e,o=fe(t.columns||0);rt(()=>t.columns,L=>{o.value=L||0});const n=[2,3,4,5,6],a=Q(()=>o.value>0?{gridTemplateColumns:`repeat(${o.value}, minmax(0, 1fr))`}:{}),r=Q(()=>t.itemNounPlural||`${t.itemNoun}s`),s=Q(()=>String(t.assetsBase||"./assets").replace(/\/+$/,"")),i=Q(()=>{const L=String(Zs()||"").replace(/\/+$/,"");return L?`${L}/assets`:""}),l=fe({}),u=L=>`${l.value[L]?i.value:s.value}/previews/${L}.webp`;function c(L){const D=i.value;if(!l.value[L]&&D&&D!==s.value){l.value={...l.value,[L]:1};return}m.value={...m.value,[L]:!0}}const d=Q(()=>{const L=new Map;for(const D of t.items||[]){if(!D||!D.id)continue;const z=t.groupBy(D)||"Other";L.has(z)||L.set(z,[]),L.get(z).push(D)}return[...L.entries()].map(([D,z])=>({name:D,items:z.slice().sort((se,me)=>(me.count||0)-(se.count||0)),total:z.reduce((se,me)=>se+(me.count||0),0)})).sort((D,z)=>z.total-D.total)}),p=Q(()=>{const L={};for(const D of d.value)L[D.name]=!!t.collapsedBy(D);return L}),v=fe({}),w=L=>t.collapsible?L in v.value?!!v.value[L]:!!p.value[L]:!1,g=L=>{v.value={...v.value,[L]:!w(L)}},f=fe(null),m=fe({});function b(L){const D=f.value===L.id;f.value=D?null:L.id,window.dispatchEvent(new CustomEvent(t.eventName,{detail:{instanceId:t.instanceId,listId:D?null:L.id,label:D?null:L.label}}))}const h=fe(null),{scrimRef:k,scrimStyle:A}=rd(h);async function $(L){if(h.value)return;const D=t.unsupported(L);if(D){h.value={label:L.label,kind:"Poster",phase:"soon",message:D,pct:0};return}h.value={label:L.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{let z=null;try{z=await fetch(`${s.value}/posters/${L.id}.webp`)}catch{}if(!z||!z.ok){h.value={...h.value,phase:"render",message:"generating the poster",pct:45};const se=await fetch(`${s.value}/posters/${L.id}.html`);if(!se.ok)throw new Error(`poster not found (${se.status})`);const{rasterPoster:me,looksRendered:ge}=await Mt(async()=>{const{rasterPoster:Se,looksRendered:Oe}=await Promise.resolve().then(()=>xx);return{rasterPoster:Se,looksRendered:Oe}},void 0),Ce=await me(await se.text(),{scale:2});if(!await ge(Ce))throw new Error("the generated poster rendered blank");await N(Ce,L);return}await N(await z.blob(),L)}catch(z){h.value={label:L.label,kind:"Poster",phase:"error",message:String((z==null?void 0:z.message)||z).slice(0,140),pct:0}}}const{t:S,locale:x}=mt(),E=fe(t.cardStock),G=fe([]);t.cardStocks&&Mt(async()=>{const{STOCK:L}=await Promise.resolve().then(()=>fp);return{STOCK:L}},void 0).then(({STOCK:L})=>{var z;const D=Array.isArray(t.cardStocks)?t.cardStocks:Object.keys(L);G.value=D.filter(se=>L[se]).map(se=>({id:se,label:L[se].label})),G.value.some(se=>se.id===E.value)||(E.value=((z=G.value[0])==null?void 0:z.id)||t.cardStock)}).catch(()=>{});const U=ad({state:h,records:t.records?L=>t.records(L):null,lang:()=>{const L=x&&(x.value??x);return typeof L=="string"&&L||"en"},stock:()=>E.value,label:L=>(L==null?void 0:L.label)||(L==null?void 0:L.id)||""}),ee=Q(()=>typeof t.records=="function"),F=Q(()=>t.previewAction==="print");function j(L){if(!ee.value){h.value={label:L.label,kind:"Prayer List",phase:"soon",message:t.prayerListSoonMessage,pct:0};return}U.printList(L)}async function N(L,D){if(t.posterAction==="print"){h.value={...h.value,phase:"save",message:"opening the print dialog",pct:80};const{openPrintFrame:z}=await Mt(async()=>{const{openPrintFrame:me}=await Promise.resolve().then(()=>d1);return{openPrintFrame:me}},void 0),se=URL.createObjectURL(L);C.push(se),z('<!DOCTYPE html><html><head><meta charset="utf-8"><title>'+V(`${t.downloadPrefix} — ${D.label||D.id}`)+`</title><style>@page{size:letter portrait;margin:12mm}html,body{margin:0;height:100%;background:#fff}body{display:flex;align-items:center;justify-content:center}img{max-width:100%;max-height:100vh;object-fit:contain;display:block}@media print{body{height:auto}img{width:auto;max-width:100%;max-height:100%;object-fit:contain}}</style></head><body><img src="${se}" alt="${V(D.label||D.id)}"></body></html>`,{autoprint:!0})}else h.value={...h.value,phase:"save",message:"saving",pct:80},te(L,`${t.downloadPrefix}-${D.id}-poster.webp`);h.value={...h.value,phase:"done",message:t.posterAction==="print"?"print dialog opened":"saved",pct:100},setTimeout(()=>{h.value=null},900)}const C=[];Zt(()=>{for(const L of C.splice(0))try{URL.revokeObjectURL(L)}catch{}});const V=L=>String(L??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");function te(L,D){const z=document.createElement("a");z.href=URL.createObjectURL(L),z.download=D,document.body.appendChild(z),z.click(),z.remove(),setTimeout(()=>URL.revokeObjectURL(z.href),4e3)}function oe(){h.value=null}return $t(`.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--embedded{position:static;inset:auto;overflow-y:visible;padding:0;background:transparent}.wall--embedded.is-dark{background:transparent}.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:88px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-width:1180px;margin:0 auto}.perrow{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:1180px;margin:0 auto 12px;font:inherit;font-size:13px}.perrow__label{color:#6d766e}.perrow__select{font:inherit;font-size:13px;padding:2px 6px;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:inherit;cursor:pointer}.is-dark .perrow__label{color:#9fb3a6}.is-dark .perrow__select{background:#132019;border-color:rgba(110,231,183,.20)}.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,.card:focus-within{transform:translateY(-3px);box-shadow:0 3px 8px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.10);outline:2px solid #2f6fdb;outline-offset:2px}.is-dark .card:hover,.is-dark .card:focus-within{outline-color:#5aa0ff}@media (hover:none){.card:hover,.card:focus-within{transform:none;outline:none}}.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;top:100%;margin-top:-14px;left:50%;transform:translateX(-50%);width:82%;max-width:82%;min-width:0;box-sizing:border-box;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:2px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}.pfs > .pbtn{flex:0 1 auto;min-width:0;white-space:nowrap}.pfs > .pstock{flex:0 1 auto;min-width:0;max-width:100%}.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}.pstock{flex:0 1 auto;max-width:100%;border:1px solid #d8dde3;border-radius:3px;background:#fff;color:#5b6672;font:inherit;font-size:9.5px;font-weight:600;padding:2px 4px;cursor:pointer;line-height:1.25}.pstock:hover{border-color:#10b981;color:#10b981}.img.is-clickable{cursor:zoom-in}.img.is-clickable:hover{outline:2px solid #38bdf8;outline-offset:-2px}.img.is-clickable:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.is-dark .pstock{background:#12211a;border-color:#2c4a3b;color:#9fb3a8}.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"),(L,D)=>(H(),Z("div",{class:Ne(["wall",{"is-dark":e.isDark,"wall--embedded":e.embedded}])},[T("h2",m1,ue(e.heading),1),e.tag?(H(),Z("div",b1,ue(e.tag),1)):_e("",!0),e.intro?(H(),Z("p",{key:1,class:"wall-sub",innerHTML:e.intro},null,8,y1)):_e("",!0),(H(!0),Z(Ie,null,vt(d.value,z=>(H(),Z("section",{key:z.name,class:"sec"},[e.sectionHeads?(H(),lt(ls(e.collapsible?"button":"div"),{key:0,class:Ne(["sec-head",{"is-toggle":e.collapsible,"is-shut":e.collapsible&&w(z.name)}]),type:e.collapsible?"button":null,"aria-expanded":e.collapsible?String(!w(z.name)):null,onClick:se=>e.collapsible&&g(z.name)},{default:zt(()=>[e.collapsible?(H(),Z("span",{key:0,class:Ne(["sec-caret",{"is-open":!w(z.name)}])},"▶",2)):_e("",!0),T("h3",_1,ue(z.name),1),T("span",v1,ue(z.total.toLocaleString())+" people groups · "+ue(z.items.length)+" "+ue(z.items.length===1?e.itemNoun:r.value),1)]),_:2},1032,["class","type","aria-expanded","onClick"])):_e("",!0),e.columnsControl&&!w(z.name)?(H(),Z("div",k1,[T("label",{class:"perrow__label",for:`perrow-${e.instanceId}-${z.name}`},ue(he(S)("buttons.postersPerRow")),9,w1),Ha(T("select",{id:`perrow-${e.instanceId}-${z.name}`,class:"perrow__select","onUpdate:modelValue":D[0]||(D[0]=se=>o.value=se)},[(H(),Z(Ie,null,vt(n,se=>T("option",{key:se,value:se},ue(se),9,x1)),64))],8,$1),[[Ec,o.value,void 0,{number:!0}]])])):_e("",!0),Ha(T("div",{class:"grid",style:et(a.value)},[(H(!0),Z(Ie,null,vt(z.items,se=>(H(),Z("div",{key:se.id,class:Ne(["card",{"is-last":f.value===se.id}]),"data-list-id":se.id},[T("button",{type:"button",class:"tape tape-h","aria-label":he(S)("buttons.showOnMapAria",{label:se.label}),onClick:me=>b(se)},[T("span",L1,ue(se.count)+" "+ue(e.unit),1),D[4]||(D[4]=T("span",{class:"hsep"},"·",-1)),T("span",P1,ue(he(S)("buttons.showOnMap")),1)],8,S1),T("div",E1,[e.unsupported(se)?(H(),Z("div",C1,[T("div",T1,ue(se.label),1),se.count?(H(),Z("div",M1,ue(se.count.toLocaleString())+" people groups",1)):_e("",!0),T("div",R1,ue(e.unsupported(se)),1)])):m.value[se.id]?(H(),Z("div",I1,[T("div",O1,ue(se.label),1),se.count?(H(),Z("div",F1,ue(se.count.toLocaleString())+" people groups",1)):_e("",!0),D[5]||(D[5]=T("div",{class:"ph-note"},"preview unavailable",-1))])):(H(),Z("img",{key:1,class:Ne(["img",{"is-clickable":F.value}]),src:u(se.id),alt:F.value?`${se.label} — prayer poster (click to preview and print)`:`${se.label} — prayer poster`,loading:"lazy",decoding:"async",role:F.value?"button":null,tabindex:F.value?0:null,title:F.value?he(S)("buttons.previewPrintPoster",{label:se.label}):null,onClick:me=>F.value&&$(se),onKeydown:[xs(kt(me=>F.value&&$(se),["prevent"]),["enter"]),xs(kt(me=>F.value&&$(se),["prevent"]),["space"])],onError:me=>c(se.id)},null,42,N1))]),T("fieldset",D1,[T("legend",null,ue(he(S)("buttons.printOptions")),1),e.hidePrayerListWhenSoon&&!ee.value?_e("",!0):(H(),Z("button",{key:0,type:"button",class:"pbtn",onClick:me=>j(se)},ue(he(S)("buttons.prayerList")),9,G1)),ee.value?(H(),Z("button",{key:1,type:"button",class:"pbtn",onClick:me=>he(U).printCardDeck(se)},ue(he(S)("buttons.cardDeck")),9,B1)):_e("",!0),ee.value&&G.value.length?Ha((H(),Z("select",{key:2,class:"pstock","onUpdate:modelValue":D[1]||(D[1]=me=>E.value=me),"aria-label":he(S)("buttons.cardStockAria"),onClick:D[2]||(D[2]=kt(()=>{},["stop"]))},[(H(!0),Z(Ie,null,vt(G.value,me=>(H(),Z("option",{key:me.id,value:me.id},ue(me.label),9,U1))),128))],8,j1)),[[Ec,E.value]]):_e("",!0),T("button",{type:"button",class:"pbtn",onClick:me=>$(se)},ue(he(S)("buttons.posterMap")),9,z1)])],10,A1))),128))],4),[[Kf,!w(z.name)]])]))),128)),h.value?(H(),Z("div",{key:2,ref_key:"scrimRef",ref:k,style:et(he(A)),class:"modal-scrim",onClick:D[3]||(D[3]=kt(z=>h.value.phase==="error"&&oe(),["self"]))},[T("div",K1,[T("div",H1,ue(h.value.kind),1),T("div",V1,ue(h.value.label),1),h.value.phase==="error"?(H(),Z(Ie,{key:0},[T("div",W1,ue(h.value.message),1),T("button",{type:"button",class:"modal-btn",onClick:oe},ue(he(S)("buttons.close")),1)],64)):h.value.phase==="soon"?(H(),Z(Ie,{key:1},[T("div",Y1,ue(h.value.message),1),T("button",{type:"button",class:"modal-btn",onClick:oe},ue(he(S)("buttons.close")),1)],64)):(H(),Z(Ie,{key:2},[T("div",q1,[T("div",{class:"bar-fill",style:et({width:h.value.pct+"%"})},null,4)]),T("div",J1,ue(h.value.message),1),T("div",Z1,ue(he(S)("buttons.renderingLocal")),1)],64))])],4)):_e("",!0)],2))}},sd=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],id=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],ld=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],Q1=["country_code","wagf_region","wagf_block","primary_language","religion"];function e_(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function t_(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of Q1)if(o in t){const{value:n,label:a}=e_(t[o]);t[o]=n,a!=null&&(t[`${o}_label`]=a)}return t}function xr(e){return Array.isArray(e)?e.map(t_):[]}function Ar(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function Cn(e){return e==null||typeof e!="object"?null:e.slug??null}function cd(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function o_(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function Tn(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const a=e.value;for(const r of n)if(r&&r.country_code===a){const s=Cn(r);s!=null&&o.add(s)}return o}case"country_codes":{const a=new Set(Array.isArray(e.values)?e.values:[]);for(const r of n)if(r&&a.has(r.country_code)){const s=Cn(r);s!=null&&o.add(s)}return o}case"wagf_block":{const a=e.value;for(const r of n)if(r&&r.wagf_block===a){const s=Cn(r);s!=null&&o.add(s)}return o}case"wagf_region":{const a=e.value;for(const r of n)if(r&&r.wagf_region===a){const s=Cn(r);s!=null&&o.add(s)}return o}case"union":{const a=Array.isArray(e.selectors)?e.selectors:[];for(const r of a){const s=Tn(r,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const a=new Set(Array.isArray(e.regions)?e.regions:[]);for(const r of n){if(!r)continue;if((cd(r.slug)||cd(r.name))&&a.has(r.wagf_region)){const i=Cn(r);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const a=e.rop1;for(const r of n)if(r&&o_(r)===a){const s=Cn(r);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const ud=Object.freeze(Object.defineProperty({__proto__:null,default:Tn,evaluate:Tn},Symbol.toStringTag,{value:"Module"})),n_="Hand away the prayer task in clusters of fifties and hundreds — the way Jesus fed the 5,000 (Luke 9:14). Each poster is a 100-list you can pray, print, and put on a wall — praying for them <strong>by their people group name</strong>.",a_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t=Fe("profileConfig",fe(null)),o=Q(()=>{var c;return((c=t.value)==null?void 0:c.instanceId)||"upg-100-wall"}),n=Q(()=>{var c;return((c=t.value)==null?void 0:c.isDark)===!0}),a=Q(()=>$r(t.value)),r=typeof window<"u"&&window.MAP_APP_API_URL||void 0||"",s={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},i=c=>s[c]?s[c]:c.startsWith("asia-india-")?"India":c.startsWith("asia-china-")?"China + Mongolia":"Other",l=Q(()=>[...sd||[],...id||[],...ld||[]].filter(c=>c&&c.id));async function u(c){if(!r)throw new Error("no API configured");const p=await fetch(`${r}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,religion,image_url,primary_language&lang=en`,{cache:"no-store"});if(!p.ok)throw new Error(`people-groups fetch failed (${p.status})`);const v=xr(Ar(await p.json())),w=c.selector&&c.selector.type==="pg_slugs"?new Set(c.selector.values||[]):Tn(c.selector,v);return v.filter(g=>g&&w.has(g.slug)).sort((g,f)=>String(g.name||"").localeCompare(String(f.name||"")))}return(c,d)=>(H(),lt(X1,{items:l.value,"group-by":p=>i(p.id),"instance-id":o.value,"is-dark":n.value,"assets-base":a.value,"event-name":"doxa-upg-100-list:show-on-map",heading:"My UPG 100 List — Prayer Lists & Posters",tag:"Prayer Mobilization",intro:n_,unit:"UPG","item-noun":"list",records:u,"card-stocks":!0,"poster-action":"print","preview-action":"print","hide-prayer-list-when-soon":!0,"download-prefix":"doxa-upg-100"},null,8,["items","group-by","instance-id","is-dark","assets-base"]))}}},Symbol.toStringTag,{value:"Module"})),dd="pplrInstance";function r_(e){return{instanceId:e,selection:fe(null),activeTab:fe(0),activeTabTouched:fe(!1),isSearching:fe(!1),geocoderText:fe(""),pinDetail:fe(null),theme:fe("dark")}}function s_(e){Nt(dd,e)}function i_(){return Fe(dd,null)}const l_="",c_=["data-covered","data-total","data-pct"],u_={class:"lpb-track"},d_=["data-span-pct"],p_=["data-seg","data-count","aria-label","onMouseenter","onFocus","onClick"],g_=["data-seg","data-count","aria-label"],f_=["aria-valuenow","aria-valuemax","aria-valuetext","aria-label","title"],pd=En({__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}=mt();$t(`
|
||
.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 u(S){return n.covered>0?Math.min(100,Math.max(0,(S.count||0)/n.covered*100)):0}function c(S){return n.total>0?Math.round((S.count||0)/n.total*100):0}const d=Q(()=>n.label||o("legend.progress.covered",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:r.value})),p=Q(()=>o("legend.progress.short",{covered:n.fmtCount(n.covered),total:n.fmtCount(n.total),pct:r.value}));function v(S){return o("legend.progress.segment",{label:S.label,count:n.fmtCount(S.count||0),pct:c(S)})}const w=fe(null),g=fe(null),f={},m=fe(null),b=fe(0),h=Q(()=>n.segments.find(S=>S.key===m.value)||null);function k(S,x){x?f[S]=x:delete f[S]}async function A(S){m.value=S,await lo();const x=w.value,E=f[S],G=g.value;if(!x||!E||!G)return;const U=x.getBoundingClientRect(),ee=E.getBoundingClientRect(),F=Math.max(0,U.width-G.offsetWidth);b.value=Math.min(Math.max(0,ee.left-U.left),F)}function $(){m.value=null}return(S,x)=>(H(),Z("div",{ref_key:"rootEl",ref:w,class:Ne(["lpb",[e.isDark?"lpb-dark":"lpb-light",{"lpb-stacked":e.stacked}]]),"data-covered":e.covered,"data-total":e.total,"data-pct":r.value,onMouseleave:$},[T("div",u_,[T("span",{class:"lpb-span",style:et({width:s.value+"%"}),"data-span-pct":s.value.toFixed(2)},[(H(!0),Z(Ie,null,vt(i.value,E=>(H(),Z("button",{key:E.key,type:"button",class:Ne(["lpb-seg",{active:m.value===E.key}]),style:et({width:u(E)+"%",background:E.color}),"data-seg":E.key,"data-count":E.count||0,"aria-label":v(E),ref_for:!0,ref:G=>k(E.key,G),onMouseenter:G=>A(E.key),onFocus:G=>A(E.key),onBlur:$,onClick:kt(G=>a("select-segment",E.key),["stop"])},null,46,p_))),128))],12,d_),l.value?(H(),Z("button",{key:0,type:"button",class:Ne(["lpb-seg lpb-seg-rest",{active:m.value===l.value.key}]),style:et({background:l.value.color}),"data-seg":l.value.key,"data-count":l.value.count||0,"aria-label":v(l.value),ref:E=>k(l.value.key,E),onMouseenter:x[0]||(x[0]=E=>A(l.value.key)),onFocus:x[1]||(x[1]=E=>A(l.value.key)),onBlur:$,onClick:x[2]||(x[2]=kt(E=>a("select-segment",l.value.key),["stop"]))},null,46,g_)):_e("",!0)]),e.showText?(H(),Z("span",{key:0,class:"lpb-text",role:"progressbar","aria-valuenow":e.covered,"aria-valuemin":"0","aria-valuemax":e.total,"aria-valuetext":p.value,"aria-label":d.value,title:d.value},ue(e.compact?r.value+"%":p.value),9,f_)):_e("",!0),h.value?(H(),Z("div",{key:1,ref_key:"popEl",ref:g,class:"lpb-pop",role:"tooltip",style:et({left:b.value+"px"})},[T("span",{class:"lpb-pop-dot",style:et({background:h.value.color})},null,4),St(ue(v(h.value)),1)],4)):_e("",!0)],42,c_))}},[["styles",[l_]],["__scopeId","data-v-acafdbf6"]]),h_="",m_=["data-theme"],b_={class:"stl-inner"},y_={class:"stl-tb-caret-slot"},__=["title","aria-label","aria-expanded"],v_={class:"stl-tb-eyebrow"},k_=["title","aria-label"],w_=["title"],$_={key:2,class:"stl-tb-title"},x_={key:3,class:"stl-export"},A_=["aria-expanded"],S_={class:"stl-export-menu",role:"menu"},L_={key:0,class:"stl-tabs-wrap"},P_={class:"stl-tabs"},E_=["onClick"],C_=["title","onClick"],T_={key:0,class:"stl-info-pop"},M_={class:"stl-col-hdr"},R_={class:"stl-hdr-name"},N_=["title"],I_={key:0,class:"stl-sort-arrow"},O_=["title"],F_={key:0,class:"stl-sort-arrow"},D_=["data-stl-node-id","onClick"],G_=["aria-expanded","aria-label","onClick"],B_={key:1,class:"stl-caret-sp"},j_={key:3,class:"stl-dot-sp"},U_={class:"stl-name"},z_={key:4,class:"stl-num"},K_={key:5,class:"stl-num"},H_={class:"stl-x-slot"},V_=["title","aria-label"],W_={key:0,class:"stl-empty stl-loading"},Y_={key:1,class:"stl-empty"},q_={key:2,class:"stl-empty"},J_={key:3,class:"stl-overflow"},Z_=["data-theme"],X_={class:"stl-reopen-label"},gd=En({__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}=mt();function a(I){const q="tabs."+((I==null?void 0:I.i18nKey)||(I==null?void 0:I.id));return I&&n(q)?o(q):(I==null?void 0:I.label)??""}function r(I){const q="legend.tabInfo."+((I==null?void 0:I.i18nKey)||(I==null?void 0:I.id));return I&&n(q)?o(q):(I==null?void 0:I.info)??""}const s=e,i=t,l=i_(),u=Fe("legendProgress",null),c=Q(()=>s.progress??he(u)??null),d=Q(()=>c.value?o("legend.progress.title"):s.title),p=Q(()=>((l==null?void 0:l.theme.value)||"dark")==="dark");function v(I,q){var ye;for(const ve of I||[]){if((ve==null?void 0:ve.id)===q)return ve;const $e=(ye=ve==null?void 0:ve.children)!=null&&ye.length?v(ve.children,q):null;if($e)return $e}return null}function w(I){const q=v(k.value,I);q&&ce(q)}function g(I,q=0){return I!=null&&I.length?Math.max(...I.map(ye=>g(ye.children??[],q+1))):q}function f(I,q,ye=0){return ye===q?I.slice():I.flatMap(ve=>f(ve.children??[],q,ye+1))}function m(I,q,ye=[]){var ve;for(const $e of I){if($e.id===q)return ye;if((ve=$e.children)!=null&&ve.length){const nt=m($e.children,q,[...ye,$e]);if(nt)return nt}}return null}function b(I,q=new Set){var ye;if(!((ye=I==null?void 0:I.children)!=null&&ye.length))return q;for(const ve of I.children)q.add(ve.id),b(ve,q);return q}function h(I,q="root"){var ve;if(!Array.isArray(I))return[];const ye=[];for(const $e of I){if(!$e||typeof $e!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",q)}catch{}continue}ye.push((ve=$e.children)!=null&&ve.length?{...$e,children:h($e.children,$e.label||$e.id||q)}:$e)}return ye}const k=Q(()=>h(s.nodes)),A=Q(()=>g(k.value)),$=Q(()=>{const I=s.tabs??[],q=I.length||A.value+1;return Array.from({length:q},(ye,ve)=>I[ve]??{id:`gen${ve+1}`,label:`Generation ${ve+1}`})}),S=fe(Math.max(0,s.defaultTab|0)),x=fe(new Set),E=fe(null),G=fe(s.open!==null?s.open:!0),U=fe(null),ee=fe(!1),{scrimRef:F,scrimStyle:j}=rd(ee),N=fe(null),C=fe("desc"),V=Q({get:()=>{var I;return s.hideTabs?0:l&&!((I=l.activeTabTouched)!=null&&I.value)?Math.min(Math.max(0,s.defaultTab|0),Math.max(0,$.value.length-1)):l?l.activeTab.value:S.value},set:I=>{s.hideTabs||(l?(l.activeTab.value=I,l.activeTabTouched&&(l.activeTabTouched.value=!0)):S.value=I)}}),te=Q({get:()=>l?l.selection.value:E.value,set:I=>{l?l.selection.value=I:E.value=I}}),oe=Q(()=>{var I;return((I=te.value)==null?void 0:I.id)||null}),L=fe(null);rt(()=>s.open,I=>{I!==null&&(G.value=I)}),rt(()=>k.value,()=>{var $e;const I=l?($e=l.activeTabTouched)==null?void 0:$e.value:!1,q=I?l==null?void 0:l.activeTab.value:void 0,ye=Math.min(Math.max(0,s.defaultTab|0),Math.max(0,$.value.length-1)),ve=typeof q=="number"&&q>=0?q:ye;l?(l.activeTab.value=ve,!I&&l.activeTabTouched&&(l.activeTabTouched.value=!1)):S.value=ve,x.value=new Set,te.value=null,i("select",null)},{deep:!1});let D=null;l&&rt(()=>l.selection.value,I=>{if((I==null?void 0:I.id)===D)return;if(!I){D=null;return}D=I.id;const q=m(k.value,I.id)||[];typeof I.depth=="number"&&(V.value=Math.min(I.depth,$.value.length-1));const ye=new Set;q.forEach(ve=>ye.add(ve.id)),x.value=ye,i("select",I)});function z(I,q){const ye=(q.pop??0)-(I.pop??0);return ye!==0?ye:(q.count??0)-(I.count??0)}const se=Q(()=>{if(!N.value)return z;const I=N.value,q=C.value==="asc"?1:-1;return(ye,ve)=>((ye[I]??0)-(ve[I]??0))*q});function me(I){N.value===I?C.value==="desc"?C.value="asc":(N.value=null,C.value="desc"):(N.value=I,C.value="desc")}const ge=fe([]),Ce=fe(!1);let Se=-1;function Oe(I){if(ge.value[I]){Ce.value=!1;return}Ce.value=!0,Se=I,setTimeout(()=>{if(Se!==I)return;const q=[...f(k.value,I)].sort(se.value),ye=[...ge.value];ye[I]=q,ge.value=ye,Ce.value=!1},0)}rt(V,I=>Oe(I),{immediate:!0}),rt(()=>[k.value,N.value,C.value],()=>{ge.value=[],Oe(V.value)},{deep:!1});const Be=Q(()=>ge.value[V.value]||[]),Ge=Q(()=>{var q;const I=(q=$.value[V.value])==null?void 0:q.topLimit;return I?Be.value.slice(0,I):Be.value}),ut=Q(()=>{var q;const I=(q=$.value[V.value])==null?void 0:q.topLimit;return I?Math.max(0,Be.value.length-I):0});function P(I,q,ye,ve,$e){var nt;for(const Te of q)Te&&(I.push({node:Te,relDepth:ye,parent:ve,ancestors:$e}),x.value.has(Te.id)&&((nt=Te.children)!=null&&nt.length)&&P(I,[...Te.children].sort(se.value),ye+1,Te,[...$e,Te]))}const R=Q(()=>{const I=[];P(I,Ge.value,0,null,[]);for(let q=0;q<I.length;q++){const ye=I[q],ve=[];for(let $e=0;$e<ye.relDepth;$e++){const nt=ye.ancestors[$e];let Te=!1;for(let Dt=q+1;Dt<I.length;Dt++){const Et=I[Dt];if(Et.relDepth<=$e)break;if(Et.relDepth===$e+1&&Et.ancestors[$e]===nt){Te=!0;break}Et.relDepth>$e+1&&Et.ancestors[$e]}if($e===ye.relDepth-1){let Dt=!1;for(let Et=q+1;Et<I.length;Et++){const Wt=I[Et];if(Wt.relDepth<ye.relDepth)break;if(Wt.relDepth===ye.relDepth&&Wt.parent===ye.parent){Dt=!0;break}}ve.push(Dt?"tee":"elbow")}else ve.push(Te?"pipe":"blank")}ye.trunks=ve}return I}),M=Q(()=>oe.value!==null),J=Q(()=>s.columns.includes("count")),re=Q(()=>s.columns.includes("pop")),ae=Q(()=>te.value?b(te.value):new Set),ie=Q(()=>{var nt;const I=te.value;if(!I)return null;const q=m(k.value,I.id);if(!q||!q.length)return null;const ye=q[q.length-1],ve=q.length-1,$e=((nt=$.value[ve])==null?void 0:nt.label)||"Parent";return{node:ye,tabName:$e,depth:ve}});function ce(I){oe.value===I.id?(D=null,te.value=null,i("select",null)):(D=I.id,te.value=I,i("select",I))}function _(I,q){q==null||q.stopPropagation();const ye=new Set(x.value),ve=ye.has(I);if(ve?ye.delete(I):ye.add(I),x.value=ye,ve&&te.value){const $e=m(k.value,te.value.id);$e&&$e.some(nt=>nt.id===I)&&(D=null,te.value=null,i("select",null))}}function y(){const I=ie.value;I!=null&&I.node&&(!s.hideTabs&&typeof I.depth=="number"&&(V.value=I.depth),x.value=new Set,ce(I.node))}function O(I){if(V.value===I){U.value=U.value===I?null:I;return}V.value=I,x.value=new Set,D=null,te.value=null,U.value=null,i("select",null)}function Y(I){I==null||I.stopPropagation(),D=null,te.value=null,i("select",null)}function de(I,q){q==null||q.stopPropagation(),U.value=U.value===I?null:I}function le(I){I==null||I.stopPropagation(),ee.value=!ee.value}function B(I){ee.value=!1,i("export",I)}rt(oe,I=>{I||(ee.value=!1)});function X(I){let q=I.parentElement;for(;q;){const ye=getComputedStyle(q).overflowY;if((ye==="auto"||ye==="scroll")&&q.scrollHeight>q.clientHeight+1){const ve=I.getBoundingClientRect(),$e=q.getBoundingClientRect();q.scrollTop+=ve.top-$e.top-8}q=q.parentElement}}let ke=0;rt(oe,async I=>{if(!I)return;const q=++ke,ye=L.value;if(!ye)return;await lo();const ve=($e=0)=>{if(q!==ke)return;const nt=ye.querySelector(`[data-stl-node-id="${CSS.escape(String(I))}"]`);nt&&X(nt),$e<6&&setTimeout(()=>ve($e+1),70)};ve(0)});function Ae(I){return I?I>=1e6?(I/1e6).toFixed(1)+"M":I>=1e3?Math.round(I/1e3)+"k":I.toLocaleString():"—"}function je(I){return I!=null?I.toLocaleString():"—"}function dt(I){var q;return{selected:oe.value===I.node.id,descendant:M.value&&ae.value.has(I.node.id),child:I.relDepth>0,leaf:!((q=I.node.children)!=null&&q.length)}}return $t(`
|
||
.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: var(--stl-top, 60px); width: var(--map-legend-width, 380px); z-index: 4;
|
||
display: flex; flex-direction: column;
|
||
max-height: calc(100% - var(--stl-top, 60px) - 12px);
|
||
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% - var(--stl-top, 60px) - 12px); }
|
||
.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; --stl-top: 64px; }
|
||
.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"),(I,q)=>{var ye,ve,$e,nt;return H(),Z(Ie,null,[T("div",{class:Ne(["stl-panel",{closed:!G.value,"fit-content":e.hideTabs}]),"data-theme":((ye=he(l))==null?void 0:ye.theme.value)||"dark"},[T("div",b_,[T("div",{class:Ne(["stl-titlebar",{"has-progress":!!c.value}])},[T("span",y_,[_n(I.$slots,"title-caret",{},void 0,!0)]),I.$slots["title-caret"]?_e("",!0):(H(),Z("button",{key:0,class:Ne(["stl-collapse-btn",{closed:!G.value}]),title:G.value?he(o)("aria.collapseLegend"):he(o)("aria.expandLegend"),"aria-label":G.value?he(o)("aria.collapseLegend"):he(o)("aria.expandLegend"),"aria-expanded":String(G.value),onClick:q[0]||(q[0]=Te=>{G.value=!G.value,i("update:open",G.value)})},[...q[8]||(q[8]=[T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,__)),ie.value&&te.value?(H(),Z(Ie,{key:1},[T("span",v_,ue(ie.value.tabName),1),T("button",{type:"button",class:"stl-tb-up",title:`Go up to ${ie.value.node.label}`,"aria-label":`Go up to ${ie.value.tabName} ${ie.value.node.label}`,onClick:kt(y,["stop"])},[q[9]||(q[9]=T("svg",{class:"stl-tb-up-icon",width:"9",height:"9",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[T("path",{d:"M3 7.5L6 4.5L9 7.5",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),ie.value.node.color?(H(),Z("span",{key:0,class:"stl-tb-dot",style:et({background:ie.value.node.color})},null,4)):_e("",!0),T("span",{class:"stl-tb-text",title:ie.value.node.label},ue(ie.value.node.label),9,w_)],8,k_)],64)):(H(),Z("span",$_,ue(d.value),1)),e.exportEnabled&&te.value?(H(),Z("div",x_,[T("button",{type:"button",class:Ne(["stl-export-btn",{open:ee.value}]),"aria-expanded":ee.value?"true":"false","aria-haspopup":"menu",title:"Export selection","aria-label":"Export selection",onClick:kt(le,["stop"])},[...q[10]||(q[10]=[T("svg",{width:"11",height:"11",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true"},[T("path",{d:"M7 1.5V9M7 1.5L4.2 4.3M7 1.5L9.8 4.3",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),T("path",{d:"M2 9.5V11.5C2 12.05 2.45 12.5 3 12.5H11C11.55 12.5 12 12.05 12 11.5V9.5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1),T("span",{class:"stl-export-label"},"Export",-1)])],10,A_),ee.value?(H(),Z(Ie,{key:0},[T("div",{ref_key:"scrimRef",ref:F,style:et(he(j)),class:"stl-export-backdrop",onClick:q[1]||(q[1]=kt(Te=>ee.value=!1,["stop"]))},null,4),T("div",S_,[T("button",{type:"button",class:"stl-export-item",role:"menuitem",onClick:q[2]||(q[2]=kt(Te=>B("poster"),["stop"]))},[...q[11]||(q[11]=[T("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true"},[T("rect",{x:"2",y:"1.5",width:"8",height:"9",rx:"1",stroke:"currentColor","stroke-width":"1.3"}),T("path",{d:"M4 4.5H8M4 6.5H8M4 8.5H6.5",stroke:"currentColor","stroke-width":"1.1","stroke-linecap":"round"})],-1),T("span",{class:"stl-export-item-label"},"Poster",-1)])]),T("button",{type:"button",class:"stl-export-item",role:"menuitem",onClick:q[3]||(q[3]=kt(Te=>B("packet"),["stop"]))},[...q[12]||(q[12]=[Sf('<svg width="10" height="10" viewBox="0 0 12 12" fill="none" aria-hidden="true" data-v-9a83e3b3><path d="M3 1.5H7.5L9.5 3.5V10.5H3V1.5Z" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" data-v-9a83e3b3></path><path d="M7.5 1.5V3.5H9.5" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" data-v-9a83e3b3></path><path d="M4.5 6H8M4.5 8H7" stroke="currentColor" stroke-width="1.1" stroke-linecap="round" data-v-9a83e3b3></path></svg><span class="stl-export-item-label" data-v-9a83e3b3>Packet</span>',2)])])])],64)):_e("",!0)])):_e("",!0),c.value?(H(),lt(pd,{key:4,class:"stl-progress","show-text":!1,covered:c.value.covered,total:c.value.total,segments:c.value.segments,"is-dark":p.value,"fmt-count":je,onSelectSegment:w},null,8,["covered","total","segments","is-dark"])):_e("",!0)],2),e.hideTabs?_e("",!0):(H(),Z("div",L_,[T("div",P_,[(H(!0),Z(Ie,null,vt($.value,(Te,Dt)=>(H(),Z("div",{key:Te.id,class:Ne(["stl-tab-chip",{active:V.value===Dt}])},[T("button",{class:"stl-tab",onClick:Et=>O(Dt)},ue(a(Te)),9,E_),Te.info?(H(),Z("button",{key:0,class:"stl-tab-info",title:r(Te),onClick:Et=>de(Dt,Et)},"i",8,C_)):_e("",!0)],2))),128))]),U.value!==null&&((ve=$.value[U.value])!=null&&ve.info)?(H(),Z("div",T_,ue(r($.value[U.value])),1)):_e("",!0)])),T("div",M_,[q[13]||(q[13]=T("span",{class:"stl-caret-sp"},null,-1)),q[14]||(q[14]=T("span",{class:"stl-dot-sp"},null,-1)),T("span",R_,ue(e.columnLabel||(e.hideTabs?e.title:a($.value[V.value])||he(o)("legend.columns.name"))),1),J.value?(H(),Z("button",{key:0,class:Ne(["stl-hdr-num",{active:N.value==="count"}]),title:he(o)("legend.sortByUpgs"),onClick:q[4]||(q[4]=Te=>me("count"))},[St(ue(he(o)("legend.columns.upgs"))+" ",1),N.value==="count"?(H(),Z("span",I_,ue(C.value==="desc"?"▼":"▲"),1)):_e("",!0)],10,N_)):_e("",!0),re.value?(H(),Z("button",{key:1,class:Ne(["stl-hdr-num",{active:N.value==="pop"}]),title:he(o)("legend.sortByPop"),onClick:q[5]||(q[5]=Te=>me("pop"))},[St(ue(he(o)("legend.columns.population"))+" ",1),N.value==="pop"?(H(),Z("span",F_,ue(C.value==="desc"?"▼":"▲"),1)):_e("",!0)],10,O_)):_e("",!0),q[15]||(q[15]=T("span",{class:"stl-x-slot"},null,-1))]),T("div",{class:Ne(["stl-rows",{"has-sel":M.value}]),ref_key:"rowsContainer",ref:L},[(H(!0),Z(Ie,null,vt(R.value,Te=>{var Dt,Et;return H(),Z("div",{key:Te.node.id,class:Ne(["stl-row",dt(Te)]),"data-stl-node-id":Te.node.id,style:et({"--trunk-color":((Dt=Te.parent)==null?void 0:Dt.color)||"#6e7681","--row-color":Te.node.color||"#73A17F"}),onClick:Wt=>ce(Te.node)},[(H(!0),Z(Ie,null,vt(Te.trunks,(Wt,On)=>(H(),Z("span",{key:`tr${On}`,class:Ne(["stl-trunk",`stl-trunk-${Wt}`])},null,2))),128)),(Et=Te.node.children)!=null&&Et.length?(H(),Z("button",{key:0,class:Ne(["stl-caret",{open:x.value.has(Te.node.id)}]),"aria-expanded":x.value.has(Te.node.id)?"true":"false","aria-label":he(o)(x.value.has(Te.node.id)?"legend.a11y.collapseRow":"legend.a11y.expandRow",{label:Te.node.label}),onClick:kt(Wt=>_(Te.node.id,Wt),["stop"])},[...q[16]||(q[16]=[T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,G_)):(H(),Z("span",B_)),Te.node.color?(H(),Z("span",{key:2,class:"stl-dot",style:et({background:Te.node.color})},null,4)):(H(),Z("span",j_)),T("span",U_,ue(Te.node.label),1),J.value?(H(),Z("span",z_,ue(je(Te.node.count)),1)):_e("",!0),re.value?(H(),Z("span",K_,ue(Ae(Te.node.pop)),1)):_e("",!0),T("span",H_,[oe.value===Te.node.id?(H(),Z("button",{key:0,class:"stl-x-chip",title:he(o)("legend.a11y.clearSelection"),"aria-label":he(o)("legend.a11y.clearSelection"),onClick:q[6]||(q[6]=kt(Wt=>Y(Wt),["stop"]))},[...q[17]||(q[17]=[T("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,V_)):_e("",!0)])],14,D_)}),128)),Ce.value&&!R.value.length?(H(),Z("div",W_,[q[18]||(q[18]=T("span",{class:"stl-spinner"},null,-1)),T("span",null,"Loading "+ue((($e=$.value[V.value])==null?void 0:$e.label)||"rows")+"…",1)])):!R.value.length&&e.nodes.length===0?(H(),Z("div",Y_,"Loading data…")):R.value.length?_e("",!0):(H(),Z("div",q_,"No data at this level")),ut.value>0?(H(),Z("div",J_,[St(" Showing top "+ue($.value[V.value].topLimit.toLocaleString())+" of "+ue(Be.value.length.toLocaleString())+" — ",1),q[19]||(q[19]=T("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):_e("",!0)],2)])],10,m_),G.value?_e("",!0):(H(),Z("button",{key:0,class:"stl-reopen","data-theme":((nt=he(l))==null?void 0:nt.theme.value)||"dark",title:"Expand legend",onClick:q[7]||(q[7]=Te=>{G.value=!0,i("update:open",!0)})},[q[20]||(q[20]=T("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),T("span",X_,[te.value?(H(),Z(Ie,{key:0},[te.value.color?(H(),Z("span",{key:0,class:"stl-reopen-dot",style:et({background:te.value.color})},null,4)):_e("",!0),St(" "+ue(te.value.label),1)],64)):(H(),Z(Ie,{key:1},[St(ue(d.value),1)],64))]),q[21]||(q[21]=T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Z_))],64)}}},[["styles",[h_]],["__scopeId","data-v-9a83e3b3"]]),fd="peoplePraying",Sr=144,Ko={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},rn=Ko,Xs={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Q_=Xs;function Lr(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>=Sr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Qs(e){return Ko[Lr(e)]}function hd(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 md(e){return Lr(e)==="fullPrayer"}function bd(e){return Qs(e)}function ei({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Sr],Ko.fullPrayer,[">",t,0],Ko.hasPrayer,Ko.noPrayer]}const yd=ei,ev=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Sr,LABELS:Xs,PALETTE:Ko,PRAYER_COLORS:rn,PRAYER_LABELS:Q_,PROPERTY_KEY:fd,applyColor:ei,buildColorExpression:yd,checkHasFullPrayer:md,checkHasPrayer:hd,default:{name:"Prayer Progress",propertyKey:fd,palette:Ko,colors:Ko,labels:Xs,threshold:Sr,getColor:bd,applyColor:ei,buildColorExpression:yd,getPrayerLevel:Lr,getPrayerColor:Qs,checkHasPrayer:hd,checkHasFullPrayer:md},getColor:bd,getPrayerColor:Qs,getPrayerLevel:Lr},Symbol.toStringTag,{value:"Module"})),ti={};function _d(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:cn&&cn.tagName.toUpperCase()==="SCRIPT"&&cn.src||new URL("my-upg-100-list.js",document.baseURI).href}<"u"&&(ti==null?void 0:ti.VITE_API_BASE_URL)||""}const oi=fe(0),Pr=fe(0),Er=fe(0),ni=fe(!1),ai=fe(!1),ri=fe(null);let ba=null;async function tv(){if(!ni.value)return ba||(ai.value=!0,ri.value=null,ba=(async()=>{var e,t;try{const o=((e=ha==null?void 0:ha.sources)==null?void 0:e[ha.activeSource])||{},n=_d(),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();oi.value=Number(s.total||0),Pr.value=Number(s.total_with_prayer_committed??s.total_with_prayer??0),Er.value=Number(s.total_with_100_committed??s.total_with_full_prayer??0),ni.value=!0}catch(o){ri.value=o&&o.message?o.message:String(o)}finally{ai.value=!1,ba=null}})(),ba)}function ov(){return{total:oi,withPrayer:Pr,withFullPrayer:Er,loaded:ni,loading:ai,error:ri,load:tv,noPrayerCount:()=>Math.max(0,oi.value-Pr.value),hasPrayerCount:()=>Math.max(0,Pr.value-Er.value),fullPrayerCount:()=>Er.value}}const vd="engagementStatus",To={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},si=To,ii={notEngaged:"Unengaged",hasEngagement:"Engaged"},nv=ii;function kd(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)?To.hasEngagement:To.notEngaged}function li({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],To.hasEngagement,["==",t,1],To.hasEngagement,To.notEngaged]}const wd=li,av=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:si,ENGAGEMENT_LABELS:nv,LABELS:ii,PALETTE:To,PROPERTY_KEY:vd,applyColor:li,buildColorExpression:wd,default:{name:"Engagement Progress",propertyKey:vd,palette:To,colors:To,labels:ii,getColor:kd,applyColor:li,buildColorExpression:wd},getColor:kd},Symbol.toStringTag,{value:"Module"})),$d="adoptionStatus",Mo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ci=Mo,ui={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},rv=ui;function xd(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)?Mo.hasAdoption:Mo.notAdopted}function di({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Mo.hasAdoption,["==",t,1],Mo.hasAdoption,Mo.notAdopted]}const Ad=di,sv=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ci,ADOPTION_LABELS:rv,LABELS:ui,PALETTE:Mo,PROPERTY_KEY:$d,applyColor:di,buildColorExpression:Ad,default:{name:"Adoption Progress",propertyKey:$d,palette:Mo,colors:Mo,labels:ui,getColor:xd,applyColor:di,buildColorExpression:Ad},getColor:xd},Symbol.toStringTag,{value:"Module"})),pi="languageFamily",iv="#000000",Ho={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Sd=Ho;function to(e){return Ho[e]||iv}const lv=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Ho))t[e(o)]=o;return t})(),cv={"tai-kadai":"Kra-Dai",none:"Unknown"};function gi(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return cv[o]||lv[o]||t}function Ld(e){var t;return to(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function fi(){const e=["match",["get",pi]];return Object.entries(Ho).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Pd=fi,uv=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Sd,PALETTE:Ho,PROPERTY_KEY:pi,applyColor:fi,buildColorExpression:Pd,canonicalFamilyName:gi,default:{name:"Language Family",propertyKey:pi,palette:Ho,colors:Ho,getColor:Ld,applyColor:fi,buildColorExpression:Pd,getLanguageFamilyColor:to,canonicalFamilyName:gi},defaultFamilyColor:"#95a5a6",getColor:Ld,getLanguageFamilyColor:to,languageFamilyColors:Ho},Symbol.toStringTag,{value:"Module"})),Ed="religion",hi="#94a3b8",ya={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Ht={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function _a(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ya[t]?t:"U"}function Cd(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 Ht[_a(t)]||hi}function mi(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Ht.C,"M",Ht.M,"H",Ht.H,"B",Ht.B,"E",Ht.E,"J",Ht.J,"S",Ht.S,"N",Ht.N,"O",Ht.O,hi]}const Td=mi,dv=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ht,PROPERTY_KEY:Ed,RELIGION_FAMILIES:ya,applyColor:mi,buildColorExpression:Td,default:{name:"Religion",propertyKey:Ed,palette:Ht,families:ya,getColor:Cd,applyColor:mi,buildColorExpression:Td,fallback:hi},getColor:Cd,getReligionFamily:_a},Symbol.toStringTag,{value:"Module"})),Md="region",bi="#6d766e",Rd={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},va={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},yi=Object.keys(va);function Nd(e){var o,n,a;const t=(e==null?void 0:e.region)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return va[t]||bi}function _i(){const e=["match",["coalesce",["get","region"],""]];for(const t of yi)e.push(t,va[t]);return e.push(bi),e}const Id=_i,pv=Object.assign({"./adoption.js":sv,"./engagement.js":av,"./language-family.js":uv,"./prayer-progress.js":ev,"./religion.js":dv,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:va,PROPERTY_KEY:Md,REGION_ORDER:yi,WAGF_REGIONS:Rd,applyColor:_i,buildColorExpression:Id,default:{name:"WAGF Region",propertyKey:Md,palette:va,regions:Rd,order:yi,getColor:Nd,applyColor:_i,buildColorExpression:Id,fallback:bi},getColor:Nd},Symbol.toStringTag,{value:"Module"}))}),gv=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),fv=e=>e.replace(/-/g,"_").toUpperCase(),Mn={...{STATUS:"status",CUSTOM:"custom"}},vi={};function hv(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=gv(o);Mn[fv(o)]=a,vi[a]=n}}hv(pv);function Cr(e){return vi[e]||vi[Mn.LANGUAGE_FAMILY]}const Tt={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"};function mv(e){return(e==null?void 0:e.properties)||e||{}}function Tr(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function bv(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(Tt[n])return Tt[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(Tt[a])return Tt[a]}}if(Tt[e])return Tt[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&Tt[o]?Tt[o]:null}const yv=[[/ sign language$/i,"Sign Language"]];function _v(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function vv(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function kv(e){var s,i,l,u;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=Tr(t),n=gi(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((u=e._raw)==null?void 0:u.primary_language),r=Tr(a);if(r){const c=String(r).trim(),d=bv(c);if(d)return d;for(const[p,v]of yv)if(p.test(c))return v}return"Unknown"}function wv(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=Tr(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=Tr(o);return n&&String(n).trim()||"— Unknown —"}function $v(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 xv(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 Av(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function Sv(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 Lv(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function Mr(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function Od(e,t={}){t.aggregator;const o=pn({});function n(g){return!!o[g]}function a(g){o[g]=!o[g]}function r(g){const f=new Set(Array.isArray(g)?g:[]);for(const m of Object.keys(o))f.has(m)||(o[m]=!1);for(const m of f)o[m]=!0}const s=Q(()=>{const g=(e==null?void 0:e.value)||[],f=new Map;for(const m of g){const b=mv(m),h=kv(b),k=wv(b),A=_v(k),$=vv(k),S=$v(b),x=xv(m,b),E=Av(m,b),G=Sv(m,b);let U=f.get(h);U||(U={key:h,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},f.set(h,U)),U.peopleGroupCount+=1,U.population+=S,x!=null&&U.pinIds.push(x),G&&U.coords.push(G),E&&!U.clusterId&&(U.clusterId=E);let ee=U.languages.get(A);if(ee||(ee={key:A,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},U.languages.set(A,ee)),ee.peopleGroupCount+=1,ee.population+=S,x!=null&&ee.pinIds.push(x),G&&ee.coords.push(G),E&&!ee.clusterId&&(ee.clusterId=E),$){let F=ee.dialects.get($);F?F.originalLabels.add(k):(F={key:$,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([k])},ee.dialects.set($,F)),F.peopleGroupCount+=1,F.population+=S,x!=null&&F.pinIds.push(x),G&&F.coords.push(G)}}return f}),i=t.showAllKnown!==!1,l=Q(()=>{const g=s.value,f=[],m=new Set;for(const b of g.values())f.push({key:b.key,label:b.key,color:to(b.key),peopleGroupCount:b.peopleGroupCount,population:b.population,kind:b.clusterId?"cluster":"family",clusterId:b.clusterId||void 0,pinIds:b.pinIds,coords:b.coords}),m.add(b.key);if(i)for(const b of Object.keys(Sd))m.has(b)||f.push({key:b,label:b,color:to(b),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return f.sort(Lv),f});function u(g){const f=s.value.get(g);if(!f)return[];const m=[];for(const b of f.languages.values())m.push({key:`${g}__${b.key}`,label:b.key,color:to(g),peopleGroupCount:b.peopleGroupCount,population:b.population,kind:b.clusterId?"cluster":"language",familyKey:g,clusterId:b.clusterId||void 0,pinIds:b.pinIds,coords:b.coords,hasDialects:b.dialects.size>0});return m.sort(Mr),m}function c(g){const f=g.indexOf("__");if(f<0)return[];const m=g.slice(0,f),b=g.slice(f+2),h=s.value.get(m);if(!h)return[];const k=h.languages.get(b);if(!k)return[];const A=[];for(const $ of k.dialects.values())A.push({key:`${g}__${$.key}`,label:`${b}, ${$.key}`,dialectOnly:$.key,color:to(m),peopleGroupCount:$.peopleGroupCount,population:$.population,kind:"dialect",languageKey:b,familyKey:m,pinIds:$.pinIds,coords:$.coords,originalLabels:Array.from($.originalLabels)});return A.sort(Mr),A}const d=Q(()=>{const g=s.value,f=[];for(const m of g.values())for(const b of m.languages.values())f.push({key:`${m.key}__${b.key}`,label:b.key,color:to(m.key),peopleGroupCount:b.peopleGroupCount,population:b.population,kind:b.clusterId?"cluster":"language",familyKey:m.key,clusterId:b.clusterId||void 0,pinIds:b.pinIds,coords:b.coords,hasDialects:b.dialects.size>0});return f.sort(Mr),f}),p=Q(()=>{const g=s.value,f=[];for(const m of g.values())for(const b of m.languages.values())for(const h of b.dialects.values())f.push({key:`${m.key}__${b.key}__${h.key}`,label:`${b.key}, ${h.key}`,dialectOnly:h.key,color:to(m.key),peopleGroupCount:h.peopleGroupCount,population:h.population,kind:"dialect",languageKey:b.key,familyKey:m.key,pinIds:h.pinIds,coords:h.coords,originalLabels:Array.from(h.originalLabels)});return f.sort(Mr),f});function v(g){let f=g;if(typeof g=="string"&&(f=l.value.find(b=>b.key===g),!f))return;const m={kind:f.kind,pinIds:f.pinIds||[],coords:f.coords||[]};f.kind==="family"&&(m.familyKey=f.label),f.kind==="language"&&(m.languageKey=f.label,m.familyKey=f.familyKey),f.kind==="dialect"&&(m.dialectKey=f.key,m.dialectOnly=f.dialectOnly||f.label,m.languageKey=f.languageKey,m.familyKey=f.familyKey,m.originalLabels=f.originalLabels||[]),f.kind==="cluster"&&(m.clusterId=f.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:m}))}const w=Q(()=>{const g=s.value,f=[];for(const m of g.values()){const b=to(m.key),h=[];for(const A of m.languages.values()){A.key&&A.key!=="— Unknown —"&&h.push(A.key);for(const $ of A.dialects.values())for(const S of $.originalLabels)S&&h.push(S)}const k={id:`fam:${m.key}`,label:m.key,color:b,count:m.peopleGroupCount,pop:m.population,filter:h.length>0?["any",["==",["get","languageFamily"],m.key],["in",["get","language"],["literal",Array.from(new Set(h))]]]:["==",["get","languageFamily"],m.key],children:[]};for(const A of m.languages.values()){const $=A.key,S={id:`lang:${m.key}__${$}`,label:$,color:b,count:A.peopleGroupCount,pop:A.population,filter:["any",["==",["get","language"],$],["==",["slice",["get","language"],0,$.length+1],$+","],["in"," "+$,["get","language"]]],children:[]};for(const x of A.dialects.values()){const E=Array.from(x.originalLabels);S.children.push({id:`dial:${m.key}__${$}__${x.key}`,label:`${$}, ${x.key}`,color:b,count:x.peopleGroupCount,pop:x.population,filter:E.length===1?["==",["get","language"],E[0]]:["in",["get","language"],["literal",E]],originalLabels:E,children:[]})}k.children.push(S)}f.push(k)}return f.sort((m,b)=>b.pop-m.pop||b.count-m.count),f});return{rows:l,languageRows:d,dialectRows:p,langTree:w,toggle:a,isExpanded:n,setExpansionToOnly:r,childRowsFor:u,dialectRowsFor:c,highlight:v}}const Pv=[];function Ev(){const e=Cr(Mn.RESOURCE);return e&&e.propertyKey==="resourceType"?e:null}function Cv(){const e=Cr(Mn.DOXA_REGION);return e&&e.propertyKey==="doxaRegion"?e.palette||{}:{}}function Tv(){const e=Cr(Mn.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 sn(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 Fd=100;function Mv(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 ki(e){return t=>{const o=Mv(t);return e==="fullPrayer"?o>=Fd:e==="hasPrayer"?o>0&&o<Fd:o<=0}}function Dd(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 Gd(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 Rv={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 Rn(e){return e==="doxa-region"?"doxa-regions":e==="country"?"countries":e}function Nv(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function Iv(e){return(Number(e)||0).toLocaleString()}function Ov(e,t={}){const o=Fe("dataStore"),n=Fe("uiStore"),a=Fe("mapStore"),{t:r}=mt(),s=ov();s.load();const i=Q(()=>{if(Rn(e.value)==="religion")return"Religion";const m=Rv[e.value];return m?r(m):""}),l=Q(()=>Rn(e.value)==="affinity-blocs"?Pv:[{key:"count",label:r("legend.columns.upgs"),width:48},{key:"population",label:r("legend.columns.population"),width:48}]),u=Q(()=>{const f=Rn(e.value);return f==="prayer"?n.prayerFilter:f==="engagement"?n.engagementFilter:f==="adoption"?n.adoptionFilter:f==="language-families"?a.selectedFamily:f==="doxa-regions"?a.selectedRegion:f==="gospel-resources"?a.selectedResource:f==="religion"?n.religionFilter:null});function c(f){const m=Rn(e.value);m==="prayer"?n.setPrayerFilter(n.prayerFilter===f?null:f):m==="engagement"?n.setEngagementFilter(n.engagementFilter===f?null:f):m==="adoption"?n.setAdoptionFilter(n.adoptionFilter===f?null:f):m==="language-families"?a.selectFamily(a.selectedFamily===f?null:f):m==="doxa-regions"?a.selectRegion(a.selectedRegion===f?null:f):m==="gospel-resources"?a.selectResource(a.selectedResource===f?null:f):m==="religion"&&n.setReligionFilter(n.religionFilter===f?null:f)}const d=Q(()=>{var m,b,h,k;const f=Rn(e.value);if(f==="prayer"){const A=sn(o,ki("noPrayer")),$=sn(o,ki("hasPrayer")),S=sn(o,ki("fullPrayer")),x=s.loaded.value,E=x?s.noPrayerCount():A.count,G=x?s.hasPrayerCount():$.count,U=x?s.fullPrayerCount():S.count;return[{key:"noPrayer",label:r("legend.prayer.needsPrayer"),color:rn.noPrayer,count:E,population:A.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:r("legend.prayer.hasPrayer"),color:rn.hasPrayer,count:G,population:$.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:r("legend.prayer.fullPrayerCoverage"),color:rn.fullPrayer,count:U,population:S.population,filterKey:"fullPrayer"}]}]}if(f==="engagement"){const A=sn(o,S=>!Dd(S)),$=sn(o,S=>Dd(S));return[{key:"notEngaged",label:r("legend.engagement.needsEngagement"),color:si.notEngaged,count:A.count,population:A.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:r("legend.engagement.hasEngagement"),color:si.hasEngagement,count:$.count,population:$.population,filterKey:"hasEngagement"}]}]}if(f==="adoption"){const A=sn(o,S=>!Gd(S)),$=sn(o,S=>Gd(S));return[{key:"notAdopted",label:r("legend.adoption.needsAdoption"),color:ci.notAdopted,count:A.count,population:A.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:r("legend.adoption.hasAdoption"),color:ci.hasAdoption,count:$.count,population:$.population,filterKey:"hasAdoption"}]}]}if(f==="religion"){const A={},S=Object.values(o.sources||{}).flatMap(G=>(G==null?void 0:G.features)||[]);for(const G of S){const U=G.properties||G,ee=U.religion||((b=(m=U._raw)==null?void 0:m.religion)==null?void 0:b.value)||((h=U._raw)==null?void 0:h.religion)||"",F=_a(ee);A[F]||(A[F]={count:0,population:0}),A[F].count+=1,A[F].population+=parseInt(U.population||((k=U._raw)==null?void 0:k.Population)||0)||0}const x=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const G of x)delete A[G];return Object.keys(A).sort((G,U)=>G==="C"?-1:U==="C"?1:A[U].population-A[G].population).map(G=>({key:G,label:ya[G]||"Unknown",color:Ht[G]||"#94a3b8",count:A[G].count,population:A[G].population,filterKey:G,children:[]}))}if(f==="language-families")return(o.languageFamiliesData||[]).map(A=>({key:A.name,label:A.name,color:to(A.name),count:A.count,population:A.population,filterKey:A.name,children:[]}));if(f==="language-family"){const $={value:Object.values(o.sources||{}).flatMap(x=>(x==null?void 0:x.features)||[])},{rows:S}=Od($);return S.value.map(x=>({key:x.key,label:x.label,color:x.color,count:x.peopleGroupCount,population:x.population,filterKey:x.key,children:[]}))}if(f==="doxa-regions"){const A=Cv();return(o.doxaRegionsData||[]).map($=>({key:$.name,label:$.name,color:A[$.name]||"#999",count:$.count,population:$.population,filterKey:$.name,children:[]}))}if(f==="gospel-resources"){const A=Ev(),$=(A==null?void 0:A.palette)??{},S=(A==null?void 0:A.names)??{},x=o.resourcesData||[];return Object.keys($).map(E=>{const G=x.find(U=>U.key===E);return{key:E,label:S[E]||E,color:$[E],count:(G==null?void 0:G.count)||0,population:(G==null?void 0:G.population)||0,filterKey:E,children:((G==null?void 0:G.children)||[]).map(U=>({key:U.key,label:U.name||U.key,color:U.color||$[E],count:U.count||0,population:U.population||0,filterKey:U.key}))}})}if(f==="affinity-blocs"){const A=Tv();return Object.keys(A).sort().map($=>({key:$,label:$,color:A[$],filterKey:$,children:[]}))}return[]});function p(f,m){return f.reduce((b,h)=>{var A;let k=h[m]||0;return(A=h.children)!=null&&A.length&&(k+=p(h.children,m)),b+k},0)}const v=Q(()=>p(d.value,"count")),w=Q(()=>p(d.value,"population")),g=Q(()=>{if(Rn(e.value)!=="prayer")return null;const f=d.value[0];if(!f)return null;const m=(f.children||[]).find(S=>S.key==="hasPrayer"),b=(f.children||[]).find(S=>S.key==="fullPrayer"),h=Number(f.count)||0,k=Number(m==null?void 0:m.count)||0,A=Number(b==null?void 0:b.count)||0,$=(Number(m==null?void 0:m.population)||0)+(Number(b==null?void 0:b.population)||0);return{covered:k+A,total:v.value,coveredPopulation:$,totalPopulation:w.value,segments:[{key:"fullPrayer",label:(b==null?void 0:b.label)??r("legend.prayer.fullPrayerCoverage"),count:A,color:rn.fullPrayer},{key:"hasPrayer",label:(m==null?void 0:m.label)??r("legend.prayer.hasPrayer"),count:k,color:rn.hasPrayer},{key:"noPrayer",label:f.label,count:h,color:rn.noPrayer}]}});return{items:d,columns:l,title:i,activeFilter:u,setFilter:c,totalCount:v,totalPopulation:w,progress:g,fmtPop:Nv,fmtCount:Iv}}const Fv={excludeReligionFamilies:["C"]},Dv="",Gv={key:0,class:"lrg-title-row"},Bv={class:"lrg-title-caret-slot"},jv={class:"lrg-title"},Uv=["data-lrg-filter-key"],zv=["onClick"],Kv={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},Hv=["onClick"],Vv={class:"lrg-name"},Wv={class:"lrg-badge-inner"},Yv=["data-lrg-filter-key"],qv=["onClick"],Jv={class:"lrg-name"},Zv={class:"lrg-badge-inner"},Xv={key:1,class:"lrg-footer"},Qv={class:"lrg-footer-label"},ek=En({__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}=mt();$t(`
|
||
.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=Fe("legendProgress",null),a=Q(()=>o.progress??he(n)??null),r=Q(()=>a.value?t("legend.progress.title"):o.title),s=fe(null);function i(p){let v=p.parentElement;for(;v;){const w=getComputedStyle(v).overflowY;if((w==="auto"||w==="scroll")&&v.scrollHeight>v.clientHeight+1){const g=p.getBoundingClientRect(),f=v.getBoundingClientRect();v.scrollTop+=g.top-f.top-8}v=v.parentElement}}let l=0;rt(()=>o.activeFilter,async p=>{if(!p)return;const v=++l,w=s.value;if(!w)return;await lo();const g=(f=0)=>{if(v!==l)return;const m=w.querySelector(`[data-lrg-filter-key="${CSS.escape(String(p))}"]`);m&&i(m),f<6&&setTimeout(()=>g(f+1),70)};g(0)});const u=pn({});function c(p){u[p]=!u[p]}const d=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(p,v)=>(H(),Z("div",{class:Ne(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[T("div",{class:"lrg-items",style:et({"--lrg-grid-cols":d.value}),ref_key:"itemsContainer",ref:s},[!e.hideColumnHeader&&(e.title||e.columns.length)?(H(),Z("div",Gv,[T("span",Bv,[_n(p.$slots,"title-caret",{},void 0,!0)]),T("span",jv,ue(r.value),1),(H(!0),Z(Ie,null,vt(e.columns,w=>(H(),Z("span",{key:w.key,class:"lrg-header-col"},ue(w.label),1))),128)),a.value?(H(),lt(pd,{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:v[0]||(v[0]=w=>p.$emit("filter-click",w))},null,8,["covered","total","segments","is-dark","fmt-count"])):_e("",!0)])):_e("",!0),(H(!0),Z(Ie,null,vt(e.items,w=>(H(),Z(Ie,{key:w.key},[T("div",{class:"lrg-row","data-lrg-filter-key":w.filterKey},[w.children&&w.children.length&&!e.disableCollapse?(H(),Z("button",{key:0,class:Ne(["lrg-caret",{expanded:!u[w.key]}]),onClick:kt(g=>c(w.key),["stop"]),"aria-label":"Toggle children"},[...v[1]||(v[1]=[T("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,zv)):(H(),Z("span",Kv)),T("div",{class:Ne(["lrg-item",{selected:e.activeFilter===w.filterKey}]),onClick:g=>p.$emit("filter-click",w.filterKey)},[T("div",{class:"lrg-item-inner",style:et({backgroundColor:w.color,"--lrg-item-color":w.color})},[T("span",Vv,ue(w.label),1),(H(!0),Z(Ie,null,vt(e.columns,g=>(H(),Z("span",{key:g.key,class:"lrg-badge"},[T("span",Wv,ue(g.key==="population"?e.fmtPop(w.population):e.fmtCount(w.count)),1)]))),128))],4)],10,Hv)],8,Uv),w.children&&w.children.length&&!u[w.key]?(H(!0),Z(Ie,{key:0},vt(w.children,g=>(H(),Z("div",{key:g.key,class:"lrg-row lrg-row-child","data-lrg-filter-key":g.filterKey},[v[2]||(v[2]=T("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),T("div",{class:Ne(["lrg-item",{selected:e.activeFilter===g.filterKey}]),onClick:f=>p.$emit("filter-click",g.filterKey)},[T("div",{class:"lrg-item-inner",style:et({backgroundColor:g.color,"--lrg-item-color":g.color})},[T("span",Jv,ue(g.label),1),(H(!0),Z(Ie,null,vt(e.columns,f=>(H(),Z("span",{key:f.key,class:"lrg-badge"},[T("span",Zv,ue(f.key==="population"?e.fmtPop(g.population):e.fmtCount(g.count)),1)]))),128))],4)],10,qv)],8,Yv))),128)):_e("",!0)],64))),128)),e.columns.length&&e.showFooter?(H(),Z("div",Xv,[v[3]||(v[3]=T("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),T("span",Qv,ue(he(t)("legend.footer.total")),1),(H(!0),Z(Ie,null,vt(e.columns,w=>(H(),Z("span",{key:w.key,class:"lrg-footer-value"},ue(w.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):_e("",!0)],4)],2))}},[["styles",[Dv]],["__scopeId","data-v-b2cd86d3"]]),tk="#6b7280";function ok(){const e=Cr(Mn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function nk(e,t){const o=ok();return e&&o[e]?o[e]:tk}function ak(e){return(e==null?void 0:e.properties)||e||{}}function wi(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function rk(e){var t;return String(e.affinityBlock||wi((t=e._raw)==null?void 0:t.rop1)||"").trim()}function sk(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function ik(e){var t;return String(e.cluster||wi((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function lk(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 ck(e){var t;return String(e.peopleGroup||wi((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function uk(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 dk(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function pk(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function gk(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 fk(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function hk(e){const t=Q(()=>{const r=e&&e.value||[],s=new Map;for(const i of r){const l=ak(i),u=rk(l),c=sk(l)||u||"— Unknown —",d=ik(l),p=lk(l)||d||"— Unknown —",v=ck(l),w=uk(l)||v||"— Unknown —",g=dk(l),f=pk(l)||g,m=gk(l),b=fk(l);if(!g)continue;let h=s.get(u||"__unknown__");h||(h={code:u,label:c,count:0,pop:0,memberIds:[],clusters:new Map},s.set(u||"__unknown__",h)),h.count+=1,h.pop+=m,h.memberIds.push(g);let k=h.clusters.get(d||"__unknown__");k||(k={code:d,label:p,count:0,pop:0,memberIds:[],peopleGroups:new Map},h.clusters.set(d||"__unknown__",k)),k.count+=1,k.pop+=m,k.memberIds.push(g);let A=k.peopleGroups.get(v||"__unknown__");A||(A={code:v,label:w,count:0,pop:0,memberIds:[],instances:[]},k.peopleGroups.set(v||"__unknown__",A)),A.count+=1,A.pop+=m,A.memberIds.push(g),A.instances.push({id:g,name:f,country:b,pop:m})}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=nk(i.code,i.label),u={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:o(i.memberIds),children:[]};for(const c of i.clusters.values()){const d={id:`cluster:${i.code}__${c.code||c.label}`,label:`${c.label} (Cluster)`,color:l,count:c.count,pop:c.pop,filter:o(c.memberIds),children:[]};for(const p of c.peopleGroups.values()){const v={id:`pg:${i.code}__${c.code}__${p.code||p.label}`,label:`${p.label} (PG)`,color:l,count:p.count,pop:p.pop,filter:o(p.memberIds),children:[]};p.instances.sort((w,g)=>g.pop-w.pop||w.country.localeCompare(g.country));for(const w of p.instances)v.children.push({id:`pgic:${w.id}`,label:`${w.country?`${w.name}, ${w.country}`:w.name} (PGIC)`,color:l,count:1,pop:w.pop,filter:["==",["get","uniqueId"],w.id],children:[]});d.children.push(v)}d.children.sort((p,v)=>v.count-p.count||v.pop-p.pop),u.children.push(d)}u.children.sort((c,d)=>d.count-c.count||d.pop-c.pop),s.push(u)}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 mk={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},bk="#95a5a6";function yk(e){return mk[String(e||"").toLowerCase()]||bk}function _k(e){return(e==null?void 0:e.properties)||e||{}}function vk(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 kk(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 wk(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 $k(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 xk(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 Ak(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 Sk(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 Lk(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=_k(s),l=kk(i),u=wk(i)||l||"— Unknown —",c=$k(i),d=xk(i)||c||"— Unknown —",p=Ak(i),v=Sk(i)||p||"— Unknown —",w=vk(i);if(!l||l==="na"||l==="none")continue;let g=r.get(l);if(g||(g={slug:l,label:u,count:0,pop:0,blocks:new Map},r.set(l,g)),g.count+=1,g.pop+=w,!c||c==="na")continue;let f=g.blocks.get(c);if(f||(f={slug:c,label:d,count:0,pop:0,countries:new Map},g.blocks.set(c,f)),f.count+=1,f.pop+=w,!p)continue;let m=f.countries.get(p);m||(m={iso:p,name:v,count:0,pop:0},f.countries.set(p,m)),m.count+=1,m.pop+=w}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=yk(s.slug),l=[],u=[],c=[...s.blocks.values()].sort((d,p)=>p.pop-d.pop||d.label.localeCompare(p.label));for(const d of c){const p=[],v=[],w=[...d.countries.values()].sort((g,f)=>f.pop-g.pop||g.name.localeCompare(f.name));for(const g of w)p.push(g.iso),l.push(g.iso),v.push({id:`country:${s.slug}__${d.slug}__${g.iso}`,label:g.name,color:i,count:g.count,pop:g.pop,filter:["==",["get","countryIso"],g.iso],isoCodes:[g.iso],children:[]});u.push({id:`block:${s.slug}__${d.slug}`,label:`${d.label} (Bloc)`,color:i,count:d.count,pop:d.pop,filter:["==",["get","wagfBlock"],d.slug],isoCodes:p,children:v})}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:u})}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 Bd="doxa-prayed-local";function Pk(){try{const e=localStorage.getItem(Bd);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Ek(e){try{localStorage.setItem(Bd,JSON.stringify(e))}catch{}}function Ck(e){if(!e)return;const t=Pk();t[e]=Date.now(),Ek(t);try{window.dispatchEvent(new CustomEvent("doxa:prayed-locally",{detail:{slug:e}}))}catch{}}const jd=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Ud(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%jd.length,n=jd[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function Tk(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=Ud(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 Mk=".people-group-detail[data-v-06241c48]{display:flex;flex-direction:column;height:100%;overflow-y:auto}.detail-header[data-v-06241c48]{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-06241c48]{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.header-text[data-v-06241c48]{flex:1;min-width:0}.people-group-name[data-v-06241c48]{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-06241c48]{margin:4px 0 0;font-size:13px;color:#666;line-height:1.2}.close-button[data-v-06241c48]{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color .2s ease;flex-shrink:0}.close-button[data-v-06241c48]:hover{color:#333}.detail-content[data-v-06241c48]{padding:6px 12px 12px;flex:1;overflow-y:auto}.quick-stats[data-v-06241c48]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.stat-item[data-v-06241c48]{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.stat-label[data-v-06241c48]{color:#666;font-weight:500}.stat-value[data-v-06241c48]{color:#333;font-weight:600;text-align:right}.action-buttons[data-v-06241c48]{display:flex;gap:8px;padding-top:4px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}.action-btn[data-v-06241c48]{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-06241c48]{background:#92b195;color:#fff}.action-btn.primary[data-v-06241c48]:hover{background:#73a17f;box-shadow:0 2px 4px #92b1954d}.action-btn.secondary[data-v-06241c48]{background:#ecf0f1;color:#333}.action-btn.secondary[data-v-06241c48]:hover{background:#d5dbdb}.btn-icon[data-v-06241c48]{flex-shrink:0}.image-container[data-v-06241c48]{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5}.image-container.position-above[data-v-06241c48]{width:120px;height:150px;margin:0 auto 16px}.image-container.position-inside[data-v-06241c48]{width:200px;height:250px;margin:0 auto 16px}.people-group-image[data-v-06241c48]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.people-group-image.loaded[data-v-06241c48]{opacity:1}.image-placeholder-svg[data-v-06241c48]{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-06241c48]{opacity:0;pointer-events:none}.image-container[data-v-06241c48]{position:relative}.description-section[data-v-06241c48]{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.description-text[data-v-06241c48]{margin:0;font-size:14px;line-height:1.6;color:#555}.description-text.empty[data-v-06241c48]{color:#999;font-style:italic}.action-buttons[data-v-06241c48]::-webkit-scrollbar{height:4px}.action-buttons[data-v-06241c48]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.action-buttons[data-v-06241c48]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.action-buttons[data-v-06241c48]::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 480px){.people-group-name[data-v-06241c48]{font-size:16px}.stat-item[data-v-06241c48]{font-size:13px}.action-btn[data-v-06241c48]{padding:8px 14px;font-size:13px}}",Rk={key:0,class:"detail-header"},Nk={class:"header-left"},Ik={class:"header-text"},Ok={class:"people-group-name"},Fk={class:"people-group-subtitle"},Dk=["aria-label"],Gk={class:"detail-content"},Bk={key:0,class:"pg-name-lead"},jk={class:"action-buttons"},Uk={class:"quick-stats"},zk={class:"stat-item"},Kk={class:"stat-label"},Hk={class:"stat-value"},Vk={class:"stat-item"},Wk={class:"stat-label"},Yk={class:"stat-value"},qk={class:"stat-item"},Jk={class:"stat-label"},Zk={class:"stat-value"},Xk={class:"stat-item"},Qk={class:"stat-label"},ew={class:"stat-value"},tw={class:"stat-item stat-committed"},ow={class:"stat-label"},nw={class:"stat-value"},aw={key:1,class:"image-container position-inside"},rw=["src","alt"],sw={key:2,class:"description-section"},iw={key:0,class:"description-text"},lw={key:1,class:"description-text empty"},zd="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Kd=En({__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}=mt();$t(`
|
||
.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=Fe("uiStore"),r=Fe("profileConfig",null),s=Q(()=>a.legendState),i=Q(()=>a.isMobile),l=Q(()=>!i.value||s.value==="fullyOpen"),u=Q(()=>Ud(n.peopleGroup.properties.name)),c=Q(()=>u.value.letter),d=Q(()=>Tk(n.peopleGroup.properties.name,{size:32,borderRadius:4})),p=Q(()=>n.peopleGroup.properties),v=fe(null),w=fe(!1),g=Q(()=>p.value.slug||"");async function f(L){if(!L)return;const D=_d();if(D)try{const z=await fetch(`${D}/api/people-groups/detail/${encodeURIComponent(L)}?lang=${encodeURIComponent(o.value)}`);if(!z.ok)throw new Error(`HTTP ${z.status}`);v.value=await z.json()}catch{v.value=null}}rt(g,L=>{w.value=!1,v.value=null,f(L)},{immediate:!0});const m=Q(()=>{var L;return p.value.countryName||p.value.countryIsoLabel||p.value.country||p.value.countryIso||((L=p.value._raw)==null?void 0:L.Country)||""}),b=Q(()=>{var z;const L=p.value.status||((z=p.value._raw)==null?void 0:z.Status),D=m.value||"Unknown";return L?`${D} • ${L}`:D}),h=Q(()=>{var D;const L=p.value.language||((D=p.value._raw)==null?void 0:D.Language);if(!L)return"Unknown";if(typeof L=="object"&&L.label)return L.label;if(typeof L=="string"&&L.startsWith("{"))try{const z=JSON.parse(L);if(z!=null&&z.label)return z.label}catch{}return L}),k=Q(()=>{var L;return p.value.population||((L=p.value._raw)==null?void 0:L.Population)||0}),A=Q(()=>{var D,z;const L=[(D=v.value)==null?void 0:D.people_praying,p.value.peoplePraying,(z=p.value._raw)==null?void 0:z.people_praying];for(const se of L)if(se!=null&&se!=="")return Number(se);return null}),$=Q(()=>A.value===null?"—":A.value.toLocaleString()),S=Q(()=>{var L;return p.value.religionName||p.value.religionLabel||p.value.religion||((L=p.value._raw)==null?void 0:L.Religion)||""}),x=Q(()=>{var L,D,z;return((L=v.value)==null?void 0:L.imb_people_description)||((D=v.value)==null?void 0:D.description)||p.value.description||((z=p.value._raw)==null?void 0:z.Description)||""}),E=Q(()=>{var L,D,z;return((L=v.value)==null?void 0:L.image_url)||((D=v.value)==null?void 0:D.imageUrl)||p.value.imageUrl||((z=p.value._raw)==null?void 0:z.ImageURL)||zd}),G=Q(()=>{const L=parseInt(k.value);return L>=1e6?`${(L/1e6).toFixed(1)}M`:L>=1e3?`${(L/1e3).toFixed(1)}K`:L.toLocaleString()});function U(){a.selectPeopleGroup(null)}function ee(){var se;let L="";try{L=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(se=r==null?void 0:r.value)==null?void 0:se.utmSource,z=typeof window<"u"&&window.DOXA_UTM_SOURCE||"";return encodeURIComponent(String(L||D||z||"agwm"))}function F(L){return`https://pray.doxa.life/${encodeURIComponent(L)}?source=doxalife&utm_source=${ee()}`}function j(L){return`${N()}/adopt/${encodeURIComponent(L)}/?source=doxalife&utm_source=${ee()}`}function N(){const L=typeof window<"u"&&window.DOXA_SITE_URL||"";return String(L||"https://doxa.life").replace(/\/+$/,"")}function C(L){return`${N()}/research/${encodeURIComponent(L)}/?utm_source=${ee()}`}function V(){const L=g.value;if(!L)return;n.action!=="adopt"&&Ck(L);const D=n.action==="adopt"?j(L):F(L);window.open(D,"_blank","noopener")}function te(){const L=g.value;L&&window.open(C(L),"_blank","noopener")}function oe(L){L.target.dataset.usedFallback||(L.target.dataset.usedFallback="true",L.target.src=zd)}return(L,D)=>(H(),Z("div",{class:Ne(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?_e("",!0):(H(),Z("div",Rk,[T("div",Nk,[T("div",{class:"avatar",style:et(d.value)},ue(c.value),5),T("div",Ik,[T("h3",Ok,ue(e.peopleGroup.properties.name),1),T("p",Fk,ue(b.value),1)])]),T("button",{class:"close-button",onClick:U,"aria-label":he(t)("aria.closeDetailView")},[...D[1]||(D[1]=[T("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[T("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Dk)])),T("div",Gk,[e.hideHeader?(H(),Z("h3",Bk,ue(e.peopleGroup.properties.name||he(t)("legend.header.peopleGroupFallback")),1)):_e("",!0),T("div",jk,[e.action==="pray"||e.action==="adopt"?(H(),Z("button",{key:0,class:"action-btn primary",onClick:V},[D[2]||(D[2]=T("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[T("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),T("span",null,ue(e.action==="adopt"?he(t)("buttons.adoptThem"):he(t)("buttons.prayForThem")),1)])):_e("",!0),T("button",{class:"action-btn secondary",onClick:te},[D[3]||(D[3]=T("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[T("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),T("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),T("span",null,ue(he(t)("buttons.moreInfo")),1)])]),T("div",Uk,[T("div",zk,[T("span",Kk,ue(he(t)("detail.labels.country")),1),T("span",Hk,ue(m.value||"—"),1)]),T("div",Vk,[T("span",Wk,ue(he(t)("detail.labels.population")),1),T("span",Yk,ue(G.value||"—"),1)]),T("div",qk,[T("span",Jk,ue(he(t)("detail.labels.language")),1),T("span",Zk,ue(h.value||"—"),1)]),T("div",Xk,[T("span",Qk,ue(he(t)("detail.labels.religion")),1),T("span",ew,ue(S.value||"—"),1)]),T("div",tw,[T("span",ow,ue(he(t)("detail.labels.peopleCommitted")),1),T("span",nw,ue($.value),1)])]),l.value?(H(),Z("div",aw,[T("div",{class:Ne(["image-placeholder-svg",{hidden:w.value}])},[...D[4]||(D[4]=[T("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[T("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),T("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),E.value?(H(),Z("img",{key:0,src:E.value,alt:`${e.peopleGroup.properties.name} people group`,class:Ne(["people-group-image",{loaded:w.value}]),onLoad:D[0]||(D[0]=z=>w.value=!0),onError:oe},null,42,rw)):_e("",!0)])):_e("",!0),l.value?(H(),Z("div",sw,[x.value?(H(),Z("p",iw,ue(x.value),1)):(H(),Z("p",lw,ue(he(t)("detail.messages.noDescription")),1))])):_e("",!0)])],2))}},[["styles",[Mk]],["__scopeId","data-v-06241c48"]]),cw=Object.freeze(Object.defineProperty({__proto__:null,default:Kd},Symbol.toStringTag,{value:"Module"})),uw="",dw={class:"legend-sheet-root"},pw=["src","alt"],gw={key:0,class:"pull-tab-handle"},fw=["aria-label"],hw=["aria-label"],mw=["aria-label"],bw={class:"collapsed-detail-title"},yw={class:"legend-content"},_w=["aria-label"],vw=["aria-label"],Hd=80,kw=48,ww=44,$w=24,Vd="--legend-sheet-h",xw=En({__name:"LegendMobile",props:{legendType:{type:String,required:!0},nodes:{type:Array,default:null},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},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}=mt();$t(`
|
||
.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=Fe("uiStore");Fe("mapStore");const a=Fe("dataStore"),r=Fe("onSemanticTreeSelect",()=>{}),s=Fe("onLegendExport",null),i=Q(()=>typeof s=="function"),l=mg(o,"legendType"),{items:u,columns:c,title:d,activeFilter:p,setFilter:v,totalCount:w,totalPopulation:g,fmtPop:f,fmtCount:m}=Ov(l,Fv),b=Fe("normalizedPeopleGroups",null),h=Q(()=>{var y,O;if((y=b==null?void 0:b.value)!=null&&y.length)return b.value;const _=[];for(const Y in(a==null?void 0:a.sources)||{}){const de=a.sources[Y];(O=de==null?void 0:de.features)!=null&&O.length&&_.push(...de.features)}return _}),k={get value(){return h.value}},{langTree:A}=Od(k),{affinityTree:$}=hk(k),{regionsTree:S}=Lk(k),x=[{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."}],E=[{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."}],G=[{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."}],U=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function ee(_){const y=[];for(const O of _){y.push({id:O.key,label:O.label,color:O.color,count:O.count??0,pop:O.population??0,filter:O.filterKey?["==",["get","_flat_filter"],O.filterKey]:null,children:[]});for(const Y of O.children||[])y.push({id:Y.key,label:Y.label,color:Y.color,count:Y.count??0,pop:Y.population??0,filter:Y.filterKey?["==",["get","_flat_filter"],Y.filterKey]:null,children:[]})}return y}const F=Q(()=>o.nodes?o.nodes:U.value?ee(u.value):o.legendType==="affinity-block"?$.value:o.legendType==="doxa-regions"?S.value:A.value),j=Q(()=>o.nodes?o.tabs:U.value?null:o.legendType==="affinity-block"?E:o.legendType==="doxa-regions"?G:x),N=Q(()=>o.title?o.title:U.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),C=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":U.value?"Status":""),V=fe(null),te=fe(!1),oe={pending:null,active:!1,startY:0,startH:0,startState:"",containerH:0,maxH:0,lastH:0,contentEl:null};let L=0;const D=()=>Date.now()-L<400,z=Q(()=>n.legendState),se=Q(()=>n.legendHeight),me=Q(()=>n.caretRotation),ge=Q(()=>n.showPullTab),Ce=Q(()=>n.legendMode),Se=Q(()=>n.selectedPeopleGroup),Oe=Q(()=>{var _;return Ce.value==="detail"&&Se.value?((_=Se.value.properties)==null?void 0:_.name)||t("legend.header.peopleGroupFallback"):z.value==="collapsed"?o.title||t("legend.header.collapsed"):o.title||d.value});function Be(_){n.handleLegendItemClick(),v(_)}function Ge(){D()||n.toggleLegend()}function ut(){D()||(n.selectPeopleGroup(null),n.openLegend())}const P=Q(()=>{var y;if(!Se.value)return null;const _=Se.value.properties||{};return _.imageUrl||((y=_._raw)==null?void 0:y.ImageURL)||null});function R(_){var le;if(z.value==="collapsed")return;const y=_.touches[0],O=V.value;if(!y||!O)return;const de=y.clientY-O.getBoundingClientRect().top<=ww?"grab":Ce.value==="detail"?"content":null;de&&(oe.pending=de,oe.active=!1,oe.startY=y.clientY,oe.startH=O.offsetHeight,oe.lastH=oe.startH,oe.startState=z.value,oe.containerH=((le=O.parentElement)==null?void 0:le.offsetHeight)||window.innerHeight,oe.maxH=oe.containerH-Hd,oe.contentEl=O.querySelector(".legend-content"))}function M(_){if(!oe.pending&&!oe.active)return;const y=_.touches[0];if(!y)return;const O=oe.startY-y.clientY;if(!oe.active){if(O===0)return;let de=oe.pending==="grab";if(oe.pending==="content"){const le=!oe.contentEl||oe.contentEl.scrollTop<=0;de=O>0?oe.startH<oe.maxH-1:le}if(oe.pending=null,!de)return;oe.active=!0,te.value=!0}_.preventDefault();const Y=Math.round(Math.min(oe.maxH,Math.max(kw,oe.startH+O)));oe.lastH=Y,n.setLegendHeight(`${Y}px`)}function J(){if(oe.pending=null,!oe.active)return;oe.active=!1,te.value=!1,L=Date.now();const _=oe.lastH,y=_-oe.startH,O=oe.containerH*.3;if(Ce.value!=="detail"){_<O*.5&&n.collapseLegend();return}if(Math.abs(y)<$w){re(oe.startState);return}if(_<O*.5){n.collapseLegend();return}y>0?n.fullyOpenLegend():oe.startState==="fullyOpen"?n.openLegend():n.collapseLegend()}function re(_){_==="fullyOpen"?n.fullyOpenLegend():_==="collapsed"?n.collapseLegend():n.openLegend()}let ae=null,ie=null,ce=null;return co(()=>{const _=V.value;if(!_||typeof ResizeObserver>"u")return;const y=_.getRootNode();ie=y instanceof ShadowRoot?y.host:y.documentElement||null,ie&&(ce=_,ae=new ResizeObserver(()=>{const O=_.offsetHeight;O<=0||(ie.style.setProperty(Vd,`${O}px`),ie.__legendSheetVarOwner=_)}),ae.observe(_))}),Zt(()=>{ae&&(ae.disconnect(),ae=null),ie&&ie.__legendSheetVarOwner===ce&&(ie.style.removeProperty(Vd),ie.__legendSheetVarOwner=null),ie=null,ce=null}),(_,y)=>{var O;return H(),Z("div",dw,[Ce.value==="detail"&&Se.value&&z.value==="open"&&P.value?(H(),Z("div",{key:0,class:"floating-mini-image",onClick:y[0]||(y[0]=Y=>he(n).fullyOpenLegend())},[T("img",{src:P.value,alt:(O=Se.value.properties)==null?void 0:O.name,class:"mini-image"},null,8,pw)])):_e("",!0),T("div",{ref_key:"sheetRef",ref:V,class:Ne(["legend-mobile-sheet",[z.value,{"sheet-dark":e.isDark,dragging:te.value}]]),style:et({height:se.value,"--legend-sheet-top-reserve":Hd+"px"}),onTouchstart:R,onTouchmove:M,onTouchend:J,onTouchcancel:J},[T("div",{class:"sheet-drag-strip",onClick:Ge},[ge.value?(H(),Z("div",gw)):_e("",!0)]),Ce.value==="detail"&&z.value!=="collapsed"?(H(),Z("button",{key:0,class:"detail-collapse-btn-mobile",onClick:kt(Ge,["stop"]),"aria-label":he(t)("aria.toggleLegend")},null,8,fw)):_e("",!0),Ce.value==="detail"&&z.value!=="collapsed"?(H(),Z("button",{key:1,class:"detail-close-btn",onClick:kt(ut,["stop"]),"aria-label":he(t)("aria.backToLegend")},[...y[2]||(y[2]=[T("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[T("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,hw)):_e("",!0),z.value==="collapsed"&&Ce.value==="detail"&&Se.value?(H(),Z("div",{key:2,class:"collapsed-detail-footer",onClick:Ge},[T("button",{class:"mobile-collapse-caret",style:et({transform:`rotate(${me.value}deg)`}),"aria-label":he(t)("aria.toggleLegend"),tabindex:"-1"},[...y[3]||(y[3]=[T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,mw),T("span",bw,ue(Oe.value),1)])):_e("",!0),T("div",yw,[Ce.value==="detail"&&Se.value?(H(),Z(Ie,{key:0},[z.value!=="collapsed"?(H(),lt(Kd,{key:0,peopleGroup:Se.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):_e("",!0)],64)):e.legendType!=="default"?(H(),lt(gd,{key:1,nodes:F.value,tabs:j.value,"default-tab":e.defaultTab,title:Oe.value||N.value,hideTabs:e.nodes?!e.tabs:U.value,columnLabel:C.value,columns:e.columns||["count","pop"],"export-enabled":i.value,onSelect:he(r),onExport:y[1]||(y[1]=Y=>he(s)&&he(s)(Y))},{"title-caret":zt(()=>[T("button",{class:"mobile-collapse-caret",style:et({transform:`rotate(${me.value}deg)`}),onClick:kt(Ge,["stop"]),"aria-label":he(t)("aria.toggleLegend")},[...y[4]||(y[4]=[T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,_w)]),_:1},8,["nodes","tabs","default-tab","title","hideTabs","columnLabel","columns","export-enabled","onSelect"])):(H(),lt(ek,{key:2,title:Oe.value,items:he(u),columns:he(c),activeFilter:he(p),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:he(w),totalPopulation:he(g),fmtPop:he(f),fmtCount:he(m),onFilterClick:Be},{"title-caret":zt(()=>[T("button",{class:"mobile-collapse-caret",style:et({transform:`rotate(${me.value}deg)`}),onClick:kt(Ge,["stop"]),"aria-label":he(t)("aria.toggleLegend")},[...y[5]||(y[5]=[T("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[T("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,vw)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],38)])}}},[["styles",[uw]],["__scopeId","data-v-219e3847"]]),Aw={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=fe(null);return Nt("mapToolbar",{el:t}),$t(`
|
||
.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)=>(H(),Z("div",{ref_key:"toolbarEl",ref:t,class:Ne(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[_n(o.$slots,"default")],2))}},Sw=["title","aria-label","disabled"],ln={__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 $t(`
|
||
.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:focus-visible{outline:2px solid #1a73e8;outline-offset:2px;}
|
||
.mcb.dark:focus-visible{outline:2px solid #92b195;outline-offset:2px;}
|
||
.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)=>(H(),Z("button",{class:Ne(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[_n(t.$slots,"default")],10,Sw))}},Lw={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=mt(),o=e;function n(){var a;o.disabled||(a=o.map)==null||a.zoomIn()}return(a,r)=>(H(),lt(ln,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomIn"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[T("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Pw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=mt(),o=e;function n(){var a;o.disabled||(a=o.map)==null||a.zoomOut()}return(a,r)=>(H(),lt(ln,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomOut"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[T("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Ew={__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}=mt(),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)=>(H(),lt(ln,{"is-dark":e.isDark,title:he(t)("buttons.resetView"),onClick:a},{default:zt(()=>[...s[0]||(s[0]=[T("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[T("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"]))}},Cw={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Tw={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Mw={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=mt(),n=e,a=t,r=fe(!1);let s=null,i=null,l=null,u=null,c=null,d=null,p=null,v=null,w=null,g=null,f=null,m=0,b=0,h=null,k=null;function A(){if(typeof document>"u")return!1;const N=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(N)||N.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function $(){var N,C,V;return((V=(C=(N=n.mapContainer)==null?void 0:N.getRootNode)==null?void 0:C.call(N))==null?void 0:V.host)??null}function S(){var C,V;const N=(V=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:V.call(C);return document.fullscreenElement||document.webkitFullscreenElement||(N&&N instanceof ShadowRoot?N.fullscreenElement:null)||null}function x(N){const C=N.requestFullscreen||N.webkitRequestFullscreen;if(!C)return Promise.reject(new Error("Fullscreen API unavailable"));const V=C.call(N);return V&&typeof V.then=="function"?V:Promise.resolve()}function E(){const N=document.exitFullscreen||document.webkitExitFullscreen;if(!N)return Promise.reject(new Error("Fullscreen API unavailable"));const C=N.call(document);return C&&typeof C.then=="function"?C:Promise.resolve()}function G(){const N=$();if(!N)return!1;if(l=N,i=N.style.cssText,N.style.position="fixed",N.style.top="0",N.style.left="0",N.style.right="0",N.style.bottom="0",N.style.width="100vw",N.style.height="100vh",N.style.height="100dvh",N.style.zIndex="2147483647",N.style.margin="0",N.style.borderRadius="0",N.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){m=window.scrollY||window.pageYOffset||0,b=window.scrollX||window.pageXOffset||0;const C=document.body,V=document.documentElement;u=C?C.style.overflow:null,c=V?V.style.overflow:null,d=C?C.style.position:null,p=C?C.style.top:null,v=C?C.style.left:null,w=C?C.style.width:null,g=C?C.style.touchAction:null,f=V?V.style.touchAction:null,V&&(V.style.overflow="hidden",V.style.touchAction="none"),C&&(C.style.overflow="hidden",C.style.position="fixed",C.style.top=`-${m}px`,C.style.left=`-${b}px`,C.style.width="100%",C.style.touchAction="none"),h=te=>{if(!l)return;const oe=te.target;oe&&(oe===l||l.contains&&l.contains(oe))||te.cancelable&&te.preventDefault()},k=te=>{if(!l)return;const oe=te.target;oe&&(oe===l||l.contains&&l.contains(oe))||te.cancelable&&te.preventDefault()},document.addEventListener("touchmove",h,{passive:!1,capture:!0}),document.addEventListener("wheel",k,{passive:!1,capture:!0})}return!0}function U(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const N=document.body,C=document.documentElement;N&&(N.style.overflow=u??"",N.style.position=d??"",N.style.top=p??"",N.style.left=v??"",N.style.width=w??"",N.style.touchAction=g??""),C&&(C.style.overflow=c??"",C.style.touchAction=f??""),h&&(document.removeEventListener("touchmove",h,{capture:!0}),h=null),k&&(document.removeEventListener("wheel",k,{capture:!0}),k=null),typeof window<"u"&&(m||b)&&window.scrollTo(b,m)}u=null,c=null,d=null,p=null,v=null,w=null,g=null,f=null,m=0,b=0}}function ee(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function F(){if(!A()){r.value?(U(),r.value=!1,a("change",!1)):G()&&(r.value=!0,a("change",!0)),ee();return}if(S())E().then(()=>{r.value=!1,a("change",!1)}).catch(()=>{});else{const C=$()??document.documentElement;x(C).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{x(document.documentElement).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{})})}}function j(){r.value=!!S(),a("change",r.value)}return co(()=>{var C,V;document.addEventListener("fullscreenchange",j),document.addEventListener("webkitfullscreenchange",j);const N=(V=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:V.call(C);N instanceof ShadowRoot&&(s=N,N.addEventListener("fullscreenchange",j),N.addEventListener("webkitfullscreenchange",j))}),Zt(()=>{document.removeEventListener("fullscreenchange",j),document.removeEventListener("webkitfullscreenchange",j),s&&(s.removeEventListener("fullscreenchange",j),s.removeEventListener("webkitfullscreenchange",j),s=null),l&&U()}),(N,C)=>(H(),lt(ln,{"is-dark":e.isDark,active:r.value,title:he(o)("buttons.toggleFullscreen"),onClick:F},{default:zt(()=>[r.value?(H(),Z("svg",Tw,[...C[1]||(C[1]=[T("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)])])):(H(),Z("svg",Cw,[...C[0]||(C[0]=[T("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"]))}},Rw={style:{"font-size":"16px","line-height":"1"}},Nw={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=mt();return(o,n)=>he(X0)?(H(),lt(ln,{key:0,"is-dark":e.isDark,title:e.isDark?he(t)("buttons.switchToLightMode"):he(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:zt(()=>[T("span",Rw,ue(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"])):_e("",!0)}},Iw=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],Ow={"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 Fw(e){return Ow[e]||Iw}const Dw={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},Rr=["peopleGroups","people","places","languages","religions"],Gw={regions:[...Rr,"regions","wagfBlocks"],"people-groups":[...Rr,"blocs","clusters"],language:[...Rr,"dialects","families"],religion:[...Rr]},Bw=100,jw=50,Uw=25,zw=10,$i=5,Wd=20,Kw=[[/ sign language$/i,"Sign Language"]];function Hw(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function Vw(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function Ww(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(Tt[n])return Tt[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(Tt[a])return Tt[a]}}if(Tt[e])return Tt[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(o!==e&&Tt[o])return Tt[o];for(const[n,a]of Kw)if(n.test(e))return a;return null}function Yd(e,t){return{id:`doxa-section-header-${xi(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 xi(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Me(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 Nr(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function Yw(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),u=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(u))continue;const c=Me(i.name)+" "+Me(i.displayName)+" "+Me(i.alternateName),d=Me(i.countryName)+" "+Me(i.country)+" "+Me(i.countryIso)+" "+Me(i.countryIsoLabel),p=Me(i.religionName)+" "+Me(i.religion)+" "+Me(i.religionLabel)+" "+Me(i.religionCode),v=Me(i.language)+" "+Me(i.languageFamily)+" "+Me(i.languageCode),w=Me(i.doxaRegion)+" "+Me(i.wagfRegion)+" "+Me(i.wagfBlock),g=Me(i.affinityBlock)+" "+Me(i.affinityBlockLabel)+" "+Me((o=i._raw)==null?void 0:o.rop1),f=Me(i.cluster)+" "+Me(i.clusterLabel)+" "+Me((n=i._raw)==null?void 0:n.imb_reg_of_people_2),m=Me(i.peopleGroup)+" "+Me(i.peopleGroupLabel)+" "+Me((a=i._raw)==null?void 0:a.imb_reg_of_people_25),b=((r=i._raw)==null?void 0:r.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),h=b&&(typeof b=="object"?b.label||b.value:b)||Nr(i.language)||Nr(i.primaryLanguage)||"",k=Hw(h),A=Vw(h);t.push({feature:i,nameHay:c,countryHay:d,religionHay:p,languageHay:v,regionHay:w,haystack:c+" "+d+" "+p+" "+v+" "+w+" "+g+" "+f+" "+m,blocHay:g,clusterHay:f,pgHay:m,lat:l,lng:u,familyDerived:Ww(h)||null,languageLabel:h,baseLang:k,dialectLabel:A})}return t}function qw(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 u={key:i,label:Nr(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(u,s,!0),r.set(i,u)}}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=>Me(o.feature.countryName)||Me(o.feature.country)||Me(o.feature.countryIso),o=>o.feature.countryName||o.feature.country||o.feature.countryIso||""),families:t(o=>Me(o.familyDerived),o=>o.familyDerived||""),languages:t(o=>Me(o.baseLang),o=>o.baseLang||""),dialects:t(o=>o.dialectLabel?`${Me(o.baseLang)}__${Me(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 _a(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 ya[_a(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=>Me(o.feature.doxaRegion)||Me(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=>Me(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=>Me(o.feature.affinityBlockLabel)||Me(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=>Me(o.feature.peopleGroup)||Me(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 Jw(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||xi(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 mo(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=Nr(t.label)||t.key,r=xi(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],u=l?`${a} (${l}) · ${t.count}`:`${a} (${t.count})`,c=t.originalLabels?Array.from(t.originalLabels):void 0,d=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${n}${r}`,place_name:u,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],...c?{originalLabels:c}:{},...d||{},...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 Zw(e={}){const{dataStore:t,dataSourceId:o,getActiveFilter:n,getActiveContext:a}=e,{t:r}=mt(),s=Q(()=>{var d,p;if(!t||!t.sources)return[];if(o&&((d=t.sources[o])!=null&&d.features))return t.sources[o].features;for(const v of Object.keys(t.sources)){const w=t.sources[v];if((p=w==null?void 0:w.features)!=null&&p.length)return w.features}return[]}),i=Q(()=>Yw(s.value)),l=Q(()=>qw(i.value));function u(d){const p=String(d||"").trim().toLowerCase(),v={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(p.length<2)return v;const w=p.split(/[\s,;]+/).filter(Boolean);if(!w.length)return v;const g=i.value;if(!g.length)return v;const f=l.value,m=[];for(const C of g){let V=!0;for(const oe of w)if(!C.haystack.includes(oe)){V=!1;break}if(!V)continue;let te=0;w.some(oe=>C.nameHay.includes(oe))&&(te+=Bw),w.some(oe=>C.countryHay.includes(oe))&&(te+=jw),w.some(oe=>C.religionHay.includes(oe))&&(te+=Uw),w.some(oe=>C.languageHay.includes(oe))&&(te+=zw),m.push({entry:C,score:te})}m.sort((C,V)=>V.score-C.score);const b=m.slice(0,$i).map(C=>Jw(C.entry)),h=C=>C.filter(V=>w.every(te=>V.key.includes(te)||Me(V.label).includes(te))).sort((V,te)=>te.count-V.count).slice(0,$i),k=h(f.countries).map(C=>mo("country",C)),A=h(f.regions).map(C=>mo("region",C)),$=h(f.wagfBlocks).map(C=>mo("region",C)),S=h(f.families).map(C=>mo("language-family",C)),x=h(f.languages).map(C=>mo("language",C)),E=h(f.dialects).map(C=>mo("dialect",C)),G=h(f.religions).map(C=>mo("religion",C)),U=h(f.blocs).map(C=>mo("affinity-bloc",C));let ee=h(f.clusters).map(C=>mo("cluster",C)),F=h(f.peopleGroups).map(C=>mo("people-group",C));const j=new Set(U.map(C=>Me(C.text)));ee=ee.filter(C=>!j.has(Me(C.text)));const N=new Set(ee.map(C=>Me(C.text)));return F=F.filter(C=>!j.has(Me(C.text))&&!N.has(Me(C.text))),{people:b,places:k,regions:A,wagfBlocks:$,families:S,languages:x,dialects:E,religions:G,blocs:U,clusters:ee,peopleGroups:F}}function c(d){const p=typeof n=="function"?n():null,v=typeof a=="function"?a():null,w=u(d),g=Fw(v),f=Gw[v],m=f?Object.fromEntries(f.filter(S=>w[S]).map(S=>[S,w[S]])):w,b=g.flatMap(S=>m[S]||[]);if(!(p!=null&&p.key)||!b.length)return b.slice(0,Wd);const h=[];for(const S of w.people){const x=i.value.find(G=>G.feature===S.feature);let E=!1;x&&(p.kind==="family"?E=(x.familyDerived||"").toLowerCase()===p.key.toLowerCase():p.kind==="language"&&(E=x.languageLabel.toLowerCase()===p.key.toLowerCase())),E&&h.push(S)}const k=[],A=p.key;h.length&&(k.push(Yd(r("search.sections.within",{selection:A}),!1)),k.push(...h.slice(0,$i)));const $=g.flatMap(S=>(m[S]||[]).slice(0,Dw[S]??3)).map(S=>({...S,properties:{...S.properties,_allDataSection:!0}}));return k.push(Yd(r("search.sections.allData"),!0)),k.push(...$),k.slice(0,Wd+8)}return{search:c,searchGrouped:u,index:i,aggregates:l}}const qd="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",Xw="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",Qw={__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(N){return N+N.replace(/mapboxgl/g,"maplibregl")}$t(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"),$t(n(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),$t(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"),$t(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}=mt(),s=e,i=Q(()=>s.placeholder||a("search.placeholder")),l=o,u={"&":"&","<":"<",">":">",'"':""","'":"'"};function c(N){return String(N??"").replace(/[&<>"']/g,C=>u[C])}function d(N){return N==null?"":typeof N=="string"?N:typeof N=="object"?N.label||N.value||"":String(N)}const p={"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 v(N){const C=p[N];if(!C)return"";const V=a("search.kinds."+C);return`<span class="dg-tag" title="${c(V)}">${c(V)}</span>`}function w(N){var te;if(!N)return"";const C=N.place_type||[];if(C.includes("doxa-section-header"))return`<div class="dg-section-header-item">${c(((te=N.properties)==null?void 0:te.headerLabel)||N.text||"")}</div>`;if(C.includes("people-group")){const oe=N.properties||{},L=d(oe.name)||d(oe.displayName)||d(N.text)||"",D=d(oe.countryName)||d(oe.country)||d(oe.countryIso)||"",z=d(oe.language)||d(oe.primaryLanguage)||d(oe.languageFamily)||"",se=d(oe.religionName)||d(oe.religion)||"",me=a("search.labels.place"),ge=a("search.labels.language"),Ce=a("search.labels.religion"),Se=[];return D&&Se.push(`<span class="dg-field"><strong>${c(me)}</strong> ${c(D)}</span>`),z&&Se.push(`<span class="dg-field"><strong>${c(ge)}</strong> ${c(z)}</span>`),se&&Se.push(`<span class="dg-field"><strong>${c(Ce)}</strong> ${c(se)}</span>`),`<div class="dg-main">${v("people-group")}<strong>${c(L)}</strong></div>`+(Se.length?`<div class="dg-meta">${Se.join("")}</div>`:"")}const V=C.find(oe=>oe.startsWith("doxa-"));if(V){const oe=N.properties||{},L=c(d(oe.label)||N.text||""),D=Number(oe.count)||0,z=D?` <span class="dg-count">${D}</span>`:"";return`<div class="dg-main">${v(V)}<span class="dg-agg-label">${L}</span>${z}</div>`}return`<div class="dg-main">${c(N.place_name||N.text||"")}</div>`}const g=Fe("dataStore",null),f=Fe("mapStore",null),m=Fe("uiStore",null);function b(){return f?f.selectedFamily?{kind:"family",key:f.selectedFamily}:f.selectedLanguage?{kind:"language",key:f.selectedLanguage}:null:null}const{search:h}=Zw({dataStore:g,dataSourceId:s.dataSourceId||void 0,getActiveFilter:b,getActiveContext:()=>s.activeContext||null}),k=fn(null),A=fe(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 S(N,C){const V=$[C]||$.mapbox;if(N.querySelector(`link[href="${V}"]`))return;const te=document.createElement("link");te.rel="stylesheet",te.href=V,N.prepend(te)}async function x(N,C){if(typeof window<"u"&&window[C]||typeof document>"u")return;const V=document.querySelector(`script[src="${N}"]`);if(V){if(window[C])return;await new Promise(te=>{V.addEventListener("load",te,{once:!0}),V.addEventListener("error",te,{once:!0})});return}await new Promise(te=>{const oe=document.createElement("script");oe.src=N,oe.async=!0,oe.addEventListener("load",te,{once:!0}),oe.addEventListener("error",te,{once:!0}),document.head.appendChild(oe)})}function E(N=document){let C=N.activeElement;for(;C&&C.shadowRoot&&C.shadowRoot.activeElement;)C=C.shadowRoot.activeElement;return C}function G(N){const C=N==null?void 0:N._onKeyDown;typeof C=="function"&&(N._onKeyDown=function(V){const te=E();return!te||te===V.target||typeof te.value!="string"?C.call(N,V):C.call(N,new Proxy(V,{get(oe,L){if(L==="target"||L==="srcElement")return te;const D=Reflect.get(oe,L);return typeof D=="function"?D.bind(oe):D}}))})}async function U(){await x(Xw,"MapboxGeocoder")}async function ee(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const N=document.querySelector(`script[src="${qd}"]`);if(N){if(window.MaplibreGeocoder)return;await new Promise(C=>{N.addEventListener("load",C,{once:!0}),N.addEventListener("error",C,{once:!0})});return}await new Promise((C,V)=>{const te=document.createElement("script");te.src=qd,te.async=!1,te.addEventListener("load",C,{once:!0}),te.addEventListener("error",()=>V(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(te)})}function F(N,C){return async V=>{const te={features:[]};if(!N||!(V!=null&&V.query))return te;try{const oe=Array.isArray(V.language)?V.language[0]:V.language||C()||"en",L=new URLSearchParams({access_token:N,autocomplete:"true",limit:String(V.limit||5)});oe&&L.set("language",oe);const D=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(V.query)}.json?${L.toString()}`,z=await fetch(D);if(!z.ok)return te;const se=await z.json();return se&&Array.isArray(se.features)?se:te}catch{return te}}}co(async()=>{var oe,L,D,z,se;const N=s.provider==="maplibre";if(N){if(await ee(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u"&&(await U(),typeof MapboxGeocoder>"u")){console.error("[GeocoderComponent] MapboxGeocoder global unavailable.");return}const C=s.mapInstance;if(!s.standalone&&!C)return;const V=s.standalone?(L=(oe=A.value)==null?void 0:oe.getRootNode)==null?void 0:L.call(oe):(se=(z=(D=C.getContainer)==null?void 0:D.call(C))==null?void 0:z.getRootNode)==null?void 0:se.call(z);V instanceof ShadowRoot&&S(V,s.provider);const te={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:r.value||"en",localGeocoder:h,limit:20,zoom:6,render:w};if(N){const me=typeof maplibregl<"u"?maplibregl:void 0,ge={forwardGeocode:F(s.accessToken,()=>r.value)};k.value=new MaplibreGeocoder(ge,{...te,maplibregl:me,showResultsWhileTyping:!0,reverseGeocode:!1})}else k.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...te});if(G(k.value),k.value.on("result",me=>{var Ce,Se,Oe,Be,Ge,ut,P,R,M,J,re,ae,ie,ce,_,y,O,Y,de,le,B,X,ke,Ae,je,dt,I,q,ye,ve;const ge=me==null?void 0:me.result;ge&&((Ce=ge.place_type)!=null&&Ce.includes("doxa-section-header")||(f&&(f.selectedRegion=null,f.selectedResource=null,f.selectedAffinityBlock=null,f.selectedDialect=null),m&&((Se=m.setPrayerFilter)==null||Se.call(m,null),(Oe=m.setEngagementFilter)==null||Oe.call(m,null),(Be=m.setAdoptionFilter)==null||Be.call(m,null),(Ge=m.setReligionFilter)==null||Ge.call(m,null)),(ut=ge.properties)!=null&&ut._allDataSection&&f&&(f.selectedFamily=null,f.selectedLanguage=null),l("result",me),(P=ge.place_type)!=null&&P.includes("people-group")&&ge.feature?l("people-group-result",{type:"Feature",properties:ge.properties||ge.feature,geometry:ge.geometry||{type:"Point",coordinates:ge.center}}):((R=ge.place_type)!=null&&R.includes("doxa-country")||(M=ge.place_type)!=null&&M.includes("doxa-region")||(J=ge.place_type)!=null&&J.includes("doxa-language-family")||(re=ge.place_type)!=null&&re.includes("doxa-language")||(ae=ge.place_type)!=null&&ae.includes("doxa-dialect")||(ie=ge.place_type)!=null&&ie.includes("doxa-religion")||(ce=ge.place_type)!=null&&ce.includes("doxa-affinity-bloc")||(_=ge.place_type)!=null&&_.includes("doxa-cluster")||(y=ge.place_type)!=null&&y.includes("doxa-people-group"))&&l("aggregate-result",{kind:ge.place_type[0].replace(/^doxa-/,""),label:((O=ge.properties)==null?void 0:O.label)||ge.text,count:((Y=ge.properties)==null?void 0:Y.count)||0,memberIds:((de=ge.properties)==null?void 0:de.memberIds)||[],bounds:((le=ge.properties)==null?void 0:le.bounds)||null,center:ge.center,originalLabels:((B=ge.properties)==null?void 0:B.originalLabels)||null,familyDerived:((X=ge.properties)==null?void 0:X.familyDerived)||"",baseLang:((ke=ge.properties)==null?void 0:ke.baseLang)||"",dialectLabel:((Ae=ge.properties)==null?void 0:Ae.dialectLabel)||"",slug:((je=ge.properties)==null?void 0:je.slug)||null,id:ge.id||null,blocCode:((dt=ge.properties)==null?void 0:dt.blocCode)||"",blocLabel:((I=ge.properties)==null?void 0:I.blocLabel)||"",clusterCode:((q=ge.properties)==null?void 0:q.clusterCode)||"",clusterLabel:((ye=ge.properties)==null?void 0:ye.clusterLabel)||"",peopleGroupCode:((ve=ge.properties)==null?void 0:ve.peopleGroupCode)||"",properties:ge.properties||null})))}),k.value.on("clear",()=>l("clear")),k.value.on("error",me=>l("error",me)),s.standalone){if(A.value){const me={on(){},off(){},fire(){},getContainer:()=>A.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const ge=k.value.onAdd(s.mapInstance||me);ge&&A.value.appendChild(ge)}catch(ge){l("error",ge)}}}else C.addControl(k.value,"top-left"),j()});function j(){var C,V;const N=(V=(C=k.value)==null?void 0:C.container)==null?void 0:V.parentElement;N&&(N.classList.add("dg-search-band"),N.classList.toggle("dg-search-band--dark",!!s.isDark))}return rt(()=>s.isDark,()=>j()),rt(i,N=>{var te,oe;const C=k.value;if(!C)return;const V=C._inputEl||((oe=(te=C.container)==null?void 0:te.querySelector)==null?void 0:oe.call(te,"input.mapboxgl-ctrl-geocoder--input"));V&&(V.placeholder=N,V.setAttribute("placeholder",N)),C.options&&(C.options.placeholder=N)}),rt(r,N=>{const C=k.value;C!=null&&C.options&&(C.options.language=N||"en")}),Zt(()=>{var N,C;if(k.value){try{s.standalone?(C=(N=k.value).onRemove)==null||C.call(N):s.mapInstance&&s.mapInstance.removeControl(k.value)}catch{}k.value=null}}),t({geocoder:k}),(N,C)=>e.standalone?(H(),Z("div",{key:0,ref_key:"standaloneContainer",ref:A,class:"dg-standalone-geocoder"},null,512)):_n(N.$slots,"default",{},void 0,void 0,1)}},e$=["mapbox","maplibre"],Jd="mapbox";function t$(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function o$(e){const t=t$(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(o||n||a||Jd).toLowerCase().trim();return e$.includes(r)?r:Jd}const n$="rgba(120, 128, 134, 0.28)",Zd="36px",Xd=()=>{};function a$(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Xd;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Xd;const a=b=>b.classList.contains("map-scroll-edge--left");for(const b of n)b.style.background=`linear-gradient(${a(b)?"to right":"to left"}, ${n$} ${Zd}, transparent ${Zd})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const r=b=>{b.style.opacity="1"},s=b=>{b.style.opacity="0"},i=()=>n.find(b=>!a(b))||null,l=new Set;let u=!1,c=null;const d=()=>{for(const b of n)l.has(b)||s(b)},p=()=>{const b=i();b&&(r(b),c&&clearTimeout(c),c=setTimeout(d,250))},v=()=>p(),w=b=>{if(!(b.touches&&b.touches.length===1))return;const h=b.target;h&&h.classList&&h.classList.contains("map-scroll-edge")||p()},g=()=>{c&&clearTimeout(c),d()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",g,{passive:!0}),e.addEventListener("touchcancel",g,{passive:!0});const f=()=>{u||p()};typeof window<"u"&&window.addEventListener("scroll",f,{passive:!0});const m=[];for(const b of n){const h=()=>{l.add(b),r(b)},k=()=>{l.delete(b),s(b)},A=()=>{u=!0,r(b)},$=()=>{u=!1,s(b)};b.addEventListener("mouseenter",h),b.addEventListener("mouseleave",k),b.addEventListener("touchstart",A,{passive:!0}),b.addEventListener("touchend",$,{passive:!0}),m.push(()=>{b.removeEventListener("mouseenter",h),b.removeEventListener("mouseleave",k),b.removeEventListener("touchstart",A),b.removeEventListener("touchend",$)})}return function(){c&&(clearTimeout(c),c=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",g),e.removeEventListener("touchcancel",g),typeof window<"u"&&window.removeEventListener("scroll",f);for(const h of m)h();for(const h of n)s(h)}}const r$=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function s$(e,t="mapbox"){const o=r$[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}const Nn={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 Ai(e){var o;const t=((o=Nn[e])==null?void 0:o.global)||Nn.mapbox.global;return typeof window<"u"?window[t]:void 0}function i$(e){return(Nn[e]||Nn.mapbox).css||null}async function l$(e){const t=Nn[e]||Nn.mapbox;if(Ai(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(Ai(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)})}function c$(e,t){return`hsl(${Math.round(e*360/(t||1))}, 72%, 56%)`}function Ir(e){if(typeof e.count=="number")return e.count;if(typeof e.expected_count=="number")return e.expected_count}function Qd(e){const t=parseInt(e&&e.population,10);return Number.isFinite(t)?t:0}function u$(e,t){if(!Array.isArray(t)||t.length===0)return;const o=e&&e.selector;if(o==null)return;if(o.type==="pg_slugs"){const r=new Set(Array.isArray(o.values)?o.values:[]);let s=0;for(const i of t)i&&r.has(i.slug)&&(s+=Qd(i));return s}const n=Tn(o,t);let a=0;for(const r of t)r&&n.has(r.slug)&&(a+=Qd(r));return a}function Si(e,t={}){const o=t.deafCount??123,n=Array.isArray(t.records)?t.records:null,a=e.lists||[],r=e.asia_lists||[],s=e.uncovered_lists||[],i={type:"affinity_bloc",rop1:"A017"},l=r.filter(j=>j.id.startsWith("asia-india")),u=r.filter(j=>j.id.startsWith("asia-china")),c=[...a.map(j=>j.id),"deaf",...l.map(j=>j.id),...u.map(j=>j.id),...s.map(j=>j.id)],d=c.length,p=j=>c$(c.indexOf(j),d),v=(j,N,C)=>{if(!n)return j;const V=C??(N&&N.selector);return j.pop=u$({selector:V},n),j},w=j=>n?j.reduce((N,C)=>N+(C.pop||0),0):void 0,g=a.map(j=>v({id:j.id,zoneKey:j.id,label:j.label,...j.provinceLabel?{provinceLabel:j.provinceLabel}:{},color:p(j.id),count:Ir(j)},j)),f=v({id:"deaf",zoneKey:"deaf",label:"Deaf (affinity bloc A017)",color:p("deaf"),count:o,info:"Unified deaf row — affinity bloc rop1=A017 (collapses the two deaf_lists; zero-delta vs old deaf_predicate). Population double-counts vs geographic rows (design-approved, slice 08)."},null,i),m=j=>v({id:j.id,zoneKey:j.id,label:j.label,...j.provinceLabel?{provinceLabel:j.provinceLabel}:{},color:p(j.id),count:Ir(j),...Array.isArray(j.adm0)&&j.adm0.length?{adm0:j.adm0}:{},...Array.isArray(j.provinces)&&j.provinces.length?{provinces:j.provinces}:{}},j),b=l.map(m),h=u.map(m),k=j=>j.reduce((N,C)=>N+(Ir(C)||0),0),A={id:"asia-india",label:"India",count:k(l),children:b},$={id:"asia-china",label:"China",count:k(u),children:h};n&&(A.pop=w(b),$.pop=w(h)),k(r),n&&w([A,$]);const S=j=>v({id:j.id,zoneKey:j.id,label:j.label,...j.provinceLabel?{provinceLabel:j.provinceLabel}:{},color:p(j.id),count:Ir(j)},j),x=s.map(S);x.length>0&&(()=>{const j={id:"frontier-asia",label:"Frontier Asia (uncovered)",count:k(s),children:x};return n&&(j.pop=w(x)),j})();const E={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe",deaf:"Deaf","deaf-old-world":"Deaf"},G=j=>E[j]||(String(j).startsWith("asia-india-")?"India":String(j).startsWith("asia-china-")?"China + Mongolia":"Other"),U=[...g,f,...b,...h,...x].filter(Boolean),ee=new Map;for(const j of U){const N=G(j.id||j.zoneKey);ee.has(N)||ee.set(N,[]),ee.get(N).push(j)}const F=[...ee.entries()].map(([j,N])=>{N.sort((V,te)=>(te.count||0)-(V.count||0));const C={id:"region-"+j.toLowerCase().replace(/[^a-z0-9]+/g,"-"),label:j,count:N.reduce((V,te)=>V+(te.count||0),0),children:N};return n&&(C.pop=w(N)),C}).sort((j,N)=>(N.count||0)-(j.count||0));return d$(ep(F),{withPop:!!n}),F}function d$(e,{withPop:t=!1}={}){const o=[];for(const n of e||[]){const a=[];(typeof n.id!="string"||!n.id)&&a.push("id"),(typeof n.zoneKey!="string"||!n.zoneKey)&&a.push("zoneKey"),(typeof n.label!="string"||!n.label)&&a.push("label"),(typeof n.color!="string"||!n.color)&&a.push("color"),typeof n.count!="number"&&a.push("count"),t&&typeof n.pop!="number"&&a.push("pop"),a.length&&o.push(`${n.id||"(no-id)"}: missing/!type [${a.join(", ")}]`)}if(o.length)throw new Error(`legend-tree L15: ${o.length} leaf node(s) violate the uniform consumer shape:
|
||
`+o.join(`
|
||
`));return!0}function ep(e){const t=[],o=n=>{for(const a of n)a.children&&a.children.length?o(a.children):t.push(a)};return o(e||[]),t}const tp=()=>({type:"FeatureCollection",features:[]});function p$(e,t){const o=Tn(e.selector,t),n=new Set;for(const a of t)a&&o.has(a.slug)&&a.country_code&&n.add(a.country_code);return n}function g$(e){return typeof e.id=="string"&&e.id.startsWith("asia-")}function Li(e,t){return{type:"Feature",properties:{...e.properties||{},zoneKey:t.zoneKey??t.id,zoneColor:t.color??t.zoneColor??"#888",zoneLabel:t.label,...t.id==="deaf"?{hatch:!0}:{}},geometry:e.geometry}}function f$(e,t){const{records:o=[],adm0:n,adm1Ind:a,adm1Chn:r}=t||{},s=tp();if(g$(e)){const l=[a,r].filter(Boolean);for(const u of l)for(const c of u.features||[])c.properties&&c.properties.listId===e.id&&s.features.push(Li(c,e));if(Array.isArray(e.adm0)&&e.adm0.length&&n){const u=new Set(e.adm0);for(const c of n.features||[])c.properties&&u.has(c.properties.iso3)&&s.features.push(Li(c,e))}return s}if(!e.selector)return s;const i=p$(e,o);if(n&&i.size)for(const l of n.features||[])l.properties&&i.has(l.properties.iso3)&&s.features.push(Li(l,e));return s}function h$(e,t){const o=tp(),n=new Map;for(const a of e){if(a.id==="deaf"){n.set(a.zoneKey??a.id,0);continue}const r=f$(a,t);n.set(a.zoneKey??a.id,r.features.length);for(const s of r.features)o.features.push(s)}return{tapestry:o,perZone:n}}const m$={"andean-caribbean":"#f9a51f","asia-china-tibet-autonomous-region":"#00f0c8","asia-china-yunnan-province":"#22ddff","asia-frontier-nas-a":"#ff1744","asia-india-andhra-pradesh":"#22ddff","asia-india-assam":"#22ddff","asia-india-chhattisgarh":"#536dfe","asia-india-gujarat":"#536dfe","asia-india-karnataka":"#536dfe","asia-india-kerala":"#2196ff","asia-india-madhya-pradesh":"#2196ff","asia-india-maharashtra":"#2196ff","asia-india-odisha":"#2196ff","asia-india-rajasthan":"#22ddff","asia-india-tamil-nadu":"#7c4dff","asia-india-uttarakhand":"#536dfe","asia-india-west-bengal":"#22ddff",brazil:"#f4c57b","central-africa":"#c20001",deaf:"#18ffff","east-africa":"#ef3410",europe:"#34cb74",laos:"#7c4dff","maghreb-egypt":"#602f74","mainland-se-asia-philippines":"#ff1744","middle-east-core":"#bc8bd0","oceania-indonesia":"#ee892f","southern-africa-islands":"#e75556",sudan:"#e69e93","uncovered-central-asia":"#ff8a00","uncovered-himalaya":"#ff6d00","uncovered-japan":"#ffc400","uncovered-mongolia":"#76ff03","uncovered-nas-a":"#ff1744","uncovered-nepal":"#ffea00","uncovered-sa-west":"#ff1744","uncovered-scatter":"#eeff41","west-africa":"#edcac9"};function b$(e,t){const o=m$[e];return typeof o=="string"&&o?o:t}const Or={"Andaman and Nicobar Islands":9,"Andhra Pradesh":81,"Arunāchal Pradesh":7,Assam:15,Bihār:18,Chandīgarh:1,Chhattīsgarh:24,Delhi:1,"Dādra and Nagar Haveli and Damān and Diu":1,Goa:5,Gujarāt:90,Haryāna:4,"Himāchal Pradesh":20,"Jammu and Kashmīr":33,Jhārkhand:9,Karnātaka:81,Kerala:72,Ladākh:6,Lakshadweep:1,"Madhya Pradesh":33,Mahārāshtra:54,Manipur:5,Meghālaya:2,Odisha:64,Puducherry:5,Punjab:4,Rājasthān:48,Sikkim:1,"Tamil Nādu":64,Telangāna:26,Tripura:11,"Uttar Pradesh":23,Uttarākhand:7,"West Bengal":30,"Gansu Province":3,"Guangxi Zhuang Autonomous Region":6,"Guizhou Province":34,"Hainan Province":3,"Heilongjiang Province":2,"Hunan Province":5,"Inner Mongolia Autonomous Region":3,"Qinghai Province":3,"Sichuan Province":12,"Tibet Autonomous Region":13,"Xinjiang Uyghur Autonomous Region":7,"Yunnan Province":61},op={ABW:1,AFG:21,AGO:10,ALB:1,AND:1,ARE:2,ARM:1,ASM:1,ATG:1,AZE:3,BEN:9,BFA:8,BGD:3,BGR:1,BHR:2,BHS:1,BIH:1,BLM:1,BLR:1,BMU:1,BOL:1,BRA:103,BRB:1,BRN:5,BTN:13,CAF:1,CHN:154,CIV:2,CMR:8,COD:9,COG:2,COK:1,COL:27,COM:3,CUB:1,CUW:1,CYM:1,CYP:1,CZE:1,DJI:1,DMA:1,DZA:17,ECU:1,EGY:3,ERI:8,ESP:1,ETH:29,FIN:1,FJI:1,FRO:1,FSM:1,GAB:2,GEO:1,GGY:1,GHA:1,GIN:13,GLP:1,GMB:3,GNB:3,GNQ:1,GRC:1,GRD:1,GUF:2,GUM:1,GUY:1,IDN:36,IRN:20,IRQ:8,ISL:1,ISR:4,JAM:1,JOR:3,JPN:6,KAZ:1,KEN:5,KGZ:2,KHM:1,KIR:1,KWT:1,LAO:95,LBN:4,LBR:2,LBY:15,LCA:1,LIE:1,LKA:1,LUX:1,MAR:4,MDV:1,MHL:1,MLI:13,MLT:1,MMR:7,MNE:1,MNG:1,MNP:1,MOZ:4,MRT:3,MSR:1,MUS:1,MWI:1,MYS:12,MYT:1,NAM:6,NCL:1,NER:2,NGA:38,NIU:1,NPL:34,NZL:1,OMN:7,PAK:24,PAN:1,PER:10,PHL:1,PLW:1,PNG:1,PRK:1,PRY:1,PSE:4,PYF:1,QAT:3,RUS:21,SAU:3,SDN:105,SEN:1,SHN:1,SLB:1,SLE:2,SMR:1,SOM:9,SSD:22,STP:1,SUR:2,SWE:2,SWZ:1,SYR:5,TCA:1,TCD:53,TGO:6,THA:8,TJK:3,TON:1,TUN:2,TUR:3,TZA:16,UGA:6,USA:3,UZB:1,VCT:1,VEN:6,VGB:1,VIR:1,VNM:16,VUT:1,WLF:1,WSM:1,YEM:9,ZAF:2,ZMB:6,ZWE:3},ka={ABW:"Aruba",IND:"India",AFG:"Afghanistan",AGO:"Angola",ALB:"Albania",AND:"Andorra",ARE:"United Arab Emirates",ARM:"Armenia",ASM:"American Samoa",ATG:"Antigua and Barbuda",AZE:"Azerbaijan",BEN:"Benin",BFA:"Burkina Faso",BGD:"Bangladesh",BGR:"Bulgaria",BHR:"Bahrain",BHS:"Bahamas",BIH:"Bosnia and Herzegovina",BLM:"Saint Barthélemy",BLR:"Belarus",BMU:"Bermuda",BOL:"Bolivia",BRA:"Brazil",BRB:"Barbados",BRN:"Brunei",BTN:"Bhutan",CAF:"Central African Republic",CHN:"China",CIV:"Côte d'Ivoire",CMR:"Cameroon",COD:"DR Congo",COG:"Congo",COK:"Cook Islands",COL:"Colombia",COM:"Comoros",CUB:"Cuba",CUW:"Curaçao",CYM:"Cayman Islands",CYP:"Cyprus",CZE:"Czechia",DJI:"Djibouti",DMA:"Dominica",DZA:"Algeria",ECU:"Ecuador",EGY:"Egypt",ERI:"Eritrea",ESP:"Spain",ETH:"Ethiopia",FIN:"Finland",FJI:"Fiji",FRO:"Faroe Islands",FSM:"Micronesia",GAB:"Gabon",GEO:"Georgia",GGY:"Guernsey",GHA:"Ghana",GIN:"Guinea",GLP:"Guadeloupe",GMB:"Gambia",GNB:"Guinea-Bissau",GNQ:"Equatorial Guinea",GRC:"Greece",GRD:"Grenada",GUF:"French Guiana",GUM:"Guam",GUY:"Guyana",IDN:"Indonesia",IRN:"Iran",IRQ:"Iraq",ISL:"Iceland",ISR:"Israel",JAM:"Jamaica",JOR:"Jordan",JPN:"Japan",KAZ:"Kazakhstan",KEN:"Kenya",KGZ:"Kyrgyzstan",KHM:"Cambodia",KIR:"Kiribati",KWT:"Kuwait",LAO:"Laos",LBN:"Lebanon",LBR:"Liberia",LBY:"Libya",LCA:"Saint Lucia",LIE:"Liechtenstein",LKA:"Sri Lanka",LUX:"Luxembourg",MAR:"Morocco",MDV:"Maldives",MHL:"Marshall Islands",MLI:"Mali",MLT:"Malta",MMR:"Myanmar",MNE:"Montenegro",MNG:"Mongolia",MNP:"Northern Mariana Islands",MOZ:"Mozambique",MRT:"Mauritania",MSR:"Montserrat",MUS:"Mauritius",MWI:"Malawi",MYS:"Malaysia",MYT:"Mayotte",NAM:"Namibia",NCL:"New Caledonia",NER:"Niger",NGA:"Nigeria",NIU:"Niue",NPL:"Nepal",NZL:"New Zealand",OMN:"Oman",PAK:"Pakistan",PAN:"Panama",PER:"Peru",PHL:"Philippines",PLW:"Palau",PNG:"Papua New Guinea",PRK:"North Korea",PRY:"Paraguay",PSE:"Palestine",PYF:"French Polynesia",QAT:"Qatar",RUS:"Russia",SAU:"Saudi Arabia",SDN:"Sudan",SEN:"Senegal",SHN:"Saint Helena",SLB:"Solomon Islands",SLE:"Sierra Leone",SMR:"San Marino",SOM:"Somalia",SSD:"South Sudan",STP:"São Tomé and Príncipe",SUR:"Suriname",SWE:"Sweden",SWZ:"Eswatini",SYR:"Syria",TCA:"Turks and Caicos Islands",TCD:"Chad",TGO:"Togo",THA:"Thailand",TJK:"Tajikistan",TON:"Tonga",TUN:"Tunisia",TUR:"Turkey",TZA:"Tanzania",UGA:"Uganda",USA:"United States",UZB:"Uzbekistan",VCT:"Saint Vincent and the Grenadines",VEN:"Venezuela",VGB:"British Virgin Islands",VIR:"U.S. Virgin Islands",VNM:"Vietnam",VUT:"Vanuatu",WLF:"Wallis and Futuna",WSM:"Samoa",YEM:"Yemen",ZAF:"South Africa",ZMB:"Zambia",ZWE:"Zimbabwe"};function np(e){const t={...ka};for(const o of e||[]){const n=o&&o.country_code,a=o&&o.country_code_label;n&&a&&(t[n]=a)}return t}function ap(e,t={}){if(!e||typeof e!="object")return null;const o=t.nameMap||ka;if(e.shapeName){const n=String(e.shapeName),a=Object.prototype.hasOwnProperty.call(Or,n)?Or[n]:null;return{key:"adm1:"+n,name:n,count:a,kind:"adm1"}}if(e.iso3){const n=String(e.iso3),a=o[n]||ka[n]||n,r=Object.prototype.hasOwnProperty.call(op,n)?op[n]:null;return{key:"adm0:"+n,name:a,count:r,kind:"adm0"}}return null}function rp(e,t={}){const o=Array.isArray(e)?e:[],n=o.map(l=>l.name),a=o.reduce((l,u)=>l+(Number(u.count)||0),0),r=t&&typeof t.color=="string"&&t.color?t.color:"",s=n.join(", ")+" — "+a+" UUPG"+(r?" · "+r:""),i=o.map(l=>l.name+" "+(Number(l.count)||0)).join(", ");return s+`
|
||
`+i}function In(e){return String(e??"").normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().trim()}function y$(e){return In(e).split(/[\s,;]+/).filter(Boolean)}function _$(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:a={},countryNameMap:r=null}=e,s=[],i=new Set;for(const u of t){if(!u)continue;const c=u.slug;if(!c||i.has(c))continue;const d=Number(u.latitude),p=Number(u.longitude);if(!Number.isFinite(d)||!Number.isFinite(p))continue;const v=u.name||c;i.add(c),s.push({label:v,kind:"pg",target:{type:"pg",slug:c,lng:p,lat:d},_hay:In(v)})}for(const u of o){if(!u)continue;const c=u.zoneKey||u.id,d=u.label||c;c&&s.push({label:d,kind:"zone",target:{type:"zone",zoneId:c},_hay:In(d)})}for(const u of Object.keys(n))s.push({label:u,kind:"territory",target:{type:"territory",shapeName:u},_hay:In(u)});const l=r||a;for(const u of Object.keys(a)){const c=l&&l[u]||a[u]||u;s.push({label:c,kind:"territory",target:{type:"territory",shapeName:u,iso3:!0},_hay:In(c)})}return s}const v$={zone:0,territory:1,pg:2};function k$(e={}){const{records:t=[],leafZones:o=[],adm1Counts:n={},iso3Names:a={},countryNameMap:r=null,centroidFor:s=null}=e,i=[];for(const c of t)c&&i.push(c);const l=(c,d,p)=>!d||!Number.isFinite(d[0])||!Number.isFinite(d[1])?null:{name:c,slug:p.__synthSlug,latitude:d[1],longitude:d[0],...p};for(const c of o){if(!c)continue;const d=c.zoneKey||c.id,p=c.label||d;if(!d)continue;const v=typeof s=="function"?s(g=>g&&g.properties&&g.properties.zoneKey===d):null,w=l(p,v,{__upgKind:"zone",__zoneId:d,__synthSlug:`__zone__${d}`});w&&i.push(w)}for(const c of Object.keys(n)){const d=typeof s=="function"?s(v=>v&&v.properties&&v.properties.shapeName===c):null,p=l(c,d,{__upgKind:"territory",__shapeName:c,__synthSlug:`__terr__${c}`});p&&i.push(p)}const u=r||a;for(const c of Object.keys(a)){const d=u&&u[c]||a[c]||c,p=typeof s=="function"?s(w=>w&&w.properties&&w.properties.iso3===c):null,v=l(d,p,{__upgKind:"territory",__shapeName:c,__synthSlug:`__terr__${c}`});v&&i.push(v)}return i}function sp(e,t,o={}){const n=o.limit??8,a=y$(t);if(!a.length)return[];const r=a[0],s=[];for(const i of e){let l=!0;for(const d of a)if(!i._hay.includes(d)){l=!1;break}if(!l)continue;const u=i._hay.startsWith(r)?0:1,c=i._hay===In(t)?-1:0;s.push({e:i,starts:u,exact:c,kr:v$[i.kind]??9,len:i._hay.length})}return s.sort((i,l)=>i.exact-l.exact||i.starts-l.starts||i.kr-l.kr||i.len-l.len),s.slice(0,n).map(i=>i.e)}const w$={class:"upg-root"},$$={key:0,class:"upg-map-err"},x$={class:"upg-legend-desktop-slot"},A$={class:"upg-legend-mobile-slot"},S$={class:"upg-detail-desktop-slot"},L$={key:4,class:"upg-hud"},P$={key:0,class:"upg-hud-head"},E$={class:"upg-hud-total"},C$={key:1,class:"upg-hud-names"},T$={key:2,class:"upg-hud-swatches"},M$=["data-color","title","onClick"],R$={key:3,class:"upg-hud-actions"},N$={key:4,class:"upg-hud-flash"},I$={class:"upg-status"},Pi="upg-search",ip="My UPG 100 List — Legend",lp=1,O$="people-groups",F$="Search people group, zone, or territory…",cp=8,Ei=123,D$=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"upg-100-list",setup(e){const t=Uc(()=>Mt(()=>Promise.resolve().then(()=>cw),void 0)),o={lists:sd,asia_lists:id,uncovered_lists:ld},n=Fe("mapboxToken",fe("")),a=Fe("profileConfig",fe(null)),r=o$(a),s=r==="maplibre",i=Q(()=>{var W;return((W=a==null?void 0:a.value)==null?void 0:W.search)===!1?!1:r==="mapbox"}),l=Q(()=>{var K;const W=(K=a.value)==null?void 0:K.edgeScrollAffordance;return W==null?!0:!(W===!1||W==="false")}),u=Fe("dataStore",null),c=Fe("uiStore",null),d=fe(null),p=fe("loading…"),v=fe(""),w=fn([]),g=fe(null),f=fn(null),m=fe(!1),b=r_("my-upg-100-list");b.theme.value="light",s_(b);const h=fe([]),k=Q(()=>h.value.reduce((W,K)=>W+(Number(K.count)||0),0)),A=Q(()=>h.value.length),$=fe("");let S=null;const x=fe(!1);function E(W){const K=W===void 0?!x.value:!!W;return K===x.value||(x.value=K,L&&(L.getCanvas().style.cursor=""),P()),K}function G(){E()}rt([x,m],()=>{lo(()=>q())});function U(W){if(!W)return;const K=h.value,ne=K.findIndex(pe=>pe.key===W.key);ne>=0?h.value=K.filter((pe,Pe)=>Pe!==ne):h.value=[...K,W],P(),$.value=""}const ee=["#e69f00","#56b4e9","#009e73","#f0e442","#0072b2","#d55e00","#cc79a7","#999999"],F=fe(""),j=fe("");function N(W){const K=/^#?([0-9a-fA-F]{6})$/.exec(String(W||"").trim());if(!K)return;const ne="#"+K[1].toLowerCase();F.value=F.value===ne?"":ne,P()}function C(){/^#?[0-9a-fA-F]{6}$/.test(j.value.trim())&&N(j.value)}const V=fe(null),te=[{id:"upg100Region",label:"Region",info:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it."},{id:"upg100Zone",label:"UPG-100 Lists",info:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet."}];let oe=[],L=null,D=null,z=[],se=null,me=null,ge=null;const Ce=typeof window<"u"&&window.MAP_APP_API_URL||void 0||"",{locale:Se}=mt();$t(`.upg-root{position:absolute;inset:0;background:#0a1410;color:#e5e7eb;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.upg-map{position:absolute;inset:0}.upg-map-err{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;text-align:center;padding:0 24px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#9aa7b8}.upg-map-err strong{display:block;font-size:14px;color:#cbd5e1;margin-bottom:4px}.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}.upg-legend-desktop-slot{--stl-top:8px}.upg-legend-mobile-slot{display:none}@media(max-width:767px){.upg-legend-mobile-slot{display:block}.upg-legend-desktop-slot{display:none}.upg-detail-desktop-slot{display:none}}.upg-status{position:absolute;bottom:10px;right:10px;z-index:5;font:10px/1 ui-monospace,monospace;color:#9aa7b8;background:rgba(10,14,21,.82);padding:6px 10px;border-radius:8px}.upg-detail-panel{position:absolute;top:60px;right:8px;bottom:10px;width:340px;max-width:calc(100vw - 16px);z-index:6;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column;animation:upgPanelIn .18s ease}.upg-detail-panel.dark{background:#1a1a2e}@keyframes upgPanelIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:480px){.upg-detail-panel{top:auto;left:8px;right:8px;width:auto;height:55vh}}.upg-hud{position:absolute;bottom:34px;right:10px;z-index:6;min-width:150px;font:11px/1.35 ui-monospace,monospace;color:#e5e7eb;background:rgba(10,20,16,.92);border:1px solid rgba(110,231,183,.35);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.4)}.upg-hud-head{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.upg-hud-total{font-size:15px;font-weight:700;color:#6ee7b7}.upg-hud-band{margin-left:auto;font-size:9px;color:#9aa7b8}.upg-hud-band.ok{color:#6ee7b7}.upg-hud-names{margin-top:5px;max-height:84px;overflow:auto;font-size:10px;color:#cbd5e1;line-height:1.45;word-break:break-word}.upg-hud-actions{display:flex;gap:6px;margin-top:7px}.upg-hud-btn{flex:1;cursor:pointer;border:1px solid rgba(110,231,183,.4);background:rgba(16,185,129,.18);color:#d1fae5;font:12px/1 ui-monospace,monospace;padding:0 10px;min-height:40px;border-radius:8px}.upg-hud-btn:hover{background:rgba(16,185,129,.32)}.upg-hud-btn.clear{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.4);color:#cbd5e1}.upg-hud-flash{margin-top:5px;font-size:9px;color:#6ee7b7;min-height:11px}.upg-hud-hint{margin-top:4px;font-size:9px;color:#64748b}.upg-hud-swatches{display:flex;gap:6px;margin-top:7px;align-items:center;flex-wrap:wrap}.upg-swatch{width:40px;height:40px;border-radius:9px;cursor:pointer;padding:0;border:1px solid rgba(255,255,255,.3)}.upg-swatch.active{outline:2px solid #fff;outline-offset:1px}.upg-hex{width:84px;min-height:40px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.4);color:#cbd5e1;font:12px/1 ui-monospace,monospace;padding:0 8px;border-radius:8px}@media(max-width:480px){.upg-hud{left:8px;right:8px;min-width:0;bottom:30px;max-height:48vh;overflow:auto}}.map-toolbar .mcb.upg-batch-on{background:#10b981!important;color:#04241a!important;box-shadow:0 0 0 2px rgba(52,211,153,.45),0 1px 4px rgba(0,0,0,0.2)!important}.map-toolbar .mcb.upg-batch-on.dark{border-color:#34d399!important}.upg-batch-row{position:relative;background:rgba(16,185,129,.16)!important;opacity:1!important;box-shadow:inset 3px 0 0 0 #10b981}.upg-batch-row .stl-name{color:#065f46!important;font-weight:700}.stl-panel[data-theme="dark"] .upg-batch-row .stl-name,.upg-batch-row.dark .stl-name{color:#6ee7b7!important}.upg-batch-row .stl-dot{box-shadow:0 0 0 2px #10b981}.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}.stl-panel{--stl-top:8px!important}.upg-root:has(.mapboxgl-ctrl-geocoder) .stl-panel{--stl-top:58px!important}.dg-main{font:13px/1.3 ui-monospace,monospace}.dg-meta{margin-top:2px;font-size:11px;color:#475569;display:flex;flex-wrap:wrap;gap:8px}.dg-field strong{font-weight:700}.dg-section-header-item{padding:4px 8px;font:10px/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;pointer-events:none}`);function Oe(W){const K=[];for(const ne of W)K.push(ne.zoneKey,b$(ne.zoneKey,ne.color));return["match",["get","zoneKey"],...K,"#9ca3af"]}function Be(){if(L.getSource("tapestry"))return;L.addSource("tapestry",{type:"geojson",data:D});const W=m.value?.45:.3,K=m.value?.65:.45;L.addLayer({id:"tapestry-fill",type:"fill",source:"tapestry",paint:{"fill-color":se,"fill-opacity":["case",["==",["get","zoneKey"],"deaf"],W,K]}}),L.addLayer({id:"tapestry-line",type:"line",source:"tapestry",paint:{"line-color":se,"line-width":1.2,"line-opacity":.9}})}function Ge(){!L||!L.getSource("tapestry")||L.getLayer("upg-sel-fill")||(L.addLayer({id:"upg-sel-fill",type:"fill",source:"tapestry",filter:["boolean",!1],paint:{"fill-color":"#f59e0b","fill-opacity":.28}}),L.addLayer({id:"upg-sel-line",type:"line",source:"tapestry",filter:["boolean",!1],paint:{"line-color":"#fbbf24","line-width":2.4,"line-opacity":.95}}))}function ut(){const W=[],K=[],ne=[];for(const Pe of h.value)Pe.kind==="adm1"?W.push(Pe.name):Pe.kind==="adm0"?K.push(Pe.key.slice(5)):Pe.kind==="zone"&&ne.push(Pe.key.slice(5));const pe=[];return W.length&&pe.push(["in",["get","shapeName"],["literal",W]]),K.length&&pe.push(["in",["get","iso3"],["literal",K]]),ne.length&&pe.push(["in",["get","zoneKey"],["literal",ne]]),pe.length?pe.length===1?pe[0]:["any",...pe]:["boolean",!1]}function P(){if(q(),!L||!L.getLayer("upg-sel-fill"))return;const W=x.value?ut():["boolean",!1];L.setFilter("upg-sel-fill",W),L.setFilter("upg-sel-line",W);const K=F.value;L.setPaintProperty("upg-sel-fill","fill-color",K||"#f59e0b"),L.setPaintProperty("upg-sel-fill","fill-opacity",K?.55:.28),L.setPaintProperty("upg-sel-line","line-color",K||"#fbbf24")}let R=null,M=!1;function J(){if(!(!L||!L.getLayer("tapestry-fill"))){if(R)try{L.off("click","tapestry-fill",R)}catch{}R=W=>{const K=W&&W.features&&W.features[0];if(K&&x.value){const ne=ap(K.properties,{nameMap:S});if(!ne){console.warn("[batch-select] clicked feature has no shapeName/iso3",K.properties);return}ne.count==null&&console.warn("[batch-select] no UUPG count for territory",ne.name,K.properties),U(ne)}},L.on("click","tapestry-fill",R),M||(L.on("mouseenter","tapestry-fill",()=>{L&&(L.getCanvas().style.cursor=x.value?"crosshair":"")}),L.on("mouseleave","tapestry-fill",()=>{L&&(L.getCanvas().style.cursor="")}),M=!0)}}function re(){h.value=[],$.value="",F.value="",j.value="",P()}async function ae(){if(!h.value.length)return;const W=rp(h.value,{color:F.value});typeof window<"u"&&(window.__UPG_LAST_CLIPBOARD__=W);let K=!1;try{navigator.clipboard&&navigator.clipboard.writeText?(await navigator.clipboard.writeText(W),K=!0):K=ie(W)}catch{K=ie(W)}$.value=K?"Copied!":"Copy failed — press Ctrl/Cmd-C",setTimeout(()=>{$.value.startsWith("Copied")&&($.value="")},1800)}function ie(W){try{const K=document.createElement("textarea");K.value=W,K.style.position="fixed",K.style.opacity="0",K.style.top="0",document.body.appendChild(K),K.focus(),K.select();const ne=document.execCommand&&document.execCommand("copy");return document.body.removeChild(K),!!ne}catch{return!1}}function ce(W){if(u&&typeof u.cacheSourceData=="function"){const K=k$({records:W,leafZones:z,adm1Counts:Or,iso3Names:ka,countryNameMap:S,centroidFor:ne=>{const pe=X(ne);return pe?[(pe[0][0]+pe[1][0])/2,(pe[0][1]+pe[1][1])/2]:null}});u.cacheSourceData(Pi,{normalizedData:K})}oe=_$({records:W,leafZones:z,adm1Counts:Or,iso3Names:ka,countryNameMap:S}),typeof window<"u"&&(window.__UPG_SEARCH__={size:()=>oe.length,counts:()=>{const K={pg:0,zone:0,territory:0};for(const ne of oe)K[ne.kind]=(K[ne.kind]||0)+1;return K},query:K=>sp(oe,K,{limit:cp}).map(ne=>({label:ne.label,kind:ne.kind,target:ne.target})),select:K=>{const ne=sp(oe,K,{limit:cp})[0];return ne?(Y(ne.target),{label:ne.label,kind:ne.kind,target:ne.target}):null},feedSize:()=>{const K=u&&u.sources&&u.sources[Pi];return K&&Array.isArray(K.features)&&K.features.length||0},localGeocoder:K=>{const ne=V.value&&V.value.geocoder,pe=ne&&ne.options&&ne.options.localGeocoder;return pe?pe(K).map(Pe=>Pe&&Pe.place_name):null}})}function _(W){const K=W&&W.properties||{},ne=K.__upgKind;if(ne==="zone")le(K.__zoneId);else if(ne==="territory")B(K.__shapeName);else{const pe=W&&W.geometry,Pe=pe&&Array.isArray(pe.coordinates)?pe.coordinates:null;Pe&&Number.isFinite(Pe[0])&&Number.isFinite(Pe[1])&&L&&L.flyTo({center:[Pe[0],Pe[1]],zoom:6,duration:800}),de(K.slug)}}function y(W){if(!W||!L)return;const K=new Set(W.memberIds||[]);if(!K.size)return;let ne=[];try{ne=L.querySourceFeatures("upg").filter(Ye=>{const we=Ye.properties||{};return K.has(we.slug)||K.has(we.id)||K.has(we.peopleGroupId)})}catch{return}if(!ne.length)return;let pe=180,Pe=90,it=-180,pt=-90,We=!1;for(const Ye of ne){const we=Ye.geometry&&Ye.geometry.coordinates;!Array.isArray(we)||!Number.isFinite(we[0])||!Number.isFinite(we[1])||(we[0]<pe&&(pe=we[0]),we[0]>it&&(it=we[0]),we[1]<Pe&&(Pe=we[1]),we[1]>pt&&(pt=we[1]),We=!0)}We&&L.fitBounds([[pe,Pe],[it,pt]],{padding:60,duration:800,maxZoom:6})}function O(){Fn(null),c&&typeof c.selectPeopleGroup=="function"&&c.selectPeopleGroup(null)}function Y(W){!W||!L||(W.type==="pg"?(Number.isFinite(W.lng)&&Number.isFinite(W.lat)&&L.flyTo({center:[W.lng,W.lat],zoom:6,duration:800}),de(W.slug)):W.type==="zone"?le(W.zoneId):W.type==="territory"&&B(W.shapeName))}function de(W){if(!W||!c||typeof c.selectPeopleGroup!="function")return;const K=L&&L.getSource&&L.getSource("upg"),pe=(K&&K._data&&K._data.features||[]).find(Pe=>Pe.properties&&Pe.properties.slug===W);pe&&c.selectPeopleGroup(pe)}function le(W){if(!W||!L||!D)return;const K=X(ne=>ne.properties&&ne.properties.zoneKey===W);K&&L.fitBounds(K,{padding:40,duration:800,maxZoom:6})}function B(W){if(!W||!L||!D)return;const K=X(ne=>{const pe=ne.properties||{};return pe.shapeName===W||pe.iso3===W});K&&L.fitBounds(K,{padding:40,duration:800,maxZoom:6})}function X(W){let K=180,ne=90,pe=-180,Pe=-90,it=!1;const pt=We=>{if(typeof We[0]=="number"){const[Ye,we]=We;Ye<K&&(K=Ye),Ye>pe&&(pe=Ye),we<ne&&(ne=we),we>Pe&&(Pe=we),it=!0;return}for(const Ye of We)pt(Ye)};for(const We of D.features)W(We)&&pt(We.geometry.coordinates);return it?[[K,ne],[pe,Pe]]:null}function ke(W){const K=new Set,ne=pe=>{pe.children&&pe.children.length?pe.children.forEach(ne):K.add(pe.zoneKey??pe.id)};return ne(W),K}let Ae=null;function je(W){if(![...ke(W)].length)return;const ne=[],pe=We=>{We.children&&We.children.length?We.children.forEach(pe):ne.push(We)};pe(W);const Pe=h.value,it=new Set(Pe.filter(We=>We.kind==="zone").map(We=>We.key));if(ne.every(We=>it.has("zone:"+(We.zoneKey??We.id)))){const We=new Set(ne.map(Ye=>"zone:"+(Ye.zoneKey??Ye.id)));h.value=Pe.filter(Ye=>!We.has(Ye.key))}else{const We=ne.filter(Ye=>!it.has("zone:"+(Ye.zoneKey??Ye.id))).map(Ye=>({key:"zone:"+(Ye.zoneKey??Ye.id),name:Ye.label||Ye.id,count:Number(Ye.count)||0,kind:"zone"}));h.value=[...Pe,...We]}P(),$.value=""}function dt(){const W=new Set;for(const K of h.value)K.kind==="zone"&&W.add(K.key.slice(5));return W}function I(){const W=new Map,K=ne=>{const pe=ke(ne);ne.label&&W.set(ne.label,pe),ne.children&&ne.children.length&&ne.children.forEach(K)};for(const ne of w.value)K(ne);return W}function q(){if(typeof document>"u")return;const W=document.querySelector("my-upg-100-list-map"),ne=(W&&W.shadowRoot||document).querySelectorAll(".stl-row");if(!ne.length)return;if(!x.value){ne.forEach(pt=>pt.classList.remove("upg-batch-row"));return}const pe=dt(),Pe=I(),it=m.value;ne.forEach(pt=>{const We=pt.querySelector(".stl-name"),Ye=We?We.textContent.trim():"",we=Ye&&Pe.get(Ye),Xe=!!(we&&we.size&&[...we].every(ht=>pe.has(ht)));pt.classList.toggle("upg-batch-row",Xe),pt.classList.toggle("dark",Xe&&it)})}let ye=null;function ve(){if(typeof document>"u"||ye)return;const W=document.querySelector("my-upg-100-list-map"),ne=(W&&W.shadowRoot||document).querySelector(".stl-rows");ne&&(ye=new MutationObserver(()=>{requestAnimationFrame(()=>q())}),ye.observe(ne,{childList:!0,subtree:!0}))}Nt("onSemanticTreeSelect",Fn),Nt("onLegendExport",$e);async function $e(W){const K=g.value;if(!K)return;if(W==="packet"){await Et(K);return}const ne=$r(a.value),pe=document.createElement("a");pe.href=`${ne}/posters/${K}.webp`,pe.download=`doxa-upg-100-${K}-poster.webp`,document.body.appendChild(pe),pe.click(),pe.remove()}const nt=ad({records:W=>Te(W),lang:()=>On(),label:W=>(W==null?void 0:W.label)||(W==null?void 0:W.id)||""});rt(nt.exportState,W=>{if(!W){/packet/i.test(p.value)&&(p.value="");return}if(W.phase==="error"){p.value=`Packet failed: ${W.message}`,setTimeout(()=>{p.value.startsWith("Packet failed")&&(p.value="")},4e3);return}p.value=W.phase==="done"?"":`${W.message}…`});async function Te(W){if(!Ce)throw new Error("no API configured");const ne=await fetch(`${Ce}/api/people-groups/list?fields=slug,name,country_code,population,religion,image_url&lang=${On()}`,{cache:"no-store"});if(!ne.ok)throw new Error(`people-groups fetch failed (${ne.status})`);const pe=xr(Ar(await ne.json()));let Pe;if(W.selector&&W.selector.type==="pg_slugs")Pe=new Set(W.selector.values||[]);else{const{evaluate:it}=await Mt(async()=>{const{evaluate:pt}=await Promise.resolve().then(()=>ud);return{evaluate:pt}},void 0);Pe=new Set(it(W.selector,pe))}return pe.filter(it=>Pe.has(it.slug)).sort((it,pt)=>String(it.name).localeCompare(String(pt.name),On()))}async function Dt(W,K){try{const ne=$r(a.value),pe=await(await fetch(`${ne}/posters/${W}.html`,{cache:"force-cache"})).text(),Pe=pe.match(/<svg[\s\S]*?<\/svg>/);return Pe?`<style>${K.mapCss(pe)}</style><div style="position:absolute;left:0;top:250px;width:${K.W}px;transform:scale(0.62);transform-origin:top center">${Pe[0]}</div>`:""}catch{return""}}async function Et(W){const K=Wt().find(it=>it.id===W);if(!K)return;const[{createPacketRenderer:ne},pe]=await Promise.all([Mt(()=>Promise.resolve().then(()=>Lp),void 0),Mt(()=>Promise.resolve().then(()=>Ri),void 0).then(it=>it.default||it)]),Pe=ne({strings:pe,lang:On()});await nt.printPacket(K,{mapSvg:await Dt(W,Pe)})}function Wt(){return[...o.lists||[],...o.asia_lists||[],...o.uncovered_lists||[]]}function On(){const W=Se&&(Se.value??Se);return typeof W=="string"&&W||"en"}function Fn(W){if(!L||!L.getLayer("tapestry-fill"))return;if(x.value){W&&je(W);return}if(!W){Ae=null,g.value=null,L.setFilter("tapestry-fill",null),L.setFilter("tapestry-line",null),L.setPaintProperty("upg-pins","circle-opacity",1);return}Ae=W;const K=[...ke(W)];g.value=K.length===1?K[0]:W.id??null;const ne=["in",["get","zoneKey"],["literal",K]];L.setFilter("tapestry-fill",ne),L.setFilter("tapestry-line",ne),L.getLayer("upg-pins")&&L.setPaintProperty("upg-pins","circle-opacity",["case",["in",["get","zoneKey"],["literal",K]],.95,.05]);const pe=X(Pe=>K.includes(Pe.properties.zoneKey));pe&&L.fitBounds(pe,{padding:40,duration:700,maxZoom:6})}function Cp(){!L||!D||(Be(),typeof ge=="function"&&ge(),Ge(),J(),P(),g.value&&L.getLayer("tapestry-fill")&&Fn(Ae))}function Ax(){L&&(m.value=!m.value,b.theme.value=m.value?"dark":"light",L.setStyle(m.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),L.once("style.load",Cp))}function Sx(){!L||!L.getLayer("upg-pins")||(L.on("click","upg-pins",W=>{const K=W&&W.features&&W.features[0];K&&c&&typeof c.selectPeopleGroup=="function"&&c.selectPeopleGroup(K)}),L.on("mouseenter","upg-pins",()=>{L&&(L.getCanvas().style.cursor="pointer")}),L.on("mouseleave","upg-pins",()=>{L&&(L.getCanvas().style.cursor="")}))}let $a=null;function Lx(W){var pe;const K=((pe=W==null?void 0:W.detail)==null?void 0:pe.listId)??null;if(!K){Fn(null);return}const ne=Tp(w.value,K);ne&&Fn(ne)}function Tp(W,K){for(const ne of W||[]){if((ne.zoneKey||ne.id)===K)return ne;const pe=ne.children&&Tp(ne.children,K);if(pe)return pe}return null}function Px(){const W=Si(o,{deafCount:Ei});w.value=W,z=ep(W);const K={};for(const ne of o.lists||[])K[ne.id]=ne.selector;for(const ne of o.asia_lists||[])K[ne.id]=ne.selector;for(const ne of o.uncovered_lists||[])K[ne.id]=ne.selector;K.deaf={type:"affinity_bloc",rop1:"A017"};for(const ne of z)ne.selector=K[ne.id];se=Oe(z)}async function Mp(){if(Ce)try{const K=await fetch(`${Ce}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!K.ok)throw new Error(`list ${K.status}`);const ne=xr(Ar(await K.json()));S=np(ne),w.value=Si(o,{deafCount:Ei,records:ne})}catch{}}return co(async()=>{var Pe,it,pt,We,Ye;Px();try{await l$(r)}catch{}const W=Ai(r)||window.mapboxgl,K=(n==null?void 0:n.value)||((Pe=a==null?void 0:a.value)==null?void 0:Pe.tk)||"";if(!W){p.value="⚠ map engine not loaded",v.value="The map engine did not load. The list and legend are unaffected.",Mp();return}if(!s){if(!K){p.value="⚠ no mapbox token",v.value="No Mapbox token configured. The list and legend are unaffected.",Mp();return}W.accessToken=K}try{const we=!s&&d.value&&d.value.getRootNode();if(we instanceof ShadowRoot){const Xe=i$("mapbox");if(Xe&&!we.querySelector(`link[href="${Xe}"]`)){const ht=document.createElement("link");ht.rel="stylesheet",ht.href=Xe,we.prepend(ht)}}}catch{}L=new W.Map({container:d.value,style:s$("paper",r).style||"mapbox://styles/mapbox/light-v11",center:[35,20],zoom:1.5,projection:"mercator"}),f.value=L,me=a$(((it=d.value)==null?void 0:it.parentElement)||null,{enabled:l.value}),typeof window<"u"&&(window.__UPG_MAP__=L),window.__UPG_SELECT__={get list(){return h.value.map(we=>({...we}))},get total(){return k.value},get count(){return A.value},get color(){return F.value},get batchMode(){return x.value},setColor:we=>N(we),setBatchMode:we=>E(we),clipboardText:()=>rp(h.value,{color:F.value}),clear:()=>re(),toggleByProps:we=>{const Xe=ap(we,{nameMap:S});return Xe?(U(Xe),{...Xe}):null},toggleLegendRow:we=>{const Xe=Vo=>{for(const gt of Vo){if(gt.label===we)return gt;if(gt.children&>.children.length){const bo=Xe(gt.children);if(bo)return bo}}return null},ht=Xe(w.value);return ht?(je(ht),{label:ht.label,zoneKeys:[...ke(ht)]}):null},markedLegendRows:()=>{if(typeof document>"u")return[];const we=document.querySelector("my-upg-100-list-map");return[...(we&&we.shadowRoot||document).querySelectorAll(".stl-row.upg-batch-row .stl-name")].map(ht=>ht.textContent.trim())},highlightFeatureCount:()=>{if(!L||!D||!L.getLayer("upg-sel-fill"))return-1;const we=new Set,Xe=new Set,ht=new Set;for(const gt of h.value)gt.kind==="zone"?we.add(gt.key.slice(5)):gt.kind==="adm1"?Xe.add(gt.name):gt.kind==="adm0"&&ht.add(gt.key.slice(5));let Vo=0;for(const gt of D.features){const bo=gt.properties||{};(we.has(bo.zoneKey)||Xe.has(bo.shapeName)||ht.has(bo.iso3))&&Vo++}return Vo},zoneKeysForRow:we=>{const Xe=Vo=>{for(const gt of Vo){if(gt.label===we)return gt;if(gt.children&>.children.length){const bo=Xe(gt.children);if(bo)return bo}}return null},ht=Xe(w.value);return ht?[...ke(ht)]:null}};try{p.value="loading boundaries…";const we=ze=>`${$r(a.value)}/boundaries/${ze}`,Xe=ze=>fetch(we(ze)).then(xt=>{if(!xt.ok)throw new Error(`boundary fetch ${xt.status} ${ze}`);return xt.json()}),[ht,Vo,gt]=await Promise.all([Xe("world-adm0.geojson"),Xe("gb-IND-ADM1.geojson"),Xe("gb-CHN-ADM1.geojson")]);if(p.value="fetching 2106 UUPGs…",!Ce)throw new Error("No API base configured — set window.MAP_APP_API_URL or VITE_API_BASE_URL. Failing closed (no default host).");const Ni=await fetch(`${Ce}/api/people-groups/list?fields=slug,name,country_code,wagf_region,wagf_block,rop1,population,latitude,longitude&lang=en`,{cache:"no-store"});if(!Ni.ok)throw new Error(`list ${Ni.status}`);const Dn=xr(Ar(await Ni.json()));S=np(Dn),w.value=Si(o,{deafCount:Ei,records:Dn});const{tapestry:Ex,perZone:Cx}=h$(z,{records:Dn,adm0:ht,adm1Ind:Vo,adm1Chn:gt});D=qo(Ex),ce(Dn);const Ii=[],xa={},{evaluate:Tx}=await Mt(async()=>{const{evaluate:ze}=await Promise.resolve().then(()=>ud);return{evaluate:ze}},void 0);for(const ze of z)if(ze.selector&&ze.selector.type==="pg_slugs")for(const xt of ze.selector.values||[])xt in xa||(xa[xt]=ze.zoneKey);else try{for(const xt of Tx(ze.selector,Dn))xt in xa||(xa[xt]=ze.zoneKey)}catch(xt){console.warn("zone selector skipped",ze.id,xt&&xt.message)}for(const ze of Dn){const xt=Number(ze.latitude),Fi=Number(ze.longitude);!isFinite(xt)||!isFinite(Fi)||Ii.push({type:"Feature",geometry:{type:"Point",coordinates:[Fi,xt]},properties:{slug:ze.slug,zoneKey:xa[ze.slug]||"",name:ze.name||ze.slug||"",population:ze.population??0,countryName:ze.country_code_label||"",country:ze.country_code||""}})}const Mx=qo({type:"FeatureCollection",features:Ii});ge=()=>{L.getSource("upg")||(L.addSource("upg",{type:"geojson",data:Mx}),L.addLayer({id:"upg-pins",type:"circle",source:"upg",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,4,6.5,8,9],"circle-color":se,"circle-opacity":1,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.8,8,2],"circle-stroke-color":"rgba(15,20,25,0.9)"}}),Sx())};let Oi=!0;const Gn=()=>{Oi&&(Oi=!1,L.off("style.load",Gn),L.off("idle",Gn),Cp())};if(L.isStyleLoaded())Gn();else{L.once("style.load",Gn),L.once("idle",Gn);const ze=setInterval(()=>{if(!Oi||!L){clearInterval(ze);return}let xt=!1;try{xt=L.isStyleLoaded()}catch{clearInterval(ze);return}xt&&(clearInterval(ze),Gn())},120);setTimeout(()=>clearInterval(ze),15e3)}const Rp=[...Cx.entries()].filter(([ze])=>ze!=="deaf"),Rx=Rp.filter(([,ze])=>ze>=1).length;p.value=`${D.features.length} polys · ${Rx}/${Rp.length} zones · ${Ii.length} pins`}catch(we){p.value="⚠ "+(we&&we.message?we.message:String(we))}let ne=0;const pe=()=>{const we=typeof document<"u"&&document.querySelector("my-upg-100-list-map"),Xe=we&&we.shadowRoot||(typeof document<"u"?document:null);if(Xe&&Xe.querySelector(".stl-rows")){ve(),q();return}ne++<40&&setTimeout(pe,250)};pe();{const we=(Ye=(We=(pt=d.value)==null?void 0:pt.getRootNode)==null?void 0:We.call(pt))==null?void 0:Ye.host;we&&($a=Lx,we.addEventListener("doxa:select-zone",$a))}}),Zt(()=>{var W,K,ne;if($a){const pe=(ne=(K=(W=d.value)==null?void 0:W.getRootNode)==null?void 0:K.call(W))==null?void 0:ne.host;pe==null||pe.removeEventListener("doxa:select-zone",$a),$a=null}if(ye){try{ye.disconnect()}catch{}ye=null}if(me){try{me()}catch{}me=null}L&&(L.remove(),L=null),D=null}),(W,K)=>{var ne;return H(),Z("div",w$,[T("div",{ref_key:"mapEl",ref:d,class:"upg-map"},null,512),v.value?(H(),Z("div",$$,[K[1]||(K[1]=T("strong",null,"Map unavailable",-1)),St(ue(v.value),1)])):_e("",!0),l.value?(H(),Z(Ie,{key:1},[K[2]||(K[2]=T("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),K[3]||(K[3]=T("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1))],64)):_e("",!0),f.value&&i.value?(H(),lt(Qw,{key:2,ref_key:"geocoderRef",ref:V,"map-instance":f.value,"access-token":he(n)||((ne=he(a))==null?void 0:ne.tk)||"","data-source-id":Pi,"is-dark":m.value,placeholder:F$,"active-context":O$,onPeopleGroupResult:_,onAggregateResult:y,onClear:O},null,8,["map-instance","access-token","is-dark"])):_e("",!0),f.value?(H(),lt(Aw,{key:3,"has-geocoder":i.value},{default:zt(()=>[Ve(Lw,{map:f.value,"is-dark":m.value},null,8,["map","is-dark"]),Ve(Pw,{map:f.value,"is-dark":m.value},null,8,["map","is-dark"]),Ve(Ew,{map:f.value,"is-dark":m.value},null,8,["map","is-dark"]),Ve(Mw,{"map-container":d.value,"is-dark":m.value},null,8,["map-container","is-dark"]),Ve(Nw,{"is-dark":m.value,onToggle:Ax},null,8,["is-dark"]),Ve(ln,{"is-dark":m.value,active:x.value,class:Ne({"upg-batch-on":x.value}),"aria-pressed":x.value?"true":"false",title:"Batch Select",onClick:G},{default:zt(()=>[...K[4]||(K[4]=[T("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[T("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),T("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),T("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),T("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})],-1)])]),_:1},8,["is-dark","active","class","aria-pressed"])]),_:1},8,["has-geocoder"])):_e("",!0),T("div",x$,[w.value.length?(H(),lt(gd,{key:0,nodes:w.value,tabs:te,"default-tab":lp,columns:["count","pop"],title:ip,"export-enabled":!0,onSelect:Fn,onExport:$e},null,8,["nodes"])):_e("",!0)]),T("div",A$,[w.value.length?(H(),lt(xw,{key:0,"legend-type":"upg-100",nodes:w.value,tabs:te,"default-tab":lp,columns:["count","pop"],"column-label":"UPG 100",title:ip,"is-dark":m.value,"popup-action":"pray"},null,8,["nodes","is-dark"])):_e("",!0)]),T("div",S$,[he(c)&&he(c).selectedPeopleGroup?(H(),Z("div",{key:0,class:Ne(["upg-detail-panel pg-detail-root",{dark:m.value}])},[Ve(he(t),{peopleGroup:he(c).selectedPeopleGroup,dark:m.value,action:"pray"},null,8,["peopleGroup","dark"])],2)):_e("",!0)]),x.value?(H(),Z("div",L$,[K[5]||(K[5]=T("div",{class:"upg-hud-hint"}," Tap territories on the map or legend rows to add · tap again to remove ",-1)),A.value?(H(),Z("div",P$,[T("span",null,ue(A.value)+" territor"+ue(A.value===1?"y":"ies")+" ·",1),T("span",E$,ue(k.value)+" UUPG",1),T("span",{class:Ne(["upg-hud-band",{ok:k.value>=50&&k.value<=100}])},ue(k.value>=50&&k.value<=100?"✓ 50–100 band":"band 50–100"),3)])):_e("",!0),A.value?(H(),Z("div",C$,ue(h.value.map(pe=>pe.name).join(", ")),1)):_e("",!0),A.value?(H(),Z("div",T$,[(H(),Z(Ie,null,vt(ee,pe=>T("button",{key:pe,class:Ne(["upg-swatch",{active:F.value===pe}]),"data-color":pe,style:et({background:pe}),title:pe,onClick:Pe=>N(pe)},null,14,M$)),64)),Ha(T("input",{"onUpdate:modelValue":K[0]||(K[0]=pe=>j.value=pe),class:"upg-hex",placeholder:"#hex",spellcheck:"false",onChange:C,onKeyup:xs(C,["enter"])},null,544),[[uh,j.value]])])):_e("",!0),A.value?(H(),Z("div",R$,[T("button",{class:"upg-hud-btn copy",onClick:ae},"Copy selection"),T("button",{class:"upg-hud-btn clear",onClick:re},"Clear")])):_e("",!0),A.value?(H(),Z("div",N$,ue($.value),1)):_e("",!0)])):_e("",!0),T("div",I$,ue(p.value),1)])}}}},Symbol.toStringTag,{value:"Module"})),G$=`
|
||
/* The column that scrolls. Vertical neighbours stack here and the user scrolls
|
||
between them; scroll-snap makes each pane settle cleanly instead of stopping
|
||
half-way between two views. */
|
||
.pane-col{
|
||
position:absolute; inset:0; overflow-y:auto; overflow-x:hidden;
|
||
scroll-snap-type:y mandatory; scroll-behavior:smooth;
|
||
-webkit-overflow-scrolling:touch;
|
||
/* DOUBLE SCROLLBAR FIX. A pane's own content (e.g. the poster wall) scrolls
|
||
inside the pane; this column only scrolls BETWEEN panes. With both visible
|
||
the desktop showed two bars side by side. The column's bar is hidden — pane
|
||
navigation is driven by the View switcher and scroll-snap, not by dragging a
|
||
bar — while the inner content keeps its own, which is the one a user wants.
|
||
Scrolling still works here; only the indicator is suppressed. */
|
||
scrollbar-width:none; /* Firefox */
|
||
-ms-overflow-style:none; /* legacy Edge */
|
||
}
|
||
.pane-col::-webkit-scrollbar{ width:0; height:0; } /* WebKit/Blink */
|
||
/* Each pane fills the stage exactly, so "scroll down" moves you one full view. */
|
||
.pane{
|
||
position:relative; width:100%; height:100%;
|
||
scroll-snap-align:start; scroll-snap-stop:always;
|
||
}
|
||
/* The live custom element fills its pane. */
|
||
.pane > .pane-mount{ position:absolute; inset:0; }
|
||
/* Placeholder copy for a pane whose profile is not built yet — same card styling
|
||
as the wrapper's own placeholder so an unbuilt pane never looks broken. */
|
||
.pane-placeholder{
|
||
position:absolute; inset:0; display:grid; place-items:center; padding:24px;
|
||
text-align:center;
|
||
}
|
||
.pane-placeholder .pane-card{
|
||
max-width:520px; background:var(--card,#fff); border-radius:14px; padding:22px 26px;
|
||
box-shadow:0 1px 3px rgba(0,0,0,.12),0 6px 20px rgba(0,0,0,.08);
|
||
}
|
||
.pane-placeholder h2{ margin:0 0 8px; font-size:18px; font-weight:600 }
|
||
.pane-placeholder p{ margin:0; font-size:13px; line-height:1.55; opacity:.78 }
|
||
/* A small persistent hint that there IS something below — the affordance the
|
||
edge strips reinforce once you start interacting. Hidden on the last pane. */
|
||
.pane-more{
|
||
position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
|
||
display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px;
|
||
background:rgba(0,0,0,.55); color:#fff; font-size:11px; letter-spacing:.02em;
|
||
pointer-events:none; z-index:6; opacity:.9;
|
||
}
|
||
`;function B$(e,{host:t,mountPane:o}){const n=Array.isArray(e==null?void 0:e.panes)?e.panes:[];if(n.length<2)return null;const a=n.filter(i=>{var l;return(((l=i.at)==null?void 0:l[1])??0)===0}).sort((i,l)=>{var u,c;return(((u=i.at)==null?void 0:u[0])??0)-(((c=l.at)==null?void 0:c[0])??0)});if(a.length<2)return null;const r=document.createElement("div");r.className="pane-col";const s=new Map;return a.forEach((i,l)=>{const u=document.createElement("div");u.className="pane",u.dataset.paneId=i.id;const c=document.createElement("div");if(c.className="pane-mount",u.appendChild(c),s.set(i.id,c),i.placeholder){const d=document.createElement("div");d.className="pane-placeholder",d.innerHTML=`<div class="pane-card"><h2>${i.label}</h2><p>${i.placeholder}</p></div>`,u.appendChild(d)}if(l<a.length-1&&(e==null?void 0:e.paneHint)!==!1){const d=document.createElement("div");d.className="pane-more",d.innerHTML=`<span>${a[l+1].label} below</span><span aria-hidden="true">↓</span>`,u.appendChild(d)}r.appendChild(u)}),t.appendChild(r),{panes:a,scrollTo(i){const l=r.querySelector(`.pane[data-pane-id="${i}"]`);l&&l.scrollIntoView({behavior:"smooth",block:"start"})},current(){var l;const i=a.map(u=>{const c=r.querySelector(`.pane[data-pane-id="${u.id}"]`);return{id:u.id,d:Math.abs(((c==null?void 0:c.offsetTop)??0)-r.scrollTop)}});return i.sort((u,c)=>u.d-c.d),((l=i[0])==null?void 0:l.id)||a[0].id},onScroll(i){let l=null;const u=()=>{l&&clearTimeout(l),l=setTimeout(i,120)};return r.addEventListener("scroll",u,{passive:!0}),()=>{l&&clearTimeout(l),r.removeEventListener("scroll",u)}},mountEl:i=>s.get(i)||null,destroy(){r.remove(),s.clear()}}}const j$={class:"viewsel"},U$=["aria-label"],z$=["aria-pressed","aria-selected","onClick"],K$={__name:"ViewSelect",props:{views:{type:Array,default:()=>[]},current:{type:String,default:""},legend:{type:String,default:"Select View"},label:{type:String,default:"Views"}},emits:["select"],setup(e){return $t('.viewsel{ margin:0; padding:0 10px 2px; border:1px solid var(--ui-border,#d1d4cd); border-radius:8px; background:var(--ui-bg,#ffffff); }.viewsel > legend{ margin:0 auto; padding:0 6px; font-size:10px; text-transform:uppercase; letter-spacing:.7px; color:var(--ui-text-muted,#6d766e); font-weight:700; }.seg{ display:flex; gap:2px; }.seg button{ position:relative; display:flex; align-items:center; gap:6px; border:0; background:none; color:var(--ui-text-muted,#6d766e); padding:6px 12px 7px; font-size:13px; font-weight:500; cursor:pointer; transition:color .15s; font-family:inherit; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.seg button::after{ content:""; position:absolute; left:8px; right:8px; bottom:0; height:2px; border-radius:2px 2px 0 0; background:transparent; transition:background .15s; }.seg button:hover{ color:var(--ui-text,#3b463d); }.seg button:hover::after{ background:var(--ui-border,#d1d4cd); }.seg button[aria-pressed="true"]{ color:var(--ui-primary,#92b195); font-weight:600; }.seg button[aria-pressed="true"]::after{ background:var(--ui-primary,#92b195); }',"view-select"),(t,o)=>(H(),Z("fieldset",j$,[T("legend",null,ue(e.legend),1),T("div",{class:"seg",role:"tablist","aria-label":e.label},[(H(!0),Z(Ie,null,vt(e.views,n=>(H(),Z("button",{key:n.id,type:"button",role:"tab","aria-pressed":e.current===n.id?"true":"false","aria-selected":e.current===n.id?"true":"false",onClick:a=>t.$emit("select",n.id)},ue(n.label),9,z$))),128))],8,U$)]))}},H$=["aria-label"],V$={class:"mcm-header"},W$={class:"mcm-title"},Y$={class:"mcm-body"},q$=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Ci="doxa-map-menu-open",J$={__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}){$t(`
|
||
.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=Fe("mapToolbar",null),r=fe(null),s=fe(null),i=fe({});function l(){var E;const v=(E=a==null?void 0:a.el)==null?void 0:E.value,w=r.value;if(!v||!w){i.value={};return}const g=w.getBoundingClientRect(),f=v.getBoundingClientRect(),m=(f.left+f.right)/2>(g.left+g.right)/2,b=8,h=12,k=m?g.right-f.left+b:f.right-g.left+b,A=Math.max(200,Math.min(o.width,g.width-k-h)),$=Math.max(0,f.top-g.top);let x=w.getAttribute&&w.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-f.top-h):Math.max(120,g.height-$-h);o.matchToolbar&&(x=Math.max(120,Math.min(x,f.height))),o.maxHeight&&(x=Math.min(x,o.maxHeight)),i.value={top:`${Math.round($)}px`,[m?"right":"left"]:`${Math.round(k)}px`,width:`${Math.round(A)}px`,maxHeight:`${Math.round(x)}px`,...o.height?{height:`${Math.round(Math.min(o.height,x))}px`}:{}}}function u(v){o.open&&v.detail!==s.value&&n("close")}rt(()=>o.open,async v=>{var w;if(v){await lo(),l();try{(w=r.value)==null||w.dispatchEvent(new CustomEvent(Ci,{detail:s.value}))}catch{}}});function c(){o.open&&l()}function d(v){v.key==="Escape"&&o.open&&n("close")}function p(v){var g;if(!o.open)return;const w=v.composedPath?v.composedPath():[v.target];s.value&&w.includes(s.value)||(g=a==null?void 0:a.el)!=null&&g.value&&w.includes(a.el.value)||w.some(f=>{var m,b,h,k;return((b=(m=f==null?void 0:f.classList)==null?void 0:m.contains)==null?void 0:b.call(m,"mapboxgl-canvas"))||((k=(h=f==null?void 0:f.classList)==null?void 0:h.contains)==null?void 0:k.call(h,"maplibregl-canvas"))})&&n("close")}return co(()=>{var v,w,g;r.value=((w=(v=a==null?void 0:a.el)==null?void 0:v.value)==null?void 0:w.closest(q$))||null,(g=r.value)==null||g.addEventListener(Ci,u),window.addEventListener("resize",c),document.addEventListener("click",p,!0),document.addEventListener("keydown",d)}),Zt(()=>{var v;(v=r.value)==null||v.removeEventListener(Ci,u),window.removeEventListener("resize",c),document.removeEventListener("click",p,!0),document.removeEventListener("keydown",d)}),(v,w)=>(H(),lt(Og,{to:r.value,disabled:!r.value},[e.open?(H(),Z("div",{key:0,ref_key:"el",ref:s,class:Ne(["mcm",{light:!e.isDark}]),style:et(i.value),role:"dialog","aria-label":e.title},[T("div",V$,[T("span",W$,ue(e.title),1),T("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:w[0]||(w[0]=g=>n("close"))},[...w[1]||(w[1]=[T("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[T("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),T("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),T("div",Y$,[_n(v.$slots,"default")])],14,H$)):_e("",!0)],8,["to","disabled"]))}},Z$={class:"share-steps"},X$={class:"share-tabs"},Q$={key:0,class:"share-body"},ex={class:"share-url-box"},tx={class:"share-url-text"},ox={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},nx={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"},ax={key:1,class:"share-body"},rx={class:"share-size-pills"},sx=["onClick"],ix={class:"share-code-box"},lx={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},cx={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"},ux={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){$t(`
|
||
.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;
|
||
height: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}=mt(),a=e,r=fe(null),s=fe(!1),i=fe(null),l=fe(null),u=fe("link"),c=fe(!1),d=fe(!1),p=fe("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},w=Fe("profileConfig",null),g=Q(()=>h1({embedPath:a.embedPath,profileConfig:he(w)||null})),f=Q(()=>{const G=v[p.value].height;return'<iframe src="'+g.value+'" width="100%" height="'+G+'" style="border:none; border-radius:12px;" allowfullscreen></iframe>'});function m(){s.value=!s.value,s.value&&(u.value="link",c.value=!1,d.value=!1)}function b(){s.value=!1}async function h(G){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(G),!0}catch{}try{const U=document.createElement("textarea");U.value=G,U.setAttribute("readonly",""),U.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(U),U.select();const ee=document.execCommand("copy");return document.body.removeChild(U),ee}catch{return!1}}async function k(){await h(g.value)&&(c.value=!0,setTimeout(()=>{c.value=!1},2e3))}async function A(){await h(f.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const $=Fe("mapToolbar",null),S=fe(null);Nt("mapToolbar",$||{el:S});const x=!$;function E(G){if(r.value=G||null,!x||!G){G||(S.value=null);return}const U=G.offsetParent||G.parentElement;U&&!U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&U.setAttribute("data-map-area","share-fallback"),S.value=G}return(G,U)=>(H(),Z("div",{ref:E,class:"share-wrap","data-share-root":""},[Ve(ln,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:s.value,title:he(t)("buttons.share"),onClick:m},{default:zt(()=>[...U[2]||(U[2]=[T("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"},[T("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),T("polyline",{points:"16 6 12 2 8 6"}),T("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ve(J$,{open:s.value,title:he(t)("buttons.share"),"is-dark":e.isDark,onClose:b},{default:zt(()=>[T("div",{ref_key:"popoverEl",ref:i,class:Ne(["share-pop",{light:!e.isDark}])},[T("ul",Z$,[(H(!0),Z(Ie,null,vt(he(o)("buttons.shareSteps"),(ee,F)=>(H(),Z("li",{key:F},ue(he(n)(ee)),1))),128))]),T("div",X$,[T("button",{class:Ne(["share-tab",{active:u.value==="link"}]),onClick:U[0]||(U[0]=ee=>u.value="link")},"Embed link",2),T("button",{class:Ne(["share-tab",{active:u.value==="embed"}]),onClick:U[1]||(U[1]=ee=>u.value="embed")},"Add to Your Website",2)]),u.value==="link"?(H(),Z("div",Q$,[T("div",ex,[T("div",tx,ue(g.value),1)]),T("button",{class:Ne(["share-primary-btn",{copied:c.value}]),onClick:k},[c.value?(H(),Z("svg",nx,[...U[4]||(U[4]=[T("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),Z("svg",ox,[...U[3]||(U[3]=[T("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),T("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),St(" "+ue(c.value?"Copied!":"Copy Link"),1)],2)])):_e("",!0),u.value==="embed"?(H(),Z("div",ax,[U[7]||(U[7]=T("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),T("div",rx,[(H(),Z(Ie,null,vt(v,(ee,F)=>T("button",{key:F,class:Ne(["share-size-pill",{active:p.value===F}]),onClick:j=>p.value=F},ue(ee.label),11,sx)),64))]),T("div",ix,ue(f.value),1),T("button",{class:Ne(["share-secondary-btn",{copied:d.value}]),onClick:A},[d.value?(H(),Z("svg",cx,[...U[6]||(U[6]=[T("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),Z("svg",lx,[...U[5]||(U[5]=[T("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),T("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),St(" "+ue(d.value?"Copied!":"Copy Code"),1)],2)])):_e("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},dx={class:"upgmfe"},px={class:"hdr"},up="my-upg-100-list-map",gx="my-upg-100-list/upg-100-mfe/index.html",fx=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"upg-100-mfe",setup(e){const t=Fe("profileConfig",fe(null)),o=Fe("mapboxToken",fe("")),n=Fe("uiStore",null),a=Q(()=>!!(n!=null&&n.isDark)),r=Q(()=>{var m;return((m=t.value)==null?void 0:m.instanceId)||"upg-100-mfe"}),s=Q(()=>{var m;return{id:"upg-100-mfe",tag:up,config:{profile:"upg-100-list",dataSource:((m=t.value)==null?void 0:m.dataSource)||"pray-tools",instanceId:r.value},panes:[{id:"list",label:"Prayer Resources",at:[0,0],config:{profile:"poster-wall"}},{id:"map",label:"Map",at:[1,0],config:{profile:"upg-100-list"}}],paneHint:!1}}),i=fe(null),l=Q(()=>{var b;return((b=s.value.panes.filter(h=>{var k;return(((k=h.at)==null?void 0:k[1])??0)===0}).sort((h,k)=>{var A,$;return(((A=h.at)==null?void 0:A[0])??0)-((($=k.at)==null?void 0:$[0])??0)})[0])==null?void 0:b.id)||"list"}),u=fe(null),c=Q({get:()=>u.value||l.value,set:m=>{u.value=m}});let d=null,p=null;const v=["assetsBase","apiBaseUrl","locale","lang","isDark","qa"];function w(m){const b=document.createElement(up),h=t.value||{},k={};for(const $ of v)h[$]!==void 0&&h[$]!==null&&h[$]!==""&&(k[$]=h[$]);k.locale===void 0&&k.lang!==void 0&&(k.locale=k.lang);const A={...k,...s.value.config,...m.config};return o.value&&(A.tk=o.value),b.setAttribute("profile-config",JSON.stringify(A)),b}function g(m){c.value=m,d==null||d.scrollTo(m)}function f(m){const b=(m==null?void 0:m.detail)||{};b.instanceId&&b.instanceId!==r.value||g("map")}return co(()=>{var m;if(i.value&&(d=B$(s.value,{host:i.value}),!!d)){for(const b of d.panes)b.config&&((m=d.mountEl(b.id))==null||m.appendChild(w(b)));p=d.onScroll(()=>{const b=d.current();b&&b!==c.value&&(c.value=b)}),window.addEventListener("doxa-upg-100-list:show-on-map",f)}}),Zt(()=>{window.removeEventListener("doxa-upg-100-list:show-on-map",f),p==null||p(),d==null||d.destroy(),d=null}),$t(G$+`
|
||
/* SELF-SIZE (BUG-UPG100-NESTED-ELEMENTS-ZERO-HEIGHT). Every layer inside this element is
|
||
position:absolute / height:100% (.upgmfe -> .pane-col -> .pane), so the whole chain resolves to
|
||
ZERO unless the HOST itself is sized. The standalone leaf page papered over it with a page-level
|
||
rule, but inside a tab layout no such rule exists -> the header rendered and every pane collapsed
|
||
to 0, which is the "elements are not embedding" report. Declaring :host here makes the element
|
||
fill whatever slot it is mounted into, in every deploy method. */
|
||
:host{ display:block; width:100%; height:100%; min-height:420px; }
|
||
/* ── palette: DX-life material light ── */
|
||
.upgmfe{
|
||
--ui-bg:#ffffff; --ui-bg-elevated:#f3f3f1; --ui-bg-accented:#f3f3f1;
|
||
--ui-border:#d1d4cd; --ui-text:#3b463d; --ui-text-muted:#6d766e; --ui-primary:#92b195;
|
||
--header:56px;
|
||
position:absolute; inset:0; display:flex; flex-direction:column; min-height:0;
|
||
background:var(--ui-bg); color:var(--ui-text);
|
||
font:14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
|
||
}
|
||
/* NO AUTO-DARK. The DX design pattern is material LIGHT (Driver 2026-09-20): a system set to dark
|
||
mode must NOT flip this element. The prefers-color-scheme:dark override that used to live here is
|
||
removed deliberately — the light palette above is the only theme. */
|
||
/* ── header: same height/border as the shell; switcher centred; share at right ── */
|
||
.upgmfe .hdr{
|
||
flex:0 0 var(--header); height:var(--header); position:relative;
|
||
display:flex; align-items:center; justify-content:flex-end; padding:0 12px;
|
||
background:var(--ui-bg); border-bottom:1px solid var(--ui-border);
|
||
}
|
||
/* ── Select View fieldset ──
|
||
The control's own metrics now live in the SHARED library component
|
||
(components/ViewSelect.vue) — this file used to carry a hand-copied second
|
||
implementation of the shell's .viewsel/.seg rules. Only the PLACEMENT stays
|
||
here, because centring in this particular header is this layout's decision,
|
||
not the control's. */
|
||
.viewsel{
|
||
position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
|
||
}
|
||
/* ── stage: the pane-wrapper column mounts here (its .pane-col is absolute) ── */
|
||
.upgmfe .stage{ position:relative; flex:1 1 auto; min-height:0; }
|
||
/* the live custom element fills its pane */
|
||
.pane > .pane-mount > *{ position:absolute; inset:0; width:100%; height:100%; display:block; }
|
||
`,"upg-100-mfe"),(m,b)=>(H(),Z("div",dx,[T("header",px,[Ve(K$,{views:s.value.panes,current:c.value,legend:"Select View",label:"Views",onSelect:g},null,8,["views","current"]),Ve(ux,{"is-dark":a.value,"embed-path":gx},null,8,["is-dark"])]),T("div",{class:"stage",ref_key:"stage",ref:i},null,512)]))}}},Symbol.toStringTag,{value:"Module"})),wa=new Uint8Array(512),Ti=new Uint8Array(256);(()=>{let e=1;for(let t=0;t<255;t++)wa[t]=e,Ti[e]=t,e<<=1,e&256&&(e^=285);for(let t=255;t<512;t++)wa[t]=wa[t-255]})();const dp=(e,t)=>e===0||t===0?0:wa[Ti[e]+Ti[t]];function hx(e,t){let o=[1];for(let a=0;a<t;a++){const r=new Array(o.length+1).fill(0);for(let s=0;s<o.length;s++)r[s]^=o[s],r[s+1]^=dp(o[s],wa[a]);o=r}const n=new Uint8Array(t);for(const a of e){const r=a^n[0];n.copyWithin(0,1),n[t-1]=0;for(let s=0;s<t;s++)n[s]^=dp(o[s+1],r)}return n}const Fr=[[1,26,10,1],[2,44,16,1],[3,70,26,1],[4,100,18,2],[5,134,24,2],[6,172,16,4]],pp={1:[],2:[6,18],3:[6,22],4:[6,26],5:[6,30],6:[6,34]};function mx(e){const t=new TextEncoder().encode(e);let o=null;for(const F of Fr){const[,j,N,C]=F,V=j-N*C;if(t.length+2+1<=V){o=F;break}}if(!o)throw new Error(`qr: ${t.length} bytes exceeds this encoder's range (max ~${Fr.at(-1)[1]-Fr.at(-1)[2]*Fr.at(-1)[3]-3} bytes). It is scoped to short URLs on purpose.`);const[n,a,r,s]=o,i=a-r*s,l=[],u=(F,j)=>{for(let N=j-1;N>=0;N--)l.push(F>>N&1)};u(4,4),u(t.length,8);for(const F of t)u(F,8);for(let F=0;F<4&&l.length<i*8;F++)l.push(0);for(;l.length%8;)l.push(0);const c=[];for(let F=0;F<l.length;F+=8)c.push(l.slice(F,F+8).reduce((j,N)=>j<<1|N,0));const d=[236,17];for(let F=0;c.length<i;F++)c.push(d[F%2]);const p=Math.floor(i/s),v=[],w=[];for(let F=0;F<s;F++){const j=c.slice(F*p,(F+1)*p);v.push(j),w.push(hx(j,r))}const g=[];for(let F=0;F<p;F++)for(const j of v)g.push(j[F]);for(let F=0;F<r;F++)for(const j of w)g.push(j[F]);const f=n*4+17,m=new Int8Array(f*f).fill(-1),b=(F,j)=>F*f+j,h=(F,j,N)=>{F>=0&&j>=0&&F<f&&j<f&&(m[b(F,j)]=N)},k=(F,j)=>{for(let N=-1;N<=7;N++)for(let C=-1;C<=7;C++){const V=N===0||N===6||C===0||C===6,te=N>=2&&N<=4&&C>=2&&C<=4;h(F+N,j+C,N>=0&&N<=6&&C>=0&&C<=6&&(V||te)?1:0)}};k(0,0),k(0,f-7),k(f-7,0);for(let F=8;F<f-8;F++){const j=F%2===0?1:0;m[b(6,F)]===-1&&h(6,F,j),m[b(F,6)]===-1&&h(F,6,j)}for(const F of pp[n]||[])for(const j of pp[n]||[])if(m[b(F,j)]===-1)for(let N=-2;N<=2;N++)for(let C=-2;C<=2;C++)h(F+N,j+C,Math.abs(N)===2||Math.abs(C)===2||N===0&&C===0?1:0);h(f-8,8,1);const A=[];for(let F=0;F<=8;F++)F!==6&&A.push([8,F],[F,8]);for(let F=0;F<8;F++)A.push([8,f-1-F],[f-1-F,8]);for(const[F,j]of A)m[b(F,j)]===-1&&(m[b(F,j)]=-2);let $=0,S=!0;for(let F=f-1;F>0;F-=2){F===6&&F--;for(let j=0;j<f;j++){const N=S?f-1-j:j;for(const C of[F,F-1]){if(m[b(N,C)]!==-1)continue;const V=$<g.length*8?g[$>>3]>>7-($&7)&1:0;$++,m[b(N,C)]=V^((N+C)%2===0?1:0)}}S=!S}let x=0,E=x;for(let F=0;F<10;F++)E=E<<1^(E>>9&1)*1335;const G=(x<<10|E)^21522,U=F=>G>>F&1;for(let F=0;F<=5;F++)h(8,F,U(F)),h(f-1-F,8,U(F));h(8,7,U(6)),h(8,8,U(7)),h(7,8,U(8));for(let F=9;F<=14;F++)h(8,f-15+F,U(F)),h(14-F,8,U(F));h(f-8,8,1);const ee=new Uint8Array(f*f);for(let F=0;F<m.length;F++)ee[F]=m[F]===1?1:0;return{size:f,modules:ee}}function bx(e,{size:t=120,margin:o=2,dark:n="#14110d"}={}){const{size:a,modules:r}=mx(e),s=a+o*2;let i="";for(let l=0;l<a;l++)for(let u=0;u<a;u++)r[l*a+u]&&(i+=`M${u+o} ${l+o}h1v1h-1z`);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${s} ${s}" width="${t}" height="${t}" shape-rendering="crispEdges" role="img" aria-label="QR code"><rect width="${s}" height="${s}" fill="#fff"/><path d="${i}" fill="${n}"/></svg>`}const Mi={poker:{w:2.5,h:3.5,label:"Card 2.5 × 3.5 in"},pokerLandscape:{w:3.5,h:2.5,label:"Card 3.5 × 2.5 in (landscape)",side:!0},postcard:{w:4,h:6,label:"Postcard 4 × 6 in"},postcardLandscape:{w:6,h:4,label:"Postcard 6 × 4 in (landscape)",side:!0},a6:{w:4.13,h:5.83,label:"A6 105 × 148 mm"}},gp=96;function yx({strings:e,lang:t="en",stock:o="poker",siteBase:n="https://pray.doxa.life"}={}){const a=e.en,r=e[t]||{},s=b=>r[b]!==void 0?r[b]:a[b],i=b=>String(b??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),l=(b,h)=>{const k=b[`${h}_label`];if(k)return String(k);const A=b[h];return A&&typeof A=="object"?String(A.label??A.value??""):A==null?"":String(A)},u=b=>Number.isFinite(Number(b))?Number(b).toLocaleString(t):"—",c=Mi[o]||Mi.poker,d=Math.round(c.w*gp),p=Math.round(c.h*gp),v=c.side===!0,w=b=>t==="en"?`${n}/${b}`:`${n}/${t}/${b}`;function g(){return`
|
||
/* THE PAGE IS THE CARD. Explicit inches — a named size silently falls back to
|
||
letter in Chromium, which is exactly the bug this renderer exists to fix. */
|
||
@page{size:${c.w}in ${c.h}in;margin:0}
|
||
html,body{margin:0;padding:0;background:#6f6f6f;
|
||
-webkit-print-color-adjust:exact;print-color-adjust:exact}
|
||
.card{position:relative;width:${d}px;height:${p}px;overflow:hidden;
|
||
background:#f7f4ec;color:#1b1a17;
|
||
font-family:Georgia,'Palatino Linotype',serif;
|
||
page-break-after:always;break-after:page}
|
||
.card:last-child{page-break-after:auto;break-after:auto}
|
||
|
||
/* THE PHOTO. Portrait: full-bleed across the TOP, the largest thing on the card
|
||
by design — a face is what makes this a prayer card rather than a data tile.
|
||
Landscape: full-bleed down the LEFT instead, because a 46% band on a 2.5in-tall
|
||
card is a strip too short to carry a face AND leave room for the rows. */
|
||
.ph,.ph-none{position:absolute;left:0;top:0;display:block;
|
||
width:${v?Math.round(d*.42):d}px;
|
||
height:${v?p:Math.round(p*.46)}px}
|
||
.ph{object-fit:cover;background:#ddd6c6}
|
||
.ph-none{background:linear-gradient(160deg,#e6dfcd,#cfc6ad);display:flex;
|
||
align-items:center;justify-content:center;text-align:center;padding:6px;
|
||
font:italic 11px Georgia,serif;color:#8c8170}
|
||
|
||
/* A soft scrim under the name so it stays legible over any photo. */
|
||
.scrim{position:absolute;left:0;
|
||
width:${v?Math.round(d*.42):d}px;
|
||
top:${Math.round(v?p*.58:p*.3)}px;
|
||
height:${Math.round(v?p*.42:p*.16)}px;
|
||
background:linear-gradient(to bottom,rgba(24,22,18,0),rgba(24,22,18,.72))}
|
||
.nm{position:absolute;
|
||
left:${v?10:14}px;
|
||
${v?`width:${Math.round(d*.42)-20}px;`:"right:14px;"}
|
||
top:${Math.round(v?p*.74:p*.355)}px;
|
||
font:700 ${v?15:19}px Georgia,serif;color:#fff;line-height:1.05;
|
||
text-shadow:0 1px 3px rgba(0,0,0,.5)}
|
||
.nm.long{font-size:${v?12:15}px}
|
||
|
||
.body{position:absolute;right:14px;overflow:hidden;
|
||
left:${v?Math.round(d*.42)+12:14}px;
|
||
top:${v?12:Math.round(p*.48)}px;
|
||
bottom:${Math.round(v?p*.3:p*.2)}px}
|
||
.row{display:flex;gap:6px;font:400 9.5px Georgia,serif;line-height:1.5;margin-bottom:1px}
|
||
.k{color:#8c8170;min-width:52px;flex:0 0 auto}
|
||
.v{color:#3b3a34;font-weight:600}
|
||
.rel{margin-top:5px;font:italic 8.5px Georgia,serif;color:#6d665a;line-height:1.35}
|
||
|
||
/* FOOTER: the QR is the card's whole reason to survive the day it is handed
|
||
over — it carries the reader to the live profile in their own language. */
|
||
.ft{position:absolute;right:14px;bottom:10px;
|
||
left:${v?Math.round(d*.42)+12:14}px;
|
||
display:flex;align-items:flex-end;gap:8px}
|
||
.qr{flex:0 0 auto;line-height:0}
|
||
.ftx{flex:1 1 auto;min-width:0}
|
||
.cta{font:600 8px Georgia,serif;color:#7a3b2e;letter-spacing:.04em;
|
||
text-transform:uppercase}
|
||
.url{font:400 7px Georgia,serif;color:#a89f8c;word-break:break-all;margin-top:1px}
|
||
.brand{position:absolute;right:14px;bottom:10px;
|
||
font:400 7px Georgia,serif;color:#b9ae99;text-align:right}`}function f(b){const h=String(b.name||b.slug||""),k=b.image_url?`<img class="ph" src="${i(b.image_url)}" alt="">`:`<div class="ph-none">${i(s("no_photo"))}</div>`,A=b.religion&&typeof b.religion=="object"&&b.religion.description||b.religion_description||"",$=A?`<div class="rel">${i(String(A).slice(0,170))}</div>`:"",S=w(b.slug),x=[[s("card_country"),l(b,"country_code")],[s("card_population"),`${u(b.population)} ${s("people_suffix")}`],[s("card_language"),l(b,"primary_language")],[s("card_religion"),l(b,"religion")]].filter(([,E])=>E&&String(E).trim()&&String(E)!=="—").map(([E,G])=>`<div class="row"><div class="k">${i(E)}</div><div class="v">${i(G)}</div></div>`).join("");return`<div class="card">${k}<div class="scrim"></div><div class="nm${h.length>16?" long":""}">${i(h)}</div><div class="body">${x}${$}</div><div class="ft"><div class="qr">${bx(S,{size:54,margin:1})}</div><div class="ftx"><div class="cta">${i(s("card_cta"))}</div><div class="url">${i(S.replace(/^https?:\/\//,""))}</div></div></div></div>`}function m(b,h){const k=h.map(f).join("");return`<!DOCTYPE html><html lang="${i(t)}"><head><meta charset="utf-8">
|
||
<title>${i(b.label||b.id)} — ${i(s("deck_title"))}</title>
|
||
<style>${g()}</style></head><body>${k}</body></html>`}return{buildDeck:m,card:f,css:g,profileUrl:w,W:d,H:p,stock:c}}const fp=Object.freeze(Object.defineProperty({__proto__:null,STOCK:Mi,createCardRenderer:yx},Symbol.toStringTag,{value:"Module"})),hp={purpose:"EVERY human-readable string in the UPG-100 prayer packet, in one file, so a new language is a new block here and NOT a code change. packet.mjs reads LANG (default 'en') and falls back to 'en' key-by-key, so a partial translation renders the translated keys and leaves the rest in English rather than blanking.",how_to_translate:`Copy the "en" block, change the key to the ISO code, translate the values. Keep {placeholders} exactly as they are — they are substituted at render time. Do not translate scripture REFERENCES (book names are resolved by the reader's own Bible); DO translate the prayer text.`,note_on_scripture:"point4_passage is the ONLY full scripture text in the packet (Mark 5:1-20, printed in full at the Driver's instruction). A translation MUST supply its own rendering in a public-domain or properly-licensed version FOR THAT LANGUAGE. ⚠ Do NOT translate it yourself and do NOT leave a machine rendering in place: this is printed scripture in a prayer packet. A language block that omits point4_passage falls back to the English WEB text per-key, which is honest — an untrusted translation of Mark 5 is not.",note_on_references:"Scripture REFERENCES (Matthew 27:27, Mark 5:1-20) are deliberately left in English in every language block, so a reader can look them up in their own Bible regardless of the packet's language. ⚠ MEASURED TRADEOFF, not an oversight: on a rendered French page the English book names are visibly foreign next to fully-translated prayer text. If a language wants localised book names, add a `books` map to that block and teach the renderer to use it — do NOT translate the refs inline, because the same strings identify the passage for any future lookup.",note_on_scripts:`ALL 11 app locales now ship. Script coverage MEASURED by rendering at 48px and READING THE PIXELS: Latin, Cyrillic (ru), Arabic (ar) and CJK (zh) shape correctly with the system Georgia/Palatino/serif stack. DEVANAGARI (hi) does NOT — it renders as tofu boxes — so Noto Serif Devanagari is vendored (OFL) and base64-INLINED into hi packets by the renderer's SCRIPT_FONT map. Inlined, not linked, because a packet is a standalone file that must print offline; ~165KB on a 3.5MB packet, and only for that language. mr and ne map to the same face.
|
||
⚠ TWO MEASUREMENTS LIED ABOUT THIS, so do not automate it cheaply: (1) comparing shaped width against a missing font reported ar and zh BROKEN and hi FINE — exactly backwards, because Devanagari tofu boxes match real glyph advance; (2) an ink-column-profile heuristic scored CORRECTLY-RENDERED Devanagari the same as tofu (3 vs 2 distinct heights), because its baseline bar gives a uniform profile. check:packet-render therefore asserts only that a DECLARED @font-face LOADED — the mechanical half — and leaves glyph correctness to a human reading a screenshot. A detector that blocks working packets is worse than none.`,note_on_rtl:"ar is right-to-left. The renderer emits dir on <html> from an RTL set (packet-render.js), and scripture REFERENCES are wrapped in dir=ltr + unicode-bidi:isolate. Without that isolation the bidi algorithm reorders a reference that STARTS WITH A DIGIT: '1 Peter 5:6-11' rendered as 'Peter 5:6-11 1'. Note the reference LIST then reads right-to-left on an RTL page (first item rightmost) — that is correct for an RTL reader, not a defect."},mp={map_page_kicker:"UNENGAGED PEOPLE GROUPS",map_page_sub:"A prayer list of {count} unreached people groups",list_header:"{from}–{to} of {count} · pray for them by name",people_suffix:"people",no_photo:"no photo available",deck_title:"Prayer Cards",card_country:"Country",card_population:"People",card_language:"Language",card_religion:"Religion",card_cta:"Pray for them",points_title:"12 Prayer Points",points_intro:"One hour with God, five minutes each. Pray these twelve for the people groups in this packet.",points_attrib:"Prayer rhythms inspired by Metacamp · metacamp.org",wheel_title:"Prayer Wheel",wheel_intro:"Spend an hour with God? It is easier than you think. Break it into 5-minute blocks and focus on one of these during each segment.",wheel_minutes:"minutes",wheel_attrib:"Prayer Wheel · Metacamp Module 1 · metacamp.org",privacy_note:"Marker positions are approximate · people-group locations are generalised at the source for privacy",rhythms:{praise:"PRAISE",wait:"WAIT",confess:"CONFESS",read:"READ THE WORD",ask:"ASK",intercede:"INTERCESSION",pray_word:"PRAY THE WORD",thank:"THANK",sing:"SING",meditate:"MEDITATE",listen:"LISTEN",praise_end:"PRAISE"},points:[{n:1,rhythm:"praise",sub:"Two-Cross Gospel",text:"That they accept Christ as King, forgiven by His cross — and take up their own cross, willing to suffer in a persecution zone. May the Lamb receive the reward of His suffering, starting with me.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Holy Spirit & deliverance",text:"That they are filled with the Spirit and made bold witnesses; not isolated; baptized in water and Spirit; every evil grip broken. That believers in neighbouring peoples are mobilised as laborers.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"We confess unbelief that this is too big for God. That He revives our love and faith for the global unreached.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"the Father's love",text:"That they would be SAVED and KNOW their heavenly Father loves them — and that through them He would bring salvation to their family, friends, neighbours, coworkers, classmates, everyone they know personally.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"baptisms",text:"New baptisms among the locals, and every baptized one trained to baptize others, multiplying.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"laborers & shepherds",text:"Laborers sent to deeply love a people they have never met; good shepherds raised up from within.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Persons & Houses of Peace",text:"That laborers and local leaders find the receptive person and the house of peace, and disciple them well.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"rest",text:"Thank God for the rest He has given; that they enter that rest in Christ, and that their spiritual family is a safe place.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"That the people group is flooded with worshippers — worship everywhere, in freedom and in chains.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"communion",text:"That they take communion together and grasp the weight of His death, burial and resurrection.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"accountability",text:"Not only that they would listen, but that they would have people in their life who help them read the Word, pray, commit to community, and respond to suffering well — resisting the adversary who comes after believers across the whole world.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"great · greater · greatest",text:"Praise in advance — for salvations; GREATER, for spiritual families multiplying; GREATEST, for lives yielded and local church planters raised up who multiply healthy churches across the whole people group, no matter the cost.",refs:["Acts 2:42–47","Matthew 28:19–20"]}],point4_passage:"And they came to the other side of the sea, into the country of the Gadarenes. When he had come out of the boat, immediately a man with an unclean spirit met him out of the tombs. He lived in the tombs. Nobody could bind him any more, not even with chains, because he had been often bound with fetters and chains, and the chains had been torn apart by him, and the fetters broken in pieces. Nobody had the strength to tame him. Always, night and day, in the tombs and in the mountains, he was crying out, and cutting himself with stones. When he saw Jesus from afar, he ran and bowed down to him, and crying out with a loud voice, he said, “What have I to do with you, Jesus, you Son of the Most High God? I adjure you by God, don’t torment me.” For he said to him, “Come out of the man, you unclean spirit!” He asked him, “What is your name?” He said to him, “My name is Legion, for we are many.” He begged him much that he would not send them away out of the country. Now on the mountainside there was a great herd of pigs feeding. All the demons begged him, saying, “Send us into the pigs, that we may enter into them.” At once Jesus gave them permission. The unclean spirits came out and entered into the pigs. The herd of about two thousand rushed down the steep bank into the sea, and they were drowned in the sea. Those who fed them fled, and told it in the city and in the country. The people came to see what it was that had happened. They came to Jesus, and saw him who had been possessed by demons sitting, clothed, and in his right mind, even him who had the legion; and they were afraid. Those who saw it declared to them what happened to him who was possessed by demons, and about the pigs. They began to beg him to depart from their region. As he was entering into the boat, he who had been possessed by demons begged him that he might be with him. He didn’t allow him, but said to him, “Go to your house, to your friends, and tell them what great things the Lord has done for you and how he had mercy on you.” He went his way, and began to proclaim in Decapolis how Jesus had done great things for him, and everyone marveled.",point4_passage_credit:"Mark 5:1–20 · World English Bible (public domain)"},bp={map_page_kicker:"GRUPOS ÉTNICOS NO EVANGELIZADOS",map_page_sub:"Una lista de oración de {count} grupos étnicos no alcanzados",list_header:"{from}–{to} de {count} · ora por ellos por nombre",people_suffix:"personas",no_photo:"sin fotografía disponible",deck_title:"Tarjetas de Oración",card_country:"País",card_population:"Personas",card_language:"Idioma",card_religion:"Religión",card_cta:"Ora por ellos",points_title:"12 Puntos de Oración",points_intro:"Una hora con Dios, cinco minutos cada uno. Ora estos doce por los grupos étnicos de este paquete.",points_attrib:"Ritmos de oración inspirados en Metacamp · metacamp.org",wheel_title:"Rueda de Oración",wheel_intro:"¿Pasar una hora con Dios? Es más fácil de lo que piensas. Divídela en bloques de 5 minutos y concéntrate en uno de estos durante cada segmento.",wheel_minutes:"minutos",wheel_attrib:"Rueda de Oración · Metacamp Módulo 1 · metacamp.org",privacy_note:"Las posiciones de los marcadores son aproximadas · las ubicaciones de los grupos étnicos se generalizan en la fuente por privacidad",rhythms:{praise:"ALABANZA",wait:"ESPERAR",confess:"CONFESAR",read:"LEER LA PALABRA",ask:"PEDIR",intercede:"INTERCESIÓN",pray_word:"ORAR LA PALABRA",thank:"AGRADECER",sing:"CANTAR",meditate:"MEDITAR",listen:"ESCUCHAR",praise_end:"ALABANZA"},points:[{n:1,rhythm:"praise",sub:"Evangelio de las dos cruces",text:"Que acepten a Cristo como Rey, perdonados por Su cruz — y que tomen su propia cruz, dispuestos a sufrir en una zona de persecución. Que el Cordero reciba la recompensa de Su sufrimiento, comenzando por mí.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Espíritu Santo y liberación",text:"Que sean llenos del Espíritu y hechos testigos valientes; que no estén aislados; bautizados en agua y Espíritu; que todo dominio del mal sea roto. Que los creyentes de los pueblos vecinos sean movilizados como obreros.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Confesamos la incredulidad de pensar que esto es demasiado grande para Dios. Que Él reavive nuestro amor y nuestra fe por los no alcanzados del mundo.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"el amor del Padre",text:"Que sean SALVOS y CONOZCAN que su Padre celestial los ama — y que a través de ellos Él lleve salvación a su familia, amigos, vecinos, compañeros de trabajo, compañeros de clase, a todos los que conocen personalmente.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"bautismos",text:"Nuevos bautismos entre los locales, y que cada bautizado sea formado para bautizar a otros, multiplicándose.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"obreros y pastores",text:"Obreros enviados a amar profundamente a un pueblo que nunca han conocido; buenos pastores levantados desde dentro.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Personas y Casas de Paz",text:"Que los obreros y los líderes locales encuentren a la persona receptiva y la casa de paz, y los discipulen bien.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"descanso",text:"Damos gracias a Dios por el descanso que ha dado; que entren en ese descanso en Cristo, y que su familia espiritual sea un lugar seguro.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Que el grupo étnico sea inundado de adoradores — adoración en todas partes, en libertad y en cadenas.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"comunión",text:"Que tomen la comunión juntos y comprendan el peso de Su muerte, sepultura y resurrección.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"rendición de cuentas",text:"No sólo que escuchen, sino que tengan personas en su vida que les ayuden a leer la Palabra, orar, comprometerse con la comunidad y responder bien al sufrimiento — resistiendo al adversario que persigue a los creyentes en todo el mundo.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"grande · mayor · la mayor",text:"Alabanza por anticipado — por las salvaciones; MAYOR, por familias espirituales que se multiplican; LA MAYOR, por vidas entregadas y plantadores de iglesias locales levantados que multiplican iglesias sanas en todo el grupo étnico, sin importar el costo.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},yp={map_page_kicker:"GROUPES ETHNIQUES NON ATTEINTS",map_page_sub:"Une liste de prière de {count} groupes ethniques non atteints",list_header:"{from}–{to} sur {count} · priez pour eux par leur nom",people_suffix:"personnes",no_photo:"aucune photo disponible",deck_title:"Cartes de Prière",card_country:"Pays",card_population:"Personnes",card_language:"Langue",card_religion:"Religion",card_cta:"Priez pour eux",points_title:"12 Sujets de Prière",points_intro:"Une heure avec Dieu, cinq minutes chacun. Priez ces douze sujets pour les groupes ethniques de ce dossier.",points_attrib:"Rythmes de prière inspirés de Metacamp · metacamp.org",wheel_title:"Roue de Prière",wheel_intro:"Passer une heure avec Dieu ? C'est plus simple qu'il n'y paraît. Divisez-la en blocs de 5 minutes et concentrez-vous sur l'un de ces sujets à chaque segment.",wheel_minutes:"minutes",wheel_attrib:"Roue de Prière · Metacamp Module 1 · metacamp.org",privacy_note:"Les positions des repères sont approximatives · les localisations des groupes ethniques sont généralisées à la source pour des raisons de confidentialité",rhythms:{praise:"LOUANGE",wait:"ATTENDRE",confess:"CONFESSER",read:"LIRE LA PAROLE",ask:"DEMANDER",intercede:"INTERCESSION",pray_word:"PRIER LA PAROLE",thank:"REMERCIER",sing:"CHANTER",meditate:"MÉDITER",listen:"ÉCOUTER",praise_end:"LOUANGE"},points:[{n:1,rhythm:"praise",sub:"Évangile des deux croix",text:"Qu'ils accueillent Christ comme Roi, pardonnés par Sa croix — et qu'ils prennent leur propre croix, prêts à souffrir dans une zone de persécution. Que l'Agneau reçoive la récompense de Sa souffrance, en commençant par moi.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Saint-Esprit et délivrance",text:"Qu'ils soient remplis de l'Esprit et rendus témoins courageux ; qu'ils ne soient pas isolés ; baptisés d'eau et d'Esprit ; que toute emprise du mal soit brisée. Que les croyants des peuples voisins soient mobilisés comme ouvriers.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Nous confessons l'incrédulité qui juge cela trop grand pour Dieu. Qu'Il ravive notre amour et notre foi pour les non-atteints du monde entier.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"l'amour du Père",text:"Qu'ils soient SAUVÉS et qu'ils SACHENT que leur Père céleste les aime — et qu'à travers eux Il apporte le salut à leur famille, leurs amis, leurs voisins, leurs collègues, leurs camarades, à tous ceux qu'ils connaissent personnellement.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"baptêmes",text:"De nouveaux baptêmes parmi les habitants, et que chaque baptisé soit formé pour en baptiser d'autres, en se multipliant.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"ouvriers et bergers",text:"Des ouvriers envoyés pour aimer profondément un peuple qu'ils n'ont jamais rencontré ; de bons bergers suscités de l'intérieur.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Personnes et Maisons de Paix",text:"Que les ouvriers et les responsables locaux trouvent la personne réceptive et la maison de paix, et qu'ils les forment bien.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"repos",text:"Merci à Dieu pour le repos qu'Il a donné ; qu'ils entrent dans ce repos en Christ, et que leur famille spirituelle soit un lieu sûr.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Que le groupe ethnique soit inondé d'adorateurs — l'adoration partout, dans la liberté comme dans les chaînes.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"communion",text:"Qu'ils prennent la communion ensemble et saisissent le poids de Sa mort, de Sa mise au tombeau et de Sa résurrection.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"redevabilité",text:"Non seulement qu'ils écoutent, mais qu'ils aient autour d'eux des personnes qui les aident à lire la Parole, à prier, à s'engager dans la communauté et à répondre justement à la souffrance — résistant à l'adversaire qui poursuit les croyants du monde entier.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"grand · plus grand · le plus grand",text:"La louange par avance — pour les saluts ; PLUS GRAND, pour les familles spirituelles qui se multiplient ; LE PLUS GRAND, pour des vies livrées et des implanteurs d'églises locaux suscités qui multiplient des églises saines dans tout le groupe ethnique, quel qu'en soit le prix.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},_p={map_page_kicker:"GRUPOS ÉTNICOS NÃO ALCANÇADOS",map_page_sub:"Uma lista de oração de {count} grupos étnicos não alcançados",list_header:"{from}–{to} de {count} · ore por eles pelo nome",people_suffix:"pessoas",no_photo:"sem fotografia disponível",deck_title:"Cartões de Oração",card_country:"País",card_population:"Pessoas",card_language:"Idioma",card_religion:"Religião",card_cta:"Ore por eles",points_title:"12 Pontos de Oração",points_intro:"Uma hora com Deus, cinco minutos cada. Ore estes doze pelos grupos étnicos deste pacote.",points_attrib:"Ritmos de oração inspirados na Metacamp · metacamp.org",wheel_title:"Roda de Oração",wheel_intro:"Passar uma hora com Deus? É mais fácil do que você pensa. Divida-a em blocos de 5 minutos e concentre-se em um destes em cada segmento.",wheel_minutes:"minutos",wheel_attrib:"Roda de Oração · Metacamp Módulo 1 · metacamp.org",privacy_note:"As posições dos marcadores são aproximadas · as localizações dos grupos étnicos são generalizadas na fonte por privacidade",rhythms:{praise:"LOUVOR",wait:"ESPERAR",confess:"CONFESSAR",read:"LER A PALAVRA",ask:"PEDIR",intercede:"INTERCESSÃO",pray_word:"ORAR A PALAVRA",thank:"AGRADECER",sing:"CANTAR",meditate:"MEDITAR",listen:"OUVIR",praise_end:"LOUVOR"},points:[{n:1,rhythm:"praise",sub:"Evangelho das duas cruzes",text:"Que aceitem Cristo como Rei, perdoados pela Sua cruz — e tomem a sua própria cruz, dispostos a sofrer numa zona de perseguição. Que o Cordeiro receba a recompensa do Seu sofrimento, começando por mim.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Espírito Santo e libertação",text:"Que sejam cheios do Espírito e feitos testemunhas ousadas; que não fiquem isolados; batizados em água e Espírito; que todo domínio do mal seja quebrado. Que os crentes dos povos vizinhos sejam mobilizados como obreiros.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Confessamos a incredulidade de achar que isto é grande demais para Deus. Que Ele reavive o nosso amor e a nossa fé pelos não alcançados do mundo.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"o amor do Pai",text:"Que sejam SALVOS e SAIBAM que o seu Pai celestial os ama — e que através deles Ele leve salvação à sua família, amigos, vizinhos, colegas de trabalho, colegas de classe, a todos os que conhecem pessoalmente.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"batismos",text:"Novos batismos entre os locais, e que cada batizado seja treinado para batizar outros, multiplicando-se.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"obreiros e pastores",text:"Obreiros enviados para amar profundamente um povo que nunca conheceram; bons pastores levantados de dentro.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Pessoas e Casas de Paz",text:"Que os obreiros e os líderes locais encontrem a pessoa receptiva e a casa de paz, e os discipulem bem.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"descanso",text:"Agradecemos a Deus pelo descanso que deu; que entrem nesse descanso em Cristo, e que a sua família espiritual seja um lugar seguro.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Que o grupo étnico seja inundado de adoradores — adoração em toda parte, em liberdade e em correntes.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"comunhão",text:"Que tomem a ceia juntos e compreendam o peso da Sua morte, sepultamento e ressurreição.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"prestação de contas",text:"Não apenas que ouçam, mas que tenham pessoas na sua vida que os ajudem a ler a Palavra, orar, comprometer-se com a comunidade e responder bem ao sofrimento — resistindo ao adversário que persegue os crentes no mundo inteiro.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"grande · maior · o maior",text:"Louvor antecipado — pelas salvações; MAIOR, por famílias espirituais que se multiplicam; O MAIOR, por vidas entregues e plantadores de igrejas locais levantados que multiplicam igrejas saudáveis em todo o grupo étnico, custe o que custar.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},vp={map_page_kicker:"UNERREICHTE VOLKSGRUPPEN",map_page_sub:"Eine Gebetsliste von {count} unerreichten Volksgruppen",list_header:"{from}–{to} von {count} · betet namentlich für sie",people_suffix:"Menschen",no_photo:"kein Foto verfügbar",deck_title:"Gebetskarten",card_country:"Land",card_population:"Menschen",card_language:"Sprache",card_religion:"Religion",card_cta:"Betet für sie",points_title:"12 Gebetsanliegen",points_intro:"Eine Stunde mit Gott, je fünf Minuten. Betet diese zwölf Anliegen für die Volksgruppen in diesem Heft.",points_attrib:"Gebetsrhythmen inspiriert von Metacamp · metacamp.org",wheel_title:"Gebetsrad",wheel_intro:"Eine Stunde mit Gott verbringen? Es ist leichter, als du denkst. Teile sie in 5-Minuten-Blöcke und konzentriere dich in jedem Abschnitt auf eines dieser Anliegen.",wheel_minutes:"Minuten",wheel_attrib:"Gebetsrad · Metacamp Modul 1 · metacamp.org",privacy_note:"Die Markerpositionen sind ungefähr · die Standorte der Volksgruppen werden an der Quelle aus Datenschutzgründen verallgemeinert",rhythms:{praise:"LOBPREIS",wait:"WARTEN",confess:"BEKENNEN",read:"DAS WORT LESEN",ask:"BITTEN",intercede:"FÜRBITTE",pray_word:"DAS WORT BETEN",thank:"DANKEN",sing:"SINGEN",meditate:"MEDITIEREN",listen:"HÖREN",praise_end:"LOBPREIS"},points:[{n:1,rhythm:"praise",sub:"Evangelium der zwei Kreuze",text:"Dass sie Christus als König annehmen, vergeben durch Sein Kreuz — und ihr eigenes Kreuz auf sich nehmen, bereit, in einem Verfolgungsgebiet zu leiden. Möge das Lamm den Lohn Seines Leidens empfangen, angefangen bei mir.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Heiliger Geist und Befreiung",text:"Dass sie mit dem Geist erfüllt und zu mutigen Zeugen werden; dass sie nicht isoliert sind; getauft in Wasser und Geist; dass jeder Griff des Bösen gebrochen wird. Dass Gläubige in Nachbarvölkern als Arbeiter mobilisiert werden.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Wir bekennen den Unglauben, dass dies für Gott zu groß sei. Dass Er unsere Liebe und unseren Glauben für die weltweit Unerreichten neu belebt.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"die Liebe des Vaters",text:"Dass sie GERETTET werden und WISSEN, dass ihr himmlischer Vater sie liebt — und dass Er durch sie Rettung zu ihrer Familie, ihren Freunden, Nachbarn, Kollegen, Mitschülern bringt, zu allen, die sie persönlich kennen.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"Taufen",text:"Neue Taufen unter den Einheimischen, und dass jeder Getaufte zugerüstet wird, andere zu taufen, sich vermehrend.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"Arbeiter und Hirten",text:"Arbeiter, gesandt, ein Volk zutiefst zu lieben, das sie nie getroffen haben; gute Hirten, von innen heraus erweckt.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Menschen und Häuser des Friedens",text:"Dass Arbeiter und lokale Leiter den empfänglichen Menschen und das Haus des Friedens finden und sie gut zu Jüngern machen.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"Ruhe",text:"Dank sei Gott für die Ruhe, die Er gegeben hat; dass sie in diese Ruhe in Christus eintreten und dass ihre geistliche Familie ein sicherer Ort ist.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Dass die Volksgruppe von Anbetern überflutet wird — Anbetung überall, in Freiheit und in Ketten.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"Abendmahl",text:"Dass sie gemeinsam das Abendmahl nehmen und das Gewicht Seines Todes, Seiner Grablegung und Auferstehung erfassen.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"Rechenschaft",text:"Nicht nur, dass sie hören, sondern dass sie Menschen in ihrem Leben haben, die ihnen helfen, das Wort zu lesen, zu beten, sich der Gemeinschaft zu verpflichten und gut auf Leiden zu reagieren — dem Widersacher widerstehend, der Gläubige auf der ganzen Welt verfolgt.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"groß · größer · am größten",text:"Lobpreis im Voraus — für Errettungen; GRÖSSER, für sich vermehrende geistliche Familien; AM GRÖSSTEN, für hingegebene Leben und erweckte einheimische Gemeindegründer, die gesunde Gemeinden in der ganzen Volksgruppe vermehren, koste es, was es wolle.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},kp={map_page_kicker:"GRUPPI ETNICI NON RAGGIUNTI",map_page_sub:"Una lista di preghiera di {count} gruppi etnici non raggiunti",list_header:"{from}–{to} di {count} · pregate per loro per nome",people_suffix:"persone",no_photo:"nessuna foto disponibile",deck_title:"Carte di Preghiera",card_country:"Paese",card_population:"Persone",card_language:"Lingua",card_religion:"Religione",card_cta:"Prega per loro",points_title:"12 Punti di Preghiera",points_intro:"Un'ora con Dio, cinque minuti ciascuno. Pregate questi dodici punti per i gruppi etnici di questo fascicolo.",points_attrib:"Ritmi di preghiera ispirati a Metacamp · metacamp.org",wheel_title:"Ruota di Preghiera",wheel_intro:"Passare un'ora con Dio? È più facile di quanto pensi. Dividila in blocchi di 5 minuti e concentrati su uno di questi in ogni segmento.",wheel_minutes:"minuti",wheel_attrib:"Ruota di Preghiera · Metacamp Modulo 1 · metacamp.org",privacy_note:"Le posizioni dei segnaposto sono approssimative · le localizzazioni dei gruppi etnici sono generalizzate alla fonte per riservatezza",rhythms:{praise:"LODE",wait:"ATTENDERE",confess:"CONFESSARE",read:"LEGGERE LA PAROLA",ask:"CHIEDERE",intercede:"INTERCESSIONE",pray_word:"PREGARE LA PAROLA",thank:"RINGRAZIARE",sing:"CANTARE",meditate:"MEDITARE",listen:"ASCOLTARE",praise_end:"LODE"},points:[{n:1,rhythm:"praise",sub:"Vangelo delle due croci",text:"Che accolgano Cristo come Re, perdonati dalla Sua croce — e prendano la propria croce, disposti a soffrire in una zona di persecuzione. Che l'Agnello riceva la ricompensa della Sua sofferenza, a cominciare da me.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Spirito Santo e liberazione",text:"Che siano ripieni dello Spirito e resi testimoni coraggiosi; che non siano isolati; battezzati in acqua e Spirito; che ogni presa del male sia spezzata. Che i credenti dei popoli vicini siano mobilitati come operai.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Confessiamo l'incredulità di ritenere questo troppo grande per Dio. Che Egli ravvivi il nostro amore e la nostra fede per i non raggiunti del mondo.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"l'amore del Padre",text:"Che siano SALVATI e SAPPIANO che il loro Padre celeste li ama — e che attraverso di loro Egli porti salvezza alla loro famiglia, agli amici, ai vicini, ai colleghi, ai compagni di classe, a tutti coloro che conoscono personalmente.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"battesimi",text:"Nuovi battesimi tra la gente del luogo, e che ogni battezzato sia formato per battezzarne altri, moltiplicandosi.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"operai e pastori",text:"Operai mandati ad amare profondamente un popolo che non hanno mai incontrato; buoni pastori suscitati dall'interno.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Persone e Case di Pace",text:"Che gli operai e i responsabili locali trovino la persona ricettiva e la casa di pace, e li discepolino bene.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"riposo",text:"Grazie a Dio per il riposo che ha dato; che entrino in quel riposo in Cristo, e che la loro famiglia spirituale sia un luogo sicuro.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Che il gruppo etnico sia inondato di adoratori — adorazione ovunque, nella libertà e nelle catene.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"comunione",text:"Che prendano la comunione insieme e colgano il peso della Sua morte, sepoltura e risurrezione.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"responsabilità reciproca",text:"Non solo che ascoltino, ma che abbiano nella loro vita persone che li aiutino a leggere la Parola, a pregare, a impegnarsi nella comunità e a rispondere bene alla sofferenza — resistendo all'avversario che perseguita i credenti in tutto il mondo.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"grande · più grande · il più grande",text:"Lode in anticipo — per le salvezze; PIÙ GRANDE, per le famiglie spirituali che si moltiplicano; IL PIÙ GRANDE, per vite donate e piantatori di chiese locali suscitati che moltiplicano chiese sane in tutto il gruppo etnico, a qualunque costo.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},wp={map_page_kicker:"GRUPURI ETNICE NEATINSE",map_page_sub:"O listă de rugăciune pentru {count} grupuri etnice neatinse",list_header:"{from}–{to} din {count} · rugați-vă pentru ei pe nume",people_suffix:"persoane",no_photo:"nicio fotografie disponibilă",deck_title:"Cartonașe de Rugăciune",card_country:"Țară",card_population:"Persoane",card_language:"Limbă",card_religion:"Religie",card_cta:"Roagă-te pentru ei",points_title:"12 Puncte de Rugăciune",points_intro:"O oră cu Dumnezeu, câte cinci minute fiecare. Rugați-vă aceste douăsprezece puncte pentru grupurile etnice din acest pachet.",points_attrib:"Ritmuri de rugăciune inspirate de Metacamp · metacamp.org",wheel_title:"Roata Rugăciunii",wheel_intro:"O oră cu Dumnezeu? Este mai ușor decât crezi. Împarte-o în blocuri de 5 minute și concentrează-te pe unul dintre acestea în fiecare segment.",wheel_minutes:"minute",wheel_attrib:"Roata Rugăciunii · Metacamp Modulul 1 · metacamp.org",privacy_note:"Pozițiile marcajelor sunt aproximative · localizările grupurilor etnice sunt generalizate la sursă din motive de confidențialitate",rhythms:{praise:"LAUDĂ",wait:"AȘTEPTARE",confess:"MĂRTURISIRE",read:"CITIREA CUVÂNTULUI",ask:"CERERE",intercede:"MIJLOCIRE",pray_word:"RUGAREA CUVÂNTULUI",thank:"MULȚUMIRE",sing:"CÂNTARE",meditate:"MEDITAȚIE",listen:"ASCULTARE",praise_end:"LAUDĂ"},points:[{n:1,rhythm:"praise",sub:"Evanghelia celor două cruci",text:"Să Îl primească pe Hristos ca Împărat, iertați prin crucea Lui — și să își ia propria cruce, gata să sufere într-o zonă de persecuție. Fie ca Mielul să primească răsplata suferinței Sale, începând cu mine.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Duhul Sfânt și eliberarea",text:"Să fie umpluți de Duhul și făcuți martori îndrăzneți; să nu fie izolați; botezați în apă și în Duh; orice stăpânire a răului să fie zdrobită. Credincioșii din popoarele vecine să fie mobilizați ca lucrători.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Mărturisim necredința că aceasta ar fi prea mare pentru Dumnezeu. Fie ca El să ne reînvie dragostea și credința pentru cei neatinși din toată lumea.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"dragostea Tatălui",text:"Să fie MÂNTUIȚI și să ȘTIE că Tatăl lor ceresc îi iubește — și ca prin ei El să aducă mântuire familiei lor, prietenilor, vecinilor, colegilor de muncă, colegilor de clasă, tuturor celor pe care îi cunosc personal.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"botezuri",text:"Botezuri noi printre localnici, și fiecare botezat să fie instruit să boteze pe alții, multiplicându-se.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"lucrători și păstori",text:"Lucrători trimiși să iubească profund un popor pe care nu l-au întâlnit niciodată; păstori buni ridicați din interior.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Oameni și Case ale Păcii",text:"Lucrătorii și liderii locali să găsească persoana receptivă și casa păcii și să îi facă ucenici cu grijă.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"odihnă",text:"Mulțumim lui Dumnezeu pentru odihna pe care a dat-o; să intre în acea odihnă în Hristos, iar familia lor spirituală să fie un loc sigur.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Grupul etnic să fie inundat de închinători — închinare pretutindeni, în libertate și în lanțuri.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"împărtășanie",text:"Să ia împărtășania împreună și să înțeleagă greutatea morții, îngropării și învierii Lui.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"responsabilitate",text:"Nu doar să asculte, ci să aibă în viața lor oameni care îi ajută să citească Cuvântul, să se roage, să se dedice comunității și să răspundă bine suferinței — rezistând vrăjmașului care urmărește credincioșii din toată lumea.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"mare · mai mare · cel mai mare",text:"Laudă dinainte — pentru mântuiri; MAI MARE, pentru familii spirituale care se multiplică; CEL MAI MARE, pentru vieți predate și plantatori locali de biserici ridicați, care multiplică biserici sănătoase în tot grupul etnic, oricare ar fi prețul.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},$p={map_page_kicker:"НЕОХВАЧЕННЫЕ НАРОДЫ",map_page_sub:"Молитвенный список из {count} неохваченных народов",list_header:"{from}–{to} из {count} · молитесь за них поимённо",people_suffix:"человек",no_photo:"фотография недоступна",deck_title:"Молитвенные карточки",card_country:"Страна",card_population:"Человек",card_language:"Язык",card_religion:"Религия",card_cta:"Молитесь за них",points_title:"12 молитвенных пунктов",points_intro:"Один час с Богом, по пять минут на каждый. Молитесь об этих двенадцати пунктах за народы из этого сборника.",points_attrib:"Молитвенные ритмы вдохновлены Metacamp · metacamp.org",wheel_title:"Молитвенное колесо",wheel_intro:"Провести час с Богом? Это проще, чем кажется. Разделите его на пятиминутные отрезки и в каждом сосредоточьтесь на одном из пунктов.",wheel_minutes:"минут",wheel_attrib:"Молитвенное колесо · Metacamp Модуль 1 · metacamp.org",privacy_note:"Положение меток приблизительное · расположение народов обобщено в источнике в целях конфиденциальности",rhythms:{praise:"ХВАЛА",wait:"ОЖИДАНИЕ",confess:"ИСПОВЕДАНИЕ",read:"ЧТЕНИЕ СЛОВА",ask:"ПРОШЕНИЕ",intercede:"ХОДАТАЙСТВО",pray_word:"МОЛИТВА СЛОВОМ",thank:"БЛАГОДАРЕНИЕ",sing:"ПЕНИЕ",meditate:"РАЗМЫШЛЕНИЕ",listen:"СЛУШАНИЕ",praise_end:"ХВАЛА"},points:[{n:1,rhythm:"praise",sub:"Евангелие двух крестов",text:"Чтобы они приняли Христа как Царя, прощённые Его крестом — и взяли свой собственный крест, готовые страдать в зоне гонений. Да получит Агнец награду за Свои страдания, начиная с меня.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"Святой Дух и освобождение",text:"Чтобы они исполнились Духом и стали смелыми свидетелями; чтобы не были одиноки; крещены водою и Духом; чтобы всякая власть зла была сокрушена. Чтобы верующие из соседних народов были подняты как работники.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"Мы исповедуем неверие, будто это слишком велико для Бога. Да оживит Он нашу любовь и веру ради неохваченных по всему миру.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"любовь Отца",text:"Чтобы они были СПАСЕНЫ и ЗНАЛИ, что их Небесный Отец любит их — и чтобы через них Он принёс спасение их семье, друзьям, соседям, сослуживцам, одноклассникам, всем, кого они знают лично.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"крещения",text:"Новые крещения среди местных, и чтобы каждый крещёный был научен крестить других, умножаясь.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"работники и пастыри",text:"Работники, посланные глубоко полюбить народ, которого они никогда не встречали; добрые пастыри, поднятые изнутри.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"Люди и Дома мира",text:"Чтобы работники и местные руководители нашли человека мира и дом мира и хорошо наставили их.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"покой",text:"Благодарим Бога за покой, который Он дал; чтобы они вошли в этот покой во Христе и чтобы их духовная семья была безопасным местом.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"Чтобы народ наполнился поклонниками — поклонение повсюду, в свободе и в цепях.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"причастие",text:"Чтобы они вместе принимали причастие и постигали вес Его смерти, погребения и воскресения.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"подотчётность",text:"Не только чтобы они слушали, но чтобы рядом были люди, помогающие им читать Слово, молиться, быть верными общине и достойно отвечать на страдания — противостоя врагу, преследующему верующих по всему миру.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"великое · большее · наибольшее",text:"Хвала наперёд — за спасения; БОЛЬШЕЕ — за умножающиеся духовные семьи; НАИБОЛЬШЕЕ — за отданные жизни и поднятых местных основателей церквей, умножающих здоровые церкви по всему народу, чего бы это ни стоило.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},xp={map_page_kicker:"شعوب غير مبلَّغة",map_page_sub:"قائمة صلاة من أجل {count} شعبًا غير مبلَّغ",list_header:"{from}–{to} من {count} · صلّوا لأجلهم بالاسم",people_suffix:"نسمة",no_photo:"لا توجد صورة متاحة",deck_title:"بطاقات الصلاة",card_country:"الدولة",card_population:"عدد السكان",card_language:"اللغة",card_religion:"الديانة",card_cta:"صلّوا لأجلهم",points_title:"12 نقطة صلاة",points_intro:"ساعة واحدة مع الله، خمس دقائق لكل نقطة. صلّوا هذه النقاط الاثنتي عشرة لأجل الشعوب في هذه الحزمة.",points_attrib:"إيقاعات الصلاة مستوحاة من Metacamp · metacamp.org",wheel_title:"عجلة الصلاة",wheel_intro:"أن تقضي ساعة مع الله؟ الأمر أسهل مما تظن. قسّمها إلى فترات من خمس دقائق وركّز على واحدة من هذه النقاط في كل فترة.",wheel_minutes:"دقائق",wheel_attrib:"عجلة الصلاة · وحدة Metacamp الأولى · metacamp.org",privacy_note:"مواقع العلامات تقريبية · تُعمَّم مواقع الشعوب في المصدر حفاظًا على الخصوصية",rhythms:{praise:"تسبيح",wait:"انتظار",confess:"اعتراف",read:"قراءة الكلمة",ask:"طلب",intercede:"شفاعة",pray_word:"الصلاة بالكلمة",thank:"شكر",sing:"ترنيم",meditate:"تأمل",listen:"إصغاء",praise_end:"تسبيح"},points:[{n:1,rhythm:"praise",sub:"إنجيل الصليبين",text:"أن يقبلوا المسيح ملكًا، مغفورًا لهم بصليبه — وأن يحملوا صليبهم، مستعدين للتألم في منطقة اضطهاد. ليَنَلِ الحمل أجر آلامه، ابتداءً بي.",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"الروح القدس والتحرير",text:"أن يمتلئوا بالروح ويصيروا شهودًا جسورين؛ ألا يكونوا منعزلين؛ معمَّدين بالماء والروح؛ وأن تُكسَر كل قبضة للشر. وأن يُدفَع المؤمنون من الشعوب المجاورة ليكونوا عمالًا.",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"نعترف بعدم الإيمان الذي يحسب هذا أعظم من أن يقدر الله عليه. أن يُحيي فينا المحبة والإيمان لأجل غير المبلَّغين في العالم.",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"محبة الآب",text:"أن يَخلُصوا ويَعرِفوا أن أباهم السماوي يحبهم — وأن يحمل بهم الخلاص إلى عائلاتهم وأصدقائهم وجيرانهم وزملائهم في العمل والدراسة، وكل من يعرفونهم شخصيًا.",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"المعموديات",text:"معموديات جديدة بين أهل البلد، وأن يُدرَّب كل معمَّد ليعمّد آخرين، فيتكاثروا.",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"عمال ورعاة",text:"عمال مرسَلون ليحبوا بعمق شعبًا لم يلتقوه قط؛ ورعاة صالحون يُقامون من الداخل.",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"أشخاص وبيوت السلام",text:"أن يجد العمال والقادة المحليون الشخص المستعد وبيت السلام، وأن يتلمذوهم جيدًا.",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"الراحة",text:"نشكر الله على الراحة التي أعطاها؛ أن يدخلوا تلك الراحة في المسيح، وأن تكون عائلتهم الروحية مكانًا آمنًا.",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"أن يفيض الشعب بالساجدين — عبادة في كل مكان، في الحرية وفي القيود.",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"شركة",text:"أن يتناولوا العشاء الرباني معًا ويدركوا ثقل موته ودفنه وقيامته.",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"المساءلة",text:"ليس أن يسمعوا فحسب، بل أن يكون في حياتهم من يعينهم على قراءة الكلمة والصلاة والالتزام بالجماعة والاستجابة الحسنة للألم — مقاومين العدو الذي يطارد المؤمنين في العالم أجمع.",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"عظيم · أعظم · الأعظم",text:"تسبيح مسبق — لأجل الخلاص؛ وأعظم، لأجل عائلات روحية تتكاثر؛ والأعظم، لأجل حياة مُسلَّمة وغارسي كنائس محليين يُقامون فيكثّرون كنائس صحيحة في الشعب كله، مهما كلّف الثمن.",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},Ap={map_page_kicker:"अनछुए जनसमूह",map_page_sub:"{count} अनछुए जनसमूहों की प्रार्थना सूची",list_header:"{count} में से {from}–{to} · उनके नाम लेकर प्रार्थना करें",people_suffix:"लोग",no_photo:"कोई चित्र उपलब्ध नहीं",deck_title:"प्रार्थना कार्ड",card_country:"देश",card_population:"जनसंख्या",card_language:"भाषा",card_religion:"धर्म",card_cta:"उनके लिए प्रार्थना करें",points_title:"12 प्रार्थना बिंदु",points_intro:"परमेश्वर के साथ एक घंटा, हर बिंदु के लिए पाँच मिनट। इस पैकेट के जनसमूहों के लिए ये बारह बिंदु प्रार्थना करें।",points_attrib:"प्रार्थना लय Metacamp से प्रेरित · metacamp.org",wheel_title:"प्रार्थना चक्र",wheel_intro:"परमेश्वर के साथ एक घंटा बिताना? यह आपके सोचने से आसान है। इसे 5 मिनट के हिस्सों में बाँटें और हर हिस्से में इनमें से एक पर ध्यान दें।",wheel_minutes:"मिनट",wheel_attrib:"प्रार्थना चक्र · Metacamp मॉड्यूल 1 · metacamp.org",privacy_note:"चिह्नों की स्थिति अनुमानित है · गोपनीयता के लिए जनसमूहों के स्थान स्रोत पर सामान्यीकृत किए गए हैं",rhythms:{praise:"स्तुति",wait:"प्रतीक्षा",confess:"अंगीकार",read:"वचन पढ़ना",ask:"माँगना",intercede:"मध्यस्थता",pray_word:"वचन से प्रार्थना",thank:"धन्यवाद",sing:"गायन",meditate:"मनन",listen:"सुनना",praise_end:"स्तुति"},points:[{n:1,rhythm:"praise",sub:"दो क्रूसों का सुसमाचार",text:"कि वे मसीह को राजा मानकर ग्रहण करें, उसके क्रूस से क्षमा पाएँ — और अपना क्रूस उठाएँ, सताव के क्षेत्र में दुख उठाने को तैयार। मेम्ने को उसके दुख का प्रतिफल मिले, मुझसे आरंभ करके।",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"पवित्र आत्मा और छुटकारा",text:"कि वे आत्मा से भरें और साहसी गवाह बनें; अकेले न रहें; जल और आत्मा से बपतिस्मा पाएँ; बुराई की हर पकड़ टूट जाए। कि पड़ोसी जातियों के विश्वासी मज़दूरों के रूप में उठ खड़े हों।",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"हम इस अविश्वास को मानते हैं कि यह परमेश्वर के लिए बहुत बड़ा है। कि वह संसार के अनछुए लोगों के लिए हमारे प्रेम और विश्वास को फिर से जगाए।",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"पिता का प्रेम",text:"कि वे उद्धार पाएँ और जानें कि उनका स्वर्गीय पिता उनसे प्रेम करता है — और उनके द्वारा वह उनके परिवार, मित्रों, पड़ोसियों, सहकर्मियों, सहपाठियों, उन सबके पास उद्धार पहुँचाए जिन्हें वे व्यक्तिगत रूप से जानते हैं।",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"बपतिस्मा",text:"स्थानीय लोगों में नए बपतिस्मा हों, और हर बपतिस्मा पाया हुआ व्यक्ति दूसरों को बपतिस्मा देने के लिए प्रशिक्षित हो, और यह बढ़ता जाए।",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"मज़दूर और चरवाहे",text:"मज़दूर भेजे जाएँ जो उस जाति से गहरा प्रेम करें जिससे वे कभी नहीं मिले; और भीतर से अच्छे चरवाहे उठाए जाएँ।",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"शांति के जन और घर",text:"कि मज़दूर और स्थानीय अगुवे ग्रहणशील व्यक्ति और शांति के घर को पाएँ, और उन्हें भली भाँति चेला बनाएँ।",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"विश्राम",text:"परमेश्वर का धन्यवाद कि उसने विश्राम दिया है; कि वे मसीह में उस विश्राम में प्रवेश करें, और उनका आत्मिक परिवार एक सुरक्षित स्थान हो।",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"कि वह जनसमूह आराधकों से भर जाए — हर जगह आराधना, स्वतंत्रता में और बेड़ियों में भी।",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"प्रभु भोज",text:"कि वे मिलकर प्रभु भोज लें और उसकी मृत्यु, गाड़े जाने और पुनरुत्थान के भार को समझें।",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"जवाबदेही",text:"केवल यह नहीं कि वे सुनें, परन्तु यह कि उनके जीवन में ऐसे लोग हों जो उन्हें वचन पढ़ने, प्रार्थना करने, संगति में लगे रहने और दुख का सही उत्तर देने में सहायता करें — उस शत्रु का सामना करते हुए जो सारे संसार में विश्वासियों के पीछे पड़ा है।",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"महान · और महान · सबसे महान",text:"पहले से स्तुति — उद्धार के लिए; और महान, बढ़ते हुए आत्मिक परिवारों के लिए; सबसे महान, समर्पित जीवनों और उठाए गए स्थानीय कलीसिया-रोपकों के लिए जो पूरे जनसमूह में स्वस्थ कलीसियाएँ बढ़ाते हैं, चाहे मूल्य कुछ भी हो।",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},Sp={map_page_kicker:"未得之民",map_page_sub:"為 {count} 個未得之民的禱告名單",list_header:"{count} 之中的 {from}–{to} · 按名為他們禱告",people_suffix:"人",no_photo:"沒有照片",deck_title:"禱告卡",card_country:"國家",card_population:"人口",card_language:"語言",card_religion:"宗教",card_cta:"為他們禱告",points_title:"12 個禱告要點",points_intro:"與神同在一小時,每個要點五分鐘。為這份禱告冊中的族群禱告這十二個要點。",points_attrib:"禱告節奏取材自 Metacamp · metacamp.org",wheel_title:"禱告輪",wheel_intro:"與神同在一小時?比你想的容易。把它分成五分鐘一段,每一段專注其中一個要點。",wheel_minutes:"分鐘",wheel_attrib:"禱告輪 · Metacamp 第一單元 · metacamp.org",privacy_note:"標記位置為概略位置 · 族群所在地已於資料來源處作概化處理以保護隱私",rhythms:{praise:"讚美",wait:"等候",confess:"認罪",read:"讀神的話",ask:"祈求",intercede:"代禱",pray_word:"以神的話禱告",thank:"感謝",sing:"歌唱",meditate:"默想",listen:"聆聽",praise_end:"讚美"},points:[{n:1,rhythm:"praise",sub:"兩個十字架的福音",text:"願他們接受基督為王,藉著祂的十字架得赦免——也背起自己的十字架,甘願在逼迫之地受苦。願羔羊得著祂受苦的賞賜,從我開始。",refs:["Matthew 27:27","Matthew 16:24–25"]},{n:2,rhythm:"wait",sub:"聖靈與釋放",text:"願他們被聖靈充滿,成為剛強的見證人;不至孤單;受水和聖靈的洗;一切邪惡的轄制都被打破。願鄰近族群中的信徒被興起作工人。",refs:["Acts 1:8","John 14:26"]},{n:3,rhythm:"confess",sub:"",text:"我們承認自己的不信,以為這事對神太難。願祂重新點燃我們對普世未得之民的愛與信心。",refs:["John 3:16","1 John 1:9"]},{n:4,rhythm:"read",sub:"天父的愛",text:"願他們得救,並知道天父愛他們——也願神藉著他們,把救恩帶給他們的家人、朋友、鄰舍、同事、同學,以及他們所認識的每一個人。",refs:["Mark 5:1–20","Acts 16:31"],print_passage:!0},{n:5,rhythm:"ask",sub:"洗禮",text:"願當地有新的受洗者,並且每一位受洗的人都被裝備去為別人施洗,不斷繁增。",refs:["Acts 16","Acts 10"]},{n:6,rhythm:"intercede",sub:"工人與牧人",text:"願工人被差派去深愛一群素未謀面的人;也願好牧人從他們中間被興起。",refs:["Luke 10:2","John 10:11–15"]},{n:7,rhythm:"pray_word",sub:"平安之子與平安之家",text:"願工人與當地帶領者尋得那樂意接待的人和平安之家,並好好門訓他們。",refs:["Luke 10:5–7","Matthew 10:5–14"]},{n:8,rhythm:"thank",sub:"安息",text:"感謝神所賜的安息;願他們在基督裡進入那安息,也願他們的屬靈家庭是安全的地方。",refs:["Mark 4:26–29","Hebrews 4:9–11"]},{n:9,rhythm:"sing",sub:"",text:"願這族群充滿敬拜者——處處敬拜,在自由中,也在捆鎖中。",refs:["Acts 16:25–26","Colossians 3:16"]},{n:10,rhythm:"meditate",sub:"聖餐",text:"願他們一同領受聖餐,深深體會祂的死、埋葬與復活的份量。",refs:["Matthew 26:26–30","1 Corinthians 11:23–26"]},{n:11,rhythm:"listen",sub:"彼此守望",text:"不只願他們聆聽,更願他們身邊有人幫助他們讀神的話、禱告、委身群體,並在苦難中正確回應——抵擋那在全世界追逼信徒的仇敵。",refs:["1 Peter 5:6–11","Hebrews 10:24–25"]},{n:12,rhythm:"praise_end",sub:"大 · 更大 · 最大",text:"先行讚美——為著得救的人;更大的,為著不斷繁增的屬靈家庭;最大的,為著獻上的生命,以及被興起的本地植堂者,無論代價如何,都在整個族群中繁增健康的教會。",refs:["Acts 2:42–47","Matthew 28:19–20"]}]},Ri=Object.freeze(Object.defineProperty({__proto__:null,_meta:hp,ar:xp,de:vp,default:{_meta:hp,en:mp,es:bp,fr:yp,pt:_p,de:vp,it:kp,ro:wp,ru:$p,ar:xp,hi:Ap,zh:Sp},en:mp,es:bp,fr:yp,hi:Ap,it:kp,pt:_p,ro:wp,ru:$p,zh:Sp},Symbol.toStringTag,{value:"Module"})),_x=new Set(["ar","he","fa","ur","ps","sd","yi"]),vx={hi:{family:"Noto Serif Devanagari",dir:"noto-serif-devanagari",file:"noto-serif-devanagari-400-devanagari.woff2"},mr:{family:"Noto Serif Devanagari",dir:"noto-serif-devanagari",file:"noto-serif-devanagari-400-devanagari.woff2"},ne:{family:"Noto Serif Devanagari",dir:"noto-serif-devanagari",file:"noto-serif-devanagari-400-devanagari.woff2"}};function kx({strings:e,lang:t="en",fontData:o=null}){const n=e.en,a=e[t]||{},r=D=>a[D]!==void 0?a[D]:n[D],s=D=>(a.rhythms||{})[D]!==void 0?a.rhythms[D]:n.rhythms[D],i=Array.isArray(a.points)?a.points:[],l=n.points.map((D,z)=>{const se=i[z];return!se||typeof se!="object"?D:{...D,...Object.fromEntries(Object.entries(se).filter(([,me])=>me!==void 0&&me!==""))}}),u=(D,z)=>String(D).replace(/\{(\w+)\}/g,(se,me)=>z[me]??""),c=D=>D&&typeof D=="object"?D.label??D.value??"":D??"",d=1500,p=1941,v=8.5,w=(v*96/d).toFixed(6),g=60,f=90,m=2,b=10,h=m*b,k=14,A=(d-2*g-k*(m-1))/m,$=(p-2*g-f-k*(b-1))/b,S=Math.min($-8,A*.34),x=D=>String(D??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),E=D=>Number.isFinite(Number(D))?Number(D).toLocaleString(t):"—",G=(D,z="")=>`<div class="sheet ${z}">${D}</div>`,U=vx[t]||null,ee=U&&o?`@font-face{font-family:'${U.family}';font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,${o}) format('woff2')}`:"",F=U?`.sheet,.sheet *{font-family:'${U.family}',Georgia,'Palatino Linotype',serif !important}`:"";function j(){return`
|
||
${ee}
|
||
${F}
|
||
@page{size:letter portrait;margin:0}
|
||
html,body{margin:0;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
|
||
.sheet{position:relative;width:${d}px;height:${p}px;background:#f7f4ec;overflow:hidden;
|
||
page-break-after:always;break-after:page}
|
||
.sheet:last-child{page-break-after:auto;break-after:auto}
|
||
.hd{position:absolute;left:${g}px;top:46px;font:700 30px Georgia,'Palatino Linotype',serif;color:#1b1a17}
|
||
.hd-r{position:absolute;right:${g}px;top:54px;font:400 19px Georgia,serif;color:#8c8170}
|
||
.card{position:absolute;display:flex;gap:12px;align-items:center;
|
||
border-bottom:1px solid #e2ddd0;padding-bottom:6px}
|
||
.card img,.card .nophoto{width:${S.toFixed(0)}px;height:${S.toFixed(0)}px;flex:0 0 auto;border-radius:3px}
|
||
.card img{object-fit:cover}
|
||
.card .nophoto{border:1px solid #d6d0c0;background:#f2efe6;display:flex;align-items:center;
|
||
justify-content:center;font:italic 13px Georgia,serif;color:#a89f8c;text-align:center;padding:6px}
|
||
.nm{font:700 25px Georgia,serif;color:#1b1a17;line-height:1.1}
|
||
.mt{font:400 17px Georgia,serif;color:#6d766e}
|
||
/* FINE PRINT — Driver: "attribution minimal, fine print small". */
|
||
.fine{position:absolute;left:0;right:0;bottom:22px;text-align:center;
|
||
font:400 13px Georgia,serif;color:#a89f8c}
|
||
/* PRINT. The sheet is authored at ${d}px wide while @page is physical, so without
|
||
a rescale the browser maps ${d}px -> 15.6in and TILES one sheet over many pages.
|
||
|
||
⚠ Use zoom, NOT transform:scale(). They look identical on screen and behave
|
||
completely differently under pagination:
|
||
transform is paint-time — the element still RESERVES its full ${p}px layout
|
||
box, so the paginator walks ${p}px of content and breaks it across
|
||
two sheets, inking only the top of the first. Measured: 8 sheets
|
||
came out as 16 PDF pages. Negative margins do NOT fix this — they
|
||
collapse the outer space, not the fragmentation box.
|
||
zoom is layout-time — the box itself becomes ${(v*96).toFixed(0)}px
|
||
wide, so pagination sees the scaled size. Measured: 1 page/sheet.
|
||
Verified by _probe-pagecount.mjs (transform 2, transform+margins 2, zoom 1). */
|
||
@media print{
|
||
html,body{width:${(v*96).toFixed(0)}px;margin:0;padding:0}
|
||
.sheet{width:${d}px;height:${p}px;zoom:${w};
|
||
page-break-after:always;break-after:page}
|
||
.sheet:last-child{page-break-after:auto;break-after:auto}
|
||
}`}function N(D){const z=D.match(/<style>([\s\S]*?)<\/style>/);if(!z)return"";const se=z[1].replace(/\/\*[\s\S]*?\*\//g,"");let me="",ge=0;for(;ge<se.length;){if(se.startsWith("@media",ge)){let Se=0,Oe=!1;for(;ge<se.length;){if(se[ge]==="{")Se++,Oe=!0;else if(se[ge]==="}"&&(Se--,Oe&&Se===0)){ge++;break}ge++}continue}me+=se[ge++]}const Ce=/(^|,)\s*(html|body|\*|\.stage)\s*$/;return me.split("}").map(Se=>{const Oe=Se.indexOf("{");if(Oe<0)return"";const Be=Se.slice(0,Oe).trim();return!Be||Be!==":root"&&Be.split(",").some(Ge=>Ce.test(Ge.trim())||/^(html|body|\*|\.stage)$/.test(Ge.trim()))?"":`${Be}{${Se.slice(Oe+1).trim()}}`}).filter(Boolean).join(`
|
||
`)}function C(D,z,se){const me=z.length;return G(`
|
||
<div style="position:absolute;left:${g}px;top:${g}px;right:${g}px;text-align:center">
|
||
<div style="font:600 21px Georgia,serif;letter-spacing:3px;color:#8c8170">${x(r("map_page_kicker"))}</div>
|
||
<div style="font:700 56px Georgia,serif;color:#1b1a17;margin-top:8px">${x(D.label||D.id)}</div>
|
||
<div style="font:italic 24px Georgia,serif;color:#6d766e;margin-top:10px">
|
||
${x(u(r("map_page_sub"),{count:E(me)}))}</div>
|
||
</div>
|
||
${se}
|
||
<div class="fine">${x(r("privacy_note"))}</div>`)}function V(D,z,se){const me=[];for(let ge=0;ge<z.length;ge+=h){const Se=z.slice(ge,ge+h).map((Oe,Be)=>{const Ge=ge+Be,ut=Be%m,P=Math.floor(Be/m),R=g+ut*(A+k),M=g+f+P*($+k),J=se.get(Oe.slug),re=J?`<img src="${J}" alt="">`:`<div class="nophoto">${x(r("no_photo"))}</div>`;return`<div class="card" style="left:${R.toFixed(0)}px;top:${M.toFixed(0)}px;
|
||
width:${A.toFixed(0)}px;height:${$.toFixed(0)}px">${re}
|
||
<div style="min-width:0">
|
||
<div class="nm">${Ge+1}. ${x(Oe.name)}</div>
|
||
<div class="mt" style="margin-top:4px">${x(c(Oe.religion))}</div>
|
||
<div class="mt">${E(Oe.population)} ${x(r("people_suffix"))} · ${x(c(Oe.country_code))}</div>
|
||
</div></div>`}).join("");me.push(G(`
|
||
<div class="hd">${x(D.label||D.id)}</div>
|
||
<div class="hd-r">${x(u(r("list_header"),{from:E(ge+1),to:E(Math.min(ge+h,z.length)),count:E(z.length)}))}</div>
|
||
${Se}`))}return me}function te(){const D=l.map(z=>{const se=(z.refs||[]).map(Ce=>`<span dir="ltr" style="unicode-bidi:isolate">${x(Ce)}</span>`).join(" · "),me=z.sub?` <span style="font:italic 17px Georgia,serif;color:#8c8170">— ${x(z.sub)}</span>`:"",ge=z.print_passage?`<div class="p4-passage" style="font:400 14px Georgia,serif;color:#4a4a45;line-height:1.5;margin-top:5px;
|
||
padding-left:10px;border-left:2px solid #d9d3c4">${x(r("point4_passage"))}
|
||
<div class="p4-credit" style="font:italic 12px Georgia,serif;color:#a89f8c;margin-top:3px">
|
||
${x(r("point4_passage_credit"))}</div></div>`:"";return`<div style="margin-bottom:${z.print_passage?10:13}px">
|
||
<div style="font:700 19px Georgia,serif;color:#1b1a17">
|
||
${z.n}. ${x(s(z.rhythm))}${me}</div>
|
||
<div style="font:400 17px Georgia,serif;color:#3b3226;line-height:1.35;margin-top:2px">${x(z.text)}</div>
|
||
<div style="font:600 14px Georgia,serif;color:#7a3b2e;margin-top:2px">${se}</div>
|
||
${ge}
|
||
</div>`}).join("");return G(`
|
||
<div style="position:absolute;left:${g}px;top:44px;right:${g}px">
|
||
<div class="points-title" style="font:700 40px Georgia,serif;color:#1b1a17">${x(r("points_title"))}</div>
|
||
<div style="font:italic 18px Georgia,serif;color:#6d766e;margin-top:6px">${x(r("points_intro"))}</div>
|
||
</div>
|
||
<div style="position:absolute;left:${g}px;top:${g+96}px;right:${g}px;bottom:52px">${D}</div>
|
||
<div class="fine">${x(r("points_attrib"))}</div>`)}function oe(){const D=d/2,z=1090,se=470,me=["praise","wait","confess","read","ask","intercede","pray_word","thank","sing","meditate","listen","praise_end"],ge=me.map((Se,Oe)=>{const Be=(Oe*30-90)*Math.PI/180,Ge=((Oe+1)*30-90)*Math.PI/180,ut=D+se*Math.cos(Be),P=z+se*Math.sin(Be),R=D+se*Math.cos(Ge),M=z+se*Math.sin(Ge),J=Math.round(Oe*30),re=(Be+Ge)/2,ae=D+se*.62*Math.cos(re),ie=z+se*.62*Math.sin(re);let ce=re*180/Math.PI;return(ce>90||ce<-90)&&(ce+=180),`<path d="M ${D} ${z} L ${ut.toFixed(1)} ${P.toFixed(1)} A ${se} ${se} 0 0 1 ${R.toFixed(1)} ${M.toFixed(1)} Z"
|
||
fill="hsl(${J} 70% 72%)" stroke="#fff" stroke-width="3"/>
|
||
<text x="${ae.toFixed(1)}" y="${ie.toFixed(1)}" transform="rotate(${ce.toFixed(1)} ${ae.toFixed(1)} ${ie.toFixed(1)})"
|
||
text-anchor="middle" dominant-baseline="middle"
|
||
font-family="Georgia,serif" font-weight="700" font-size="21" fill="#2b2a26">${x(s(Se))}</text>`}).join(""),Ce=me.map((Se,Oe)=>{const Be=((Oe+.5)*30-90)*Math.PI/180,Ge=D+(se+46)*Math.cos(Be),ut=z+(se+46)*Math.sin(Be);return`<circle cx="${Ge.toFixed(1)}" cy="${ut.toFixed(1)}" r="21" fill="#26251f"/>
|
||
<text x="${Ge.toFixed(1)}" y="${(ut+1).toFixed(1)}" text-anchor="middle" dominant-baseline="middle"
|
||
font-family="Georgia,serif" font-weight="700" font-size="20" fill="#fff">5</text>`}).join("");return G(`
|
||
<div style="position:absolute;left:${g}px;top:48px;right:${g}px;text-align:center">
|
||
<div class="wheel-title" style="font:700 42px Georgia,serif;color:#1b1a17">${x(r("wheel_title"))}</div>
|
||
<div style="font:italic 19px Georgia,serif;color:#6d766e;margin-top:10px;
|
||
max-width:1000px;margin-left:auto;margin-right:auto">${x(r("wheel_intro"))}</div>
|
||
</div>
|
||
<svg width="${d}" height="${p}" style="position:absolute;left:0;top:0" xmlns="http://www.w3.org/2000/svg">
|
||
${ge}${Ce}
|
||
<text x="${D}" y="${z+se+130}" text-anchor="middle"
|
||
font-family="Georgia,serif" font-size="20" fill="#8c8170">5 ${x(r("wheel_minutes"))} × 12</text>
|
||
</svg>
|
||
<div class="fine">${x(r("wheel_attrib"))}</div>`)}function L(D,z,se,me){const ge=[C(D,z,me),...V(D,z,se),te(),oe()];return`<!DOCTYPE html><html lang="${x(t)}" dir="${_x.has(t)?"rtl":"ltr"}"><head><meta charset="utf-8">
|
||
<title>${x(D.label||D.id)}</title><style>${j()}</style></head>
|
||
<body>${ge.join(`
|
||
`)}</body></html>`}return{buildPacket:L,mapPage:C,listPages:V,pointsPage:te,wheelPage:oe,css:j,mapCss:N,PER_PAGE:h,W:d,H:p}}const Lp=Object.freeze(Object.defineProperty({__proto__:null,createPacketRenderer:kx},Symbol.toStringTag,{value:"Module"}));function Pp(e){const t=(e.match(/<svg[\s\S]*?<\/svg>/)||[])[0];if(!t)throw new Error("poster HTML contains no <svg>");const n=((e.match(/<style>([\s\S]*?)<\/style>/)||[])[1]||"").replace(/<\/style>/gi,"");return t.replace(/<svg([^>]*)>/,`<svg$1><style>${n}</style>`)}async function wx(e,{scale:t=2,type:o="image/webp",quality:n=.85}={}){const a=Pp(e),r=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a)}`,s=new Image;s.src=r,await s.decode();const i=Math.round(s.naturalWidth*t),l=Math.round(s.naturalHeight*t),u=document.createElement("canvas");u.width=i,u.height=l;const c=u.getContext("2d");c.fillStyle="#ffffff",c.fillRect(0,0,i,l),c.drawImage(s,0,0,i,l);const d=await new Promise(p=>u.toBlob(p,o,n));if(!d)throw new Error("canvas.toBlob returned nothing");return d}async function $x(e){const t=await createImageBitmap(e),o=document.createElement("canvas");o.width=40,o.height=40;const n=o.getContext("2d");n.drawImage(t,t.width*.4,t.height*.45,40,40,0,0,40,40);const a=n.getImageData(0,0,40,40).data;let r=0;for(let s=0;s<a.length;s+=4)r+=(a[s]+a[s+1]+a[s+2])/3;return r/(a.length/4)>40}const xx=Object.freeze(Object.defineProperty({__proto__:null,inlineSvg:Pp,looksRendered:$x,rasterPoster:wx},Symbol.toStringTag,{value:"Module"}))})();
|