diff --git a/public/dx-maps/all-people-groups/all-people-groups.js b/public/dx-maps/all-people-groups/all-people-groups.js index e1737c526..03700515b 100644 --- a/public/dx-maps/all-people-groups/all-people-groups.js +++ b/public/dx-maps/all-people-groups/all-people-groups.js @@ -2,44 +2,44 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function ha(e){const o=Object.create(null);for(const t of e.split(","))o[t]=1;return t=>t in o}const ke={},_t=[],yo=()=>{},Zs=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yn=e=>e.startsWith("onUpdate:"),Me=Object.assign,fa=(e,o)=>{const t=e.indexOf(o);t>-1&&e.splice(t,1)},eu=Object.prototype.hasOwnProperty,be=(e,o)=>eu.call(e,o),se=Array.isArray,Wo=e=>Bt(e)==="[object Map]",vn=e=>Bt(e)==="[object Set]",Qs=e=>Bt(e)==="[object Date]",le=e=>typeof e=="function",Ae=e=>typeof e=="string",no=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",er=e=>(_e(e)||le(e))&&le(e.then)&&le(e.catch),or=Object.prototype.toString,Bt=e=>or.call(e),ou=e=>Bt(e).slice(8,-1),kn=e=>Bt(e)==="[object Object]",An=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ut=ha(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sn=e=>{const o=Object.create(null);return t=>o[t]||(o[t]=e(t))},tu=/-\w/g,Ue=Sn(e=>e.replace(tu,o=>o.slice(1).toUpperCase())),nu=/\B([A-Z])/g,io=Sn(e=>e.replace(nu,"-$1").toLowerCase()),Ln=Sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),$a=Sn(e=>e?`on${Ln(e)}`:""),vo=(e,o)=>!Object.is(e,o),ma=(e,...o)=>{for(let t=0;t{Object.defineProperty(e,o,{configurable:!0,enumerable:!1,writable:n,value:t})},au=e=>{const o=parseFloat(e);return isNaN(o)?e:o},nr=e=>{const o=Ae(e)?Number(e):NaN;return isNaN(o)?e:o};let ar;const wn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function jt(e){if(se(e)){const o={};for(let t=0;t{if(t){const n=t.split(ru);n.length>1&&(o[n[0].trim()]=n[1].trim())}}),o}function oo(e){let o="";if(Ae(e))o=e;else if(se(e))for(let t=0;t!!(e&&e.__v_isRef===!0),je=e=>Ae(e)?e:e==null?"":se(e)||_e(e)&&(e.toString===or||!le(e.toString))?ir(e)?je(e.value):JSON.stringify(e,lr,2):String(e),lr=(e,o)=>ir(o)?lr(e,o.value):Wo(o)?{[`Map(${o.size})`]:[...o.entries()].reduce((t,[n,a],s)=>(t[ba(n,s)+" =>"]=a,t),{})}:vn(o)?{[`Set(${o.size})`]:[...o.values()].map(t=>ba(t))}:no(o)?ba(o):_e(o)&&!se(o)&&!kn(o)?String(o):o,ba=(e,o="")=>{var t;return no(e)?`Symbol(${(t=e.description)!=null?t:o})`:e};/** +**/function ha(e){const o=Object.create(null);for(const t of e.split(","))o[t]=1;return t=>t in o}const ve={},_t=[],yo=()=>{},Zs=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yn=e=>e.startsWith("onUpdate:"),Re=Object.assign,fa=(e,o)=>{const t=e.indexOf(o);t>-1&&e.splice(t,1)},eu=Object.prototype.hasOwnProperty,be=(e,o)=>eu.call(e,o),se=Array.isArray,Wo=e=>Bt(e)==="[object Map]",kn=e=>Bt(e)==="[object Set]",Qs=e=>Bt(e)==="[object Date]",le=e=>typeof e=="function",Ae=e=>typeof e=="string",no=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",er=e=>(_e(e)||le(e))&&le(e.then)&&le(e.catch),or=Object.prototype.toString,Bt=e=>or.call(e),ou=e=>Bt(e).slice(8,-1),vn=e=>Bt(e)==="[object Object]",An=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ut=ha(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sn=e=>{const o=Object.create(null);return t=>o[t]||(o[t]=e(t))},tu=/-\w/g,Ue=Sn(e=>e.replace(tu,o=>o.slice(1).toUpperCase())),nu=/\B([A-Z])/g,io=Sn(e=>e.replace(nu,"-$1").toLowerCase()),Ln=Sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),$a=Sn(e=>e?`on${Ln(e)}`:""),ko=(e,o)=>!Object.is(e,o),ma=(e,...o)=>{for(let t=0;t{Object.defineProperty(e,o,{configurable:!0,enumerable:!1,writable:n,value:t})},au=e=>{const o=parseFloat(e);return isNaN(o)?e:o},nr=e=>{const o=Ae(e)?Number(e):NaN;return isNaN(o)?e:o};let ar;const wn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function jt(e){if(se(e)){const o={};for(let t=0;t{if(t){const n=t.split(ru);n.length>1&&(o[n[0].trim()]=n[1].trim())}}),o}function oo(e){let o="";if(Ae(e))o=e;else if(se(e))for(let t=0;t!!(e&&e.__v_isRef===!0),je=e=>Ae(e)?e:e==null?"":se(e)||_e(e)&&(e.toString===or||!le(e.toString))?ir(e)?je(e.value):JSON.stringify(e,lr,2):String(e),lr=(e,o)=>ir(o)?lr(e,o.value):Wo(o)?{[`Map(${o.size})`]:[...o.entries()].reduce((t,[n,a],s)=>(t[ba(n,s)+" =>"]=a,t),{})}:kn(o)?{[`Set(${o.size})`]:[...o.values()].map(t=>ba(t))}:no(o)?ba(o):_e(o)&&!se(o)&&!vn(o)?String(o):o,ba=(e,o="")=>{var t;return no(e)?`Symbol(${(t=e.description)!=null?t:o})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let De;class cr{constructor(o=!1){this.detached=o,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!o&&De&&(De.active?(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let o,t;if(this.scopes){const n=this.scopes.slice();for(o=0,t=n.length;o0&&--this._on===0){if(De===this)De=this.prevScope;else{let o=De;for(;o;){if(o.prevScope===this){o.prevScope=this.prevScope;break}o=o.prevScope}}this.prevScope=void 0}}stop(o){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Vt){let o=Vt;for(Vt=void 0;o;){const t=o.next;o.next=void 0,o.flags&=-9,o=t}}let e;for(;zt;){let o=zt;for(zt=void 0;o;){const t=o.next;if(o.next=void 0,o.flags&=-9,o.flags&1)try{o.trigger()}catch(n){e||(e=n)}o=t}}if(e)throw e}function hr(e){for(let o=e.deps;o;o=o.nextDep)o.version=-1,o.prevActiveLink=o.dep.activeLink,o.dep.activeLink=o}function fr(e){let o,t=e.depsTail,n=t;for(;n;){const a=n.prevDep;n.version===-1?(n===t&&(t=a),Sa(n),gu(n)):o=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=o,e.depsTail=t}function Aa(e){for(let o=e.deps;o;o=o.nextDep)if(o.dep.version!==o.version||o.dep.computed&&($r(o.dep.computed)||o.dep.version!==o.version))return!0;return!!e._dirty}function $r(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt)||(e.globalVersion=Kt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Aa(e))))return;e.flags|=2;const o=e.dep,t=Se,n=po;Se=e,po=!0;try{hr(e);const a=e.fn(e._value);(o.version===0||vo(a,e._value))&&(e.flags|=128,e._value=a,o.version++)}catch(a){throw o.version++,a}finally{Se=t,po=n,fr(e),e.flags&=-3}}function Sa(e,o=!1){const{dep:t,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),t.subs===e&&(t.subs=n,!n&&t.computed)){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)Sa(s,!0)}!o&&!--t.sc&&t.map&&t.map.delete(t.key)}function gu(e){const{prevDep:o,nextDep:t}=e;o&&(o.nextDep=t,e.prevDep=void 0),t&&(t.prevDep=o,e.nextDep=void 0)}let po=!0;const mr=[];function ko(){mr.push(po),po=!1}function Ao(){const e=mr.pop();po=e===void 0?!0:e}function br(e){const{cleanup:o}=e;if(e.cleanup=void 0,o){const t=Se;Se=void 0;try{o()}finally{Se=t}}}let Kt=0;class du{constructor(o,t){this.sub=o,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class La{constructor(o){this.computed=o,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(o){if(!Se||!po||Se===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Se)t=this.activeLink=new du(Se,this),Se.deps?(t.prevDep=Se.depsTail,Se.depsTail.nextDep=t,Se.depsTail=t):Se.deps=Se.depsTail=t,_r(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const n=t.nextDep;n.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=n),t.prevDep=Se.depsTail,t.nextDep=void 0,Se.depsTail.nextDep=t,Se.depsTail=t,Se.deps===t&&(Se.deps=n)}return t}trigger(o){this.version++,Kt++,this.notify(o)}notify(o){va();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{ka()}}}function _r(e){if(e.dep.sc++,e.sub.flags&4){const o=e.dep.computed;if(o&&!e.dep.subs){o.flags|=20;for(let n=o.deps;n;n=n.nextDep)_r(n)}const t=e.dep.subs;t!==e&&(e.prevSub=t,t&&(t.nextSub=e)),e.dep.subs=e}}const En=new WeakMap,lt=Symbol(""),wa=Symbol(""),qt=Symbol("");function We(e,o,t){if(po&&Se){let n=En.get(e);n||En.set(e,n=new Map);let a=n.get(t);a||(n.set(t,a=new La),a.map=n,a.key=t),a.track()}}function xo(e,o,t,n,a,s){const r=En.get(e);if(!r){Kt++;return}const i=l=>{l&&l.trigger()};if(va(),o==="clear")r.forEach(i);else{const l=se(e),c=l&&An(t);if(l&&t==="length"){const u=Number(n);r.forEach((d,$)=>{($==="length"||$===qt||!no($)&&$>=u)&&i(d)})}else switch((t!==void 0||r.has(void 0))&&i(r.get(t)),c&&i(r.get(qt)),o){case"add":l?c&&i(r.get("length")):(i(r.get(lt)),Wo(e)&&i(r.get(wa)));break;case"delete":l||(i(r.get(lt)),Wo(e)&&i(r.get(wa)));break;case"set":Wo(e)&&i(r.get(lt));break}}ka()}function hu(e,o){const t=En.get(e);return t&&t.get(o)}function yt(e){const o=he(e);return o===e?o:(We(o,"iterate",qt),ao(e)?o:o.map(go))}function Cn(e){return We(e=he(e),"iterate",qt),e}function So(e,o){return Io(e)?vt(Mo(e)?go(o):o):go(o)}const fu={__proto__:null,[Symbol.iterator](){return Pa(this,Symbol.iterator,e=>So(this,e))},concat(...e){return yt(this).concat(...e.map(o=>se(o)?yt(o):o))},entries(){return Pa(this,"entries",e=>(e[1]=So(this,e[1]),e))},every(e,o){return Ro(this,"every",e,o,void 0,arguments)},filter(e,o){return Ro(this,"filter",e,o,t=>t.map(n=>So(this,n)),arguments)},find(e,o){return Ro(this,"find",e,o,t=>So(this,t),arguments)},findIndex(e,o){return Ro(this,"findIndex",e,o,void 0,arguments)},findLast(e,o){return Ro(this,"findLast",e,o,t=>So(this,t),arguments)},findLastIndex(e,o){return Ro(this,"findLastIndex",e,o,void 0,arguments)},forEach(e,o){return Ro(this,"forEach",e,o,void 0,arguments)},includes(...e){return Ea(this,"includes",e)},indexOf(...e){return Ea(this,"indexOf",e)},join(e){return yt(this).join(e)},lastIndexOf(...e){return Ea(this,"lastIndexOf",e)},map(e,o){return Ro(this,"map",e,o,void 0,arguments)},pop(){return Ht(this,"pop")},push(...e){return Ht(this,"push",e)},reduce(e,...o){return yr(this,"reduce",e,o)},reduceRight(e,...o){return yr(this,"reduceRight",e,o)},shift(){return Ht(this,"shift")},some(e,o){return Ro(this,"some",e,o,void 0,arguments)},splice(...e){return Ht(this,"splice",e)},toReversed(){return yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return Ht(this,"unshift",e)},values(){return Pa(this,"values",e=>So(this,e))}};function Pa(e,o,t){const n=Cn(e),a=n[o]();return n!==e&&!ao(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=t(s.value)),s}),a}const $u=Array.prototype;function Ro(e,o,t,n,a,s){const r=Cn(e),i=r!==e&&!ao(e),l=r[o];if(l!==$u[o]){const d=l.apply(e,s);return i?go(d):d}let c=t;r!==e&&(i?c=function(d,$){return t.call(this,So(e,d),$,e)}:t.length>2&&(c=function(d,$){return t.call(this,d,$,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function yr(e,o,t,n){const a=Cn(e),s=a!==e&&!ao(e);let r=t,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=So(e,c)),t.call(this,c,So(e,u),d,e)}):t.length>3&&(r=function(c,u,d){return t.call(this,c,u,d,e)}));const l=a[o](r,...n);return i?So(e,l):l}function Ea(e,o,t){const n=he(e);We(n,"iterate",qt);const a=n[o](...t);return(a===-1||a===!1)&&In(t[0])?(t[0]=he(t[0]),n[o](...t)):a}function Ht(e,o,t=[]){ko(),va();const n=he(e)[o].apply(e,t);return ka(),Ao(),n}const mu=ha("__proto__,__v_isRef,__isVue"),vr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(no));function bu(e){no(e)||(e=String(e));const o=he(this);return We(o,"has",e),o.hasOwnProperty(e)}class kr{constructor(o=!1,t=!1){this._isReadonly=o,this._isShallow=t}get(o,t,n){if(t==="__v_skip")return o.__v_skip;const a=this._isReadonly,s=this._isShallow;if(t==="__v_isReactive")return!a;if(t==="__v_isReadonly")return a;if(t==="__v_isShallow")return s;if(t==="__v_raw")return n===(a?s?Er:Pr:s?wr:Lr).get(o)||Object.getPrototypeOf(o)===Object.getPrototypeOf(n)?o:void 0;const r=se(o);if(!a){let l;if(r&&(l=fu[t]))return l;if(t==="hasOwnProperty")return bu}const i=Reflect.get(o,t,Te(o)?o:n);if((no(t)?vr.has(t):mu(t))||(a||We(o,"get",t),s))return i;if(Te(i)){const l=r&&An(t)?i:i.value;return a&&_e(l)?Ta(l):l}return _e(i)?a?Ta(i):Rn(i):i}}class Ar extends kr{constructor(o=!1){super(!1,o)}set(o,t,n,a){let s=o[t];const r=se(o)&&An(t);if(!this._isShallow){const c=Io(s);if(!ao(n)&&!Io(n)&&(s=he(s),n=he(n)),!r&&Te(s)&&!Te(n))return c||(s.value=n),!0}const i=r?Number(t)e,Tn=e=>Reflect.getPrototypeOf(e);function Au(e,o,t){return function(...n){const a=this.__v_raw,s=he(a),r=Wo(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=t?Ca:o?vt:go;return!o&&We(s,"iterate",l?wa:lt),Me(Object.create(c),{next(){const{value:d,done:$}=c.next();return $?{value:d,done:$}:{value:i?[u(d[0]),u(d[1])]:u(d),done:$}}})}}function Nn(e){return function(...o){return e==="delete"?!1:e==="clear"?void 0:this}}function Su(e,o){const t={get(a){const s=this.__v_raw,r=he(s),i=he(a);e||(vo(a,i)&&We(r,"get",a),We(r,"get",i));const{has:l}=Tn(r),c=o?Ca:e?vt:go;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&We(he(a),"iterate",lt),a.size},has(a){const s=this.__v_raw,r=he(s),i=he(a);return e||(vo(a,i)&&We(r,"has",a),We(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=he(i),c=o?Ca:e?vt:go;return!e&&We(l,"iterate",lt),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return Me(t,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(a){const s=he(this),r=Tn(s),i=he(a),l=!o&&!ao(a)&&!Io(a)?i:a;return r.has.call(s,l)||vo(a,l)&&r.has.call(s,a)||vo(i,l)&&r.has.call(s,i)||(s.add(l),xo(s,"add",l,l)),this},set(a,s){!o&&!ao(s)&&!Io(s)&&(s=he(s));const r=he(this),{has:i,get:l}=Tn(r);let c=i.call(r,a);c||(a=he(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?vo(s,u)&&xo(r,"set",a,s):xo(r,"add",a,s),this},delete(a){const s=he(this),{has:r,get:i}=Tn(s);let l=r.call(s,a);l||(a=he(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&xo(s,"delete",a,void 0),c},clear(){const a=he(this),s=a.size!==0,r=a.clear();return s&&xo(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{t[a]=Au(a,e,o)}),t}function xn(e,o){const t=Su(e,o);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(be(t,a)&&a in n?t:n,a,s)}const Lu={get:xn(!1,!1)},wu={get:xn(!1,!0)},Pu={get:xn(!0,!1)},Eu={get:xn(!0,!0)},Lr=new WeakMap,wr=new WeakMap,Pr=new WeakMap,Er=new WeakMap;function Cu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Rn(e){return Io(e)?e:Mn(e,!1,_u,Lu,Lr)}function Tu(e){return Mn(e,!1,vu,wu,wr)}function Ta(e){return Mn(e,!0,yu,Pu,Pr)}function Vy(e){return Mn(e,!0,ku,Eu,Er)}function Mn(e,o,t,n,a){if(!_e(e)||e.__v_raw&&!(o&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Cu(ou(e));if(r===0)return e;const i=new Proxy(e,r===2?n:t);return a.set(e,i),i}function Mo(e){return Io(e)?Mo(e.__v_raw):!!(e&&e.__v_isReactive)}function Io(e){return!!(e&&e.__v_isReadonly)}function ao(e){return!!(e&&e.__v_isShallow)}function In(e){return e?!!e.__v_raw:!1}function he(e){const o=e&&e.__v_raw;return o?he(o):e}function Wt(e){return!be(e,"__v_skip")&&Object.isExtensible(e)&&tr(e,"__v_skip",!0),e}const go=e=>_e(e)?Rn(e):e,vt=e=>_e(e)?Ta(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function pe(e){return Cr(e,!1)}function Na(e){return Cr(e,!0)}function Cr(e,o){return Te(e)?e:new Nu(e,o)}class Nu{constructor(o,t){this.dep=new La,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?o:he(o),this._value=t?o:go(o),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(o){const t=this._rawValue,n=this.__v_isShallow||ao(o)||Io(o);o=n?o:he(o),vo(o,t)&&(this._rawValue=o,this._value=n?o:go(o),this.dep.trigger())}}function Oo(e){return Te(e)?e.value:e}const xu={get:(e,o,t)=>o==="__v_raw"?e:Oo(Reflect.get(e,o,t)),set:(e,o,t,n)=>{const a=e[o];return Te(a)&&!Te(t)?(a.value=t,!0):Reflect.set(e,o,t,n)}};function Tr(e){return Mo(e)?e:new Proxy(e,xu)}function Ru(e){const o=se(e)?new Array(e.length):{};for(const t in e)o[t]=Iu(e,t);return o}class Mu{constructor(o,t,n){this._object=o,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=no(t)?t:String(t),this._raw=he(o);let a=!0,s=o;if(!se(o)||no(this._key)||!An(this._key))do a=!In(s)||ao(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let o=this._object[this._key];return this._shallow&&(o=Oo(o)),this._value=o===void 0?this._defaultValue:o}set value(o){if(this._shallow&&Te(this._raw[this._key])){const t=this._object[this._key];if(Te(t)){t.value=o;return}}this._object[this._key]=o}get dep(){return hu(this._raw,this._key)}}function Iu(e,o,t){return new Mu(e,o,t)}class Ou{constructor(o,t,n){this.fn=o,this.setter=t,this._value=void 0,this.dep=new La(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return dr(this,!0),!0}get value(){const o=this.dep.track();return $r(this),o&&(o.version=this.dep.version),this._value}set value(o){this.setter&&this.setter(o)}}function Fu(e,o,t=!1){let n,a;return le(e)?n=e:(n=e.get,a=e.set),new Ou(n,a,t)}const On={},Fn=new WeakMap;let ct;function Du(e,o=!1,t=ct){if(t){let n=Fn.get(t);n||Fn.set(t,n=[]),n.push(e)}}function Gu(e,o,t=ke){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=t,c=y=>a?y:ao(y)||a===!1||a===0?Yo(y,1):Yo(y);let u,d,$,b,w=!1,A=!1;if(Te(e)?(d=()=>e.value,w=ao(e)):Mo(e)?(d=()=>c(e),w=!0):se(e)?(A=!0,w=e.some(y=>Mo(y)||ao(y)),d=()=>e.map(y=>{if(Te(y))return y.value;if(Mo(y))return c(y);if(le(y))return l?l(y,2):y()})):le(e)?o?d=l?()=>l(e,2):e:d=()=>{if($){ko();try{$()}finally{Ao()}}const y=ct;ct=u;try{return l?l(e,3,[b]):e(b)}finally{ct=y}}:d=yo,o&&a){const y=d,E=a===!0?1/0:a;d=()=>Yo(y(),E)}const N=ur(),x=()=>{u.stop(),N&&N.active&&fa(N.effects,u)};if(s&&o){const y=o;o=(...E)=>{const T=y(...E);return x(),T}}let L=A?new Array(e.length).fill(On):On;const v=y=>{if(!(!(u.flags&1)||!u.dirty&&!y))if(o){const E=u.run();if(y||a||w||(A?E.some((T,_)=>vo(T,L[_])):vo(E,L))){$&&$();const T=ct;ct=u;try{const _=[E,L===On?void 0:A&&L[0]===On?[]:L,b];L=E,l?l(o,3,_):o(..._)}finally{ct=T}}}else u.run()};return i&&i(v),u=new pr(d),u.scheduler=r?()=>r(v,!1):v,b=y=>Du(y,!1,u),$=u.onStop=()=>{const y=Fn.get(u);if(y){if(l)l(y,4);else for(const E of y)E();Fn.delete(u)}},o?n?v(!0):L=u.run():r?r(v.bind(null,!0),!0):u.run(),x.pause=u.pause.bind(u),x.resume=u.resume.bind(u),x.stop=x,x}function Yo(e,o=1/0,t){if(o<=0||!_e(e)||e.__v_skip||(t=t||new Map,(t.get(e)||0)>=o))return e;if(t.set(e,o),o--,Te(e))Yo(e.value,o,t);else if(se(e))for(let n=0;n{Yo(n,o,t)});else if(kn(e)){for(const n in e)Yo(e[n],o,t);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yo(e[n],o,t)}return e}/** +**/let De;class cr{constructor(o=!1){this.detached=o,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!o&&De&&(De.active?(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let o,t;if(this.scopes){const n=this.scopes.slice();for(o=0,t=n.length;o0&&--this._on===0){if(De===this)De=this.prevScope;else{let o=De;for(;o;){if(o.prevScope===this){o.prevScope=this.prevScope;break}o=o.prevScope}}this.prevScope=void 0}}stop(o){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Vt){let o=Vt;for(Vt=void 0;o;){const t=o.next;o.next=void 0,o.flags&=-9,o=t}}let e;for(;zt;){let o=zt;for(zt=void 0;o;){const t=o.next;if(o.next=void 0,o.flags&=-9,o.flags&1)try{o.trigger()}catch(n){e||(e=n)}o=t}}if(e)throw e}function hr(e){for(let o=e.deps;o;o=o.nextDep)o.version=-1,o.prevActiveLink=o.dep.activeLink,o.dep.activeLink=o}function fr(e){let o,t=e.depsTail,n=t;for(;n;){const a=n.prevDep;n.version===-1?(n===t&&(t=a),Sa(n),gu(n)):o=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=o,e.depsTail=t}function Aa(e){for(let o=e.deps;o;o=o.nextDep)if(o.dep.version!==o.version||o.dep.computed&&($r(o.dep.computed)||o.dep.version!==o.version))return!0;return!!e._dirty}function $r(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt)||(e.globalVersion=Kt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Aa(e))))return;e.flags|=2;const o=e.dep,t=Se,n=po;Se=e,po=!0;try{hr(e);const a=e.fn(e._value);(o.version===0||ko(a,e._value))&&(e.flags|=128,e._value=a,o.version++)}catch(a){throw o.version++,a}finally{Se=t,po=n,fr(e),e.flags&=-3}}function Sa(e,o=!1){const{dep:t,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),t.subs===e&&(t.subs=n,!n&&t.computed)){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)Sa(s,!0)}!o&&!--t.sc&&t.map&&t.map.delete(t.key)}function gu(e){const{prevDep:o,nextDep:t}=e;o&&(o.nextDep=t,e.prevDep=void 0),t&&(t.prevDep=o,e.nextDep=void 0)}let po=!0;const mr=[];function vo(){mr.push(po),po=!1}function Ao(){const e=mr.pop();po=e===void 0?!0:e}function br(e){const{cleanup:o}=e;if(e.cleanup=void 0,o){const t=Se;Se=void 0;try{o()}finally{Se=t}}}let Kt=0;class du{constructor(o,t){this.sub=o,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class La{constructor(o){this.computed=o,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(o){if(!Se||!po||Se===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Se)t=this.activeLink=new du(Se,this),Se.deps?(t.prevDep=Se.depsTail,Se.depsTail.nextDep=t,Se.depsTail=t):Se.deps=Se.depsTail=t,_r(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const n=t.nextDep;n.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=n),t.prevDep=Se.depsTail,t.nextDep=void 0,Se.depsTail.nextDep=t,Se.depsTail=t,Se.deps===t&&(Se.deps=n)}return t}trigger(o){this.version++,Kt++,this.notify(o)}notify(o){ka();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{va()}}}function _r(e){if(e.dep.sc++,e.sub.flags&4){const o=e.dep.computed;if(o&&!e.dep.subs){o.flags|=20;for(let n=o.deps;n;n=n.nextDep)_r(n)}const t=e.dep.subs;t!==e&&(e.prevSub=t,t&&(t.nextSub=e)),e.dep.subs=e}}const En=new WeakMap,lt=Symbol(""),wa=Symbol(""),qt=Symbol("");function We(e,o,t){if(po&&Se){let n=En.get(e);n||En.set(e,n=new Map);let a=n.get(t);a||(n.set(t,a=new La),a.map=n,a.key=t),a.track()}}function xo(e,o,t,n,a,s){const r=En.get(e);if(!r){Kt++;return}const i=l=>{l&&l.trigger()};if(ka(),o==="clear")r.forEach(i);else{const l=se(e),c=l&&An(t);if(l&&t==="length"){const u=Number(n);r.forEach((d,$)=>{($==="length"||$===qt||!no($)&&$>=u)&&i(d)})}else switch((t!==void 0||r.has(void 0))&&i(r.get(t)),c&&i(r.get(qt)),o){case"add":l?c&&i(r.get("length")):(i(r.get(lt)),Wo(e)&&i(r.get(wa)));break;case"delete":l||(i(r.get(lt)),Wo(e)&&i(r.get(wa)));break;case"set":Wo(e)&&i(r.get(lt));break}}va()}function hu(e,o){const t=En.get(e);return t&&t.get(o)}function yt(e){const o=he(e);return o===e?o:(We(o,"iterate",qt),ao(e)?o:o.map(go))}function Nn(e){return We(e=he(e),"iterate",qt),e}function So(e,o){return Io(e)?kt(Ro(e)?go(o):o):go(o)}const fu={__proto__:null,[Symbol.iterator](){return Pa(this,Symbol.iterator,e=>So(this,e))},concat(...e){return yt(this).concat(...e.map(o=>se(o)?yt(o):o))},entries(){return Pa(this,"entries",e=>(e[1]=So(this,e[1]),e))},every(e,o){return Mo(this,"every",e,o,void 0,arguments)},filter(e,o){return Mo(this,"filter",e,o,t=>t.map(n=>So(this,n)),arguments)},find(e,o){return Mo(this,"find",e,o,t=>So(this,t),arguments)},findIndex(e,o){return Mo(this,"findIndex",e,o,void 0,arguments)},findLast(e,o){return Mo(this,"findLast",e,o,t=>So(this,t),arguments)},findLastIndex(e,o){return Mo(this,"findLastIndex",e,o,void 0,arguments)},forEach(e,o){return Mo(this,"forEach",e,o,void 0,arguments)},includes(...e){return Ea(this,"includes",e)},indexOf(...e){return Ea(this,"indexOf",e)},join(e){return yt(this).join(e)},lastIndexOf(...e){return Ea(this,"lastIndexOf",e)},map(e,o){return Mo(this,"map",e,o,void 0,arguments)},pop(){return Ht(this,"pop")},push(...e){return Ht(this,"push",e)},reduce(e,...o){return yr(this,"reduce",e,o)},reduceRight(e,...o){return yr(this,"reduceRight",e,o)},shift(){return Ht(this,"shift")},some(e,o){return Mo(this,"some",e,o,void 0,arguments)},splice(...e){return Ht(this,"splice",e)},toReversed(){return yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return Ht(this,"unshift",e)},values(){return Pa(this,"values",e=>So(this,e))}};function Pa(e,o,t){const n=Nn(e),a=n[o]();return n!==e&&!ao(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=t(s.value)),s}),a}const $u=Array.prototype;function Mo(e,o,t,n,a,s){const r=Nn(e),i=r!==e&&!ao(e),l=r[o];if(l!==$u[o]){const d=l.apply(e,s);return i?go(d):d}let c=t;r!==e&&(i?c=function(d,$){return t.call(this,So(e,d),$,e)}:t.length>2&&(c=function(d,$){return t.call(this,d,$,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function yr(e,o,t,n){const a=Nn(e),s=a!==e&&!ao(e);let r=t,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=So(e,c)),t.call(this,c,So(e,u),d,e)}):t.length>3&&(r=function(c,u,d){return t.call(this,c,u,d,e)}));const l=a[o](r,...n);return i?So(e,l):l}function Ea(e,o,t){const n=he(e);We(n,"iterate",qt);const a=n[o](...t);return(a===-1||a===!1)&&In(t[0])?(t[0]=he(t[0]),n[o](...t)):a}function Ht(e,o,t=[]){vo(),ka();const n=he(e)[o].apply(e,t);return va(),Ao(),n}const mu=ha("__proto__,__v_isRef,__isVue"),kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(no));function bu(e){no(e)||(e=String(e));const o=he(this);return We(o,"has",e),o.hasOwnProperty(e)}class vr{constructor(o=!1,t=!1){this._isReadonly=o,this._isShallow=t}get(o,t,n){if(t==="__v_skip")return o.__v_skip;const a=this._isReadonly,s=this._isShallow;if(t==="__v_isReactive")return!a;if(t==="__v_isReadonly")return a;if(t==="__v_isShallow")return s;if(t==="__v_raw")return n===(a?s?Er:Pr:s?wr:Lr).get(o)||Object.getPrototypeOf(o)===Object.getPrototypeOf(n)?o:void 0;const r=se(o);if(!a){let l;if(r&&(l=fu[t]))return l;if(t==="hasOwnProperty")return bu}const i=Reflect.get(o,t,Ce(o)?o:n);if((no(t)?kr.has(t):mu(t))||(a||We(o,"get",t),s))return i;if(Ce(i)){const l=r&&An(t)?i:i.value;return a&&_e(l)?Ca(l):l}return _e(i)?a?Ca(i):Mn(i):i}}class Ar extends vr{constructor(o=!1){super(!1,o)}set(o,t,n,a){let s=o[t];const r=se(o)&&An(t);if(!this._isShallow){const c=Io(s);if(!ao(n)&&!Io(n)&&(s=he(s),n=he(n)),!r&&Ce(s)&&!Ce(n))return c||(s.value=n),!0}const i=r?Number(t)e,Cn=e=>Reflect.getPrototypeOf(e);function Au(e,o,t){return function(...n){const a=this.__v_raw,s=he(a),r=Wo(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=t?Na:o?kt:go;return!o&&We(s,"iterate",l?wa:lt),Re(Object.create(c),{next(){const{value:d,done:$}=c.next();return $?{value:d,done:$}:{value:i?[u(d[0]),u(d[1])]:u(d),done:$}}})}}function Tn(e){return function(...o){return e==="delete"?!1:e==="clear"?void 0:this}}function Su(e,o){const t={get(a){const s=this.__v_raw,r=he(s),i=he(a);e||(ko(a,i)&&We(r,"get",a),We(r,"get",i));const{has:l}=Cn(r),c=o?Na:e?kt:go;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&We(he(a),"iterate",lt),a.size},has(a){const s=this.__v_raw,r=he(s),i=he(a);return e||(ko(a,i)&&We(r,"has",a),We(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=he(i),c=o?Na:e?kt:go;return!e&&We(l,"iterate",lt),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return Re(t,e?{add:Tn("add"),set:Tn("set"),delete:Tn("delete"),clear:Tn("clear")}:{add(a){const s=he(this),r=Cn(s),i=he(a),l=!o&&!ao(a)&&!Io(a)?i:a;return r.has.call(s,l)||ko(a,l)&&r.has.call(s,a)||ko(i,l)&&r.has.call(s,i)||(s.add(l),xo(s,"add",l,l)),this},set(a,s){!o&&!ao(s)&&!Io(s)&&(s=he(s));const r=he(this),{has:i,get:l}=Cn(r);let c=i.call(r,a);c||(a=he(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?ko(s,u)&&xo(r,"set",a,s):xo(r,"add",a,s),this},delete(a){const s=he(this),{has:r,get:i}=Cn(s);let l=r.call(s,a);l||(a=he(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&xo(s,"delete",a,void 0),c},clear(){const a=he(this),s=a.size!==0,r=a.clear();return s&&xo(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{t[a]=Au(a,e,o)}),t}function xn(e,o){const t=Su(e,o);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(be(t,a)&&a in n?t:n,a,s)}const Lu={get:xn(!1,!1)},wu={get:xn(!1,!0)},Pu={get:xn(!0,!1)},Eu={get:xn(!0,!0)},Lr=new WeakMap,wr=new WeakMap,Pr=new WeakMap,Er=new WeakMap;function Nu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Mn(e){return Io(e)?e:Rn(e,!1,_u,Lu,Lr)}function Cu(e){return Rn(e,!1,ku,wu,wr)}function Ca(e){return Rn(e,!0,yu,Pu,Pr)}function Vy(e){return Rn(e,!0,vu,Eu,Er)}function Rn(e,o,t,n,a){if(!_e(e)||e.__v_raw&&!(o&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Nu(ou(e));if(r===0)return e;const i=new Proxy(e,r===2?n:t);return a.set(e,i),i}function Ro(e){return Io(e)?Ro(e.__v_raw):!!(e&&e.__v_isReactive)}function Io(e){return!!(e&&e.__v_isReadonly)}function ao(e){return!!(e&&e.__v_isShallow)}function In(e){return e?!!e.__v_raw:!1}function he(e){const o=e&&e.__v_raw;return o?he(o):e}function Wt(e){return!be(e,"__v_skip")&&Object.isExtensible(e)&&tr(e,"__v_skip",!0),e}const go=e=>_e(e)?Mn(e):e,kt=e=>_e(e)?Ca(e):e;function Ce(e){return e?e.__v_isRef===!0:!1}function pe(e){return Nr(e,!1)}function Ta(e){return Nr(e,!0)}function Nr(e,o){return Ce(e)?e:new Tu(e,o)}class Tu{constructor(o,t){this.dep=new La,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?o:he(o),this._value=t?o:go(o),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(o){const t=this._rawValue,n=this.__v_isShallow||ao(o)||Io(o);o=n?o:he(o),ko(o,t)&&(this._rawValue=o,this._value=n?o:go(o),this.dep.trigger())}}function Oo(e){return Ce(e)?e.value:e}const xu={get:(e,o,t)=>o==="__v_raw"?e:Oo(Reflect.get(e,o,t)),set:(e,o,t,n)=>{const a=e[o];return Ce(a)&&!Ce(t)?(a.value=t,!0):Reflect.set(e,o,t,n)}};function Cr(e){return Ro(e)?e:new Proxy(e,xu)}function Mu(e){const o=se(e)?new Array(e.length):{};for(const t in e)o[t]=Iu(e,t);return o}class Ru{constructor(o,t,n){this._object=o,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=no(t)?t:String(t),this._raw=he(o);let a=!0,s=o;if(!se(o)||no(this._key)||!An(this._key))do a=!In(s)||ao(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let o=this._object[this._key];return this._shallow&&(o=Oo(o)),this._value=o===void 0?this._defaultValue:o}set value(o){if(this._shallow&&Ce(this._raw[this._key])){const t=this._object[this._key];if(Ce(t)){t.value=o;return}}this._object[this._key]=o}get dep(){return hu(this._raw,this._key)}}function Iu(e,o,t){return new Ru(e,o,t)}class Ou{constructor(o,t,n){this.fn=o,this.setter=t,this._value=void 0,this.dep=new La(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return dr(this,!0),!0}get value(){const o=this.dep.track();return $r(this),o&&(o.version=this.dep.version),this._value}set value(o){this.setter&&this.setter(o)}}function Fu(e,o,t=!1){let n,a;return le(e)?n=e:(n=e.get,a=e.set),new Ou(n,a,t)}const On={},Fn=new WeakMap;let ct;function Du(e,o=!1,t=ct){if(t){let n=Fn.get(t);n||Fn.set(t,n=[]),n.push(e)}}function Gu(e,o,t=ve){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=t,c=y=>a?y:ao(y)||a===!1||a===0?Yo(y,1):Yo(y);let u,d,$,b,w=!1,A=!1;if(Ce(e)?(d=()=>e.value,w=ao(e)):Ro(e)?(d=()=>c(e),w=!0):se(e)?(A=!0,w=e.some(y=>Ro(y)||ao(y)),d=()=>e.map(y=>{if(Ce(y))return y.value;if(Ro(y))return c(y);if(le(y))return l?l(y,2):y()})):le(e)?o?d=l?()=>l(e,2):e:d=()=>{if($){vo();try{$()}finally{Ao()}}const y=ct;ct=u;try{return l?l(e,3,[b]):e(b)}finally{ct=y}}:d=yo,o&&a){const y=d,E=a===!0?1/0:a;d=()=>Yo(y(),E)}const T=ur(),x=()=>{u.stop(),T&&T.active&&fa(T.effects,u)};if(s&&o){const y=o;o=(...E)=>{const C=y(...E);return x(),C}}let L=A?new Array(e.length).fill(On):On;const k=y=>{if(!(!(u.flags&1)||!u.dirty&&!y))if(o){const E=u.run();if(y||a||w||(A?E.some((C,_)=>ko(C,L[_])):ko(E,L))){$&&$();const C=ct;ct=u;try{const _=[E,L===On?void 0:A&&L[0]===On?[]:L,b];L=E,l?l(o,3,_):o(..._)}finally{ct=C}}}else u.run()};return i&&i(k),u=new pr(d),u.scheduler=r?()=>r(k,!1):k,b=y=>Du(y,!1,u),$=u.onStop=()=>{const y=Fn.get(u);if(y){if(l)l(y,4);else for(const E of y)E();Fn.delete(u)}},o?n?k(!0):L=u.run():r?r(k.bind(null,!0),!0):u.run(),x.pause=u.pause.bind(u),x.resume=u.resume.bind(u),x.stop=x,x}function Yo(e,o=1/0,t){if(o<=0||!_e(e)||e.__v_skip||(t=t||new Map,(t.get(e)||0)>=o))return e;if(t.set(e,o),o--,Ce(e))Yo(e.value,o,t);else if(se(e))for(let n=0;n{Yo(n,o,t)});else if(vn(e)){for(const n in e)Yo(e[n],o,t);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yo(e[n],o,t)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Yt=[];let xa=!1;function Ky(e,...o){if(xa)return;xa=!0,ko();const t=Yt.length?Yt[Yt.length-1].component:null,n=t&&t.appContext.config.warnHandler,a=Bu();if(n)kt(n,t,11,[e+o.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),t&&t.proxy,a.map(({vnode:s})=>`at <${Ci(t,s.type)}>`).join(` +**/const Yt=[];let xa=!1;function Ky(e,...o){if(xa)return;xa=!0,vo();const t=Yt.length?Yt[Yt.length-1].component:null,n=t&&t.appContext.config.warnHandler,a=Bu();if(n)vt(n,t,11,[e+o.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),t&&t.proxy,a.map(({vnode:s})=>`at <${Ni(t,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...o];a.length&&s.push(` `,...Uu(a)),console.warn(...s)}Ao(),xa=!1}function Bu(){let e=Yt[Yt.length-1];if(!e)return[];const o=[];for(;e;){const t=o[0];t&&t.vnode===e?t.recurseCount++:o.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return o}function Uu(e){const o=[];return e.forEach((t,n)=>{o.push(...n===0?[]:[` -`],...ju(t))}),o}function ju({vnode:e,recurseCount:o}){const t=o>0?`... (${o} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ci(e.component,e.type,n)}`,s=">"+t;return e.props?[a,...zu(e.props),s]:[a+s]}function zu(e){const o=[],t=Object.keys(e);return t.slice(0,3).forEach(n=>{o.push(...Nr(n,e[n]))}),t.length>3&&o.push(" ..."),o}function Nr(e,o,t){return Ae(o)?(o=JSON.stringify(o),t?o:[`${e}=${o}`]):typeof o=="number"||typeof o=="boolean"||o==null?t?o:[`${e}=${o}`]:Te(o)?(o=Nr(e,he(o.value),!0),t?o:[`${e}=Ref<`,o,">"]):le(o)?[`${e}=fn${o.name?`<${o.name}>`:""}`]:(o=he(o),t?o:[`${e}=`,o])}function kt(e,o,t,n){try{return n?e(...n):e()}catch(a){Xt(a,o,t)}}function ho(e,o,t,n){if(le(e)){const a=kt(e,o,t,n);return a&&er(a)&&a.catch(s=>{Xt(s,o,t)}),a}if(se(e)){const a=[];for(let s=0;s>>1,a=Ye[n],s=Zt(a);s=Zt(t)?Ye.push(e):Ye.splice(Ku(o),0,e),e.flags|=1,Rr()}}function Rr(){Dn||(Dn=xr.then(Or))}function qu(e){if(!se(e))Xo&&e.id===-1?Xo.splice(St+1,0,e):e.flags&1||(At.push(e),e.flags|=1);else for(let o=0;oZt(t)-Zt(n));if(At.length=0,Xo){for(let t=0;te.id==null?e.flags&2?-1:1/0:e.id;function Or(e){try{for(Lo=0;Lo{n._d&&Xn(-1);const s=Gn(o),r=Do.length;let i;try{i=e(...a)}finally{for(let l=Do.length;l>r;l--)Za();Gn(s),n._d&&Xn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function ut(e,o,t,n){const a=e.dirs,s=o&&o.dirs;for(let r=0;r1)return t&&le(o)?o.call(n&&n.proxy):o}}function Hu(){return!!(Uo()||gt)}const Wu=Symbol.for("v-scx"),Yu=()=>Ie(Wu);function Xu(e,o){return Ma(e,null,o)}function fo(e,o,t){return Ma(e,o,t)}function Ma(e,o,t=ke){const{immediate:n,deep:a,flush:s,once:r}=t,i=Me({},t),l=o&&n||!o&&s!=="post";let c;if(Et){if(s==="sync"){const b=Yu();c=b.__watcherHandles||(b.__watcherHandles=[])}else if(!l){const b=()=>{};return b.stop=yo,b.resume=yo,b.pause=yo,b}}const u=Ke;i.call=(b,w,A)=>ho(b,u,w,A);let d=!1;s==="post"?i.scheduler=b=>{Ze(b,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(b,w)=>{w?b():Ra(b)}),i.augmentJob=b=>{o&&(b.flags|=4),d&&(b.flags|=2,u&&(b.id=u.uid,b.i=u))};const $=Gu(e,o,i);return Et&&(c?c.push($):l&&$()),$}function Ju(e,o,t){const n=this.proxy,a=Ae(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let s;le(o)?s=o:(s=o.handler,t=o);const r=pn(this),i=Ma(a,s.bind(n),t);return r(),i}function Dr(e,o){const t=o.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,pt=e=>e&&(e.disabled||e.disabled===""),Zu=e=>e&&(e.defer||e.defer===""),Br=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ur=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ia=(e,o)=>{const t=e&&e.to;return Ae(t)?o?o(t):null:t},Qu={name:"Teleport",__isTeleport:!0,process(e,o,t,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:$,o:{insert:b,querySelector:w,createText:A,createComment:N,parentNode:x}}=c,L=pt(o.props);let{dynamicChildren:v}=o;const y=(_,S,f)=>{_.shapeFlag&16&&u(_.children,S,f,a,s,r,i,l)},E=(_=o)=>{const S=pt(_.props),f=_.target=Ia(_.props,w),D=Oa(f,_,A,b);f&&(r!=="svg"&&Br(f)?r="svg":r!=="mathml"&&Ur(f)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(f),S||(y(_,f,D),Qt(_,!1)))},T=_=>{const S=()=>{if(Jo.get(_)===S){if(Jo.delete(_),pt(_.props)){const f=x(_.el)||t;y(_,f,_.anchor),Qt(_,!0)}E(_)}};Jo.set(_,S),Ze(S,s)};if(e==null){const _=o.el=A(""),S=o.anchor=A("");if(b(_,t,n),b(S,t,n),Zu(o.props)||s&&s.pendingBranch){T(o);return}L&&(y(o,t,S),Qt(o,!0)),E()}else{o.el=e.el;const _=o.anchor=e.anchor,S=Jo.get(e);if(S){S.flags|=8,Jo.delete(e),T(o);return}o.targetStart=e.targetStart;const f=o.target=e.target,D=o.targetAnchor=e.targetAnchor,G=pt(e.props),B=G?t:f,W=G?_:D;if(r==="svg"||Br(f)?r="svg":(r==="mathml"||Ur(f))&&(r="mathml"),v?($(e.dynamicChildren,v,B,a,s,r,i),Xa(e,o,!0)):l||d(e,o,B,W,a,s,r,i,!1),L)G?o.props&&e.props&&o.props.to!==e.props.to&&(o.props.to=e.props.to):jn(o,t,_,c,1);else if((o.props&&o.props.to)!==(e.props&&e.props.to)){const ee=Ia(o.props,w);ee&&(o.target=ee,jn(o,ee,null,c,0))}else G&&jn(o,f,D,c,1);Qt(o,L)}},remove(e,o,t,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:$}=e,b=pt($),w=s||!b,A=Jo.get(e);if(A&&(A.flags|=8,Jo.delete(e)),d&&(a(c),a(u)),s&&a(l),!A&&(b||d)&&r&16)for(let N=0;N1){for(const t of e)if(t.type!==wo){o=t;break}}return o}function jr(e){if(!Kn(e))return Un(e.type)&&e.children?tp(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:o,children:t}=e;if(t){if(o&16)return t[0];if(o&32&&le(t.default))return t.default()}}function Da(e,o){if(e.shapeFlag&6&&e.component){e.transition=o;const t=e.component.subTree;Da(Un(t.type)&&jr(t)||t,o)}else e.shapeFlag&128?(e.ssContent.transition=o.clone(e.ssContent),e.ssFallback.transition=o.clone(e.ssFallback)):e.transition=o}function en(e,o){return le(e)?Me({name:e.name},o,{setup:e}):e}function Ga(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function zr(e,o){let t;return!!((t=Object.getOwnPropertyDescriptor(e,o))&&!t.configurable)}const zn=new WeakMap;function on(e,o,t,n,a=!1){if(se(e)){e.forEach((A,N)=>on(A,o&&(se(o)?o[N]:o),t,n,a));return}if(Lt(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&on(e,o,t,n.component.subTree);return}const s=n.shapeFlag&4?Qa(n.component):n.el,r=a?null:s,{i,r:l}=e,c=o&&o.r,u=i.refs===ke?i.refs={}:i.refs,d=i.setupState,$=he(d),b=d===ke?Zs:A=>zr(u,A)?!1:be($,A),w=(A,N)=>!(N&&zr(u,N));if(c!=null&&c!==l){if(Vr(o),Ae(c))u[c]=null,b(c)&&(d[c]=null);else if(Te(c)){const A=o;w(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(le(l))kt(l,i,12,[r,u]);else{const A=Ae(l),N=Te(l);if(A||N){const x=()=>{if(e.f){const L=A?b(l)?d[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)se(L)&&fa(L,s);else if(se(L))L.includes(s)||L.push(s);else if(A)u[l]=[s],b(l)&&(d[l]=u[l]);else{const v=[s];w(l,e.k)&&(l.value=v),e.k&&(u[e.k]=v)}}else A?(u[l]=r,b(l)&&(d[l]=r)):N&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const L=()=>{x(),zn.delete(e)};L.id=-1,zn.set(e,L),Ze(L,t)}else Vr(e),x()}}}function Vr(e){const o=zn.get(e);o&&(o.flags|=8,zn.delete(e))}const Kr=e=>e.nodeType===8;wn().requestIdleCallback,wn().cancelIdleCallback;function np(e,o){if(Kr(e)&&e.data==="["){let t=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(o(n)===!1)break}else if(Kr(n))if(n.data==="]"){if(--t===0)break}else n.data==="["&&t++;n=n.nextSibling}}else o(e)}const Lt=e=>!!e.type.__asyncLoader;function ap(e){le(e)&&(e={loader:e});const{loader:o,loadingComponent:t,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const $=()=>(d++,c=null,b()),b=()=>{let w;return c||(w=c=o().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((N,x)=>{l(A,()=>N($()),()=>x(A),d+1)});throw A}).then(A=>w!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return en({name:"AsyncComponentWrapper",__asyncLoader:b,__asyncHydrate(w,A,N){const x=w.isConnected;let L=!1;(A.bu||(A.bu=[])).push(()=>L=!0);const v=()=>{L||!w.parentNode||x&&!w.isConnected||N()},y=s?()=>{const E=s(v,T=>np(w,T));E&&(A.bum||(A.bum=[])).push(E)}:v;u?y():b().then(()=>!A.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const w=Ke;if(Ga(w),u)return()=>Vn(u,w);const A=E=>{c=null,Xt(E,w,13,!n)};if(i&&w.suspense||Et)return b().then(E=>()=>Vn(E,w)).catch(E=>(A(E),()=>n?Ne(n,{error:E}):null));const N=pe(!1),x=pe(),L=pe(!!a);let v,y;return Hn(()=>{v!=null&&clearTimeout(v),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{w.isUnmounted||(L.value=!1)},a)),r!=null&&(v=setTimeout(()=>{if(!w.isUnmounted&&!N.value&&!x.value){const E=new Error(`Async component timed out after ${r}ms.`);A(E),x.value=E}},r)),b().then(()=>{w.isUnmounted||(N.value=!0,w.parent&&Kn(w.parent.vnode)&&w.parent.update())}).catch(E=>{if(w.isUnmounted){c=null;return}A(E),x.value=E}),()=>{if(N.value&&u)return Vn(u,w);if(x.value&&n)return Ne(n,{error:x.value});if(t&&!L.value)return Vn(t,w)}}})}function Vn(e,o){const{ref:t,props:n,children:a,ce:s}=o.vnode,r=Ne(e,n,a);return r.ref=t,r.ce=s,delete o.vnode.ce,r}const Kn=e=>e.type.__isKeepAlive;function sp(e,o){qr(e,"a",o)}function rp(e,o){qr(e,"da",o)}function qr(e,o,t=Ke){const n=e.__wdc||(e.__wdc=()=>{let a=t;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(qn(o,n,t),t){let a=t.parent;for(;a&&a.parent;)Kn(a.parent.vnode)&&ip(n,o,t,a),a=a.parent}}function ip(e,o,t,n){const a=qn(o,e,n,!0);Hn(()=>{fa(n[o],a)},t)}function qn(e,o,t=Ke,n=!1){if(t){const a=t[e]||(t[e]=[]),s=o.__weh||(o.__weh=(...r)=>{ko();const i=pn(t),l=ho(o,t,e,r);return i(),Ao(),l});return n?a.unshift(s):a.push(s),s}}const Fo=e=>(o,t=Ke)=>{(!Et||e==="sp")&&qn(e,(...n)=>o(...n),t)},Hr=Fo("bm"),wt=Fo("m"),lp=Fo("bu"),cp=Fo("u"),tn=Fo("bum"),Hn=Fo("um"),up=Fo("sp"),pp=Fo("rtg"),gp=Fo("rtc");function dp(e,o=Ke){qn("ec",e,o)}const hp="components",Wr=Symbol.for("v-ndc");function Yr(e){return Ae(e)?fp(hp,e,!1)||e:e||Wr}function fp(e,o,t=!0,n=!1){const a=Xe||Ke;if(a){const s=a.type;{const i=Ei(s,!1);if(i&&(i===o||i===Ue(o)||i===Ln(Ue(o))))return s}const r=Xr(a[e]||s[e],o)||Xr(a.appContext[e],o);return!r&&n?s:r}}function Xr(e,o){return e&&(e[o]||e[Ue(o)]||e[Ln(Ue(o))])}function Ba(e,o,t,n){let a;const s=t,r=se(e);if(r||Ae(e)){const i=r&&Mo(e);let l=!1,c=!1;i&&(l=!ao(e),c=Io(e),e=Cn(e)),a=new Array(e.length);for(let u=0,d=e.length;uo(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return ye(),ht(Ve,null,[Ne("slot",c,n)],u?-2:64)}let r=e[o];r&&r._c&&(r._d=!1);const i=Do.length;ye();let l;try{const c=r&&Jr(r(t)),u=t.key||s||c&&c.key;l=ht(Ve,{key:(u&&!no(u)?u:`_${o}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Do.length;u>i;u--)Za();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Jr(e){return e.some(o=>ln(o)?!(o.type===wo||o.type===Ve&&!Jr(o.children)):!0)?e:null}const ja=e=>e?Li(e)?Qa(e):ja(e.parent):null,nn=Me(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=>ja(e.parent),$root:e=>ja(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>oi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ra(e.update)}),$nextTick:e=>e.n||(e.n=Jt.bind(e.proxy)),$watch:e=>Ju.bind(e)}),za=(e,o)=>e!==ke&&!e.__isScriptSetup&&be(e,o),$p={get({_:e},o){if(o==="__v_skip")return!0;const{ctx:t,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(o[0]!=="$"){const $=r[o];if($!==void 0)switch($){case 1:return n[o];case 2:return a[o];case 4:return t[o];case 3:return s[o]}else{if(za(n,o))return r[o]=1,n[o];if(a!==ke&&be(a,o))return r[o]=2,a[o];if(be(s,o))return r[o]=3,s[o];if(t!==ke&&be(t,o))return r[o]=4,t[o];Va&&(r[o]=0)}}const c=nn[o];let u,d;if(c)return o==="$attrs"&&We(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[o]))return u;if(t!==ke&&be(t,o))return r[o]=4,t[o];if(d=l.config.globalProperties,be(d,o))return d[o]},set({_:e},o,t){const{data:n,setupState:a,ctx:s}=e;return za(a,o)?(a[o]=t,!0):n!==ke&&be(n,o)?(n[o]=t,!0):be(e.props,o)||o[0]==="$"&&o.slice(1)in e?!1:(s[o]=t,!0)},has({_:{data:e,setupState:o,accessCache:t,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(t[i]||e!==ke&&i[0]!=="$"&&be(e,i)||za(o,i)||be(s,i)||be(n,i)||be(nn,i)||be(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,o,t){return t.get!=null?e._.accessCache[o]=0:be(t,"value")&&this.set(e,o,t.value,null),Reflect.defineProperty(e,o,t)}};function Zr(e){return se(e)?e.reduce((o,t)=>(o[t]=null,o),{}):e}let Va=!0;function mp(e){const o=oi(e),t=e.proxy,n=e.ctx;Va=!1,o.beforeCreate&&Qr(o.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:$,beforeUpdate:b,updated:w,activated:A,deactivated:N,beforeDestroy:x,beforeUnmount:L,destroyed:v,unmounted:y,render:E,renderTracked:T,renderTriggered:_,errorCaptured:S,serverPrefetch:f,expose:D,inheritAttrs:G,components:B,directives:W,filters:ee}=o;if(c&&bp(c,n,null),r)for(const H in r){const ue=r[H];le(ue)&&(n[H]=ue.bind(t))}if(a){const H=a.call(t,t);_e(H)&&(e.data=Rn(H))}if(Va=!0,s)for(const H in s){const ue=s[H],Ce=le(ue)?ue.bind(t,t):le(ue.get)?ue.get.bind(t,t):yo,Be=!le(ue)&&le(ue.set)?ue.set.bind(t):yo,xe=fe({get:Ce,set:Be});Object.defineProperty(n,H,{enumerable:!0,configurable:!0,get:()=>xe.value,set:we=>xe.value=we})}if(i)for(const H in i)ei(i[H],n,t,H);if(l){const H=le(l)?l.call(t):l;Reflect.ownKeys(H).forEach(ue=>{lo(ue,H[ue])})}u&&Qr(u,e,"c");function q(H,ue){se(ue)?ue.forEach(Ce=>H(Ce.bind(t))):ue&&H(ue.bind(t))}if(q(Hr,d),q(wt,$),q(lp,b),q(cp,w),q(sp,A),q(rp,N),q(dp,S),q(gp,T),q(pp,_),q(tn,L),q(Hn,y),q(up,f),se(D))if(D.length){const H=e.exposed||(e.exposed={});D.forEach(ue=>{Object.defineProperty(H,ue,{get:()=>t[ue],set:Ce=>t[ue]=Ce,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===yo&&(e.render=E),G!=null&&(e.inheritAttrs=G),B&&(e.components=B),W&&(e.directives=W),f&&Ga(e)}function bp(e,o,t=yo){se(e)&&(e=Ka(e));for(const n in e){const a=e[n];let s;_e(a)?"default"in a?s=Ie(a.from||n,a.default,!0):s=Ie(a.from||n):s=Ie(a),Te(s)?Object.defineProperty(o,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):o[n]=s}}function Qr(e,o,t){ho(se(e)?e.map(n=>n.bind(o.proxy)):e.bind(o.proxy),o,t)}function ei(e,o,t,n){let a=n.includes(".")?Dr(t,n):()=>t[n];if(Ae(e)){const s=o[e];le(s)&&fo(a,s)}else if(le(e))fo(a,e.bind(t));else if(_e(e))if(se(e))e.forEach(s=>ei(s,o,t,n));else{const s=le(e.handler)?e.handler.bind(t):o[e.handler];le(s)&&fo(a,s,e)}}function oi(e){const o=e.type,{mixins:t,extends:n}=o,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(o);let l;return i?l=i:!a.length&&!t&&!n?l=o:(l={},a.length&&a.forEach(c=>Wn(l,c,r,!0)),Wn(l,o,r)),_e(o)&&s.set(o,l),l}function Wn(e,o,t,n=!1){const{mixins:a,extends:s}=o;s&&Wn(e,s,t,!0),a&&a.forEach(r=>Wn(e,r,t,!0));for(const r in o)if(!(n&&r==="expose")){const i=_p[r]||t&&t[r];e[r]=i?i(e[r],o[r]):o[r]}return e}const _p={data:ti,props:ni,emits:ni,methods:an,computed:an,beforeCreate:Je,created:Je,beforeMount:Je,mounted:Je,beforeUpdate:Je,updated:Je,beforeDestroy:Je,beforeUnmount:Je,destroyed:Je,unmounted:Je,activated:Je,deactivated:Je,errorCaptured:Je,serverPrefetch:Je,components:an,directives:an,watch:vp,provide:ti,inject:yp};function ti(e,o){return o?e?function(){return Me(le(e)?e.call(this,this):e,le(o)?o.call(this,this):o)}:o:e}function yp(e,o){return an(Ka(e),Ka(o))}function Ka(e){if(se(e)){const o={};for(let t=0;to==="modelValue"||o==="model-value"?e.modelModifiers:e[`${o}Modifiers`]||e[`${Ue(o)}Modifiers`]||e[`${io(o)}Modifiers`];function Lp(e,o,...t){if(e.isUnmounted)return;const n=e.vnode.props||ke;let a=t;const s=o.startsWith("update:"),r=s&&Sp(n,o.slice(7));r&&(r.trim&&(a=t.map(u=>Ae(u)?u.trim():u)),r.number&&(a=a.map(au)));let i,l=n[i=$a(o)]||n[i=$a(Ue(o))];!l&&s&&(l=n[i=$a(io(o))]),l&&ho(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ho(c,e,6,a)}}const wp=new WeakMap;function si(e,o,t=!1){const n=t?wp:o.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!le(e)){const l=c=>{const u=si(c,o,!0);u&&(i=!0,Me(r,u))};!t&&o.mixins.length&&o.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(_e(e)&&n.set(e,null),null):(se(s)?s.forEach(l=>r[l]=null):Me(r,s),_e(e)&&n.set(e,r),r)}function Yn(e,o){return!e||!_n(o)?!1:(o=o.slice(2),o=o==="Once"?o:o.replace(/Once$/,""),be(e,o[0].toLowerCase()+o.slice(1))||be(e,io(o))||be(e,o))}function qy(){}function ri(e){const{type:o,vnode:t,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:$,setupState:b,ctx:w,inheritAttrs:A}=e,N=Gn(e);let x,L;try{if(t.shapeFlag&4){const y=a||n,E=y;x=Po(c.call(E,y,u,d,b,$,w)),L=i}else{const y=o;x=Po(y.length>1?y(d,{attrs:i,slots:r,emit:l}):y(d,null)),L=o.props?i:Pp(i)}}catch(y){Do.length=0,Xt(y,e,1),x=Ne(wo)}let v=x;if(L&&A!==!1){const y=Object.keys(L),{shapeFlag:E}=v;y.length&&E&7&&(s&&y.some(yn)&&(L=Ep(L,s)),v=Pt(v,L,!1,!0))}if(t.dirs&&(v=Pt(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(t.dirs):t.dirs),t.transition){const y=Un(v.type)&&jr(v)||v;Da(y,t.transition)}return x=v,Gn(N),x}const Pp=e=>{let o;for(const t in e)(t==="class"||t==="style"||_n(t))&&((o||(o={}))[t]=e[t]);return o},Ep=(e,o)=>{const t={};for(const n in e)(!yn(n)||!(n.slice(9)in o))&&(t[n]=e[n]);return t};function Cp(e,o,t){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=o,c=s.emitsOptions;if(o.dirs||o.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return n?ii(n,r,c):!!r;if(l&8){const u=o.dynamicProps;for(let d=0;dObject.create(ci),pi=e=>Object.getPrototypeOf(e)===ci;function Np(e,o,t,n=!1){const a={},s=ui();e.propsDefaults=Object.create(null),gi(e,o,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);t?e.props=n?a:Tu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function xp(e,o,t,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=he(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[$,b]=di(d,o,!0);Me(r,$),b&&i.push(...b)};!t&&o.mixins.length&&o.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return _e(e)&&n.set(e,_t),_t;if(se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Wa=e=>se(e)?e.map(Po):[Po(e)],Mp=(e,o,t)=>{if(o._n)return o;const n=Bn((...a)=>Wa(o(...a)),t);return n._c=!1,n},fi=(e,o,t)=>{const n=e._ctx;for(const a in e){if(Ha(a))continue;const s=e[a];if(le(s))o[a]=Mp(a,s,n);else if(s!=null){const r=Wa(s);o[a]=()=>r}}},$i=(e,o)=>{const t=Wa(o);e.slots.default=()=>t},mi=(e,o,t)=>{for(const n in o)(t||!Ha(n))&&(e[n]=o[n])},Ip=(e,o,t)=>{const n=e.slots=ui();if(e.vnode.shapeFlag&32){const a=o._;a?(mi(n,o,t),t&&tr(n,"_",a,!0)):fi(o,n)}else o&&$i(e,o)},Op=(e,o,t)=>{const{vnode:n,slots:a}=e;let s=!0,r=ke;if(n.shapeFlag&32){const i=o._;i?t&&i===1?s=!1:mi(a,o,t):(s=!o.$stable,fi(o,a)),r=o}else o&&($i(e,o),r={default:1});if(s)for(const i in a)!Ha(i)&&r[i]==null&&delete a[i]},Ze=Up;function Fp(e){return Dp(e)}function Dp(e,o){const t=wn();t.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:$,setScopeId:b=yo,insertStaticContent:w}=e,A=(h,k,m,R=null,F=null,O=null,V=void 0,z=null,p=!!k.dynamicChildren)=>{if(h===k)return;h&&!cn(h,k)&&(R=J(h),we(h,F,O,!0),h=null),k.patchFlag===-2&&(p=!1,k.dynamicChildren=null);const{type:g,ref:C,shapeFlag:M}=k;switch(g){case sn:N(h,k,m,R);break;case wo:x(h,k,m,R);break;case Ja:h==null&&L(k,m,R,V);break;case Ve:B(h,k,m,R,F,O,V,z,p);break;default:M&1?E(h,k,m,R,F,O,V,z,p):M&6?W(h,k,m,R,F,O,V,z,p):(M&64||M&128)&&g.process(h,k,m,R,F,O,V,z,p,me)}C!=null&&F?on(C,h&&h.ref,O,k||h,!k):C==null&&h&&h.ref!=null&&on(h.ref,null,O,h,!0)},N=(h,k,m,R)=>{if(h==null)n(k.el=i(k.children),m,R);else{const F=k.el=h.el;k.children!==h.children&&c(F,k.children)}},x=(h,k,m,R)=>{h==null?n(k.el=l(k.children||""),m,R):k.el=h.el},L=(h,k,m,R)=>{[h.el,h.anchor]=w(h.children,k,m,R,h.el,h.anchor)},v=({el:h,anchor:k},m,R)=>{let F;for(;h&&h!==k;)F=$(h),n(h,m,R),h=F;n(k,m,R)},y=({el:h,anchor:k})=>{let m;for(;h&&h!==k;)m=$(h),a(h),h=m;a(k)},E=(h,k,m,R,F,O,V,z,p)=>{if(k.type==="svg"?V="svg":k.type==="math"&&(V="mathml"),h==null)T(k,m,R,F,O,V,z,p);else{const g=h.el&&h.el._isVueCE?h.el:null;try{g&&g._beginPatch(),f(h,k,F,O,V,z,p)}finally{g&&g._endPatch()}}},T=(h,k,m,R,F,O,V,z)=>{let p,g;const{props:C,shapeFlag:M,transition:K,dirs:U}=h;if(p=h.el=r(h.type,O,C&&C.is,C),M&8?u(p,h.children):M&16&&S(h.children,p,null,R,F,Ya(h,O),V,z),U&&ut(h,null,R,"created"),_(p,h,h.scopeId,V,R),C){for(const I in C)I!=="value"&&!Ut(I)&&s(p,I,null,C[I],O,R);"value"in C&&s(p,"value",null,C.value,O),(g=C.onVnodeBeforeMount)&&Eo(g,R,h)}U&&ut(h,null,R,"beforeMount");const P=Gp(F,K);P&&K.beforeEnter(p),n(p,k,m),((g=C&&C.onVnodeMounted)||P||U)&&Ze(()=>{try{g&&Eo(g,R,h),P&&K.enter(p),U&&ut(h,null,R,"mounted")}finally{}},F)},_=(h,k,m,R,F)=>{if(m&&b(h,m),R)for(let O=0;O{for(let g=p;g{const z=k.el=h.el;let{patchFlag:p,dynamicChildren:g,dirs:C}=k;p|=h.patchFlag&16;const M=h.props||ke,K=k.props||ke;let U;if(m&&dt(m,!1),(U=K.onVnodeBeforeUpdate)&&Eo(U,m,k,h),C&&ut(k,h,m,"beforeUpdate"),m&&dt(m,!0),g&&(!h.dynamicChildren||h.dynamicChildren.length!==g.length)&&(p=0,V=!1,g=null),(M.innerHTML&&K.innerHTML==null||M.textContent&&K.textContent==null)&&u(z,""),g?D(h.dynamicChildren,g,z,m,R,Ya(k,F),O):V||ue(h,k,z,null,m,R,Ya(k,F),O,!1),p>0){if(p&16)G(z,M,K,m,F);else if(p&2&&M.class!==K.class&&s(z,"class",null,K.class,F),p&4&&s(z,"style",M.style,K.style,F),p&8){const P=k.dynamicProps;for(let I=0;I{U&&Eo(U,m,k,h),C&&ut(k,h,m,"updated")},R)},D=(h,k,m,R,F,O,V)=>{for(let z=0;z{if(k!==m){if(k!==ke)for(const O in k)!Ut(O)&&!(O in m)&&s(h,O,k[O],null,F,R);for(const O in m){if(Ut(O))continue;const V=m[O],z=k[O];V!==z&&O!=="value"&&s(h,O,z,V,F,R)}"value"in m&&s(h,"value",k.value,m.value,F)}},B=(h,k,m,R,F,O,V,z,p)=>{const g=k.el=h?h.el:i(""),C=k.anchor=h?h.anchor:i("");let{patchFlag:M,dynamicChildren:K,slotScopeIds:U}=k;U&&(z=z?z.concat(U):U),h==null?(n(g,m,R),n(C,m,R),S(k.children||[],m,C,F,O,V,z,p)):M>0&&M&64&&K&&h.dynamicChildren&&h.dynamicChildren.length===K.length?(D(h.dynamicChildren,K,m,F,O,V,z),(k.key!=null||F&&k===F.subTree)&&Xa(h,k,!0)):ue(h,k,m,C,F,O,V,z,p)},W=(h,k,m,R,F,O,V,z,p)=>{k.slotScopeIds=z,h==null?k.shapeFlag&512?F.ctx.activate(k,m,R,V,p):ee(k,m,R,F,O,V,p):j(h,k,p)},ee=(h,k,m,R,F,O,V)=>{const z=h.component=Hp(h,R,F);if(Kn(h)&&(z.ctx.renderer=me),Wp(z,!1,V),z.asyncDep){if(F&&F.registerDep(z,q,V),!h.el){const p=z.subTree=Ne(wo);x(null,p,k,m),h.placeholder=p.el}}else q(z,h,k,m,F,O,V)},j=(h,k,m)=>{const R=k.component=h.component;if(Cp(h,k,m))if(R.asyncDep&&!R.asyncResolved){H(R,k,m);return}else R.next=k,R.update();else k.el=h.el,R.vnode=k},q=(h,k,m,R,F,O,V)=>{const z=()=>{if(h.isMounted){let{next:M,bu:K,u:U,parent:P,vnode:I}=h;{const He=bi(h);if(He){M&&(M.el=I.el,H(h,M,V)),He.asyncDep.then(()=>{Ze(()=>{h.isUnmounted||g()},F)});return}}let te=M,ge;dt(h,!1),M?(M.el=I.el,H(h,M,V)):M=I,K&&ma(K),(ge=M.props&&M.props.onVnodeBeforeUpdate)&&Eo(ge,P,M,I),dt(h,!0);const Pe=ri(h),eo=h.subTree;h.subTree=Pe,A(eo,Pe,d(eo.el),J(eo),h,F,O),M.el=Pe.el,te===null&&Tp(h,Pe.el),U&&Ze(U,F),(ge=M.props&&M.props.onVnodeUpdated)&&Ze(()=>Eo(ge,P,M,I),F)}else{let M;const{el:K,props:U}=k,{bm:P,m:I,parent:te,root:ge,type:Pe}=h,eo=Lt(k);dt(h,!1),P&&ma(P),!eo&&(M=U&&U.onVnodeBeforeMount)&&Eo(M,te,k),dt(h,!0);{ge.ce&&ge.ce._hasShadowRoot()&&ge.ce._injectChildStyle(Pe,h.parent?h.parent.type:void 0);const He=h.subTree=ri(h);A(null,He,m,R,h,F,O),k.el=He.el}if(I&&Ze(I,F),!eo&&(M=U&&U.onVnodeMounted)){const He=k;Ze(()=>Eo(M,te,He),F)}(k.shapeFlag&256||te&&Lt(te.vnode)&&te.vnode.shapeFlag&256)&&h.a&&Ze(h.a,F),h.isMounted=!0,k=m=R=null}};h.scope.on();const p=h.effect=new pr(z);h.scope.off();const g=h.update=p.run.bind(p),C=h.job=p.runIfDirty.bind(p);C.i=h,C.id=h.uid,p.scheduler=()=>Ra(C),dt(h,!0),g()},H=(h,k,m)=>{k.component=h;const R=h.vnode.props;h.vnode=k,h.next=null,xp(h,k.props,R,m),Op(h,k.children,m),ko(),Mr(h),Ao()},ue=(h,k,m,R,F,O,V,z,p=!1)=>{const g=h&&h.children,C=h?h.shapeFlag:0,M=k.children,{patchFlag:K,shapeFlag:U}=k;if(K>0){if(K&128){Be(g,M,m,R,F,O,V,z,p);return}else if(K&256){Ce(g,M,m,R,F,O,V,z,p);return}}U&8?(C&16&&ne(g,F,O),M!==g&&u(m,M)):C&16?U&16?Be(g,M,m,R,F,O,V,z,p):ne(g,F,O,!0):(C&8&&u(m,""),U&16&&S(M,m,R,F,O,V,z,p))},Ce=(h,k,m,R,F,O,V,z,p)=>{h=h||_t,k=k||_t;const g=h.length,C=k.length,M=Math.min(g,C);let K;for(K=0;KC?ne(h,F,O,!0,!1,M):S(k,m,R,F,O,V,z,p,M)},Be=(h,k,m,R,F,O,V,z,p)=>{let g=0;const C=k.length;let M=h.length-1,K=C-1;for(;g<=M&&g<=K;){const U=h[g],P=k[g]=p?Bo(k[g]):Po(k[g]);if(cn(U,P))A(U,P,m,null,F,O,V,z,p);else break;g++}for(;g<=M&&g<=K;){const U=h[M],P=k[K]=p?Bo(k[K]):Po(k[K]);if(cn(U,P))A(U,P,m,null,F,O,V,z,p);else break;M--,K--}if(g>M){if(g<=K){const U=K+1,P=UK)for(;g<=M;)we(h[g],F,O,!0),g++;else{const U=g,P=g,I=new Map;for(g=P;g<=K;g++){const ro=k[g]=p?Bo(k[g]):Po(k[g]);ro.key!=null&&I.set(ro.key,g)}let te,ge=0;const Pe=K-P+1;let eo=!1,He=0;const mt=new Array(Pe);for(g=0;g=Pe){we(ro,F,O,!0);continue}let No;if(ro.key!=null)No=I.get(ro.key);else for(te=P;te<=K;te++)if(mt[te-P]===0&&cn(ro,k[te])){No=te;break}No===void 0?we(ro,F,O,!0):(mt[No-P]=g+1,No>=He?He=No:eo=!0,A(ro,k[No],m,null,F,O,V,z,p),ge++)}const Js=eo?Bp(mt):_t;for(te=Js.length-1,g=Pe-1;g>=0;g--){const ro=P+g,No=k[ro],Jc=k[ro+1],Zc=ro+1{const{el:O,type:V,transition:z,children:p,shapeFlag:g}=h;if(g&6){xe(h.component.subTree,k,m,R);return}if(g&128){h.suspense.move(k,m,R);return}if(g&64){V.move(h,k,m,me);return}if(V===Ve){n(O,k,m);for(let M=0;Mz.enter(O),F));else{const{leave:M,delayLeave:K,afterLeave:U}=z,P=()=>{h.ctx.isUnmounted?a(O):n(O,k,m)},I=()=>{const te=O._isLeaving||!!O[Fa];O._isLeaving&&O[Fa](!0),z.persisted&&!te?P():M(O,()=>{P(),U&&U()})};K?K(O,P,I):I()}else n(O,k,m)},we=(h,k,m,R=!1,F=!1)=>{const{type:O,props:V,ref:z,children:p,dynamicChildren:g,shapeFlag:C,patchFlag:M,dirs:K,cacheIndex:U,memo:P}=h;if(M===-2&&(F=!1),z!=null&&(ko(),on(z,null,m,h,!0),Ao()),U!=null&&(k.renderCache[U]=void 0),C&256){k.ctx.deactivate(h);return}const I=C&1&&K,te=!Lt(h);let ge;if(te&&(ge=V&&V.onVnodeBeforeUnmount)&&Eo(ge,k,h),C&6)X(h.component,m,R);else{if(C&128){h.suspense.unmount(m,R);return}I&&ut(h,null,k,"beforeUnmount"),C&64?h.type.remove(h,k,m,me,R):g&&!g.hasOnce&&(O!==Ve||M>0&&M&64)?ne(g,k,m,!1,!0):(O===Ve&&M&384||!F&&C&16)&&ne(p,k,m),R&&Z(h)}const Pe=P!=null&&U==null;(te&&(ge=V&&V.onVnodeUnmounted)||I||Pe)&&Ze(()=>{ge&&Eo(ge,k,h),I&&ut(h,null,k,"unmounted"),Pe&&(h.el=null)},m)},Z=h=>{const{type:k,el:m,anchor:R,transition:F}=h;if(k===Ve){ae(m,R);return}if(k===Ja){y(h);return}const O=()=>{a(m),F&&!F.persisted&&F.afterLeave&&F.afterLeave()};if(h.shapeFlag&1&&F&&!F.persisted){const{leave:V,delayLeave:z}=F,p=()=>V(m,O);z?z(h.el,O,p):p()}else O()},ae=(h,k)=>{let m;for(;h!==k;)m=$(h),a(h),h=m;a(k)},X=(h,k,m)=>{const{bum:R,scope:F,job:O,subTree:V,um:z,m:p,a:g}=h;_i(p),_i(g),R&&ma(R),F.stop(),O&&(O.flags|=8,we(V,h,k,m)),z&&Ze(z,k),Ze(()=>{h.isUnmounted=!0},k)},ne=(h,k,m,R=!1,F=!1,O=0)=>{for(let V=O;V{if(h.shapeFlag&6)return J(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const k=$(h.anchor||h.el),m=k&&k[Gr];return m?$(m):k};let oe=!1;const Q=(h,k,m)=>{let R;h==null?k._vnode&&(we(k._vnode,null,null,!0),R=k._vnode.component):A(k._vnode||null,h,k,null,null,null,m),k._vnode=h,oe||(oe=!0,Mr(R),Ir(),oe=!1)},me={p:A,um:we,m:xe,r:Z,mt:ee,mc:S,pc:ue,pbc:D,n:J,o:e};return{render:Q,hydrate:void 0,createApp:Ap(Q)}}function Ya({type:e,props:o},t){return t==="svg"&&e==="foreignObject"||t==="mathml"&&e==="annotation-xml"&&o&&o.encoding&&o.encoding.includes("html")?void 0:t}function dt({effect:e,job:o},t){t?(e.flags|=32,o.flags|=4):(e.flags&=-33,o.flags&=-5)}function Gp(e,o){return(!e||e&&!e.pendingBranch)&&o&&!o.persisted}function Xa(e,o,t=!1){const n=e.children,a=o.children;if(se(n)&&se(a))for(let s=0;s>1,e[t[i]]0&&(o[n]=t[s-1]),t[s]=n)}}for(s=t.length,r=t[s-1];s-- >0;)t[s]=r,r=o[r];return t}function bi(e){const o=e.subTree.component;if(o)return o.asyncDep&&!o.asyncResolved?o:bi(o)}function _i(e){if(e)for(let o=0;oe.__isSuspense;function Up(e,o){o&&o.pendingBranch?se(e)?o.effects.push(...e):o.effects.push(e):qu(e)}const Ve=Symbol.for("v-fgt"),sn=Symbol.for("v-txt"),wo=Symbol.for("v-cmt"),Ja=Symbol.for("v-stc"),Do=[];let so=null;function ye(e=!1){Do.push(so=e?null:[])}function Za(){Do.pop(),so=Do[Do.length-1]||null}let rn=1;function Xn(e,o=!1){rn+=e,e<0&&so&&o&&(so.hasOnce=!0)}function ki(e){return e.dynamicChildren=rn>0?so||_t:null,Za(),rn>0&&so&&so.push(e),e}function Re(e,o,t,n,a,s){return ki(re(e,o,t,n,a,s,!0))}function ht(e,o,t,n,a){return ki(Ne(e,o,t,n,a,!0))}function ln(e){return e?e.__v_isVNode===!0:!1}function cn(e,o){return e.type===o.type&&e.key===o.key}const Ai=({key:e})=>e??null,Jn=({ref:e,ref_key:o,ref_for:t})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||Te(e)||le(e)?{i:Xe,r:e,k:o,f:!!t}:e:null);function re(e,o=null,t=null,n=0,a=null,s=e===Ve?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:o,key:o&&Ai(o),ref:o&&Jn(o),scopeId:Fr,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Xe};return i?(Zn(l,t),s&128&&e.normalize(l)):t&&(l.shapeFlag|=Ae(t)?8:16),rn>0&&!r&&so&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&so.push(l),l}const Ne=jp;function jp(e,o=null,t=null,n=0,a=null,s=!1){if((!e||e===Wr)&&(e=wo),ln(e)){const i=Pt(e,o,!0);return t&&Zn(i,t),rn>0&&!s&&so&&(i.shapeFlag&6?so[so.indexOf(e)]=i:so.push(i)),i.patchFlag=-2,i}if(eg(e)&&(e=e.__vccOpts),o){o=zp(o);let{class:i,style:l}=o;i&&!Ae(i)&&(o.class=oo(i)),_e(l)&&(In(l)&&!se(l)&&(l=Me({},l)),o.style=jt(l))}const r=Ae(e)?1:vi(e)?128:Un(e)?64:_e(e)?4:le(e)?2:0;return re(e,o,t,n,a,r,s,!0)}function zp(e){return e?In(e)||pi(e)?Me({},e):e:null}function Pt(e,o,t=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=o?Vp(a||{},o):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ai(c),ref:o&&o.ref?t&&s?se(s)?s.concat(Jn(o)):[s,Jn(o)]:Jn(o):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:o&&e.type!==Ve?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Da(u,l.clone(u)),u}function $o(e=" ",o=0){return Ne(sn,null,e,o)}function Go(e="",o=!1){return o?(ye(),ht(wo,null,e)):Ne(wo,null,e)}function Po(e){return e==null||typeof e=="boolean"?Ne(wo):se(e)?Ne(Ve,null,e.slice()):ln(e)?Bo(e):Ne(sn,null,String(e))}function Bo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function Zn(e,o){let t=0;const{shapeFlag:n}=e;if(o==null)o=null;else if(se(o))t=16;else if(typeof o=="object")if(n&65){const a=o.default;a&&(a._c&&(a._d=!1),Zn(e,a()),a._c&&(a._d=!0));return}else{t=32;const a=o._;!a&&!pi(o)?o._ctx=Xe:a===3&&Xe&&(Xe.slots._===1?o._=1:(o._=2,e.patchFlag|=1024))}else if(le(o)){if(n&65){Zn(e,{default:o});return}o={default:o,_ctx:Xe},t=32}else o=String(o),n&64?(t=16,o=[$o(o)]):t=8;e.children=o,e.shapeFlag|=t}function Vp(...e){const o={};for(let t=0;tKe||Xe;let Qn,un;{const e=wn(),o=(t,n)=>{let a;return(a=e[t])||(a=e[t]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Qn=o("__VUE_INSTANCE_SETTERS__",t=>Ke=t),un=o("__VUE_SSR_SETTERS__",t=>Et=t)}const pn=e=>{const o=Ke;return Qn(e),e.scope.on(),()=>{e.scope.off(),Qn(o)}},Si=()=>{Ke&&Ke.scope.off(),Qn(null)};function Li(e){return e.vnode.shapeFlag&4}let Et=!1;function Wp(e,o=!1,t=!1){o&&un(o);const{props:n,children:a}=e.vnode,s=Li(e);Np(e,n,s,o),Ip(e,a,t||o);const r=s?Yp(e,o):void 0;return o&&un(!1),r}function Yp(e,o){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$p);const{setup:n}=t;if(n){ko();const a=e.setupContext=n.length>1?Jp(e):null,s=pn(e),r=kt(n,e,0,[e.props,a]),i=er(r);if(Ao(),s(),(i||e.sp)&&!Lt(e)&&Ga(e),i){if(r.then(Si,Si),o)return r.then(l=>{un(!0);try{wi(e,l,o)}finally{un(!1)}}).catch(l=>{Xt(l,e,0)});e.asyncDep=r}else wi(e,r)}else Pi(e)}function wi(e,o,t){le(o)?e.type.__ssrInlineRender?e.ssrRender=o:e.render=o:_e(o)&&(e.setupState=Tr(o)),Pi(e)}function Pi(e,o,t){const n=e.type;e.render||(e.render=n.render||yo);{const a=pn(e);ko();try{mp(e)}finally{Ao(),a()}}}const Xp={get(e,o){return We(e,"get",""),e[o]}};function Jp(e){const o=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Xp),slots:e.slots,emit:e.emit,expose:o}}function Qa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tr(Wt(e.exposed)),{get(o,t){if(t in o)return o[t];if(t in nn)return nn[t](e)},has(o,t){return t in o||t in nn}})):e.proxy}const Zp=/(?:^|[-_])\w/g,Qp=e=>e.replace(Zp,o=>o.toUpperCase()).replace(/[-_]/g,"");function Ei(e,o=!0){return le(e)?e.displayName||e.name:e.name||o&&e.__name}function Ci(e,o,t=!1){let n=Ei(o);if(!n&&o.__file){const a=o.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===o)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Qp(n):t?"App":"Anonymous"}function eg(e){return le(e)&&"__vccOpts"in e}const fe=(e,o)=>Fu(e,o,Et);function Ti(e,o,t){try{Xn(-1);const n=arguments.length;return n===2?_e(o)&&!se(o)?ln(o)?Ne(e,null,[o]):Ne(e,o):Ne(e,null,o):(n>3?t=Array.prototype.slice.call(arguments,2):n===3&&ln(t)&&(t=[t]),Ne(e,o,t))}finally{Xn(1)}}const og="3.5.42";/** +`],...ju(t))}),o}function ju({vnode:e,recurseCount:o}){const t=o>0?`... (${o} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Ni(e.component,e.type,n)}`,s=">"+t;return e.props?[a,...zu(e.props),s]:[a+s]}function zu(e){const o=[],t=Object.keys(e);return t.slice(0,3).forEach(n=>{o.push(...Tr(n,e[n]))}),t.length>3&&o.push(" ..."),o}function Tr(e,o,t){return Ae(o)?(o=JSON.stringify(o),t?o:[`${e}=${o}`]):typeof o=="number"||typeof o=="boolean"||o==null?t?o:[`${e}=${o}`]:Ce(o)?(o=Tr(e,he(o.value),!0),t?o:[`${e}=Ref<`,o,">"]):le(o)?[`${e}=fn${o.name?`<${o.name}>`:""}`]:(o=he(o),t?o:[`${e}=`,o])}function vt(e,o,t,n){try{return n?e(...n):e()}catch(a){Xt(a,o,t)}}function ho(e,o,t,n){if(le(e)){const a=vt(e,o,t,n);return a&&er(a)&&a.catch(s=>{Xt(s,o,t)}),a}if(se(e)){const a=[];for(let s=0;s>>1,a=Ye[n],s=Zt(a);s=Zt(t)?Ye.push(e):Ye.splice(Ku(o),0,e),e.flags|=1,Mr()}}function Mr(){Dn||(Dn=xr.then(Or))}function qu(e){if(!se(e))Xo&&e.id===-1?Xo.splice(St+1,0,e):e.flags&1||(At.push(e),e.flags|=1);else for(let o=0;oZt(t)-Zt(n));if(At.length=0,Xo){for(let t=0;te.id==null?e.flags&2?-1:1/0:e.id;function Or(e){try{for(Lo=0;Lo{n._d&&Xn(-1);const s=Gn(o),r=Do.length;let i;try{i=e(...a)}finally{for(let l=Do.length;l>r;l--)Za();Gn(s),n._d&&Xn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function ut(e,o,t,n){const a=e.dirs,s=o&&o.dirs;for(let r=0;r1)return t&&le(o)?o.call(n&&n.proxy):o}}function Hu(){return!!(Uo()||gt)}const Wu=Symbol.for("v-scx"),Yu=()=>Ie(Wu);function Xu(e,o){return Ra(e,null,o)}function fo(e,o,t){return Ra(e,o,t)}function Ra(e,o,t=ve){const{immediate:n,deep:a,flush:s,once:r}=t,i=Re({},t),l=o&&n||!o&&s!=="post";let c;if(Et){if(s==="sync"){const b=Yu();c=b.__watcherHandles||(b.__watcherHandles=[])}else if(!l){const b=()=>{};return b.stop=yo,b.resume=yo,b.pause=yo,b}}const u=Ke;i.call=(b,w,A)=>ho(b,u,w,A);let d=!1;s==="post"?i.scheduler=b=>{Ze(b,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(b,w)=>{w?b():Ma(b)}),i.augmentJob=b=>{o&&(b.flags|=4),d&&(b.flags|=2,u&&(b.id=u.uid,b.i=u))};const $=Gu(e,o,i);return Et&&(c?c.push($):l&&$()),$}function Ju(e,o,t){const n=this.proxy,a=Ae(e)?e.includes(".")?Dr(n,e):()=>n[e]:e.bind(n,n);let s;le(o)?s=o:(s=o.handler,t=o);const r=pn(this),i=Ra(a,s.bind(n),t);return r(),i}function Dr(e,o){const t=o.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,pt=e=>e&&(e.disabled||e.disabled===""),Zu=e=>e&&(e.defer||e.defer===""),Br=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ur=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ia=(e,o)=>{const t=e&&e.to;return Ae(t)?o?o(t):null:t},Qu={name:"Teleport",__isTeleport:!0,process(e,o,t,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:$,o:{insert:b,querySelector:w,createText:A,createComment:T,parentNode:x}}=c,L=pt(o.props);let{dynamicChildren:k}=o;const y=(_,S,f)=>{_.shapeFlag&16&&u(_.children,S,f,a,s,r,i,l)},E=(_=o)=>{const S=pt(_.props),f=_.target=Ia(_.props,w),D=Oa(f,_,A,b);f&&(r!=="svg"&&Br(f)?r="svg":r!=="mathml"&&Ur(f)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(f),S||(y(_,f,D),Qt(_,!1)))},C=_=>{const S=()=>{if(Jo.get(_)===S){if(Jo.delete(_),pt(_.props)){const f=x(_.el)||t;y(_,f,_.anchor),Qt(_,!0)}E(_)}};Jo.set(_,S),Ze(S,s)};if(e==null){const _=o.el=A(""),S=o.anchor=A("");if(b(_,t,n),b(S,t,n),Zu(o.props)||s&&s.pendingBranch){C(o);return}L&&(y(o,t,S),Qt(o,!0)),E()}else{o.el=e.el;const _=o.anchor=e.anchor,S=Jo.get(e);if(S){S.flags|=8,Jo.delete(e),C(o);return}o.targetStart=e.targetStart;const f=o.target=e.target,D=o.targetAnchor=e.targetAnchor,G=pt(e.props),B=G?t:f,W=G?_:D;if(r==="svg"||Br(f)?r="svg":(r==="mathml"||Ur(f))&&(r="mathml"),k?($(e.dynamicChildren,k,B,a,s,r,i),Xa(e,o,!0)):l||d(e,o,B,W,a,s,r,i,!1),L)G?o.props&&e.props&&o.props.to!==e.props.to&&(o.props.to=e.props.to):jn(o,t,_,c,1);else if((o.props&&o.props.to)!==(e.props&&e.props.to)){const ee=Ia(o.props,w);ee&&(o.target=ee,jn(o,ee,null,c,0))}else G&&jn(o,f,D,c,1);Qt(o,L)}},remove(e,o,t,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:$}=e,b=pt($),w=s||!b,A=Jo.get(e);if(A&&(A.flags|=8,Jo.delete(e)),d&&(a(c),a(u)),s&&a(l),!A&&(b||d)&&r&16)for(let T=0;T1){for(const t of e)if(t.type!==wo){o=t;break}}return o}function jr(e){if(!Kn(e))return Un(e.type)&&e.children?tp(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:o,children:t}=e;if(t){if(o&16)return t[0];if(o&32&&le(t.default))return t.default()}}function Da(e,o){if(e.shapeFlag&6&&e.component){e.transition=o;const t=e.component.subTree;Da(Un(t.type)&&jr(t)||t,o)}else e.shapeFlag&128?(e.ssContent.transition=o.clone(e.ssContent),e.ssFallback.transition=o.clone(e.ssFallback)):e.transition=o}function en(e,o){return le(e)?Re({name:e.name},o,{setup:e}):e}function Ga(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function zr(e,o){let t;return!!((t=Object.getOwnPropertyDescriptor(e,o))&&!t.configurable)}const zn=new WeakMap;function on(e,o,t,n,a=!1){if(se(e)){e.forEach((A,T)=>on(A,o&&(se(o)?o[T]:o),t,n,a));return}if(Lt(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&on(e,o,t,n.component.subTree);return}const s=n.shapeFlag&4?Qa(n.component):n.el,r=a?null:s,{i,r:l}=e,c=o&&o.r,u=i.refs===ve?i.refs={}:i.refs,d=i.setupState,$=he(d),b=d===ve?Zs:A=>zr(u,A)?!1:be($,A),w=(A,T)=>!(T&&zr(u,T));if(c!=null&&c!==l){if(Vr(o),Ae(c))u[c]=null,b(c)&&(d[c]=null);else if(Ce(c)){const A=o;w(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(le(l))vt(l,i,12,[r,u]);else{const A=Ae(l),T=Ce(l);if(A||T){const x=()=>{if(e.f){const L=A?b(l)?d[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)se(L)&&fa(L,s);else if(se(L))L.includes(s)||L.push(s);else if(A)u[l]=[s],b(l)&&(d[l]=u[l]);else{const k=[s];w(l,e.k)&&(l.value=k),e.k&&(u[e.k]=k)}}else A?(u[l]=r,b(l)&&(d[l]=r)):T&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const L=()=>{x(),zn.delete(e)};L.id=-1,zn.set(e,L),Ze(L,t)}else Vr(e),x()}}}function Vr(e){const o=zn.get(e);o&&(o.flags|=8,zn.delete(e))}const Kr=e=>e.nodeType===8;wn().requestIdleCallback,wn().cancelIdleCallback;function np(e,o){if(Kr(e)&&e.data==="["){let t=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(o(n)===!1)break}else if(Kr(n))if(n.data==="]"){if(--t===0)break}else n.data==="["&&t++;n=n.nextSibling}}else o(e)}const Lt=e=>!!e.type.__asyncLoader;function ap(e){le(e)&&(e={loader:e});const{loader:o,loadingComponent:t,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const $=()=>(d++,c=null,b()),b=()=>{let w;return c||(w=c=o().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((T,x)=>{l(A,()=>T($()),()=>x(A),d+1)});throw A}).then(A=>w!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return en({name:"AsyncComponentWrapper",__asyncLoader:b,__asyncHydrate(w,A,T){const x=w.isConnected;let L=!1;(A.bu||(A.bu=[])).push(()=>L=!0);const k=()=>{L||!w.parentNode||x&&!w.isConnected||T()},y=s?()=>{const E=s(k,C=>np(w,C));E&&(A.bum||(A.bum=[])).push(E)}:k;u?y():b().then(()=>!A.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const w=Ke;if(Ga(w),u)return()=>Vn(u,w);const A=E=>{c=null,Xt(E,w,13,!n)};if(i&&w.suspense||Et)return b().then(E=>()=>Vn(E,w)).catch(E=>(A(E),()=>n?Te(n,{error:E}):null));const T=pe(!1),x=pe(),L=pe(!!a);let k,y;return Hn(()=>{k!=null&&clearTimeout(k),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{w.isUnmounted||(L.value=!1)},a)),r!=null&&(k=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!x.value){const E=new Error(`Async component timed out after ${r}ms.`);A(E),x.value=E}},r)),b().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Kn(w.parent.vnode)&&w.parent.update())}).catch(E=>{if(w.isUnmounted){c=null;return}A(E),x.value=E}),()=>{if(T.value&&u)return Vn(u,w);if(x.value&&n)return Te(n,{error:x.value});if(t&&!L.value)return Vn(t,w)}}})}function Vn(e,o){const{ref:t,props:n,children:a,ce:s}=o.vnode,r=Te(e,n,a);return r.ref=t,r.ce=s,delete o.vnode.ce,r}const Kn=e=>e.type.__isKeepAlive;function sp(e,o){qr(e,"a",o)}function rp(e,o){qr(e,"da",o)}function qr(e,o,t=Ke){const n=e.__wdc||(e.__wdc=()=>{let a=t;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(qn(o,n,t),t){let a=t.parent;for(;a&&a.parent;)Kn(a.parent.vnode)&&ip(n,o,t,a),a=a.parent}}function ip(e,o,t,n){const a=qn(o,e,n,!0);Hn(()=>{fa(n[o],a)},t)}function qn(e,o,t=Ke,n=!1){if(t){const a=t[e]||(t[e]=[]),s=o.__weh||(o.__weh=(...r)=>{vo();const i=pn(t),l=ho(o,t,e,r);return i(),Ao(),l});return n?a.unshift(s):a.push(s),s}}const Fo=e=>(o,t=Ke)=>{(!Et||e==="sp")&&qn(e,(...n)=>o(...n),t)},Hr=Fo("bm"),wt=Fo("m"),lp=Fo("bu"),cp=Fo("u"),tn=Fo("bum"),Hn=Fo("um"),up=Fo("sp"),pp=Fo("rtg"),gp=Fo("rtc");function dp(e,o=Ke){qn("ec",e,o)}const hp="components",Wr=Symbol.for("v-ndc");function Yr(e){return Ae(e)?fp(hp,e,!1)||e:e||Wr}function fp(e,o,t=!0,n=!1){const a=Xe||Ke;if(a){const s=a.type;{const i=Ei(s,!1);if(i&&(i===o||i===Ue(o)||i===Ln(Ue(o))))return s}const r=Xr(a[e]||s[e],o)||Xr(a.appContext[e],o);return!r&&n?s:r}}function Xr(e,o){return e&&(e[o]||e[Ue(o)]||e[Ln(Ue(o))])}function Ba(e,o,t,n){let a;const s=t,r=se(e);if(r||Ae(e)){const i=r&&Ro(e);let l=!1,c=!1;i&&(l=!ao(e),c=Io(e),e=Nn(e)),a=new Array(e.length);for(let u=0,d=e.length;uo(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return ye(),ht(Ve,null,[Te("slot",c,n)],u?-2:64)}let r=e[o];r&&r._c&&(r._d=!1);const i=Do.length;ye();let l;try{const c=r&&Jr(r(t)),u=t.key||s||c&&c.key;l=ht(Ve,{key:(u&&!no(u)?u:`_${o}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Do.length;u>i;u--)Za();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Jr(e){return e.some(o=>ln(o)?!(o.type===wo||o.type===Ve&&!Jr(o.children)):!0)?e:null}const ja=e=>e?Li(e)?Qa(e):ja(e.parent):null,nn=Re(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=>ja(e.parent),$root:e=>ja(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>oi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ma(e.update)}),$nextTick:e=>e.n||(e.n=Jt.bind(e.proxy)),$watch:e=>Ju.bind(e)}),za=(e,o)=>e!==ve&&!e.__isScriptSetup&&be(e,o),$p={get({_:e},o){if(o==="__v_skip")return!0;const{ctx:t,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(o[0]!=="$"){const $=r[o];if($!==void 0)switch($){case 1:return n[o];case 2:return a[o];case 4:return t[o];case 3:return s[o]}else{if(za(n,o))return r[o]=1,n[o];if(a!==ve&&be(a,o))return r[o]=2,a[o];if(be(s,o))return r[o]=3,s[o];if(t!==ve&&be(t,o))return r[o]=4,t[o];Va&&(r[o]=0)}}const c=nn[o];let u,d;if(c)return o==="$attrs"&&We(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[o]))return u;if(t!==ve&&be(t,o))return r[o]=4,t[o];if(d=l.config.globalProperties,be(d,o))return d[o]},set({_:e},o,t){const{data:n,setupState:a,ctx:s}=e;return za(a,o)?(a[o]=t,!0):n!==ve&&be(n,o)?(n[o]=t,!0):be(e.props,o)||o[0]==="$"&&o.slice(1)in e?!1:(s[o]=t,!0)},has({_:{data:e,setupState:o,accessCache:t,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(t[i]||e!==ve&&i[0]!=="$"&&be(e,i)||za(o,i)||be(s,i)||be(n,i)||be(nn,i)||be(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,o,t){return t.get!=null?e._.accessCache[o]=0:be(t,"value")&&this.set(e,o,t.value,null),Reflect.defineProperty(e,o,t)}};function Zr(e){return se(e)?e.reduce((o,t)=>(o[t]=null,o),{}):e}let Va=!0;function mp(e){const o=oi(e),t=e.proxy,n=e.ctx;Va=!1,o.beforeCreate&&Qr(o.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:$,beforeUpdate:b,updated:w,activated:A,deactivated:T,beforeDestroy:x,beforeUnmount:L,destroyed:k,unmounted:y,render:E,renderTracked:C,renderTriggered:_,errorCaptured:S,serverPrefetch:f,expose:D,inheritAttrs:G,components:B,directives:W,filters:ee}=o;if(c&&bp(c,n,null),r)for(const H in r){const ue=r[H];le(ue)&&(n[H]=ue.bind(t))}if(a){const H=a.call(t,t);_e(H)&&(e.data=Mn(H))}if(Va=!0,s)for(const H in s){const ue=s[H],Ne=le(ue)?ue.bind(t,t):le(ue.get)?ue.get.bind(t,t):yo,Be=!le(ue)&&le(ue.set)?ue.set.bind(t):yo,xe=fe({get:Ne,set:Be});Object.defineProperty(n,H,{enumerable:!0,configurable:!0,get:()=>xe.value,set:we=>xe.value=we})}if(i)for(const H in i)ei(i[H],n,t,H);if(l){const H=le(l)?l.call(t):l;Reflect.ownKeys(H).forEach(ue=>{lo(ue,H[ue])})}u&&Qr(u,e,"c");function q(H,ue){se(ue)?ue.forEach(Ne=>H(Ne.bind(t))):ue&&H(ue.bind(t))}if(q(Hr,d),q(wt,$),q(lp,b),q(cp,w),q(sp,A),q(rp,T),q(dp,S),q(gp,C),q(pp,_),q(tn,L),q(Hn,y),q(up,f),se(D))if(D.length){const H=e.exposed||(e.exposed={});D.forEach(ue=>{Object.defineProperty(H,ue,{get:()=>t[ue],set:Ne=>t[ue]=Ne,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===yo&&(e.render=E),G!=null&&(e.inheritAttrs=G),B&&(e.components=B),W&&(e.directives=W),f&&Ga(e)}function bp(e,o,t=yo){se(e)&&(e=Ka(e));for(const n in e){const a=e[n];let s;_e(a)?"default"in a?s=Ie(a.from||n,a.default,!0):s=Ie(a.from||n):s=Ie(a),Ce(s)?Object.defineProperty(o,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):o[n]=s}}function Qr(e,o,t){ho(se(e)?e.map(n=>n.bind(o.proxy)):e.bind(o.proxy),o,t)}function ei(e,o,t,n){let a=n.includes(".")?Dr(t,n):()=>t[n];if(Ae(e)){const s=o[e];le(s)&&fo(a,s)}else if(le(e))fo(a,e.bind(t));else if(_e(e))if(se(e))e.forEach(s=>ei(s,o,t,n));else{const s=le(e.handler)?e.handler.bind(t):o[e.handler];le(s)&&fo(a,s,e)}}function oi(e){const o=e.type,{mixins:t,extends:n}=o,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(o);let l;return i?l=i:!a.length&&!t&&!n?l=o:(l={},a.length&&a.forEach(c=>Wn(l,c,r,!0)),Wn(l,o,r)),_e(o)&&s.set(o,l),l}function Wn(e,o,t,n=!1){const{mixins:a,extends:s}=o;s&&Wn(e,s,t,!0),a&&a.forEach(r=>Wn(e,r,t,!0));for(const r in o)if(!(n&&r==="expose")){const i=_p[r]||t&&t[r];e[r]=i?i(e[r],o[r]):o[r]}return e}const _p={data:ti,props:ni,emits:ni,methods:an,computed:an,beforeCreate:Je,created:Je,beforeMount:Je,mounted:Je,beforeUpdate:Je,updated:Je,beforeDestroy:Je,beforeUnmount:Je,destroyed:Je,unmounted:Je,activated:Je,deactivated:Je,errorCaptured:Je,serverPrefetch:Je,components:an,directives:an,watch:kp,provide:ti,inject:yp};function ti(e,o){return o?e?function(){return Re(le(e)?e.call(this,this):e,le(o)?o.call(this,this):o)}:o:e}function yp(e,o){return an(Ka(e),Ka(o))}function Ka(e){if(se(e)){const o={};for(let t=0;to==="modelValue"||o==="model-value"?e.modelModifiers:e[`${o}Modifiers`]||e[`${Ue(o)}Modifiers`]||e[`${io(o)}Modifiers`];function Lp(e,o,...t){if(e.isUnmounted)return;const n=e.vnode.props||ve;let a=t;const s=o.startsWith("update:"),r=s&&Sp(n,o.slice(7));r&&(r.trim&&(a=t.map(u=>Ae(u)?u.trim():u)),r.number&&(a=a.map(au)));let i,l=n[i=$a(o)]||n[i=$a(Ue(o))];!l&&s&&(l=n[i=$a(io(o))]),l&&ho(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ho(c,e,6,a)}}const wp=new WeakMap;function si(e,o,t=!1){const n=t?wp:o.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!le(e)){const l=c=>{const u=si(c,o,!0);u&&(i=!0,Re(r,u))};!t&&o.mixins.length&&o.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(_e(e)&&n.set(e,null),null):(se(s)?s.forEach(l=>r[l]=null):Re(r,s),_e(e)&&n.set(e,r),r)}function Yn(e,o){return!e||!_n(o)?!1:(o=o.slice(2),o=o==="Once"?o:o.replace(/Once$/,""),be(e,o[0].toLowerCase()+o.slice(1))||be(e,io(o))||be(e,o))}function qy(){}function ri(e){const{type:o,vnode:t,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:$,setupState:b,ctx:w,inheritAttrs:A}=e,T=Gn(e);let x,L;try{if(t.shapeFlag&4){const y=a||n,E=y;x=Po(c.call(E,y,u,d,b,$,w)),L=i}else{const y=o;x=Po(y.length>1?y(d,{attrs:i,slots:r,emit:l}):y(d,null)),L=o.props?i:Pp(i)}}catch(y){Do.length=0,Xt(y,e,1),x=Te(wo)}let k=x;if(L&&A!==!1){const y=Object.keys(L),{shapeFlag:E}=k;y.length&&E&7&&(s&&y.some(yn)&&(L=Ep(L,s)),k=Pt(k,L,!1,!0))}if(t.dirs&&(k=Pt(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(t.dirs):t.dirs),t.transition){const y=Un(k.type)&&jr(k)||k;Da(y,t.transition)}return x=k,Gn(T),x}const Pp=e=>{let o;for(const t in e)(t==="class"||t==="style"||_n(t))&&((o||(o={}))[t]=e[t]);return o},Ep=(e,o)=>{const t={};for(const n in e)(!yn(n)||!(n.slice(9)in o))&&(t[n]=e[n]);return t};function Np(e,o,t){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=o,c=s.emitsOptions;if(o.dirs||o.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return n?ii(n,r,c):!!r;if(l&8){const u=o.dynamicProps;for(let d=0;dObject.create(ci),pi=e=>Object.getPrototypeOf(e)===ci;function Tp(e,o,t,n=!1){const a={},s=ui();e.propsDefaults=Object.create(null),gi(e,o,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);t?e.props=n?a:Cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function xp(e,o,t,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=he(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[$,b]=di(d,o,!0);Re(r,$),b&&i.push(...b)};!t&&o.mixins.length&&o.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return _e(e)&&n.set(e,_t),_t;if(se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Wa=e=>se(e)?e.map(Po):[Po(e)],Rp=(e,o,t)=>{if(o._n)return o;const n=Bn((...a)=>Wa(o(...a)),t);return n._c=!1,n},fi=(e,o,t)=>{const n=e._ctx;for(const a in e){if(Ha(a))continue;const s=e[a];if(le(s))o[a]=Rp(a,s,n);else if(s!=null){const r=Wa(s);o[a]=()=>r}}},$i=(e,o)=>{const t=Wa(o);e.slots.default=()=>t},mi=(e,o,t)=>{for(const n in o)(t||!Ha(n))&&(e[n]=o[n])},Ip=(e,o,t)=>{const n=e.slots=ui();if(e.vnode.shapeFlag&32){const a=o._;a?(mi(n,o,t),t&&tr(n,"_",a,!0)):fi(o,n)}else o&&$i(e,o)},Op=(e,o,t)=>{const{vnode:n,slots:a}=e;let s=!0,r=ve;if(n.shapeFlag&32){const i=o._;i?t&&i===1?s=!1:mi(a,o,t):(s=!o.$stable,fi(o,a)),r=o}else o&&($i(e,o),r={default:1});if(s)for(const i in a)!Ha(i)&&r[i]==null&&delete a[i]},Ze=Up;function Fp(e){return Dp(e)}function Dp(e,o){const t=wn();t.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:$,setScopeId:b=yo,insertStaticContent:w}=e,A=(h,v,m,M=null,F=null,O=null,V=void 0,z=null,p=!!v.dynamicChildren)=>{if(h===v)return;h&&!cn(h,v)&&(M=J(h),we(h,F,O,!0),h=null),v.patchFlag===-2&&(p=!1,v.dynamicChildren=null);const{type:g,ref:N,shapeFlag:R}=v;switch(g){case sn:T(h,v,m,M);break;case wo:x(h,v,m,M);break;case Ja:h==null&&L(v,m,M,V);break;case Ve:B(h,v,m,M,F,O,V,z,p);break;default:R&1?E(h,v,m,M,F,O,V,z,p):R&6?W(h,v,m,M,F,O,V,z,p):(R&64||R&128)&&g.process(h,v,m,M,F,O,V,z,p,me)}N!=null&&F?on(N,h&&h.ref,O,v||h,!v):N==null&&h&&h.ref!=null&&on(h.ref,null,O,h,!0)},T=(h,v,m,M)=>{if(h==null)n(v.el=i(v.children),m,M);else{const F=v.el=h.el;v.children!==h.children&&c(F,v.children)}},x=(h,v,m,M)=>{h==null?n(v.el=l(v.children||""),m,M):v.el=h.el},L=(h,v,m,M)=>{[h.el,h.anchor]=w(h.children,v,m,M,h.el,h.anchor)},k=({el:h,anchor:v},m,M)=>{let F;for(;h&&h!==v;)F=$(h),n(h,m,M),h=F;n(v,m,M)},y=({el:h,anchor:v})=>{let m;for(;h&&h!==v;)m=$(h),a(h),h=m;a(v)},E=(h,v,m,M,F,O,V,z,p)=>{if(v.type==="svg"?V="svg":v.type==="math"&&(V="mathml"),h==null)C(v,m,M,F,O,V,z,p);else{const g=h.el&&h.el._isVueCE?h.el:null;try{g&&g._beginPatch(),f(h,v,F,O,V,z,p)}finally{g&&g._endPatch()}}},C=(h,v,m,M,F,O,V,z)=>{let p,g;const{props:N,shapeFlag:R,transition:K,dirs:U}=h;if(p=h.el=r(h.type,O,N&&N.is,N),R&8?u(p,h.children):R&16&&S(h.children,p,null,M,F,Ya(h,O),V,z),U&&ut(h,null,M,"created"),_(p,h,h.scopeId,V,M),N){for(const I in N)I!=="value"&&!Ut(I)&&s(p,I,null,N[I],O,M);"value"in N&&s(p,"value",null,N.value,O),(g=N.onVnodeBeforeMount)&&Eo(g,M,h)}U&&ut(h,null,M,"beforeMount");const P=Gp(F,K);P&&K.beforeEnter(p),n(p,v,m),((g=N&&N.onVnodeMounted)||P||U)&&Ze(()=>{try{g&&Eo(g,M,h),P&&K.enter(p),U&&ut(h,null,M,"mounted")}finally{}},F)},_=(h,v,m,M,F)=>{if(m&&b(h,m),M)for(let O=0;O{for(let g=p;g{const z=v.el=h.el;let{patchFlag:p,dynamicChildren:g,dirs:N}=v;p|=h.patchFlag&16;const R=h.props||ve,K=v.props||ve;let U;if(m&&dt(m,!1),(U=K.onVnodeBeforeUpdate)&&Eo(U,m,v,h),N&&ut(v,h,m,"beforeUpdate"),m&&dt(m,!0),g&&(!h.dynamicChildren||h.dynamicChildren.length!==g.length)&&(p=0,V=!1,g=null),(R.innerHTML&&K.innerHTML==null||R.textContent&&K.textContent==null)&&u(z,""),g?D(h.dynamicChildren,g,z,m,M,Ya(v,F),O):V||ue(h,v,z,null,m,M,Ya(v,F),O,!1),p>0){if(p&16)G(z,R,K,m,F);else if(p&2&&R.class!==K.class&&s(z,"class",null,K.class,F),p&4&&s(z,"style",R.style,K.style,F),p&8){const P=v.dynamicProps;for(let I=0;I{U&&Eo(U,m,v,h),N&&ut(v,h,m,"updated")},M)},D=(h,v,m,M,F,O,V)=>{for(let z=0;z{if(v!==m){if(v!==ve)for(const O in v)!Ut(O)&&!(O in m)&&s(h,O,v[O],null,F,M);for(const O in m){if(Ut(O))continue;const V=m[O],z=v[O];V!==z&&O!=="value"&&s(h,O,z,V,F,M)}"value"in m&&s(h,"value",v.value,m.value,F)}},B=(h,v,m,M,F,O,V,z,p)=>{const g=v.el=h?h.el:i(""),N=v.anchor=h?h.anchor:i("");let{patchFlag:R,dynamicChildren:K,slotScopeIds:U}=v;U&&(z=z?z.concat(U):U),h==null?(n(g,m,M),n(N,m,M),S(v.children||[],m,N,F,O,V,z,p)):R>0&&R&64&&K&&h.dynamicChildren&&h.dynamicChildren.length===K.length?(D(h.dynamicChildren,K,m,F,O,V,z),(v.key!=null||F&&v===F.subTree)&&Xa(h,v,!0)):ue(h,v,m,N,F,O,V,z,p)},W=(h,v,m,M,F,O,V,z,p)=>{v.slotScopeIds=z,h==null?v.shapeFlag&512?F.ctx.activate(v,m,M,V,p):ee(v,m,M,F,O,V,p):j(h,v,p)},ee=(h,v,m,M,F,O,V)=>{const z=h.component=Hp(h,M,F);if(Kn(h)&&(z.ctx.renderer=me),Wp(z,!1,V),z.asyncDep){if(F&&F.registerDep(z,q,V),!h.el){const p=z.subTree=Te(wo);x(null,p,v,m),h.placeholder=p.el}}else q(z,h,v,m,F,O,V)},j=(h,v,m)=>{const M=v.component=h.component;if(Np(h,v,m))if(M.asyncDep&&!M.asyncResolved){H(M,v,m);return}else M.next=v,M.update();else v.el=h.el,M.vnode=v},q=(h,v,m,M,F,O,V)=>{const z=()=>{if(h.isMounted){let{next:R,bu:K,u:U,parent:P,vnode:I}=h;{const He=bi(h);if(He){R&&(R.el=I.el,H(h,R,V)),He.asyncDep.then(()=>{Ze(()=>{h.isUnmounted||g()},F)});return}}let te=R,ge;dt(h,!1),R?(R.el=I.el,H(h,R,V)):R=I,K&&ma(K),(ge=R.props&&R.props.onVnodeBeforeUpdate)&&Eo(ge,P,R,I),dt(h,!0);const Pe=ri(h),eo=h.subTree;h.subTree=Pe,A(eo,Pe,d(eo.el),J(eo),h,F,O),R.el=Pe.el,te===null&&Cp(h,Pe.el),U&&Ze(U,F),(ge=R.props&&R.props.onVnodeUpdated)&&Ze(()=>Eo(ge,P,R,I),F)}else{let R;const{el:K,props:U}=v,{bm:P,m:I,parent:te,root:ge,type:Pe}=h,eo=Lt(v);dt(h,!1),P&&ma(P),!eo&&(R=U&&U.onVnodeBeforeMount)&&Eo(R,te,v),dt(h,!0);{ge.ce&&ge.ce._hasShadowRoot()&&ge.ce._injectChildStyle(Pe,h.parent?h.parent.type:void 0);const He=h.subTree=ri(h);A(null,He,m,M,h,F,O),v.el=He.el}if(I&&Ze(I,F),!eo&&(R=U&&U.onVnodeMounted)){const He=v;Ze(()=>Eo(R,te,He),F)}(v.shapeFlag&256||te&&Lt(te.vnode)&&te.vnode.shapeFlag&256)&&h.a&&Ze(h.a,F),h.isMounted=!0,v=m=M=null}};h.scope.on();const p=h.effect=new pr(z);h.scope.off();const g=h.update=p.run.bind(p),N=h.job=p.runIfDirty.bind(p);N.i=h,N.id=h.uid,p.scheduler=()=>Ma(N),dt(h,!0),g()},H=(h,v,m)=>{v.component=h;const M=h.vnode.props;h.vnode=v,h.next=null,xp(h,v.props,M,m),Op(h,v.children,m),vo(),Rr(h),Ao()},ue=(h,v,m,M,F,O,V,z,p=!1)=>{const g=h&&h.children,N=h?h.shapeFlag:0,R=v.children,{patchFlag:K,shapeFlag:U}=v;if(K>0){if(K&128){Be(g,R,m,M,F,O,V,z,p);return}else if(K&256){Ne(g,R,m,M,F,O,V,z,p);return}}U&8?(N&16&&ne(g,F,O),R!==g&&u(m,R)):N&16?U&16?Be(g,R,m,M,F,O,V,z,p):ne(g,F,O,!0):(N&8&&u(m,""),U&16&&S(R,m,M,F,O,V,z,p))},Ne=(h,v,m,M,F,O,V,z,p)=>{h=h||_t,v=v||_t;const g=h.length,N=v.length,R=Math.min(g,N);let K;for(K=0;KN?ne(h,F,O,!0,!1,R):S(v,m,M,F,O,V,z,p,R)},Be=(h,v,m,M,F,O,V,z,p)=>{let g=0;const N=v.length;let R=h.length-1,K=N-1;for(;g<=R&&g<=K;){const U=h[g],P=v[g]=p?Bo(v[g]):Po(v[g]);if(cn(U,P))A(U,P,m,null,F,O,V,z,p);else break;g++}for(;g<=R&&g<=K;){const U=h[R],P=v[K]=p?Bo(v[K]):Po(v[K]);if(cn(U,P))A(U,P,m,null,F,O,V,z,p);else break;R--,K--}if(g>R){if(g<=K){const U=K+1,P=UK)for(;g<=R;)we(h[g],F,O,!0),g++;else{const U=g,P=g,I=new Map;for(g=P;g<=K;g++){const ro=v[g]=p?Bo(v[g]):Po(v[g]);ro.key!=null&&I.set(ro.key,g)}let te,ge=0;const Pe=K-P+1;let eo=!1,He=0;const mt=new Array(Pe);for(g=0;g=Pe){we(ro,F,O,!0);continue}let To;if(ro.key!=null)To=I.get(ro.key);else for(te=P;te<=K;te++)if(mt[te-P]===0&&cn(ro,v[te])){To=te;break}To===void 0?we(ro,F,O,!0):(mt[To-P]=g+1,To>=He?He=To:eo=!0,A(ro,v[To],m,null,F,O,V,z,p),ge++)}const Js=eo?Bp(mt):_t;for(te=Js.length-1,g=Pe-1;g>=0;g--){const ro=P+g,To=v[ro],Jc=v[ro+1],Zc=ro+1{const{el:O,type:V,transition:z,children:p,shapeFlag:g}=h;if(g&6){xe(h.component.subTree,v,m,M);return}if(g&128){h.suspense.move(v,m,M);return}if(g&64){V.move(h,v,m,me);return}if(V===Ve){n(O,v,m);for(let R=0;Rz.enter(O),F));else{const{leave:R,delayLeave:K,afterLeave:U}=z,P=()=>{h.ctx.isUnmounted?a(O):n(O,v,m)},I=()=>{const te=O._isLeaving||!!O[Fa];O._isLeaving&&O[Fa](!0),z.persisted&&!te?P():R(O,()=>{P(),U&&U()})};K?K(O,P,I):I()}else n(O,v,m)},we=(h,v,m,M=!1,F=!1)=>{const{type:O,props:V,ref:z,children:p,dynamicChildren:g,shapeFlag:N,patchFlag:R,dirs:K,cacheIndex:U,memo:P}=h;if(R===-2&&(F=!1),z!=null&&(vo(),on(z,null,m,h,!0),Ao()),U!=null&&(v.renderCache[U]=void 0),N&256){v.ctx.deactivate(h);return}const I=N&1&&K,te=!Lt(h);let ge;if(te&&(ge=V&&V.onVnodeBeforeUnmount)&&Eo(ge,v,h),N&6)X(h.component,m,M);else{if(N&128){h.suspense.unmount(m,M);return}I&&ut(h,null,v,"beforeUnmount"),N&64?h.type.remove(h,v,m,me,M):g&&!g.hasOnce&&(O!==Ve||R>0&&R&64)?ne(g,v,m,!1,!0):(O===Ve&&R&384||!F&&N&16)&&ne(p,v,m),M&&Z(h)}const Pe=P!=null&&U==null;(te&&(ge=V&&V.onVnodeUnmounted)||I||Pe)&&Ze(()=>{ge&&Eo(ge,v,h),I&&ut(h,null,v,"unmounted"),Pe&&(h.el=null)},m)},Z=h=>{const{type:v,el:m,anchor:M,transition:F}=h;if(v===Ve){ae(m,M);return}if(v===Ja){y(h);return}const O=()=>{a(m),F&&!F.persisted&&F.afterLeave&&F.afterLeave()};if(h.shapeFlag&1&&F&&!F.persisted){const{leave:V,delayLeave:z}=F,p=()=>V(m,O);z?z(h.el,O,p):p()}else O()},ae=(h,v)=>{let m;for(;h!==v;)m=$(h),a(h),h=m;a(v)},X=(h,v,m)=>{const{bum:M,scope:F,job:O,subTree:V,um:z,m:p,a:g}=h;_i(p),_i(g),M&&ma(M),F.stop(),O&&(O.flags|=8,we(V,h,v,m)),z&&Ze(z,v),Ze(()=>{h.isUnmounted=!0},v)},ne=(h,v,m,M=!1,F=!1,O=0)=>{for(let V=O;V{if(h.shapeFlag&6)return J(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const v=$(h.anchor||h.el),m=v&&v[Gr];return m?$(m):v};let oe=!1;const Q=(h,v,m)=>{let M;h==null?v._vnode&&(we(v._vnode,null,null,!0),M=v._vnode.component):A(v._vnode||null,h,v,null,null,null,m),v._vnode=h,oe||(oe=!0,Rr(M),Ir(),oe=!1)},me={p:A,um:we,m:xe,r:Z,mt:ee,mc:S,pc:ue,pbc:D,n:J,o:e};return{render:Q,hydrate:void 0,createApp:Ap(Q)}}function Ya({type:e,props:o},t){return t==="svg"&&e==="foreignObject"||t==="mathml"&&e==="annotation-xml"&&o&&o.encoding&&o.encoding.includes("html")?void 0:t}function dt({effect:e,job:o},t){t?(e.flags|=32,o.flags|=4):(e.flags&=-33,o.flags&=-5)}function Gp(e,o){return(!e||e&&!e.pendingBranch)&&o&&!o.persisted}function Xa(e,o,t=!1){const n=e.children,a=o.children;if(se(n)&&se(a))for(let s=0;s>1,e[t[i]]0&&(o[n]=t[s-1]),t[s]=n)}}for(s=t.length,r=t[s-1];s-- >0;)t[s]=r,r=o[r];return t}function bi(e){const o=e.subTree.component;if(o)return o.asyncDep&&!o.asyncResolved?o:bi(o)}function _i(e){if(e)for(let o=0;oe.__isSuspense;function Up(e,o){o&&o.pendingBranch?se(e)?o.effects.push(...e):o.effects.push(e):qu(e)}const Ve=Symbol.for("v-fgt"),sn=Symbol.for("v-txt"),wo=Symbol.for("v-cmt"),Ja=Symbol.for("v-stc"),Do=[];let so=null;function ye(e=!1){Do.push(so=e?null:[])}function Za(){Do.pop(),so=Do[Do.length-1]||null}let rn=1;function Xn(e,o=!1){rn+=e,e<0&&so&&o&&(so.hasOnce=!0)}function vi(e){return e.dynamicChildren=rn>0?so||_t:null,Za(),rn>0&&so&&so.push(e),e}function Me(e,o,t,n,a,s){return vi(re(e,o,t,n,a,s,!0))}function ht(e,o,t,n,a){return vi(Te(e,o,t,n,a,!0))}function ln(e){return e?e.__v_isVNode===!0:!1}function cn(e,o){return e.type===o.type&&e.key===o.key}const Ai=({key:e})=>e??null,Jn=({ref:e,ref_key:o,ref_for:t})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||Ce(e)||le(e)?{i:Xe,r:e,k:o,f:!!t}:e:null);function re(e,o=null,t=null,n=0,a=null,s=e===Ve?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:o,key:o&&Ai(o),ref:o&&Jn(o),scopeId:Fr,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Xe};return i?(Zn(l,t),s&128&&e.normalize(l)):t&&(l.shapeFlag|=Ae(t)?8:16),rn>0&&!r&&so&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&so.push(l),l}const Te=jp;function jp(e,o=null,t=null,n=0,a=null,s=!1){if((!e||e===Wr)&&(e=wo),ln(e)){const i=Pt(e,o,!0);return t&&Zn(i,t),rn>0&&!s&&so&&(i.shapeFlag&6?so[so.indexOf(e)]=i:so.push(i)),i.patchFlag=-2,i}if(eg(e)&&(e=e.__vccOpts),o){o=zp(o);let{class:i,style:l}=o;i&&!Ae(i)&&(o.class=oo(i)),_e(l)&&(In(l)&&!se(l)&&(l=Re({},l)),o.style=jt(l))}const r=Ae(e)?1:ki(e)?128:Un(e)?64:_e(e)?4:le(e)?2:0;return re(e,o,t,n,a,r,s,!0)}function zp(e){return e?In(e)||pi(e)?Re({},e):e:null}function Pt(e,o,t=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=o?Vp(a||{},o):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ai(c),ref:o&&o.ref?t&&s?se(s)?s.concat(Jn(o)):[s,Jn(o)]:Jn(o):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:o&&e.type!==Ve?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Da(u,l.clone(u)),u}function $o(e=" ",o=0){return Te(sn,null,e,o)}function Go(e="",o=!1){return o?(ye(),ht(wo,null,e)):Te(wo,null,e)}function Po(e){return e==null||typeof e=="boolean"?Te(wo):se(e)?Te(Ve,null,e.slice()):ln(e)?Bo(e):Te(sn,null,String(e))}function Bo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function Zn(e,o){let t=0;const{shapeFlag:n}=e;if(o==null)o=null;else if(se(o))t=16;else if(typeof o=="object")if(n&65){const a=o.default;a&&(a._c&&(a._d=!1),Zn(e,a()),a._c&&(a._d=!0));return}else{t=32;const a=o._;!a&&!pi(o)?o._ctx=Xe:a===3&&Xe&&(Xe.slots._===1?o._=1:(o._=2,e.patchFlag|=1024))}else if(le(o)){if(n&65){Zn(e,{default:o});return}o={default:o,_ctx:Xe},t=32}else o=String(o),n&64?(t=16,o=[$o(o)]):t=8;e.children=o,e.shapeFlag|=t}function Vp(...e){const o={};for(let t=0;tKe||Xe;let Qn,un;{const e=wn(),o=(t,n)=>{let a;return(a=e[t])||(a=e[t]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Qn=o("__VUE_INSTANCE_SETTERS__",t=>Ke=t),un=o("__VUE_SSR_SETTERS__",t=>Et=t)}const pn=e=>{const o=Ke;return Qn(e),e.scope.on(),()=>{e.scope.off(),Qn(o)}},Si=()=>{Ke&&Ke.scope.off(),Qn(null)};function Li(e){return e.vnode.shapeFlag&4}let Et=!1;function Wp(e,o=!1,t=!1){o&&un(o);const{props:n,children:a}=e.vnode,s=Li(e);Tp(e,n,s,o),Ip(e,a,t||o);const r=s?Yp(e,o):void 0;return o&&un(!1),r}function Yp(e,o){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$p);const{setup:n}=t;if(n){vo();const a=e.setupContext=n.length>1?Jp(e):null,s=pn(e),r=vt(n,e,0,[e.props,a]),i=er(r);if(Ao(),s(),(i||e.sp)&&!Lt(e)&&Ga(e),i){if(r.then(Si,Si),o)return r.then(l=>{un(!0);try{wi(e,l,o)}finally{un(!1)}}).catch(l=>{Xt(l,e,0)});e.asyncDep=r}else wi(e,r)}else Pi(e)}function wi(e,o,t){le(o)?e.type.__ssrInlineRender?e.ssrRender=o:e.render=o:_e(o)&&(e.setupState=Cr(o)),Pi(e)}function Pi(e,o,t){const n=e.type;e.render||(e.render=n.render||yo);{const a=pn(e);vo();try{mp(e)}finally{Ao(),a()}}}const Xp={get(e,o){return We(e,"get",""),e[o]}};function Jp(e){const o=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Xp),slots:e.slots,emit:e.emit,expose:o}}function Qa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cr(Wt(e.exposed)),{get(o,t){if(t in o)return o[t];if(t in nn)return nn[t](e)},has(o,t){return t in o||t in nn}})):e.proxy}const Zp=/(?:^|[-_])\w/g,Qp=e=>e.replace(Zp,o=>o.toUpperCase()).replace(/[-_]/g,"");function Ei(e,o=!0){return le(e)?e.displayName||e.name:e.name||o&&e.__name}function Ni(e,o,t=!1){let n=Ei(o);if(!n&&o.__file){const a=o.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===o)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Qp(n):t?"App":"Anonymous"}function eg(e){return le(e)&&"__vccOpts"in e}const fe=(e,o)=>Fu(e,o,Et);function Ci(e,o,t){try{Xn(-1);const n=arguments.length;return n===2?_e(o)&&!se(o)?ln(o)?Te(e,null,[o]):Te(e,o):Te(e,null,o):(n>3?t=Array.prototype.slice.call(arguments,2):n===3&&ln(t)&&(t=[t]),Te(e,o,t))}finally{Xn(1)}}const og="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let es;const Ni=typeof window<"u"&&window.trustedTypes;if(Ni)try{es=Ni.createPolicy("vue",{createHTML:e=>e})}catch{}const xi=es?e=>es.createHTML(e):e=>e,tg="http://www.w3.org/2000/svg",ng="http://www.w3.org/1998/Math/MathML",jo=typeof document<"u"?document:null,Ri=jo&&jo.createElement("template"),ag={insert:(e,o,t)=>{o.insertBefore(e,t||null)},remove:e=>{const o=e.parentNode;o&&o.removeChild(e)},createElement:(e,o,t,n)=>{const a=o==="svg"?jo.createElementNS(tg,e):o==="mathml"?jo.createElementNS(ng,e):t?jo.createElement(e,{is:t}):jo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>jo.createTextNode(e),createComment:e=>jo.createComment(e),setText:(e,o)=>{e.nodeValue=o},setElementText:(e,o)=>{e.textContent=o},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>jo.querySelector(e),setScopeId(e,o){e.setAttribute(o,"")},insertStaticContent(e,o,t,n,a,s){const r=t?t.previousSibling:o.lastChild;if(a&&(a===s||a.nextSibling))for(;o.insertBefore(a.cloneNode(!0),t),!(a===s||!(a=a.nextSibling)););else{Ri.innerHTML=xi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Ri.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}o.insertBefore(i,t)}return[r?r.nextSibling:o.firstChild,t?t.previousSibling:o.lastChild]}},sg=Symbol("_vtc");function rg(e,o,t){const n=e[sg];n&&(o=(o?[o,...n]:[...n]).join(" ")),o==null?e.removeAttribute("class"):t?e.setAttribute("class",o):e.className=o}const Mi=Symbol("_vod"),ig=Symbol("_vsh"),lg=Symbol(""),cg=/(?:^|;)\s*display\s*:/;function ug(e,o,t){const n=e.style,a=Ae(t);let s=!1;if(t&&!a){if(o)if(Ae(o))for(const r of o.split(";")){const i=r.slice(0,r.indexOf(":")).trim();t[i]==null&&gn(n,i,"")}else for(const r in o)t[r]==null&&gn(n,r,"");for(const r in t){r==="display"&&(s=!0);const i=t[r];i!=null?gg(e,r,!Ae(o)&&o?o[r]:void 0,i)||gn(n,r,i):gn(n,r,"")}}else if(a){if(o!==t){const r=n[lg];r&&(t+=";"+r),n.cssText=t,s=cg.test(t)}}else o&&e.removeAttribute("style");Mi in e&&(e[Mi]=s?n.display:"",e[ig]&&(n.display="none"))}const ea=/\s*!important$/;function gn(e,o,t){if(se(t))t.forEach(n=>gn(e,o,n));else if(t==null&&(t=""),o.startsWith("--"))ea.test(t)?e.setProperty(o,t.replace(ea,""),"important"):e.setProperty(o,t);else{const n=pg(e,o);ea.test(t)?e.setProperty(io(n),t.replace(ea,""),"important"):e[n]=t}}const Ii=["Webkit","Moz","ms"],os={};function pg(e,o){const t=os[o];if(t)return t;let n=Ue(o);if(n!=="filter"&&n in e)return os[o]=n;n=Ln(n);for(let a=0;ats||(_g.then(()=>ts=0),ts=Date.now());function vg(e,o){const t=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=t.attached)return;const a=t.value;if(se(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,kg=(e,o,t,n,a,s)=>{const r=a==="svg";o==="class"?rg(e,n,r):o==="style"?ug(e,t,n):_n(o)?yn(o)||fg(e,o,t,n,s):(o[0]==="."?(o=o.slice(1),!0):o[0]==="^"?(o=o.slice(1),!1):Ag(e,o,n,r))?(Di(e,o,n),!e.tagName.includes("-")&&(o==="value"||o==="checked"||o==="selected")&&Fi(e,o,n,r,s,o!=="value")):e._isVueCE&&(Sg(e,o)||e._def.__asyncLoader&&(/[A-Z]/.test(o)||!Ae(n)))?Di(e,Ue(o),n,s,o):(o==="true-value"?e._trueValue=n:o==="false-value"&&(e._falseValue=n),Fi(e,o,n,r))};function Ag(e,o,t,n){if(n)return!!(o==="innerHTML"||o==="textContent"||o in e&&Bi(o)&&le(t));if(o==="spellcheck"||o==="draggable"||o==="translate"||o==="autocorrect"||o==="sandbox"&&e.tagName==="IFRAME"||o==="form"||o==="list"&&e.tagName==="INPUT"||o==="type"&&e.tagName==="TEXTAREA")return!1;if(o==="width"||o==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(o)&&Ae(t)?!1:o in e}function Sg(e,o){const t=e._def.props;if(!t)return!1;const n=Ue(o);return Array.isArray(t)?t.some(a=>Ue(a)===n):Object.keys(t).some(a=>Ue(a)===n)}const Ui={};function Lg(e,o,t){let n=en(e,o);kn(n)&&(n=Me({},n,o));class a extends ns{constructor(r){super(n,r,t)}}return a.def=n,a}const wg=typeof HTMLElement<"u"?HTMLElement:class{};class ns extends wg{constructor(o,t={},n=Vi){super(),this._def=o,this._props=t,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!==Vi?this._root=this.shadowRoot:o.shadowRoot!==!1?(this.attachShadow(Me({},o.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 o=this;for(;o=o&&(o.assignedSlot||o.parentNode||o.host);)if(o instanceof ns){this._parent=o;break}this._instance||(this._resolved?this._mount(this._def):o&&o._pendingResolve?this._pendingResolve=o._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(o=this._parent){o&&(this._instance.parent=o._instance,this._inheritParentContext(o))}_inheritParentContext(o=this._parent){o&&this._app&&Object.setPrototypeOf(this._app._context.provides,o._instance.provides)}disconnectedCallback(){this._connected=!1,Jt(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(o){for(const t of o)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!se(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=nr(this._props[l])),(i||(i=Object.create(null)))[Ue(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(n=>{n.configureApp=this._def.configureApp,o(this._def=n,!0)}),this._pendingResolve;o(this._def)}_mount(o){this._app=this._createApp(o),this._inheritParentContext(),o.configureApp&&o.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const n in t)be(this,n)||Object.defineProperty(this,n,{get:()=>Oo(t[n])})}_resolveProps(o){const{props:t}=o,n=se(t)?t:Object.keys(t||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Ue))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(o){if(o.startsWith("data-v-"))return;const t=this.hasAttribute(o);let n=t?this.getAttribute(o):Ui;const a=Ue(o);t&&this._numberProps&&this._numberProps[a]&&(n=nr(n)),this._setProp(a,n,!1,!0)}_getProp(o){return this._props[o]}_setProp(o,t,n=!0,a=!1){if(t!==this._props[o]&&(this._dirty=!0,t===Ui?delete this._props[o]:(this._props[o]=t,o==="key"&&this._app&&(this._app._ceVNode.key=t)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),t===!0?this.setAttribute(io(o),""):typeof t=="string"||typeof t=="number"?this.setAttribute(io(o),t+""):t||this.removeAttribute(io(o)),s&&s.observe(this,{attributes:!0})}}_update(){const o=this._createVNode();this._app&&(o.appContext=this._app._context),Eg(o,this._root)}_createVNode(){const o={};this.shadowRoot||(o.onVnodeMounted=o.onVnodeUpdated=this._renderSlots.bind(this));const t=Ne(this._def,Me(o,this._props));return this._instance||(t.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,kn(r[0])?Me({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),io(s)!==s&&a(io(s),r)},this._setParent()}),t}_applyStyles(o,t,n){if(!o)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=o.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=o[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(o){if(!o)return null;const t=this._styleAnchors.get(o);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(o),null)}_getRootStyleInsertionAnchor(o){for(let t=0;t{zi().render(...e)},Vi=(...e)=>{const o=zi().createApp(...e),{mount:t}=o;return o.mount=n=>{const a=Tg(n);if(!a)return;const s=o._component;!le(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=t(a,!1,Cg(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},o};function Cg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Tg(e){return Ae(e)?document.querySelector(e):e}/*! +**/let es;const Ti=typeof window<"u"&&window.trustedTypes;if(Ti)try{es=Ti.createPolicy("vue",{createHTML:e=>e})}catch{}const xi=es?e=>es.createHTML(e):e=>e,tg="http://www.w3.org/2000/svg",ng="http://www.w3.org/1998/Math/MathML",jo=typeof document<"u"?document:null,Mi=jo&&jo.createElement("template"),ag={insert:(e,o,t)=>{o.insertBefore(e,t||null)},remove:e=>{const o=e.parentNode;o&&o.removeChild(e)},createElement:(e,o,t,n)=>{const a=o==="svg"?jo.createElementNS(tg,e):o==="mathml"?jo.createElementNS(ng,e):t?jo.createElement(e,{is:t}):jo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>jo.createTextNode(e),createComment:e=>jo.createComment(e),setText:(e,o)=>{e.nodeValue=o},setElementText:(e,o)=>{e.textContent=o},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>jo.querySelector(e),setScopeId(e,o){e.setAttribute(o,"")},insertStaticContent(e,o,t,n,a,s){const r=t?t.previousSibling:o.lastChild;if(a&&(a===s||a.nextSibling))for(;o.insertBefore(a.cloneNode(!0),t),!(a===s||!(a=a.nextSibling)););else{Mi.innerHTML=xi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Mi.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}o.insertBefore(i,t)}return[r?r.nextSibling:o.firstChild,t?t.previousSibling:o.lastChild]}},sg=Symbol("_vtc");function rg(e,o,t){const n=e[sg];n&&(o=(o?[o,...n]:[...n]).join(" ")),o==null?e.removeAttribute("class"):t?e.setAttribute("class",o):e.className=o}const Ri=Symbol("_vod"),ig=Symbol("_vsh"),lg=Symbol(""),cg=/(?:^|;)\s*display\s*:/;function ug(e,o,t){const n=e.style,a=Ae(t);let s=!1;if(t&&!a){if(o)if(Ae(o))for(const r of o.split(";")){const i=r.slice(0,r.indexOf(":")).trim();t[i]==null&&gn(n,i,"")}else for(const r in o)t[r]==null&&gn(n,r,"");for(const r in t){r==="display"&&(s=!0);const i=t[r];i!=null?gg(e,r,!Ae(o)&&o?o[r]:void 0,i)||gn(n,r,i):gn(n,r,"")}}else if(a){if(o!==t){const r=n[lg];r&&(t+=";"+r),n.cssText=t,s=cg.test(t)}}else o&&e.removeAttribute("style");Ri in e&&(e[Ri]=s?n.display:"",e[ig]&&(n.display="none"))}const ea=/\s*!important$/;function gn(e,o,t){if(se(t))t.forEach(n=>gn(e,o,n));else if(t==null&&(t=""),o.startsWith("--"))ea.test(t)?e.setProperty(o,t.replace(ea,""),"important"):e.setProperty(o,t);else{const n=pg(e,o);ea.test(t)?e.setProperty(io(n),t.replace(ea,""),"important"):e[n]=t}}const Ii=["Webkit","Moz","ms"],os={};function pg(e,o){const t=os[o];if(t)return t;let n=Ue(o);if(n!=="filter"&&n in e)return os[o]=n;n=Ln(n);for(let a=0;ats||(_g.then(()=>ts=0),ts=Date.now());function kg(e,o){const t=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=t.attached)return;const a=t.value;if(se(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,vg=(e,o,t,n,a,s)=>{const r=a==="svg";o==="class"?rg(e,n,r):o==="style"?ug(e,t,n):_n(o)?yn(o)||fg(e,o,t,n,s):(o[0]==="."?(o=o.slice(1),!0):o[0]==="^"?(o=o.slice(1),!1):Ag(e,o,n,r))?(Di(e,o,n),!e.tagName.includes("-")&&(o==="value"||o==="checked"||o==="selected")&&Fi(e,o,n,r,s,o!=="value")):e._isVueCE&&(Sg(e,o)||e._def.__asyncLoader&&(/[A-Z]/.test(o)||!Ae(n)))?Di(e,Ue(o),n,s,o):(o==="true-value"?e._trueValue=n:o==="false-value"&&(e._falseValue=n),Fi(e,o,n,r))};function Ag(e,o,t,n){if(n)return!!(o==="innerHTML"||o==="textContent"||o in e&&Bi(o)&&le(t));if(o==="spellcheck"||o==="draggable"||o==="translate"||o==="autocorrect"||o==="sandbox"&&e.tagName==="IFRAME"||o==="form"||o==="list"&&e.tagName==="INPUT"||o==="type"&&e.tagName==="TEXTAREA")return!1;if(o==="width"||o==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(o)&&Ae(t)?!1:o in e}function Sg(e,o){const t=e._def.props;if(!t)return!1;const n=Ue(o);return Array.isArray(t)?t.some(a=>Ue(a)===n):Object.keys(t).some(a=>Ue(a)===n)}const Ui={};function Lg(e,o,t){let n=en(e,o);vn(n)&&(n=Re({},n,o));class a extends ns{constructor(r){super(n,r,t)}}return a.def=n,a}const wg=typeof HTMLElement<"u"?HTMLElement:class{};class ns extends wg{constructor(o,t={},n=Vi){super(),this._def=o,this._props=t,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!==Vi?this._root=this.shadowRoot:o.shadowRoot!==!1?(this.attachShadow(Re({},o.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 o=this;for(;o=o&&(o.assignedSlot||o.parentNode||o.host);)if(o instanceof ns){this._parent=o;break}this._instance||(this._resolved?this._mount(this._def):o&&o._pendingResolve?this._pendingResolve=o._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(o=this._parent){o&&(this._instance.parent=o._instance,this._inheritParentContext(o))}_inheritParentContext(o=this._parent){o&&this._app&&Object.setPrototypeOf(this._app._context.provides,o._instance.provides)}disconnectedCallback(){this._connected=!1,Jt(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(o){for(const t of o)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!se(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=nr(this._props[l])),(i||(i=Object.create(null)))[Ue(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(n=>{n.configureApp=this._def.configureApp,o(this._def=n,!0)}),this._pendingResolve;o(this._def)}_mount(o){this._app=this._createApp(o),this._inheritParentContext(),o.configureApp&&o.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const n in t)be(this,n)||Object.defineProperty(this,n,{get:()=>Oo(t[n])})}_resolveProps(o){const{props:t}=o,n=se(t)?t:Object.keys(t||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Ue))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(o){if(o.startsWith("data-v-"))return;const t=this.hasAttribute(o);let n=t?this.getAttribute(o):Ui;const a=Ue(o);t&&this._numberProps&&this._numberProps[a]&&(n=nr(n)),this._setProp(a,n,!1,!0)}_getProp(o){return this._props[o]}_setProp(o,t,n=!0,a=!1){if(t!==this._props[o]&&(this._dirty=!0,t===Ui?delete this._props[o]:(this._props[o]=t,o==="key"&&this._app&&(this._app._ceVNode.key=t)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),t===!0?this.setAttribute(io(o),""):typeof t=="string"||typeof t=="number"?this.setAttribute(io(o),t+""):t||this.removeAttribute(io(o)),s&&s.observe(this,{attributes:!0})}}_update(){const o=this._createVNode();this._app&&(o.appContext=this._app._context),Eg(o,this._root)}_createVNode(){const o={};this.shadowRoot||(o.onVnodeMounted=o.onVnodeUpdated=this._renderSlots.bind(this));const t=Te(this._def,Re(o,this._props));return this._instance||(t.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,vn(r[0])?Re({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),io(s)!==s&&a(io(s),r)},this._setParent()}),t}_applyStyles(o,t,n){if(!o)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=o.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=o[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(o){if(!o)return null;const t=this._styleAnchors.get(o);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(o),null)}_getRootStyleInsertionAnchor(o){for(let t=0;t{zi().render(...e)},Vi=(...e)=>{const o=zi().createApp(...e),{mount:t}=o;return o.mount=n=>{const a=Cg(n);if(!a)return;const s=o._component;!le(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=t(a,!1,Ng(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},o};function Ng(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Cg(e){return Ae(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ki;const oa=e=>Ki=e,qi=Symbol();function as(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var dn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(dn||(dn={}));function Ng(){const e=_a(!0),o=e.run(()=>pe({}));let t=[],n=[];const a=Wt({install(s){oa(a),a._a=s,s.provide(qi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>t.push(r)),n=[]},use(s){return this._a?t.push(s):n.push(s),this},_p:t,_a:null,_e:e,_s:new Map,state:o});return a}const Hi=()=>{};function Wi(e,o,t,n=Hi){e.push(o);const a=()=>{const s=e.indexOf(o);s>-1&&(e.splice(s,1),n())};return!t&&ur()&&pu(a),a}function Ct(e,...o){e.slice().forEach(t=>{t(...o)})}const xg=e=>e(),Yi=Symbol(),ss=Symbol();function rs(e,o){e instanceof Map&&o instanceof Map?o.forEach((t,n)=>e.set(n,t)):e instanceof Set&&o instanceof Set&&o.forEach(e.add,e);for(const t in o){if(!o.hasOwnProperty(t))continue;const n=o[t],a=e[t];as(a)&&as(n)&&e.hasOwnProperty(t)&&!Te(n)&&!Mo(n)?e[t]=rs(a,n):e[t]=n}return e}const Rg=Symbol();function Mg(e){return!as(e)||!e.hasOwnProperty(Rg)}const{assign:Zo}=Object;function Ig(e){return!!(Te(e)&&e.effect)}function Og(e,o,t,n){const{state:a,actions:s,getters:r}=o,i=t.state.value[e];let l;function c(){i||(t.state.value[e]=a?a():{});const u=Ru(t.state.value[e]);return Zo(u,s,Object.keys(r||{}).reduce((d,$)=>(d[$]=Wt(fe(()=>{oa(t);const b=t._s.get(e);return r[$].call(b,b)})),d),{}))}return l=Xi(e,c,o,t,n,!0),l}function Xi(e,o,t={},n,a,s){let r;const i=Zo({actions:{}},t),l={deep:!0};let c,u,d=[],$=[],b;const w=n.state.value[e];!s&&!w&&(n.state.value[e]={});let A;function N(S){let f;c=u=!1,typeof S=="function"?(S(n.state.value[e]),f={type:dn.patchFunction,storeId:e,events:b}):(rs(n.state.value[e],S),f={type:dn.patchObject,payload:S,storeId:e,events:b});const D=A=Symbol();Jt().then(()=>{A===D&&(c=!0)}),u=!0,Ct(d,f,n.state.value[e])}const x=s?function(){const{state:f}=t,D=f?f():{};this.$patch(G=>{Zo(G,D)})}:Hi;function L(){r.stop(),d=[],$=[],n._s.delete(e)}const v=(S,f="")=>{if(Yi in S)return S[ss]=f,S;const D=function(){oa(n);const G=Array.from(arguments),B=[],W=[];function ee(H){B.push(H)}function j(H){W.push(H)}Ct($,{args:G,name:D[ss],store:E,after:ee,onError:j});let q;try{q=S.apply(this&&this.$id===e?this:E,G)}catch(H){throw Ct(W,H),H}return q instanceof Promise?q.then(H=>(Ct(B,H),H)).catch(H=>(Ct(W,H),Promise.reject(H))):(Ct(B,q),q)};return D[Yi]=!0,D[ss]=f,D},y={_p:n,$id:e,$onAction:Wi.bind(null,$),$patch:N,$reset:x,$subscribe(S,f={}){const D=Wi(d,S,f.detached,()=>G()),G=r.run(()=>fo(()=>n.state.value[e],B=>{(f.flush==="sync"?u:c)&&S({storeId:e,type:dn.direct,events:b},B)},Zo({},l,f)));return D},$dispose:L},E=Rn(y);n._s.set(e,E);const _=(n._a&&n._a.runWithContext||xg)(()=>n._e.run(()=>(r=_a()).run(()=>o({action:v}))));for(const S in _){const f=_[S];if(Te(f)&&!Ig(f)||Mo(f))s||(w&&Mg(f)&&(Te(f)?f.value=w[S]:rs(f,w[S])),n.state.value[e][S]=f);else if(typeof f=="function"){const D=v(f,S);_[S]=D,i.actions[S]=f}}return Zo(E,_),Zo(he(E),_),Object.defineProperty(E,"$state",{get:()=>n.state.value[e],set:S=>{N(f=>{Zo(f,S)})}}),n._p.forEach(S=>{Zo(E,r.run(()=>S({store:E,app:n._a,pinia:n,options:i})))}),w&&s&&t.hydrate&&t.hydrate(E.$state,w),c=!0,u=!0,E}/*! #__NO_SIDE_EFFECTS__ */function is(e,o,t){let n,a;const s=typeof o=="function";typeof e=="string"?(n=e,a=s?t:o):(a=e,n=e.id);function r(i,l){const c=Hu();return i=i||(c?Ie(qi,null):null),i&&oa(i),i=Ki,i._s.has(n)||(s?Xi(n,o,a,i):Og(n,a,i)),i._s.get(n)}return r.$id=n,r}const ls="__doxaMapToken",cs="doxa:map-token",Ji="__doxaMapTokenBridge",Tt=()=>{if(typeof window>"u")return"";const e=window[ls];return typeof e=="string"?e:""};function Zi(e){if(typeof window>"u")return"";const o=typeof e=="string"?e.trim():"";if(!o||o===Tt())return Tt();window[ls]=o;try{window.dispatchEvent(new CustomEvent(cs,{detail:o}))}catch{}return o}function Fg(){if(typeof window>"u"||window[Ji])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Tt()&&(window[ls]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Tt()},set(o){Zi(o)}}),window[Ji]=!0}catch{}}function Dg(){Fg();const e=pe(Tt());if(typeof window<"u"){const o=()=>{e.value=Tt()};window.addEventListener(cs,o);try{tn(()=>window.removeEventListener(cs,o))}catch{}}return e}function Gg(e){return ap({loader:e,onError(o,t,n,a){a<=3?setTimeout(t,a*500):n()}})}const Bg={title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},Ug={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},jg={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:"الملصقات في كل صف"},zg={title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},Vg={research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},Kg={bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},qg={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Hg={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},Wg={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},Yg={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},Xg={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},Jg={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Zg={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Qg={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},ed={"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},od={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},td={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}"},nd={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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},ad={kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},sd={title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},rd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},id={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"},ld={title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},cd={research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},ud={bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},pd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},gd={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},dd={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},hd={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},fd={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},$d={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},md={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},bd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},_d={"%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."},yd={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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},vd={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}"},kd={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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},Ad={kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},Sd={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},Ld={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},wd={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"},Pd={title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},Ed={research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},Cd={bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},Td={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Nd={_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},xd={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},Rd={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},Md={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},Id={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Od={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Fd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Dd={"%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."},Gd={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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},Bd={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}"},Ud={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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},jd={kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},zd={title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},Vd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},Kd={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"},qd={title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},Hd={research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},Wd={bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},Yd={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."}},Xd={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},Jd={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},Zd={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},Qd={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},eh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},oh={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},th={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},nh={"%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."},ah={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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},sh={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}"},rh={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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},ih={kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},lh={title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},ch={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"},uh={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"},ph={title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},gh={research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},dh={bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},hh={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},fh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},$h={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},mh={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},bh={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},_h={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},yh={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},vh={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},kh={"%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."},Ah={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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},Sh={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}"},Lh={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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},wh={kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},Ph={title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},Eh={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Ch={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:"प्रति पंक्ति पोस्टर"},Th={title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},Nh={research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},xh={bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},Rh={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Mh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},Ih={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},Oh={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},Fh={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},Dh={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Gh={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Bh={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Uh={"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},jh={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},zh={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}"},Vh={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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},Kh={kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},qh={title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},Hh={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Wh={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"},Yh={title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},Xh={research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},Jh={bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},Zh={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},ef={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},of={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},tf={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},nf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},af={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},sf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},rf={"%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."},lf={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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},cf={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}"},uf={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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},pf={kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},gf={title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},df={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},hf={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"},ff={title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},$f={research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},mf={bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},bf={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."}},_f={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},yf={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},vf={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},kf={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},Af={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Sf={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},Lf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},wf={"%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."},Pf={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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},Ef={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}"},Cf={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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},Tf={kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},Nf={title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},xf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},Rf={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"},Mf={title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},If={research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},Of={bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},Ff={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ă."}},Df={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},Gf={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},Bf={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},Uf={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},jf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},zf={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Vf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Kf={"%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."},qf={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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},Hf={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}"},Wf={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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},Yf={kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},Xf={title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},Jf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Zf={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:"Плакатов в ряду"},Qf={title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},e$={research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},o$={bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},t$={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},n$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},a$={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},s$={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},r$={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},i$={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},l$={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},c$={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},u$={"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},p$={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},g$={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}"},d$={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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},h$={kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},f$={title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},$$={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},m$={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:"每行海报数"},b$={title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},_$={research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},y$={bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},v$={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},k$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},A$={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},S$={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},L$={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},w$={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},P$={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},E$={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},C$={"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},T$={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},N$={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}"},x$={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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},R$={kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"};/*! + */let Ki;const oa=e=>Ki=e,qi=Symbol();function as(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var dn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(dn||(dn={}));function Tg(){const e=_a(!0),o=e.run(()=>pe({}));let t=[],n=[];const a=Wt({install(s){oa(a),a._a=s,s.provide(qi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>t.push(r)),n=[]},use(s){return this._a?t.push(s):n.push(s),this},_p:t,_a:null,_e:e,_s:new Map,state:o});return a}const Hi=()=>{};function Wi(e,o,t,n=Hi){e.push(o);const a=()=>{const s=e.indexOf(o);s>-1&&(e.splice(s,1),n())};return!t&&ur()&&pu(a),a}function Nt(e,...o){e.slice().forEach(t=>{t(...o)})}const xg=e=>e(),Yi=Symbol(),ss=Symbol();function rs(e,o){e instanceof Map&&o instanceof Map?o.forEach((t,n)=>e.set(n,t)):e instanceof Set&&o instanceof Set&&o.forEach(e.add,e);for(const t in o){if(!o.hasOwnProperty(t))continue;const n=o[t],a=e[t];as(a)&&as(n)&&e.hasOwnProperty(t)&&!Ce(n)&&!Ro(n)?e[t]=rs(a,n):e[t]=n}return e}const Mg=Symbol();function Rg(e){return!as(e)||!e.hasOwnProperty(Mg)}const{assign:Zo}=Object;function Ig(e){return!!(Ce(e)&&e.effect)}function Og(e,o,t,n){const{state:a,actions:s,getters:r}=o,i=t.state.value[e];let l;function c(){i||(t.state.value[e]=a?a():{});const u=Mu(t.state.value[e]);return Zo(u,s,Object.keys(r||{}).reduce((d,$)=>(d[$]=Wt(fe(()=>{oa(t);const b=t._s.get(e);return r[$].call(b,b)})),d),{}))}return l=Xi(e,c,o,t,n,!0),l}function Xi(e,o,t={},n,a,s){let r;const i=Zo({actions:{}},t),l={deep:!0};let c,u,d=[],$=[],b;const w=n.state.value[e];!s&&!w&&(n.state.value[e]={});let A;function T(S){let f;c=u=!1,typeof S=="function"?(S(n.state.value[e]),f={type:dn.patchFunction,storeId:e,events:b}):(rs(n.state.value[e],S),f={type:dn.patchObject,payload:S,storeId:e,events:b});const D=A=Symbol();Jt().then(()=>{A===D&&(c=!0)}),u=!0,Nt(d,f,n.state.value[e])}const x=s?function(){const{state:f}=t,D=f?f():{};this.$patch(G=>{Zo(G,D)})}:Hi;function L(){r.stop(),d=[],$=[],n._s.delete(e)}const k=(S,f="")=>{if(Yi in S)return S[ss]=f,S;const D=function(){oa(n);const G=Array.from(arguments),B=[],W=[];function ee(H){B.push(H)}function j(H){W.push(H)}Nt($,{args:G,name:D[ss],store:E,after:ee,onError:j});let q;try{q=S.apply(this&&this.$id===e?this:E,G)}catch(H){throw Nt(W,H),H}return q instanceof Promise?q.then(H=>(Nt(B,H),H)).catch(H=>(Nt(W,H),Promise.reject(H))):(Nt(B,q),q)};return D[Yi]=!0,D[ss]=f,D},y={_p:n,$id:e,$onAction:Wi.bind(null,$),$patch:T,$reset:x,$subscribe(S,f={}){const D=Wi(d,S,f.detached,()=>G()),G=r.run(()=>fo(()=>n.state.value[e],B=>{(f.flush==="sync"?u:c)&&S({storeId:e,type:dn.direct,events:b},B)},Zo({},l,f)));return D},$dispose:L},E=Mn(y);n._s.set(e,E);const _=(n._a&&n._a.runWithContext||xg)(()=>n._e.run(()=>(r=_a()).run(()=>o({action:k}))));for(const S in _){const f=_[S];if(Ce(f)&&!Ig(f)||Ro(f))s||(w&&Rg(f)&&(Ce(f)?f.value=w[S]:rs(f,w[S])),n.state.value[e][S]=f);else if(typeof f=="function"){const D=k(f,S);_[S]=D,i.actions[S]=f}}return Zo(E,_),Zo(he(E),_),Object.defineProperty(E,"$state",{get:()=>n.state.value[e],set:S=>{T(f=>{Zo(f,S)})}}),n._p.forEach(S=>{Zo(E,r.run(()=>S({store:E,app:n._a,pinia:n,options:i})))}),w&&s&&t.hydrate&&t.hydrate(E.$state,w),c=!0,u=!0,E}/*! #__NO_SIDE_EFFECTS__ */function is(e,o,t){let n,a;const s=typeof o=="function";typeof e=="string"?(n=e,a=s?t:o):(a=e,n=e.id);function r(i,l){const c=Hu();return i=i||(c?Ie(qi,null):null),i&&oa(i),i=Ki,i._s.has(n)||(s?Xi(n,o,a,i):Og(n,a,i)),i._s.get(n)}return r.$id=n,r}const ls="__doxaMapToken",cs="doxa:map-token",Ji="__doxaMapTokenBridge",Ct=()=>{if(typeof window>"u")return"";const e=window[ls];return typeof e=="string"?e:""};function Zi(e){if(typeof window>"u")return"";const o=typeof e=="string"?e.trim():"";if(!o||o===Ct())return Ct();window[ls]=o;try{window.dispatchEvent(new CustomEvent(cs,{detail:o}))}catch{}return o}function Fg(){if(typeof window>"u"||window[Ji])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Ct()&&(window[ls]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Ct()},set(o){Zi(o)}}),window[Ji]=!0}catch{}}function Dg(){Fg();const e=pe(Ct());if(typeof window<"u"){const o=()=>{e.value=Ct()};window.addEventListener(cs,o);try{tn(()=>window.removeEventListener(cs,o))}catch{}}return e}function Gg(e){return ap({loader:e,onError(o,t,n,a){a<=3?setTimeout(t,a*500):n()}})}const Bg={title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},Ug={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},jg={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:"الملصقات في كل صف"},zg={title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},Vg={research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},Kg={bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},qg={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Hg={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},Wg={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},Yg={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},Xg={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},Jg={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Zg={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Qg={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},ed={"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},od={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},td={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox"},nd={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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},ad={kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},sd={title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},rd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},id={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"},ld={title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},cd={research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},ud={bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},pd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},gd={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},dd={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},hd={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},fd={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},$d={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},md={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},bd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},_d={"%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."},yd={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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},kd={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token"},vd={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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},Ad={kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},Sd={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},Ld={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},wd={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"},Pd={title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},Ed={research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},Nd={bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},Cd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Td={_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},xd={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},Md={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},Rd={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},Id={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Od={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Fd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Dd={"%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."},Gd={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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},Bd={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token"},Ud={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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},jd={kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},zd={title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},Vd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},Kd={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"},qd={title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},Hd={research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},Wd={bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},Yd={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."}},Xd={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},Jd={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},Zd={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},Qd={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},eh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},oh={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},th={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},nh={"%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."},ah={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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},sh={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox"},rh={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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},ih={kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},lh={title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},ch={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"},uh={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"},ph={title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},gh={research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},dh={bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},hh={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},fh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},$h={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},mh={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},bh={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},_h={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},yh={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},kh={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},vh={"%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."},Ah={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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},Sh={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox"},Lh={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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},wh={kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},Ph={title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},Eh={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Nh={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:"प्रति पंक्ति पोस्टर"},Ch={title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},Th={research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},xh={bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},Mh={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Rh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},Ih={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},Oh={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},Fh={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},Dh={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Gh={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Bh={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Uh={"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},jh={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},zh={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए"},Vh={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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},Kh={kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},qh={title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},Hh={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Wh={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"},Yh={title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},Xh={research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},Jh={bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},Zh={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},ef={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},of={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},tf={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},nf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},af={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},sf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},rf={"%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."},lf={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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},cf={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox"},uf={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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},pf={kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},gf={title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},df={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},hf={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"},ff={title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},$f={research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},mf={bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},bf={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."}},_f={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},yf={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},kf={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},vf={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},Af={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Sf={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},Lf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},wf={"%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."},Pf={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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},Ef={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox"},Nf={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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},Cf={kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},Tf={title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},xf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},Mf={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"},Rf={title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},If={research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},Of={bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},Ff={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ă."}},Df={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},Gf={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},Bf={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},Uf={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},jf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},zf={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Vf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Kf={"%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."},qf={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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},Hf={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox"},Wf={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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},Yf={kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},Xf={title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},Jf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Zf={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:"Плакатов в ряду"},Qf={title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},e$={research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},o$={bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},t$={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},n$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},a$={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},s$={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},r$={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},i$={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},l$={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},c$={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},u$={"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},p$={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},g$={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox"},d$={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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},h$={kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},f$={title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},$$={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},m$={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:"每行海报数"},b$={title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},_$={research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},y$={bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},k$={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},v$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},A$={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},S$={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},L$={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},w$={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},P$={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},E$={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},N$={"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},C$={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},T$={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌"},x$={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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},M$={kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function M$(e,o){typeof console<"u"&&(console.warn("[intlify] "+e),o&&console.warn(o.stack))}const ta=typeof window<"u",Qo=(e,o=!1)=>o?Symbol.for(e):Symbol(e),I$=(e,o,t)=>O$({l:e,k:o,s:t}),O$=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Oe=e=>typeof e=="number"&&isFinite(e),F$=e=>nl(e)==="[object Date]",et=e=>nl(e)==="[object RegExp]",na=e=>ce(e)&&Object.keys(e).length===0,qe=Object.assign,D$=Object.create,ve=(e=null)=>D$(e);let Qi;const zo=()=>Qi||(Qi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ve());function el(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function ol(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function G$(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${ol(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${ol(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const B$=Object.prototype.hasOwnProperty;function mo(e,o){return B$.call(e,o)}const Ee=Array.isArray,Le=e=>typeof e=="function",Y=e=>typeof e=="string",de=e=>typeof e=="boolean",$e=e=>e!==null&&typeof e=="object",U$=e=>$e(e)&&Le(e.then)&&Le(e.catch),tl=Object.prototype.toString,nl=e=>tl.call(e),ce=e=>{if(!$e(e))return!1;const o=Object.getPrototypeOf(e);return o===null||o.constructor===Object},j$=e=>e==null?"":Ee(e)||ce(e)&&e.toString===tl?JSON.stringify(e,null,2):String(e);function z$(e,o=""){return e.reduce((t,n,a)=>a===0?t+n:t+o+n,"")}function aa(e){let o=e;return()=>++o}const sa=e=>!$e(e)||Ee(e);function ra(e,o){if(sa(e)||sa(o))throw new Error("Invalid value");const t=[{src:e,des:o}];for(;t.length;){const{src:n,des:a}=t.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&($e(n[s])&&!$e(a[s])&&(a[s]=Array.isArray(n[s])?[]:ve()),sa(a[s])||sa(n[s])?a[s]=n[s]:t.push({src:n[s],des:a[s]}))})}}/*! + */function R$(e,o){typeof console<"u"&&(console.warn("[intlify] "+e),o&&console.warn(o.stack))}const ta=typeof window<"u",Qo=(e,o=!1)=>o?Symbol.for(e):Symbol(e),I$=(e,o,t)=>O$({l:e,k:o,s:t}),O$=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Oe=e=>typeof e=="number"&&isFinite(e),F$=e=>nl(e)==="[object Date]",et=e=>nl(e)==="[object RegExp]",na=e=>ce(e)&&Object.keys(e).length===0,qe=Object.assign,D$=Object.create,ke=(e=null)=>D$(e);let Qi;const zo=()=>Qi||(Qi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ke());function el(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function ol(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function G$(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${ol(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${ol(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const B$=Object.prototype.hasOwnProperty;function mo(e,o){return B$.call(e,o)}const Ee=Array.isArray,Le=e=>typeof e=="function",Y=e=>typeof e=="string",de=e=>typeof e=="boolean",$e=e=>e!==null&&typeof e=="object",U$=e=>$e(e)&&Le(e.then)&&Le(e.catch),tl=Object.prototype.toString,nl=e=>tl.call(e),ce=e=>{if(!$e(e))return!1;const o=Object.getPrototypeOf(e);return o===null||o.constructor===Object},j$=e=>e==null?"":Ee(e)||ce(e)&&e.toString===tl?JSON.stringify(e,null,2):String(e);function z$(e,o=""){return e.reduce((t,n,a)=>a===0?t+n:t+o+n,"")}function aa(e){let o=e;return()=>++o}const sa=e=>!$e(e)||Ee(e);function ra(e,o){if(sa(e)||sa(o))throw new Error("Invalid value");const t=[{src:e,des:o}];for(;t.length;){const{src:n,des:a}=t.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&($e(n[s])&&!$e(a[s])&&(a[s]=Array.isArray(n[s])?[]:ke()),sa(a[s])||sa(n[s])?a[s]=n[s]:t.push({src:n[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function V$(e,o,t){return{line:e,column:o,offset:t}}function ia(e,o,t){return{start:e,end:o}}const K$=/\{([0-9a-zA-Z]+)\}/g;function al(e,...o){return o.length===1&&q$(o[0])&&(o=o[0]),(!o||!o.hasOwnProperty)&&(o={}),e.replace(K$,(t,n)=>o.hasOwnProperty(n)?o[n]:"")}const sl=Object.assign,rl=e=>typeof e=="string",q$=e=>e!==null&&typeof e=="object";function il(e,o=""){return e.reduce((t,n,a)=>a===0?t+n:t+o+n,"")}const us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},H$={[us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function W$(e,o,...t){const n=al(H$[e],...t||[]),a={message:String(n),code:e};return o&&(a.location=o),a}const ie={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},Y$={[ie.EXPECTED_TOKEN]:"Expected token: '{0}'",[ie.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ie.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ie.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ie.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ie.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ie.EMPTY_PLACEHOLDER]:"Empty placeholder",[ie.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ie.INVALID_LINKED_FORMAT]:"Invalid linked format",[ie.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ie.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ie.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ie.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ie.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ie.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Nt(e,o,t={}){const{domain:n,messages:a,args:s}=t,r=al((a||Y$)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,o&&(i.location=o),i.domain=n,i}function X$(e){throw e}const Vo=" ",J$="\r",Qe=` -`,Z$="\u2028",Q$="\u2029";function em(e){const o=e;let t=0,n=1,a=1,s=0;const r=_=>o[_]===J$&&o[_+1]===Qe,i=_=>o[_]===Qe,l=_=>o[_]===Q$,c=_=>o[_]===Z$,u=_=>r(_)||i(_)||l(_)||c(_),d=()=>t,$=()=>n,b=()=>a,w=()=>s,A=_=>r(_)||l(_)||c(_)?Qe:o[_],N=()=>A(t),x=()=>A(t+s);function L(){return s=0,u(t)&&(n++,a=0),r(t)&&t++,t++,a++,o[t]}function v(){return r(t+s)&&s++,s++,o[t+s]}function y(){t=0,n=1,a=1,s=0}function E(_=0){s=_}function T(){const _=t+s;for(;_!==t;)L();s=0}return{index:d,line:$,column:b,peekOffset:w,charAt:A,currentChar:N,currentPeek:x,next:L,peek:v,reset:y,resetPeek:E,skipToPeek:T}}const ot=void 0,om=".",ll="'",tm="tokenizer";function nm(e,o={}){const t=o.location!==!1,n=em(e),a=()=>n.index(),s=()=>V$(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=o;function d(p,g,C,...M){const K=c();if(g.column+=C,g.offset+=C,u){const U=t?ia(K.startLoc,g):null,P=Nt(p,U,{domain:tm,args:M});u(P)}}function $(p,g,C){p.endLoc=s(),p.currentType=g;const M={type:g};return t&&(M.loc=ia(p.startLoc,p.endLoc)),C!=null&&(M.value=C),M}const b=p=>$(p,14);function w(p,g){return p.currentChar()===g?(p.next(),g):(d(ie.EXPECTED_TOKEN,s(),0,g),"")}function A(p){let g="";for(;p.currentPeek()===Vo||p.currentPeek()===Qe;)g+=p.currentPeek(),p.peek();return g}function N(p){const g=A(p);return p.skipToPeek(),g}function x(p){if(p===ot)return!1;const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g===95}function L(p){if(p===ot)return!1;const g=p.charCodeAt(0);return g>=48&&g<=57}function v(p,g){const{currentType:C}=g;if(C!==2)return!1;A(p);const M=x(p.currentPeek());return p.resetPeek(),M}function y(p,g){const{currentType:C}=g;if(C!==2)return!1;A(p);const M=p.currentPeek()==="-"?p.peek():p.currentPeek(),K=L(M);return p.resetPeek(),K}function E(p,g){const{currentType:C}=g;if(C!==2)return!1;A(p);const M=p.currentPeek()===ll;return p.resetPeek(),M}function T(p,g){const{currentType:C}=g;if(C!==8)return!1;A(p);const M=p.currentPeek()===".";return p.resetPeek(),M}function _(p,g){const{currentType:C}=g;if(C!==9)return!1;A(p);const M=x(p.currentPeek());return p.resetPeek(),M}function S(p,g){const{currentType:C}=g;if(!(C===8||C===12))return!1;A(p);const M=p.currentPeek()===":";return p.resetPeek(),M}function f(p,g){const{currentType:C}=g;if(C!==10)return!1;const M=()=>{const U=p.currentPeek();return U==="{"?x(p.peek()):U==="@"||U==="%"||U==="|"||U===":"||U==="."||U===Vo||!U?!1:U===Qe?(p.peek(),M()):B(p,!1)},K=M();return p.resetPeek(),K}function D(p){A(p);const g=p.currentPeek()==="|";return p.resetPeek(),g}function G(p){const g=A(p),C=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:C,hasSpace:g.length>0}}function B(p,g=!0){const C=(K=!1,U="",P=!1)=>{const I=p.currentPeek();return I==="{"?U==="%"?!1:K:I==="@"||!I?U==="%"?!0:K:I==="%"?(p.peek(),C(K,"%",!0)):I==="|"?U==="%"||P?!0:!(U===Vo||U===Qe):I===Vo?(p.peek(),C(!0,Vo,P)):I===Qe?(p.peek(),C(!0,Qe,P)):!0},M=C();return g&&p.resetPeek(),M}function W(p,g){const C=p.currentChar();return C===ot?ot:g(C)?(p.next(),C):null}function ee(p){const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g>=48&&g<=57||g===95||g===36}function j(p){return W(p,ee)}function q(p){const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g>=48&&g<=57||g===95||g===36||g===45}function H(p){return W(p,q)}function ue(p){const g=p.charCodeAt(0);return g>=48&&g<=57}function Ce(p){return W(p,ue)}function Be(p){const g=p.charCodeAt(0);return g>=48&&g<=57||g>=65&&g<=70||g>=97&&g<=102}function xe(p){return W(p,Be)}function we(p){let g="",C="";for(;g=Ce(p);)C+=g;return C}function Z(p){N(p);const g=p.currentChar();return g!=="%"&&d(ie.EXPECTED_TOKEN,s(),0,g),p.next(),"%"}function ae(p){let g="";for(;;){const C=p.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(B(p))g+=C,p.next();else break;else if(C===Vo||C===Qe)if(B(p))g+=C,p.next();else{if(D(p))break;g+=C,p.next()}else g+=C,p.next()}return g}function X(p){N(p);let g="",C="";for(;g=H(p);)C+=g;return p.currentChar()===ot&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),C}function ne(p){N(p);let g="";return p.currentChar()==="-"?(p.next(),g+=`-${we(p)}`):g+=we(p),p.currentChar()===ot&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),g}function J(p){return p!==ll&&p!==Qe}function oe(p){N(p),w(p,"'");let g="",C="";for(;g=W(p,J);)g==="\\"?C+=Q(p):C+=g;const M=p.currentChar();return M===Qe||M===ot?(d(ie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),M===Qe&&(p.next(),w(p,"'")),C):(w(p,"'"),C)}function Q(p){const g=p.currentChar();switch(g){case"\\":case"'":return p.next(),`\\${g}`;case"u":return me(p,g,4);case"U":return me(p,g,6);default:return d(ie.UNKNOWN_ESCAPE_SEQUENCE,s(),0,g),""}}function me(p,g,C){w(p,g);let M="";for(let K=0;K{const M=p.currentChar();return M==="{"||M==="%"||M==="@"||M==="|"||M==="("||M===")"||!M||M===Vo?C:(C+=M,p.next(),g(C))};return g("")}function R(p){N(p);const g=w(p,"|");return N(p),g}function F(p,g){let C=null;switch(p.currentChar()){case"{":return g.braceNest>=1&&d(ie.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),p.next(),C=$(g,2,"{"),N(p),g.braceNest++,C;case"}":return g.braceNest>0&&g.currentType===2&&d(ie.EMPTY_PLACEHOLDER,s(),0),p.next(),C=$(g,3,"}"),g.braceNest--,g.braceNest>0&&N(p),g.inLinked&&g.braceNest===0&&(g.inLinked=!1),C;case"@":return g.braceNest>0&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),C=O(p,g)||b(g),g.braceNest=0,C;default:{let K=!0,U=!0,P=!0;if(D(p))return g.braceNest>0&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),C=$(g,1,R(p)),g.braceNest=0,g.inLinked=!1,C;if(g.braceNest>0&&(g.currentType===5||g.currentType===6||g.currentType===7))return d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),g.braceNest=0,V(p,g);if(K=v(p,g))return C=$(g,5,X(p)),N(p),C;if(U=y(p,g))return C=$(g,6,ne(p)),N(p),C;if(P=E(p,g))return C=$(g,7,oe(p)),N(p),C;if(!K&&!U&&!P)return C=$(g,13,h(p)),d(ie.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,C.value),N(p),C;break}}return C}function O(p,g){const{currentType:C}=g;let M=null;const K=p.currentChar();switch((C===8||C===9||C===12||C===10)&&(K===Qe||K===Vo)&&d(ie.INVALID_LINKED_FORMAT,s(),0),K){case"@":return p.next(),M=$(g,8,"@"),g.inLinked=!0,M;case".":return N(p),p.next(),$(g,9,".");case":":return N(p),p.next(),$(g,10,":");default:return D(p)?(M=$(g,1,R(p)),g.braceNest=0,g.inLinked=!1,M):T(p,g)||S(p,g)?(N(p),O(p,g)):_(p,g)?(N(p),$(g,12,k(p))):f(p,g)?(N(p),K==="{"?F(p,g)||M:$(g,11,m(p))):(C===8&&d(ie.INVALID_LINKED_FORMAT,s(),0),g.braceNest=0,g.inLinked=!1,V(p,g))}}function V(p,g){let C={type:14};if(g.braceNest>0)return F(p,g)||b(g);if(g.inLinked)return O(p,g)||b(g);switch(p.currentChar()){case"{":return F(p,g)||b(g);case"}":return d(ie.UNBALANCED_CLOSING_BRACE,s(),0),p.next(),$(g,3,"}");case"@":return O(p,g)||b(g);default:{if(D(p))return C=$(g,1,R(p)),g.braceNest=0,g.inLinked=!1,C;const{isModulo:K,hasSpace:U}=G(p);if(K)return U?$(g,0,ae(p)):$(g,4,Z(p));if(B(p))return $(g,0,ae(p));break}}return C}function z(){const{currentType:p,offset:g,startLoc:C,endLoc:M}=l;return l.lastType=p,l.lastOffset=g,l.lastStartLoc=C,l.lastEndLoc=M,l.offset=a(),l.startLoc=s(),n.currentChar()===ot?$(l,14):V(n,l)}return{nextToken:z,currentOffset:a,currentPosition:s,context:c}}const am="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function rm(e,o,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(o||t,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function im(e={}){const o=e.location!==!1,{onError:t,onWarn:n}=e;function a(v,y,E,T,..._){const S=v.currentPosition();if(S.offset+=T,S.column+=T,t){const f=o?ia(E,S):null,D=Nt(y,f,{domain:am,args:_});t(D)}}function s(v,y,E,T,..._){const S=v.currentPosition();if(S.offset+=T,S.column+=T,n){const f=o?ia(E,S):null;n(W$(y,f,_))}}function r(v,y,E){const T={type:v};return o&&(T.start=y,T.end=y,T.loc={start:E,end:E}),T}function i(v,y,E,T){o&&(v.end=y,v.loc&&(v.loc.end=E))}function l(v,y){const E=v.context(),T=r(3,E.offset,E.startLoc);return T.value=y,i(T,v.currentOffset(),v.currentPosition()),T}function c(v,y){const E=v.context(),{lastOffset:T,lastStartLoc:_}=E,S=r(5,T,_);return S.index=parseInt(y,10),v.nextToken(),i(S,v.currentOffset(),v.currentPosition()),S}function u(v,y,E){const T=v.context(),{lastOffset:_,lastStartLoc:S}=T,f=r(4,_,S);return f.key=y,E===!0&&(f.modulo=!0),v.nextToken(),i(f,v.currentOffset(),v.currentPosition()),f}function d(v,y){const E=v.context(),{lastOffset:T,lastStartLoc:_}=E,S=r(9,T,_);return S.value=y.replace(sm,rm),v.nextToken(),i(S,v.currentOffset(),v.currentPosition()),S}function $(v){const y=v.nextToken(),E=v.context(),{lastOffset:T,lastStartLoc:_}=E,S=r(8,T,_);return y.type!==12?(a(v,ie.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),S.value="",i(S,T,_),{nextConsumeToken:y,node:S}):(y.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,bo(y)),S.value=y.value||"",i(S,v.currentOffset(),v.currentPosition()),{node:S})}function b(v,y){const E=v.context(),T=r(7,E.offset,E.startLoc);return T.value=y,i(T,v.currentOffset(),v.currentPosition()),T}function w(v){const y=v.context(),E=r(6,y.offset,y.startLoc);let T=v.nextToken();if(T.type===9){const _=$(v);E.modifier=_.node,T=_.nextConsumeToken||v.nextToken()}switch(T.type!==10&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(T)),T=v.nextToken(),T.type===2&&(T=v.nextToken()),T.type){case 11:T.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(T)),E.key=b(v,T.value||"");break;case 5:T.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(T)),E.key=u(v,T.value||"");break;case 6:T.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(T)),E.key=c(v,T.value||"");break;case 7:T.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(T)),E.key=d(v,T.value||"");break;default:{a(v,ie.UNEXPECTED_EMPTY_LINKED_KEY,y.lastStartLoc,0);const _=v.context(),S=r(7,_.offset,_.startLoc);return S.value="",i(S,_.offset,_.startLoc),E.key=S,i(E,_.offset,_.startLoc),{nextConsumeToken:T,node:E}}}return i(E,v.currentOffset(),v.currentPosition()),{node:E}}function A(v){const y=v.context(),E=y.currentType===1?v.currentOffset():y.offset,T=y.currentType===1?y.endLoc:y.startLoc,_=r(2,E,T);_.items=[];let S=null,f=null;do{const B=S||v.nextToken();switch(S=null,B.type){case 0:B.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(l(v,B.value||""));break;case 6:B.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(c(v,B.value||""));break;case 4:f=!0;break;case 5:B.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(u(v,B.value||"",!!f)),f&&(s(v,us.USE_MODULO_SYNTAX,y.lastStartLoc,0,bo(B)),f=null);break;case 7:B.value==null&&a(v,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(d(v,B.value||""));break;case 8:{const W=w(v);_.items.push(W.node),S=W.nextConsumeToken||null;break}}}while(y.currentType!==14&&y.currentType!==1);const D=y.currentType===1?y.lastOffset:v.currentOffset(),G=y.currentType===1?y.lastEndLoc:v.currentPosition();return i(_,D,G),_}function N(v,y,E,T){const _=v.context();let S=T.items.length===0;const f=r(1,y,E);f.cases=[],f.cases.push(T);do{const D=A(v);S||(S=D.items.length===0),f.cases.push(D)}while(_.currentType!==14);return S&&a(v,ie.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),i(f,v.currentOffset(),v.currentPosition()),f}function x(v){const y=v.context(),{offset:E,startLoc:T}=y,_=A(v);return y.currentType===14?_:N(v,E,T,_)}function L(v){const y=nm(v,sl({},e)),E=y.context(),T=r(0,E.offset,E.startLoc);return o&&T.loc&&(T.loc.source=v),T.body=x(y),e.onCacheKey&&(T.cacheKey=e.onCacheKey(v)),E.currentType!==14&&a(y,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,v[E.offset]||""),i(T,y.currentOffset(),y.currentPosition()),T}return{parse:L}}function bo(e){if(e.type===14)return"EOF";const o=(e.value||"").replace(/\r?\n/gu,"\\n");return o.length>10?o.slice(0,9)+"…":o}function lm(e,o={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:s=>(t.helpers.add(s),s)}}function cl(e,o){for(let t=0;tul(t)),e}function ul(e){if(e.items.length===1){const o=e.items[0];(o.type===3||o.type===9)&&(e.static=o.value,delete o.value)}else{const o=[];for(let t=0;tr;function l(A,N){r.code+=A}function c(A,N=!0){const x=N?n:"";l(a?x+" ".repeat(A):x)}function u(A=!0){const N=++r.indentLevel;A&&c(N)}function d(A=!0){const N=--r.indentLevel;A&&c(N)}function $(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:$,helper:A=>`_${A}`,needIndent:()=>r.needIndent}}function hm(e,o){const{helper:t}=e;e.push(`${t("linked")}(`),Rt(e,o.key),o.modifier?(e.push(", "),Rt(e,o.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function fm(e,o){const{helper:t,needIndent:n}=e;e.push(`${t("normalize")}([`),e.indent(n());const a=o.items.length;for(let s=0;s1){e.push(`${t("plural")}([`),e.indent(n());const a=o.cases.length;for(let s=0;s{const t=rl(o.mode)?o.mode:"normal",n=rl(o.filename)?o.filename:"message.intl";o.sourceMap;const a=o.breakLineCode!=null?o.breakLineCode:t==="arrow"?";":` -`,s=o.needIndent?o.needIndent:t!=="arrow",r=e.helpers||[],i=dm(e,{filename:n,breakLineCode:a,needIndent:s});i.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${il(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Rt(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function _m(e,o={}){const t=sl({},o),n=!!t.jit,a=!!t.minify,s=t.optimize==null?!0:t.optimize,i=im(t).parse(e);return n?(s&&um(i),a&&xt(i),{ast:i,code:""}):(cm(i,t),bm(i,t))}/*! + */function V$(e,o,t){return{line:e,column:o,offset:t}}function ia(e,o,t){return{start:e,end:o}}const K$=/\{([0-9a-zA-Z]+)\}/g;function al(e,...o){return o.length===1&&q$(o[0])&&(o=o[0]),(!o||!o.hasOwnProperty)&&(o={}),e.replace(K$,(t,n)=>o.hasOwnProperty(n)?o[n]:"")}const sl=Object.assign,rl=e=>typeof e=="string",q$=e=>e!==null&&typeof e=="object";function il(e,o=""){return e.reduce((t,n,a)=>a===0?t+n:t+o+n,"")}const us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},H$={[us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function W$(e,o,...t){const n=al(H$[e],...t||[]),a={message:String(n),code:e};return o&&(a.location=o),a}const ie={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},Y$={[ie.EXPECTED_TOKEN]:"Expected token: '{0}'",[ie.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ie.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ie.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ie.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ie.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ie.EMPTY_PLACEHOLDER]:"Empty placeholder",[ie.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ie.INVALID_LINKED_FORMAT]:"Invalid linked format",[ie.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ie.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ie.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ie.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ie.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ie.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Tt(e,o,t={}){const{domain:n,messages:a,args:s}=t,r=al((a||Y$)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,o&&(i.location=o),i.domain=n,i}function X$(e){throw e}const Vo=" ",J$="\r",Qe=` +`,Z$="\u2028",Q$="\u2029";function em(e){const o=e;let t=0,n=1,a=1,s=0;const r=_=>o[_]===J$&&o[_+1]===Qe,i=_=>o[_]===Qe,l=_=>o[_]===Q$,c=_=>o[_]===Z$,u=_=>r(_)||i(_)||l(_)||c(_),d=()=>t,$=()=>n,b=()=>a,w=()=>s,A=_=>r(_)||l(_)||c(_)?Qe:o[_],T=()=>A(t),x=()=>A(t+s);function L(){return s=0,u(t)&&(n++,a=0),r(t)&&t++,t++,a++,o[t]}function k(){return r(t+s)&&s++,s++,o[t+s]}function y(){t=0,n=1,a=1,s=0}function E(_=0){s=_}function C(){const _=t+s;for(;_!==t;)L();s=0}return{index:d,line:$,column:b,peekOffset:w,charAt:A,currentChar:T,currentPeek:x,next:L,peek:k,reset:y,resetPeek:E,skipToPeek:C}}const ot=void 0,om=".",ll="'",tm="tokenizer";function nm(e,o={}){const t=o.location!==!1,n=em(e),a=()=>n.index(),s=()=>V$(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=o;function d(p,g,N,...R){const K=c();if(g.column+=N,g.offset+=N,u){const U=t?ia(K.startLoc,g):null,P=Tt(p,U,{domain:tm,args:R});u(P)}}function $(p,g,N){p.endLoc=s(),p.currentType=g;const R={type:g};return t&&(R.loc=ia(p.startLoc,p.endLoc)),N!=null&&(R.value=N),R}const b=p=>$(p,14);function w(p,g){return p.currentChar()===g?(p.next(),g):(d(ie.EXPECTED_TOKEN,s(),0,g),"")}function A(p){let g="";for(;p.currentPeek()===Vo||p.currentPeek()===Qe;)g+=p.currentPeek(),p.peek();return g}function T(p){const g=A(p);return p.skipToPeek(),g}function x(p){if(p===ot)return!1;const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g===95}function L(p){if(p===ot)return!1;const g=p.charCodeAt(0);return g>=48&&g<=57}function k(p,g){const{currentType:N}=g;if(N!==2)return!1;A(p);const R=x(p.currentPeek());return p.resetPeek(),R}function y(p,g){const{currentType:N}=g;if(N!==2)return!1;A(p);const R=p.currentPeek()==="-"?p.peek():p.currentPeek(),K=L(R);return p.resetPeek(),K}function E(p,g){const{currentType:N}=g;if(N!==2)return!1;A(p);const R=p.currentPeek()===ll;return p.resetPeek(),R}function C(p,g){const{currentType:N}=g;if(N!==8)return!1;A(p);const R=p.currentPeek()===".";return p.resetPeek(),R}function _(p,g){const{currentType:N}=g;if(N!==9)return!1;A(p);const R=x(p.currentPeek());return p.resetPeek(),R}function S(p,g){const{currentType:N}=g;if(!(N===8||N===12))return!1;A(p);const R=p.currentPeek()===":";return p.resetPeek(),R}function f(p,g){const{currentType:N}=g;if(N!==10)return!1;const R=()=>{const U=p.currentPeek();return U==="{"?x(p.peek()):U==="@"||U==="%"||U==="|"||U===":"||U==="."||U===Vo||!U?!1:U===Qe?(p.peek(),R()):B(p,!1)},K=R();return p.resetPeek(),K}function D(p){A(p);const g=p.currentPeek()==="|";return p.resetPeek(),g}function G(p){const g=A(p),N=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:N,hasSpace:g.length>0}}function B(p,g=!0){const N=(K=!1,U="",P=!1)=>{const I=p.currentPeek();return I==="{"?U==="%"?!1:K:I==="@"||!I?U==="%"?!0:K:I==="%"?(p.peek(),N(K,"%",!0)):I==="|"?U==="%"||P?!0:!(U===Vo||U===Qe):I===Vo?(p.peek(),N(!0,Vo,P)):I===Qe?(p.peek(),N(!0,Qe,P)):!0},R=N();return g&&p.resetPeek(),R}function W(p,g){const N=p.currentChar();return N===ot?ot:g(N)?(p.next(),N):null}function ee(p){const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g>=48&&g<=57||g===95||g===36}function j(p){return W(p,ee)}function q(p){const g=p.charCodeAt(0);return g>=97&&g<=122||g>=65&&g<=90||g>=48&&g<=57||g===95||g===36||g===45}function H(p){return W(p,q)}function ue(p){const g=p.charCodeAt(0);return g>=48&&g<=57}function Ne(p){return W(p,ue)}function Be(p){const g=p.charCodeAt(0);return g>=48&&g<=57||g>=65&&g<=70||g>=97&&g<=102}function xe(p){return W(p,Be)}function we(p){let g="",N="";for(;g=Ne(p);)N+=g;return N}function Z(p){T(p);const g=p.currentChar();return g!=="%"&&d(ie.EXPECTED_TOKEN,s(),0,g),p.next(),"%"}function ae(p){let g="";for(;;){const N=p.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(B(p))g+=N,p.next();else break;else if(N===Vo||N===Qe)if(B(p))g+=N,p.next();else{if(D(p))break;g+=N,p.next()}else g+=N,p.next()}return g}function X(p){T(p);let g="",N="";for(;g=H(p);)N+=g;return p.currentChar()===ot&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),N}function ne(p){T(p);let g="";return p.currentChar()==="-"?(p.next(),g+=`-${we(p)}`):g+=we(p),p.currentChar()===ot&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),g}function J(p){return p!==ll&&p!==Qe}function oe(p){T(p),w(p,"'");let g="",N="";for(;g=W(p,J);)g==="\\"?N+=Q(p):N+=g;const R=p.currentChar();return R===Qe||R===ot?(d(ie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),R===Qe&&(p.next(),w(p,"'")),N):(w(p,"'"),N)}function Q(p){const g=p.currentChar();switch(g){case"\\":case"'":return p.next(),`\\${g}`;case"u":return me(p,g,4);case"U":return me(p,g,6);default:return d(ie.UNKNOWN_ESCAPE_SEQUENCE,s(),0,g),""}}function me(p,g,N){w(p,g);let R="";for(let K=0;K{const R=p.currentChar();return R==="{"||R==="%"||R==="@"||R==="|"||R==="("||R===")"||!R||R===Vo?N:(N+=R,p.next(),g(N))};return g("")}function M(p){T(p);const g=w(p,"|");return T(p),g}function F(p,g){let N=null;switch(p.currentChar()){case"{":return g.braceNest>=1&&d(ie.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),p.next(),N=$(g,2,"{"),T(p),g.braceNest++,N;case"}":return g.braceNest>0&&g.currentType===2&&d(ie.EMPTY_PLACEHOLDER,s(),0),p.next(),N=$(g,3,"}"),g.braceNest--,g.braceNest>0&&T(p),g.inLinked&&g.braceNest===0&&(g.inLinked=!1),N;case"@":return g.braceNest>0&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),N=O(p,g)||b(g),g.braceNest=0,N;default:{let K=!0,U=!0,P=!0;if(D(p))return g.braceNest>0&&d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),N=$(g,1,M(p)),g.braceNest=0,g.inLinked=!1,N;if(g.braceNest>0&&(g.currentType===5||g.currentType===6||g.currentType===7))return d(ie.UNTERMINATED_CLOSING_BRACE,s(),0),g.braceNest=0,V(p,g);if(K=k(p,g))return N=$(g,5,X(p)),T(p),N;if(U=y(p,g))return N=$(g,6,ne(p)),T(p),N;if(P=E(p,g))return N=$(g,7,oe(p)),T(p),N;if(!K&&!U&&!P)return N=$(g,13,h(p)),d(ie.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,N.value),T(p),N;break}}return N}function O(p,g){const{currentType:N}=g;let R=null;const K=p.currentChar();switch((N===8||N===9||N===12||N===10)&&(K===Qe||K===Vo)&&d(ie.INVALID_LINKED_FORMAT,s(),0),K){case"@":return p.next(),R=$(g,8,"@"),g.inLinked=!0,R;case".":return T(p),p.next(),$(g,9,".");case":":return T(p),p.next(),$(g,10,":");default:return D(p)?(R=$(g,1,M(p)),g.braceNest=0,g.inLinked=!1,R):C(p,g)||S(p,g)?(T(p),O(p,g)):_(p,g)?(T(p),$(g,12,v(p))):f(p,g)?(T(p),K==="{"?F(p,g)||R:$(g,11,m(p))):(N===8&&d(ie.INVALID_LINKED_FORMAT,s(),0),g.braceNest=0,g.inLinked=!1,V(p,g))}}function V(p,g){let N={type:14};if(g.braceNest>0)return F(p,g)||b(g);if(g.inLinked)return O(p,g)||b(g);switch(p.currentChar()){case"{":return F(p,g)||b(g);case"}":return d(ie.UNBALANCED_CLOSING_BRACE,s(),0),p.next(),$(g,3,"}");case"@":return O(p,g)||b(g);default:{if(D(p))return N=$(g,1,M(p)),g.braceNest=0,g.inLinked=!1,N;const{isModulo:K,hasSpace:U}=G(p);if(K)return U?$(g,0,ae(p)):$(g,4,Z(p));if(B(p))return $(g,0,ae(p));break}}return N}function z(){const{currentType:p,offset:g,startLoc:N,endLoc:R}=l;return l.lastType=p,l.lastOffset=g,l.lastStartLoc=N,l.lastEndLoc=R,l.offset=a(),l.startLoc=s(),n.currentChar()===ot?$(l,14):V(n,l)}return{nextToken:z,currentOffset:a,currentPosition:s,context:c}}const am="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function rm(e,o,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(o||t,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function im(e={}){const o=e.location!==!1,{onError:t,onWarn:n}=e;function a(k,y,E,C,..._){const S=k.currentPosition();if(S.offset+=C,S.column+=C,t){const f=o?ia(E,S):null,D=Tt(y,f,{domain:am,args:_});t(D)}}function s(k,y,E,C,..._){const S=k.currentPosition();if(S.offset+=C,S.column+=C,n){const f=o?ia(E,S):null;n(W$(y,f,_))}}function r(k,y,E){const C={type:k};return o&&(C.start=y,C.end=y,C.loc={start:E,end:E}),C}function i(k,y,E,C){o&&(k.end=y,k.loc&&(k.loc.end=E))}function l(k,y){const E=k.context(),C=r(3,E.offset,E.startLoc);return C.value=y,i(C,k.currentOffset(),k.currentPosition()),C}function c(k,y){const E=k.context(),{lastOffset:C,lastStartLoc:_}=E,S=r(5,C,_);return S.index=parseInt(y,10),k.nextToken(),i(S,k.currentOffset(),k.currentPosition()),S}function u(k,y,E){const C=k.context(),{lastOffset:_,lastStartLoc:S}=C,f=r(4,_,S);return f.key=y,E===!0&&(f.modulo=!0),k.nextToken(),i(f,k.currentOffset(),k.currentPosition()),f}function d(k,y){const E=k.context(),{lastOffset:C,lastStartLoc:_}=E,S=r(9,C,_);return S.value=y.replace(sm,rm),k.nextToken(),i(S,k.currentOffset(),k.currentPosition()),S}function $(k){const y=k.nextToken(),E=k.context(),{lastOffset:C,lastStartLoc:_}=E,S=r(8,C,_);return y.type!==12?(a(k,ie.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),S.value="",i(S,C,_),{nextConsumeToken:y,node:S}):(y.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,bo(y)),S.value=y.value||"",i(S,k.currentOffset(),k.currentPosition()),{node:S})}function b(k,y){const E=k.context(),C=r(7,E.offset,E.startLoc);return C.value=y,i(C,k.currentOffset(),k.currentPosition()),C}function w(k){const y=k.context(),E=r(6,y.offset,y.startLoc);let C=k.nextToken();if(C.type===9){const _=$(k);E.modifier=_.node,C=_.nextConsumeToken||k.nextToken()}switch(C.type!==10&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(C)),C=k.nextToken(),C.type===2&&(C=k.nextToken()),C.type){case 11:C.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(C)),E.key=b(k,C.value||"");break;case 5:C.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(C)),E.key=u(k,C.value||"");break;case 6:C.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(C)),E.key=c(k,C.value||"");break;case 7:C.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(C)),E.key=d(k,C.value||"");break;default:{a(k,ie.UNEXPECTED_EMPTY_LINKED_KEY,y.lastStartLoc,0);const _=k.context(),S=r(7,_.offset,_.startLoc);return S.value="",i(S,_.offset,_.startLoc),E.key=S,i(E,_.offset,_.startLoc),{nextConsumeToken:C,node:E}}}return i(E,k.currentOffset(),k.currentPosition()),{node:E}}function A(k){const y=k.context(),E=y.currentType===1?k.currentOffset():y.offset,C=y.currentType===1?y.endLoc:y.startLoc,_=r(2,E,C);_.items=[];let S=null,f=null;do{const B=S||k.nextToken();switch(S=null,B.type){case 0:B.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(l(k,B.value||""));break;case 6:B.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(c(k,B.value||""));break;case 4:f=!0;break;case 5:B.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(u(k,B.value||"",!!f)),f&&(s(k,us.USE_MODULO_SYNTAX,y.lastStartLoc,0,bo(B)),f=null);break;case 7:B.value==null&&a(k,ie.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,bo(B)),_.items.push(d(k,B.value||""));break;case 8:{const W=w(k);_.items.push(W.node),S=W.nextConsumeToken||null;break}}}while(y.currentType!==14&&y.currentType!==1);const D=y.currentType===1?y.lastOffset:k.currentOffset(),G=y.currentType===1?y.lastEndLoc:k.currentPosition();return i(_,D,G),_}function T(k,y,E,C){const _=k.context();let S=C.items.length===0;const f=r(1,y,E);f.cases=[],f.cases.push(C);do{const D=A(k);S||(S=D.items.length===0),f.cases.push(D)}while(_.currentType!==14);return S&&a(k,ie.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),i(f,k.currentOffset(),k.currentPosition()),f}function x(k){const y=k.context(),{offset:E,startLoc:C}=y,_=A(k);return y.currentType===14?_:T(k,E,C,_)}function L(k){const y=nm(k,sl({},e)),E=y.context(),C=r(0,E.offset,E.startLoc);return o&&C.loc&&(C.loc.source=k),C.body=x(y),e.onCacheKey&&(C.cacheKey=e.onCacheKey(k)),E.currentType!==14&&a(y,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,k[E.offset]||""),i(C,y.currentOffset(),y.currentPosition()),C}return{parse:L}}function bo(e){if(e.type===14)return"EOF";const o=(e.value||"").replace(/\r?\n/gu,"\\n");return o.length>10?o.slice(0,9)+"…":o}function lm(e,o={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:s=>(t.helpers.add(s),s)}}function cl(e,o){for(let t=0;tul(t)),e}function ul(e){if(e.items.length===1){const o=e.items[0];(o.type===3||o.type===9)&&(e.static=o.value,delete o.value)}else{const o=[];for(let t=0;tr;function l(A,T){r.code+=A}function c(A,T=!0){const x=T?n:"";l(a?x+" ".repeat(A):x)}function u(A=!0){const T=++r.indentLevel;A&&c(T)}function d(A=!0){const T=--r.indentLevel;A&&c(T)}function $(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:$,helper:A=>`_${A}`,needIndent:()=>r.needIndent}}function hm(e,o){const{helper:t}=e;e.push(`${t("linked")}(`),Mt(e,o.key),o.modifier?(e.push(", "),Mt(e,o.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function fm(e,o){const{helper:t,needIndent:n}=e;e.push(`${t("normalize")}([`),e.indent(n());const a=o.items.length;for(let s=0;s1){e.push(`${t("plural")}([`),e.indent(n());const a=o.cases.length;for(let s=0;s{const t=rl(o.mode)?o.mode:"normal",n=rl(o.filename)?o.filename:"message.intl";o.sourceMap;const a=o.breakLineCode!=null?o.breakLineCode:t==="arrow"?";":` +`,s=o.needIndent?o.needIndent:t!=="arrow",r=e.helpers||[],i=dm(e,{filename:n,breakLineCode:a,needIndent:s});i.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${il(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Mt(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function _m(e,o={}){const t=sl({},o),n=!!t.jit,a=!!t.minify,s=t.optimize==null?!0:t.optimize,i=im(t).parse(e);return n?(s&&um(i),a&&xt(i),{ast:i,code:""}):(cm(i,t),bm(i,t))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ym(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(zo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(zo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(zo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Co(e){return $e(e)&&gs(e)===0&&(mo(e,"b")||mo(e,"body"))}const pl=["b","body"];function vm(e){return tt(e,pl)}const gl=["c","cases"];function km(e){return tt(e,gl,[])}const dl=["s","static"];function Am(e){return tt(e,dl)}const hl=["i","items"];function Sm(e){return tt(e,hl,[])}const fl=["t","type"];function gs(e){return tt(e,fl)}const $l=["v","value"];function la(e,o){const t=tt(e,$l);if(t!=null)return t;throw hn(o)}const ml=["m","modifier"];function Lm(e){return tt(e,ml)}const bl=["k","key"];function wm(e){const o=tt(e,bl);if(o)return o;throw hn(6)}function tt(e,o,t){for(let n=0;n{r===void 0?r=i:r+=i},$[1]=()=>{r!==void 0&&(o.push(r),r=void 0)},$[2]=()=>{$[0](),a++},$[3]=()=>{if(a>0)a--,n=4,$[0]();else{if(a=0,r===void 0||(r=Nm(r),r===!1))return!1;$[1]()}};function b(){const w=e[t+1];if(n===5&&w==="'"||n===6&&w==='"')return t++,i="\\"+w,$[0](),!0}for(;n!==null;)if(t++,s=e[t],!(s==="\\"&&b())){if(l=Tm(s),d=nt[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=$[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return o}}const yl=new Map;function Rm(e,o){return $e(e)?e[o]:null}function Mm(e,o){if(!$e(e))return null;let t=yl.get(o);if(t||(t=xm(o),t&&yl.set(o,t)),!t)return null;const n=t.length;let a=e,s=0;for(;se,Om=e=>"",Fm="text",Dm=e=>e.length===0?"":z$(e),Gm=j$;function vl(e,o){return e=Math.abs(e),o===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Bm(e){const o=Oe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Oe(e.named.count)||Oe(e.named.n))?Oe(e.named.count)?e.named.count:Oe(e.named.n)?e.named.n:o:o}function Um(e,o){o.count||(o.count=e),o.n||(o.n=e)}function jm(e={}){const o=e.locale,t=Bm(e),n=$e(e.pluralRules)&&Y(o)&&Le(e.pluralRules[o])?e.pluralRules[o]:vl,a=$e(e.pluralRules)&&Y(o)&&Le(e.pluralRules[o])?vl:void 0,s=x=>x[n(t,x.length,a)],r=e.list||[],i=x=>r[x],l=e.named||ve();Oe(e.pluralIndex)&&Um(t,l);const c=x=>l[x];function u(x){const L=Le(e.messages)?e.messages(x):$e(e.messages)?e.messages[x]:!1;return L||(e.parent?e.parent.message(x):Om)}const d=x=>e.modifiers?e.modifiers[x]:Im,$=ce(e.processor)&&Le(e.processor.normalize)?e.processor.normalize:Dm,b=ce(e.processor)&&Le(e.processor.interpolate)?e.processor.interpolate:Gm,w=ce(e.processor)&&Y(e.processor.type)?e.processor.type:Fm,N={list:i,named:c,plural:s,linked:(x,...L)=>{const[v,y]=L;let E="text",T="";L.length===1?$e(v)?(T=v.modifier||T,E=v.type||E):Y(v)&&(T=v||T):L.length===2&&(Y(v)&&(T=v||T),Y(y)&&(E=y||E));const _=u(x)(N),S=E==="vnode"&&Ee(_)&&T?_[0]:_;return T?d(T)(S,E):S},message:u,type:w,interpolate:b,normalize:$,values:qe(ve(),r,l)};return N}let fn=null;function zm(e){fn=e}function Vm(e,o,t){fn&&fn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:o,meta:t})}const Km=qm("function:translate");function qm(e){return o=>fn&&fn.emit(e,o)}const Hm=us.__EXTEND_POINT__,ft=aa(Hm),Wm={FALLBACK_TO_TRANSLATE:ft(),CANNOT_FORMAT_NUMBER:ft(),FALLBACK_TO_NUMBER_FORMAT:ft(),CANNOT_FORMAT_DATE:ft(),FALLBACK_TO_DATE_FORMAT:ft(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:ft(),__EXTEND_POINT__:ft()},kl=ie.__EXTEND_POINT__,$t=aa(kl),_o={INVALID_ARGUMENT:kl,INVALID_DATE_ARGUMENT:$t(),INVALID_ISO_DATE_ARGUMENT:$t(),NOT_SUPPORT_NON_STRING_MESSAGE:$t(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:$t(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:$t(),NOT_SUPPORT_LOCALE_TYPE:$t(),__EXTEND_POINT__:$t()};function To(e){return Nt(e,null,void 0)}function ds(e,o){return o.locale!=null?Al(o.locale):Al(e.locale)}let hs;function Al(e){if(Y(e))return e;if(Le(e)){if(e.resolvedOnce&&hs!=null)return hs;if(e.constructor.name==="Function"){const o=e();if(U$(o))throw To(_o.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return hs=o}else throw To(_o.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw To(_o.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,o,t){return[...new Set([t,...Ee(o)?o:$e(o)?Object.keys(o):Y(o)?[o]:[t]])]}function Sl(e,o,t){const n=Y(t)?t:Mt,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[t];for(;Ee(r);)r=Ll(s,r,o);const i=Ee(o)||!ce(o)?o:o.default?o.default:null;r=Y(i)?[i]:i,Ee(r)&&Ll(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Ll(e,o,t){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,o)=>o==="text"&&Y(e)?e.toUpperCase():o==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,o)=>o==="text"&&Y(e)?e.toLowerCase():o==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,o)=>o==="text"&&Y(e)?Pl(e):o==="vnode"&&$e(e)&&"__v_isVNode"in e?Pl(e.children):e}}let El;function Cl(e){El=e}let Tl;function eb(e){Tl=e}let Nl;function ob(e){Nl=e}let xl=null;const tb=e=>{xl=e},nb=()=>xl;let Rl=null;const Ml=e=>{Rl=e},ab=()=>Rl;let Il=0;function sb(e={}){const o=Le(e.onWarn)?e.onWarn:M$,t=Y(e.version)?e.version:Zm,n=Y(e.locale)||Le(e.locale)?e.locale:Mt,a=Le(n)?Mt:n,s=Ee(e.fallbackLocale)||ce(e.fallbackLocale)||Y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ce(e.messages)?e.messages:fs(a),i=ce(e.datetimeFormats)?e.datetimeFormats:fs(a),l=ce(e.numberFormats)?e.numberFormats:fs(a),c=qe(ve(),e.modifiers,Qm()),u=e.pluralRules||ve(),d=Le(e.missing)?e.missing:null,$=de(e.missingWarn)||et(e.missingWarn)?e.missingWarn:!0,b=de(e.fallbackWarn)||et(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,A=!!e.unresolving,N=Le(e.postTranslation)?e.postTranslation:null,x=ce(e.processor)?e.processor:null,L=de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter,y=Le(e.messageCompiler)?e.messageCompiler:El,E=Le(e.messageResolver)?e.messageResolver:Tl||Rm,T=Le(e.localeFallbacker)?e.localeFallbacker:Nl||Ym,_=$e(e.fallbackContext)?e.fallbackContext:void 0,S=e,f=$e(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,D=$e(S.__numberFormatters)?S.__numberFormatters:new Map,G=$e(S.__meta)?S.__meta:{};Il++;const B={version:t,cid:Il,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:$,fallbackWarn:b,fallbackFormat:w,unresolving:A,postTranslation:N,processor:x,warnHtmlMessage:L,escapeParameter:v,messageCompiler:y,messageResolver:E,localeFallbacker:T,fallbackContext:_,onWarn:o,__meta:G};return B.datetimeFormats=i,B.numberFormats=l,B.__datetimeFormatters=f,B.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&Vm(B,t,G),B}const fs=e=>({[e]:ve()});function $s(e,o,t,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,t,o,a);return Y(i)?i:o}else return o}function $n(e,o,t){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,t,o)}function rb(e,o){return e===o?!1:e.split("-")[0]===o.split("-")[0]}function ib(e,o){const t=o.indexOf(e);if(t===-1)return!1;for(let n=t+1;nlb(t,e)}function lb(e,o){const t=vm(o);if(t==null)throw hn(0);if(gs(t)===1){const s=km(t);return e.plural(s.reduce((r,i)=>[...r,Ol(e,i)],[]))}else return Ol(e,t)}function Ol(e,o){const t=Am(o);if(t!=null)return e.type==="text"?t:e.normalize([t]);{const n=Sm(o).reduce((a,s)=>[...a,bs(e,s)],[]);return e.normalize(n)}}function bs(e,o){const t=gs(o);switch(t){case 3:return la(o,t);case 9:return la(o,t);case 4:{const n=o;if(mo(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(mo(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw hn(t)}case 5:{const n=o;if(mo(n,"i")&&Oe(n.i))return e.interpolate(e.list(n.i));if(mo(n,"index")&&Oe(n.index))return e.interpolate(e.list(n.index));throw hn(t)}case 6:{const n=o,a=Lm(n),s=wm(n);return e.linked(bs(e,s),a?bs(e,a):void 0,e.type)}case 7:return la(o,t);case 8:return la(o,t);default:throw new Error(`unhandled node on format message part: ${t}`)}}const Fl=e=>e;let It=ve();function Dl(e,o={}){let t=!1;const n=o.onError||X$;return o.onError=a=>{t=!0,n(a)},{..._m(e,o),detectError:t}}const cb=(e,o)=>{if(!Y(e))throw To(_o.NOT_SUPPORT_NON_STRING_MESSAGE);{de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Fl)(e),a=It[n];if(a)return a;const{code:s,detectError:r}=Dl(e,o),i=new Function(`return ${s}`)();return r?i:It[n]=i}};function ub(e,o){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Y(e)){de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Fl)(e),a=It[n];if(a)return a;const{ast:s,detectError:r}=Dl(e,{...o,location:!1,jit:!0}),i=ms(s);return r?i:It[n]=i}else{const t=e.cacheKey;if(t){const n=It[t];return n||(It[t]=ms(e))}else return ms(e)}}const Gl=()=>"",co=e=>Le(e);function Bl(e,...o){const{fallbackFormat:t,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=_s(...o),u=de(c.missingWarn)?c.missingWarn:e.missingWarn,d=de(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,$=de(c.escapeParameter)?c.escapeParameter:e.escapeParameter,b=!!c.resolvedMessage,w=Y(c.default)||de(c.default)?de(c.default)?s?l:()=>l:c.default:t?s?l:()=>l:"",A=t||w!=="",N=ds(e,c);$&&pb(c);let[x,L,v]=b?[l,N,i[N]||ve()]:Ul(e,l,N,r,d,u),y=x,E=l;if(!b&&!(Y(y)||Co(y)||co(y))&&A&&(y=w,E=y),!b&&(!(Y(y)||Co(y)||co(y))||!Y(L)))return a?ca:l;let T=!1;const _=()=>{T=!0},S=co(y)?y:jl(e,l,L,y,E,_);if(T)return y;const f=hb(e,L,v,c),D=jm(f),G=gb(e,S,D);let B=n?n(G,l):G;if($&&Y(B)&&(B=G$(B)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:Y(l)?l:co(y)?y.key:"",locale:L||(co(y)?y.locale:""),format:Y(y)?y:co(y)?y.source:"",message:B};W.meta=qe({},e.__meta,nb()||{}),Km(W)}return B}function pb(e){Ee(e.list)?e.list=e.list.map(o=>Y(o)?el(o):o):$e(e.named)&&Object.keys(e.named).forEach(o=>{Y(e.named[o])&&(e.named[o]=el(e.named[o]))})}function Ul(e,o,t,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,t);let d=ve(),$,b=null;const w="translate";for(let A=0;An;return c.locale=t,c.key=o,c}const l=r(n,db(e,t,a,n,i,s));return l.locale=t,l.key=o,l.source=n,l}function gb(e,o,t){return o(t)}function _s(...e){const[o,t,n]=e,a=ve();if(!Y(o)&&!Oe(o)&&!co(o)&&!Co(o))throw To(_o.INVALID_ARGUMENT);const s=Oe(o)?String(o):(co(o),o);return Oe(t)?a.plural=t:Y(t)?a.default=t:ce(t)&&!na(t)?a.named=t:Ee(t)&&(a.list=t),Oe(n)?a.plural=n:Y(n)?a.default=n:ce(n)&&qe(a,n),[s,a]}function db(e,o,t,n,a,s){return{locale:o,key:t,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>I$(o,t,r)}}function hb(e,o,t,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,$={locale:o,modifiers:a,pluralRules:s,messages:b=>{let w=r(t,b);if(w==null&&u){const[,,A]=Ul(u,b,o,i,l,c);w=r(A,b)}if(Y(w)||Co(w)){let A=!1;const x=jl(e,b,o,w,b,()=>{A=!0});return A?Gl:x}else return co(w)?w:Gl}};return e.processor&&($.processor=e.processor),n.list&&($.list=n.list),n.named&&($.named=n.named),Oe(n.plural)&&($.pluralIndex=n.plural),$}function zl(e,...o){const{datetimeFormats:t,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=ys(...o),$=de(u.missingWarn)?u.missingWarn:e.missingWarn;de(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const b=!!u.part,w=ds(e,u),A=r(e,a,w);if(!Y(l)||l==="")return new Intl.DateTimeFormat(w,d).format(c);let N={},x,L=null;const v="datetime format";for(let T=0;T{Vl.includes(l)?r[l]=t[l]:s[l]=t[l]}),Y(n)?s.locale=n:ce(n)&&(r=n),ce(a)&&(r=a),[s.key||"",i,s,r]}function Kl(e,o,t){const n=e;for(const a in t){const s=`${o}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function ql(e,...o){const{numberFormats:t,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=vs(...o),$=de(u.missingWarn)?u.missingWarn:e.missingWarn;de(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const b=!!u.part,w=ds(e,u),A=r(e,a,w);if(!Y(l)||l==="")return new Intl.NumberFormat(w,d).format(c);let N={},x,L=null;const v="number format";for(let T=0;T{Hl.includes(l)?r[l]=t[l]:s[l]=t[l]}),Y(n)?s.locale=n:ce(n)&&(r=n),ce(a)&&(r=a),[s.key||"",i,s,r]}function Wl(e,o,t){const n=e;for(const a in t){const s=`${o}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}ym();/*! + */function ym(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(zo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(zo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(zo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function No(e){return $e(e)&&gs(e)===0&&(mo(e,"b")||mo(e,"body"))}const pl=["b","body"];function km(e){return tt(e,pl)}const gl=["c","cases"];function vm(e){return tt(e,gl,[])}const dl=["s","static"];function Am(e){return tt(e,dl)}const hl=["i","items"];function Sm(e){return tt(e,hl,[])}const fl=["t","type"];function gs(e){return tt(e,fl)}const $l=["v","value"];function la(e,o){const t=tt(e,$l);if(t!=null)return t;throw hn(o)}const ml=["m","modifier"];function Lm(e){return tt(e,ml)}const bl=["k","key"];function wm(e){const o=tt(e,bl);if(o)return o;throw hn(6)}function tt(e,o,t){for(let n=0;n{r===void 0?r=i:r+=i},$[1]=()=>{r!==void 0&&(o.push(r),r=void 0)},$[2]=()=>{$[0](),a++},$[3]=()=>{if(a>0)a--,n=4,$[0]();else{if(a=0,r===void 0||(r=Tm(r),r===!1))return!1;$[1]()}};function b(){const w=e[t+1];if(n===5&&w==="'"||n===6&&w==='"')return t++,i="\\"+w,$[0](),!0}for(;n!==null;)if(t++,s=e[t],!(s==="\\"&&b())){if(l=Cm(s),d=nt[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=$[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return o}}const yl=new Map;function Mm(e,o){return $e(e)?e[o]:null}function Rm(e,o){if(!$e(e))return null;let t=yl.get(o);if(t||(t=xm(o),t&&yl.set(o,t)),!t)return null;const n=t.length;let a=e,s=0;for(;se,Om=e=>"",Fm="text",Dm=e=>e.length===0?"":z$(e),Gm=j$;function kl(e,o){return e=Math.abs(e),o===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Bm(e){const o=Oe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Oe(e.named.count)||Oe(e.named.n))?Oe(e.named.count)?e.named.count:Oe(e.named.n)?e.named.n:o:o}function Um(e,o){o.count||(o.count=e),o.n||(o.n=e)}function jm(e={}){const o=e.locale,t=Bm(e),n=$e(e.pluralRules)&&Y(o)&&Le(e.pluralRules[o])?e.pluralRules[o]:kl,a=$e(e.pluralRules)&&Y(o)&&Le(e.pluralRules[o])?kl:void 0,s=x=>x[n(t,x.length,a)],r=e.list||[],i=x=>r[x],l=e.named||ke();Oe(e.pluralIndex)&&Um(t,l);const c=x=>l[x];function u(x){const L=Le(e.messages)?e.messages(x):$e(e.messages)?e.messages[x]:!1;return L||(e.parent?e.parent.message(x):Om)}const d=x=>e.modifiers?e.modifiers[x]:Im,$=ce(e.processor)&&Le(e.processor.normalize)?e.processor.normalize:Dm,b=ce(e.processor)&&Le(e.processor.interpolate)?e.processor.interpolate:Gm,w=ce(e.processor)&&Y(e.processor.type)?e.processor.type:Fm,T={list:i,named:c,plural:s,linked:(x,...L)=>{const[k,y]=L;let E="text",C="";L.length===1?$e(k)?(C=k.modifier||C,E=k.type||E):Y(k)&&(C=k||C):L.length===2&&(Y(k)&&(C=k||C),Y(y)&&(E=y||E));const _=u(x)(T),S=E==="vnode"&&Ee(_)&&C?_[0]:_;return C?d(C)(S,E):S},message:u,type:w,interpolate:b,normalize:$,values:qe(ke(),r,l)};return T}let fn=null;function zm(e){fn=e}function Vm(e,o,t){fn&&fn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:o,meta:t})}const Km=qm("function:translate");function qm(e){return o=>fn&&fn.emit(e,o)}const Hm=us.__EXTEND_POINT__,ft=aa(Hm),Wm={FALLBACK_TO_TRANSLATE:ft(),CANNOT_FORMAT_NUMBER:ft(),FALLBACK_TO_NUMBER_FORMAT:ft(),CANNOT_FORMAT_DATE:ft(),FALLBACK_TO_DATE_FORMAT:ft(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:ft(),__EXTEND_POINT__:ft()},vl=ie.__EXTEND_POINT__,$t=aa(vl),_o={INVALID_ARGUMENT:vl,INVALID_DATE_ARGUMENT:$t(),INVALID_ISO_DATE_ARGUMENT:$t(),NOT_SUPPORT_NON_STRING_MESSAGE:$t(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:$t(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:$t(),NOT_SUPPORT_LOCALE_TYPE:$t(),__EXTEND_POINT__:$t()};function Co(e){return Tt(e,null,void 0)}function ds(e,o){return o.locale!=null?Al(o.locale):Al(e.locale)}let hs;function Al(e){if(Y(e))return e;if(Le(e)){if(e.resolvedOnce&&hs!=null)return hs;if(e.constructor.name==="Function"){const o=e();if(U$(o))throw Co(_o.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return hs=o}else throw Co(_o.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Co(_o.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,o,t){return[...new Set([t,...Ee(o)?o:$e(o)?Object.keys(o):Y(o)?[o]:[t]])]}function Sl(e,o,t){const n=Y(t)?t:Rt,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[t];for(;Ee(r);)r=Ll(s,r,o);const i=Ee(o)||!ce(o)?o:o.default?o.default:null;r=Y(i)?[i]:i,Ee(r)&&Ll(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Ll(e,o,t){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,o)=>o==="text"&&Y(e)?e.toUpperCase():o==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,o)=>o==="text"&&Y(e)?e.toLowerCase():o==="vnode"&&$e(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,o)=>o==="text"&&Y(e)?Pl(e):o==="vnode"&&$e(e)&&"__v_isVNode"in e?Pl(e.children):e}}let El;function Nl(e){El=e}let Cl;function eb(e){Cl=e}let Tl;function ob(e){Tl=e}let xl=null;const tb=e=>{xl=e},nb=()=>xl;let Ml=null;const Rl=e=>{Ml=e},ab=()=>Ml;let Il=0;function sb(e={}){const o=Le(e.onWarn)?e.onWarn:R$,t=Y(e.version)?e.version:Zm,n=Y(e.locale)||Le(e.locale)?e.locale:Rt,a=Le(n)?Rt:n,s=Ee(e.fallbackLocale)||ce(e.fallbackLocale)||Y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ce(e.messages)?e.messages:fs(a),i=ce(e.datetimeFormats)?e.datetimeFormats:fs(a),l=ce(e.numberFormats)?e.numberFormats:fs(a),c=qe(ke(),e.modifiers,Qm()),u=e.pluralRules||ke(),d=Le(e.missing)?e.missing:null,$=de(e.missingWarn)||et(e.missingWarn)?e.missingWarn:!0,b=de(e.fallbackWarn)||et(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,A=!!e.unresolving,T=Le(e.postTranslation)?e.postTranslation:null,x=ce(e.processor)?e.processor:null,L=de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,y=Le(e.messageCompiler)?e.messageCompiler:El,E=Le(e.messageResolver)?e.messageResolver:Cl||Mm,C=Le(e.localeFallbacker)?e.localeFallbacker:Tl||Ym,_=$e(e.fallbackContext)?e.fallbackContext:void 0,S=e,f=$e(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,D=$e(S.__numberFormatters)?S.__numberFormatters:new Map,G=$e(S.__meta)?S.__meta:{};Il++;const B={version:t,cid:Il,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:$,fallbackWarn:b,fallbackFormat:w,unresolving:A,postTranslation:T,processor:x,warnHtmlMessage:L,escapeParameter:k,messageCompiler:y,messageResolver:E,localeFallbacker:C,fallbackContext:_,onWarn:o,__meta:G};return B.datetimeFormats=i,B.numberFormats=l,B.__datetimeFormatters=f,B.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&Vm(B,t,G),B}const fs=e=>({[e]:ke()});function $s(e,o,t,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,t,o,a);return Y(i)?i:o}else return o}function $n(e,o,t){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,t,o)}function rb(e,o){return e===o?!1:e.split("-")[0]===o.split("-")[0]}function ib(e,o){const t=o.indexOf(e);if(t===-1)return!1;for(let n=t+1;nlb(t,e)}function lb(e,o){const t=km(o);if(t==null)throw hn(0);if(gs(t)===1){const s=vm(t);return e.plural(s.reduce((r,i)=>[...r,Ol(e,i)],[]))}else return Ol(e,t)}function Ol(e,o){const t=Am(o);if(t!=null)return e.type==="text"?t:e.normalize([t]);{const n=Sm(o).reduce((a,s)=>[...a,bs(e,s)],[]);return e.normalize(n)}}function bs(e,o){const t=gs(o);switch(t){case 3:return la(o,t);case 9:return la(o,t);case 4:{const n=o;if(mo(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(mo(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw hn(t)}case 5:{const n=o;if(mo(n,"i")&&Oe(n.i))return e.interpolate(e.list(n.i));if(mo(n,"index")&&Oe(n.index))return e.interpolate(e.list(n.index));throw hn(t)}case 6:{const n=o,a=Lm(n),s=wm(n);return e.linked(bs(e,s),a?bs(e,a):void 0,e.type)}case 7:return la(o,t);case 8:return la(o,t);default:throw new Error(`unhandled node on format message part: ${t}`)}}const Fl=e=>e;let It=ke();function Dl(e,o={}){let t=!1;const n=o.onError||X$;return o.onError=a=>{t=!0,n(a)},{..._m(e,o),detectError:t}}const cb=(e,o)=>{if(!Y(e))throw Co(_o.NOT_SUPPORT_NON_STRING_MESSAGE);{de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Fl)(e),a=It[n];if(a)return a;const{code:s,detectError:r}=Dl(e,o),i=new Function(`return ${s}`)();return r?i:It[n]=i}};function ub(e,o){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Y(e)){de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Fl)(e),a=It[n];if(a)return a;const{ast:s,detectError:r}=Dl(e,{...o,location:!1,jit:!0}),i=ms(s);return r?i:It[n]=i}else{const t=e.cacheKey;if(t){const n=It[t];return n||(It[t]=ms(e))}else return ms(e)}}const Gl=()=>"",co=e=>Le(e);function Bl(e,...o){const{fallbackFormat:t,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=_s(...o),u=de(c.missingWarn)?c.missingWarn:e.missingWarn,d=de(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,$=de(c.escapeParameter)?c.escapeParameter:e.escapeParameter,b=!!c.resolvedMessage,w=Y(c.default)||de(c.default)?de(c.default)?s?l:()=>l:c.default:t?s?l:()=>l:"",A=t||w!=="",T=ds(e,c);$&&pb(c);let[x,L,k]=b?[l,T,i[T]||ke()]:Ul(e,l,T,r,d,u),y=x,E=l;if(!b&&!(Y(y)||No(y)||co(y))&&A&&(y=w,E=y),!b&&(!(Y(y)||No(y)||co(y))||!Y(L)))return a?ca:l;let C=!1;const _=()=>{C=!0},S=co(y)?y:jl(e,l,L,y,E,_);if(C)return y;const f=hb(e,L,k,c),D=jm(f),G=gb(e,S,D);let B=n?n(G,l):G;if($&&Y(B)&&(B=G$(B)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:Y(l)?l:co(y)?y.key:"",locale:L||(co(y)?y.locale:""),format:Y(y)?y:co(y)?y.source:"",message:B};W.meta=qe({},e.__meta,nb()||{}),Km(W)}return B}function pb(e){Ee(e.list)?e.list=e.list.map(o=>Y(o)?el(o):o):$e(e.named)&&Object.keys(e.named).forEach(o=>{Y(e.named[o])&&(e.named[o]=el(e.named[o]))})}function Ul(e,o,t,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,t);let d=ke(),$,b=null;const w="translate";for(let A=0;An;return c.locale=t,c.key=o,c}const l=r(n,db(e,t,a,n,i,s));return l.locale=t,l.key=o,l.source=n,l}function gb(e,o,t){return o(t)}function _s(...e){const[o,t,n]=e,a=ke();if(!Y(o)&&!Oe(o)&&!co(o)&&!No(o))throw Co(_o.INVALID_ARGUMENT);const s=Oe(o)?String(o):(co(o),o);return Oe(t)?a.plural=t:Y(t)?a.default=t:ce(t)&&!na(t)?a.named=t:Ee(t)&&(a.list=t),Oe(n)?a.plural=n:Y(n)?a.default=n:ce(n)&&qe(a,n),[s,a]}function db(e,o,t,n,a,s){return{locale:o,key:t,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>I$(o,t,r)}}function hb(e,o,t,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,$={locale:o,modifiers:a,pluralRules:s,messages:b=>{let w=r(t,b);if(w==null&&u){const[,,A]=Ul(u,b,o,i,l,c);w=r(A,b)}if(Y(w)||No(w)){let A=!1;const x=jl(e,b,o,w,b,()=>{A=!0});return A?Gl:x}else return co(w)?w:Gl}};return e.processor&&($.processor=e.processor),n.list&&($.list=n.list),n.named&&($.named=n.named),Oe(n.plural)&&($.pluralIndex=n.plural),$}function zl(e,...o){const{datetimeFormats:t,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=ys(...o),$=de(u.missingWarn)?u.missingWarn:e.missingWarn;de(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const b=!!u.part,w=ds(e,u),A=r(e,a,w);if(!Y(l)||l==="")return new Intl.DateTimeFormat(w,d).format(c);let T={},x,L=null;const k="datetime format";for(let C=0;C{Vl.includes(l)?r[l]=t[l]:s[l]=t[l]}),Y(n)?s.locale=n:ce(n)&&(r=n),ce(a)&&(r=a),[s.key||"",i,s,r]}function Kl(e,o,t){const n=e;for(const a in t){const s=`${o}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function ql(e,...o){const{numberFormats:t,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=ks(...o),$=de(u.missingWarn)?u.missingWarn:e.missingWarn;de(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const b=!!u.part,w=ds(e,u),A=r(e,a,w);if(!Y(l)||l==="")return new Intl.NumberFormat(w,d).format(c);let T={},x,L=null;const k="number format";for(let C=0;C{Hl.includes(l)?r[l]=t[l]:s[l]=t[l]}),Y(n)?s.locale=n:ce(n)&&(r=n),ce(a)&&(r=a),[s.key||"",i,s,r]}function Wl(e,o,t){const n=e;for(const a in t){const s=`${o}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}ym();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const fb="9.14.5";function $b(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(zo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(zo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(zo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(zo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(zo().__INTLIFY_PROD_DEVTOOLS__=!1)}const mb=Wm.__EXTEND_POINT__,Ko=aa(mb);Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko();const Yl=_o.__EXTEND_POINT__,to=aa(Yl),Ge={UNEXPECTED_RETURN_TYPE:Yl,INVALID_ARGUMENT:to(),MUST_BE_CALL_SETUP_TOP:to(),NOT_INSTALLED:to(),NOT_AVAILABLE_IN_LEGACY_MODE:to(),REQUIRED_VALUE:to(),INVALID_VALUE:to(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:to(),NOT_INSTALLED_WITH_PROVIDE:to(),UNEXPECTED_ERROR:to(),NOT_COMPATIBLE_LEGACY_VUE_I18N:to(),BRIDGE_SUPPORT_VUE_2_ONLY:to(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:to(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:to(),__EXTEND_POINT__:to()};function ze(e,...o){return Nt(e,null,void 0)}const ks=Qo("__translateVNode"),As=Qo("__datetimeParts"),Ss=Qo("__numberParts"),Xl=Qo("__setPluralRules"),Jl=Qo("__injectWithOption"),Ls=Qo("__dispose");function mn(e){if(!$e(e)||Co(e))return e;for(const o in e)if(mo(e,o))if(!o.includes("."))$e(e[o])&&mn(e[o]);else{const t=o.split("."),n=t.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||ve(),ra(c,r[l])):ra(c,r)}else Y(i)&&ra(JSON.parse(i),r)}),a==null&&s)for(const i in r)mo(r,i)&&mn(r[i]);return r}function Zl(e){return e.type}function Ql(e,o,t){let n=$e(o.messages)?o.messages:ve();"__i18nGlobal"in t&&(n=ua(e.locale.value,{messages:n,__i18n:t.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if($e(o.datetimeFormats)){const s=Object.keys(o.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,o.datetimeFormats[r])})}if($e(o.numberFormats)){const s=Object.keys(o.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,o.numberFormats[r])})}}}function ec(e){return Ne(sn,null,e,0)}const oc="__INTLIFY_META__",tc=()=>[],bb=()=>!1;let nc=0;function ac(e){return(o,t,n,a)=>e(t,n,Uo()||void 0,a)}const _b=()=>{const e=Uo();let o=null;return e&&(o=Zl(e)[oc])?{[oc]:o}:null};function ws(e={},o){const{__root:t,__injectWithOption:n}=e,a=t===void 0,s=e.flatJson,r=ta?pe:Na,i=!!e.translateExistCompatible;let l=de(e.inheritLocale)?e.inheritLocale:!0;const c=r(t&&l?t.locale.value:Y(e.locale)?e.locale:Mt),u=r(t&&l?t.fallbackLocale.value:Y(e.fallbackLocale)||Ee(e.fallbackLocale)||ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(ua(c.value,e)),$=r(ce(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),b=r(ce(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=t?t.missingWarn:de(e.missingWarn)||et(e.missingWarn)?e.missingWarn:!0,A=t?t.fallbackWarn:de(e.fallbackWarn)||et(e.fallbackWarn)?e.fallbackWarn:!0,N=t?t.fallbackRoot:de(e.fallbackRoot)?e.fallbackRoot:!0,x=!!e.fallbackFormat,L=Le(e.missing)?e.missing:null,v=Le(e.missing)?ac(e.missing):null,y=Le(e.postTranslation)?e.postTranslation:null,E=t?t.warnHtmlMessage:de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,T=!!e.escapeParameter;const _=t?t.modifiers:ce(e.modifiers)?e.modifiers:{};let S=e.pluralRules||t&&t.pluralRules,f;f=(()=>{a&&Ml(null);const P={version:fb,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:_,pluralRules:S,missing:v===null?void 0:v,missingWarn:w,fallbackWarn:A,fallbackFormat:x,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:E,escapeParameter:T,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};P.datetimeFormats=$.value,P.numberFormats=b.value,P.__datetimeFormatters=ce(f)?f.__datetimeFormatters:void 0,P.__numberFormatters=ce(f)?f.__numberFormatters:void 0;const I=sb(P);return a&&Ml(I),I})(),$n(f,c.value,u.value);function G(){return[c.value,u.value,d.value,$.value,b.value]}const B=fe({get:()=>c.value,set:P=>{c.value=P,f.locale=c.value}}),W=fe({get:()=>u.value,set:P=>{u.value=P,f.fallbackLocale=u.value,$n(f,c.value,P)}}),ee=fe(()=>d.value),j=fe(()=>$.value),q=fe(()=>b.value);function H(){return Le(y)?y:null}function ue(P){y=P,f.postTranslation=P}function Ce(){return L}function Be(P){P!==null&&(v=ac(P)),L=P,f.missing=v}const xe=(P,I,te,ge,Pe,eo)=>{G();let He;try{__INTLIFY_PROD_DEVTOOLS__,a||(f.fallbackContext=t?ab():void 0),He=P(f)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(f.fallbackContext=void 0)}if(te!=="translate exists"&&Oe(He)&&He===ca||te==="translate exists"&&!He){const[mt,Js]=I();return t&&N?ge(t):Pe(mt)}else{if(eo(He))return He;throw ze(Ge.UNEXPECTED_RETURN_TYPE)}};function we(...P){return xe(I=>Reflect.apply(Bl,null,[I,...P]),()=>_s(...P),"translate",I=>Reflect.apply(I.t,I,[...P]),I=>I,I=>Y(I))}function Z(...P){const[I,te,ge]=P;if(ge&&!$e(ge))throw ze(Ge.INVALID_ARGUMENT);return we(I,te,qe({resolvedMessage:!0},ge||{}))}function ae(...P){return xe(I=>Reflect.apply(zl,null,[I,...P]),()=>ys(...P),"datetime format",I=>Reflect.apply(I.d,I,[...P]),()=>wl,I=>Y(I))}function X(...P){return xe(I=>Reflect.apply(ql,null,[I,...P]),()=>vs(...P),"number format",I=>Reflect.apply(I.n,I,[...P]),()=>wl,I=>Y(I))}function ne(P){return P.map(I=>Y(I)||Oe(I)||de(I)?ec(String(I)):I)}const oe={normalize:ne,interpolate:P=>P,type:"vnode"};function Q(...P){return xe(I=>{let te;const ge=I;try{ge.processor=oe,te=Reflect.apply(Bl,null,[ge,...P])}finally{ge.processor=null}return te},()=>_s(...P),"translate",I=>I[ks](...P),I=>[ec(I)],I=>Ee(I))}function me(...P){return xe(I=>Reflect.apply(ql,null,[I,...P]),()=>vs(...P),"number format",I=>I[Ss](...P),tc,I=>Y(I)||Ee(I))}function Fe(...P){return xe(I=>Reflect.apply(zl,null,[I,...P]),()=>ys(...P),"datetime format",I=>I[As](...P),tc,I=>Y(I)||Ee(I))}function h(P){S=P,f.pluralRules=S}function k(P,I){return xe(()=>{if(!P)return!1;const te=Y(I)?I:c.value,ge=F(te),Pe=f.messageResolver(ge,P);return i?Pe!=null:Co(Pe)||co(Pe)||Y(Pe)},()=>[P],"translate exists",te=>Reflect.apply(te.te,te,[P,I]),bb,te=>de(te))}function m(P){let I=null;const te=Sl(f,u.value,c.value);for(let ge=0;ge{l&&(c.value=P,f.locale=P,$n(f,c.value,u.value))}),fo(t.fallbackLocale,P=>{l&&(u.value=P,f.fallbackLocale=P,$n(f,c.value,u.value))}));const U={id:nc,locale:B,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(P){l=P,P&&t&&(c.value=t.locale.value,u.value=t.fallbackLocale.value,$n(f,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:ee,get modifiers(){return _},get pluralRules(){return S||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(P){w=P,f.missingWarn=w},get fallbackWarn(){return A},set fallbackWarn(P){A=P,f.fallbackWarn=A},get fallbackRoot(){return N},set fallbackRoot(P){N=P},get fallbackFormat(){return x},set fallbackFormat(P){x=P,f.fallbackFormat=x},get warnHtmlMessage(){return E},set warnHtmlMessage(P){E=P,f.warnHtmlMessage=P},get escapeParameter(){return T},set escapeParameter(P){T=P,f.escapeParameter=P},t:we,getLocaleMessage:F,setLocaleMessage:O,mergeLocaleMessage:V,getPostTranslationHandler:H,setPostTranslationHandler:ue,getMissingHandler:Ce,setMissingHandler:Be,[Xl]:h};return U.datetimeFormats=j,U.numberFormats=q,U.rt=Z,U.te=k,U.tm=R,U.d=ae,U.n=X,U.getDateTimeFormat=z,U.setDateTimeFormat=p,U.mergeDateTimeFormat=g,U.getNumberFormat=C,U.setNumberFormat=M,U.mergeNumberFormat=K,U[Jl]=n,U[ks]=Q,U[As]=Fe,U[Ss]=me,U}function yb(e){const o=Y(e.locale)?e.locale:Mt,t=Y(e.fallbackLocale)||Ee(e.fallbackLocale)||ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:o,n=Le(e.missing)?e.missing:void 0,a=de(e.silentTranslationWarn)||et(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=de(e.silentFallbackWarn)||et(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=de(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ce(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Le(e.postTranslation)?e.postTranslation:void 0,d=Y(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,$=!!e.escapeParameterHtml,b=de(e.sync)?e.sync:!0;let w=e.messages;if(ce(e.sharedMessages)){const T=e.sharedMessages;w=Object.keys(T).reduce((S,f)=>{const D=S[f]||(S[f]={});return qe(D,T[f]),S},w||{})}const{__i18n:A,__root:N,__injectWithOption:x}=e,L=e.datetimeFormats,v=e.numberFormats,y=e.flatJson,E=e.translateExistCompatible;return{locale:o,fallbackLocale:t,messages:w,flatJson:y,datetimeFormats:L,numberFormats:v,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:$,messageResolver:e.messageResolver,inheritLocale:b,translateExistCompatible:E,__i18n:A,__root:N,__injectWithOption:x}}function Ps(e={},o){{const t=ws(yb(e)),{__extender:n}=e,a={id:t.id,get locale(){return t.locale.value},set locale(s){t.locale.value=s},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(s){t.fallbackLocale.value=s},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return t.getMissingHandler()},set missing(s){t.setMissingHandler(s)},get silentTranslationWarn(){return de(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(s){t.missingWarn=de(s)?!s:s},get silentFallbackWarn(){return de(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(s){t.fallbackWarn=de(s)?!s:s},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(s){t.fallbackFormat=s},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(s){t.setPostTranslationHandler(s)},get sync(){return t.inheritLocale},set sync(s){t.inheritLocale=s},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){t.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(s){t.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!Y(r))throw ze(Ge.INVALID_ARGUMENT);const $=r;return Y(i)?c.locale=i:Ee(i)?u=i:ce(i)&&(d=i),Ee(l)?u=l:ce(l)&&(d=l),Reflect.apply(t.t,t,[$,u||d||{},c])},rt(...s){return Reflect.apply(t.rt,t,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!Y(r))throw ze(Ge.INVALID_ARGUMENT);const $=r;return Y(i)?c.locale=i:Oe(i)?c.plural=i:Ee(i)?u=i:ce(i)&&(d=i),Y(l)?c.locale=l:Ee(l)?u=l:ce(l)&&(d=l),Reflect.apply(t.t,t,[$,u||d||{},c])},te(s,r){return t.te(s,r)},tm(s){return t.tm(s)},getLocaleMessage(s){return t.getLocaleMessage(s)},setLocaleMessage(s,r){t.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){t.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(t.d,t,[...s])},getDateTimeFormat(s){return t.getDateTimeFormat(s)},setDateTimeFormat(s,r){t.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){t.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(t.n,t,[...s])},getNumberFormat(s){return t.getNumberFormat(s)},setNumberFormat(s,r){t.setNumberFormat(s,r)},mergeNumberFormat(s,r){t.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Es={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function vb({slots:e},o){return o.length===1&&o[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ve?a.children:[a]],[]):o.reduce((t,n)=>{const a=e[n];return a&&(t[n]=a()),t},ve())}function sc(e){return Ve}const rc=en({name:"i18n-t",props:qe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Oe(e)||!isNaN(e)}},Es),setup(e,o){const{slots:t,attrs:n}=o,a=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(t).filter(d=>d!=="_"),r=ve();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=Y(e.plural)?+e.plural:e.plural);const i=vb(o,s),l=a[ks](e.keypath,i,r),c=qe(ve(),n),u=Y(e.tag)||$e(e.tag)?e.tag:sc();return Ti(u,c,l)}}});function kb(e){return Ee(e)&&!Y(e[0])}function ic(e,o,t,n){const{slots:a,attrs:s}=o;return()=>{const r={part:!0};let i=ve();e.locale&&(r.locale=e.locale),Y(e.format)?r.key=e.format:$e(e.format)&&(Y(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce(($,b)=>t.includes(b)?qe(ve(),$,{[b]:e.format[b]}):$,ve()));const l=n(e.value,r,i);let c=[r.key];Ee(l)?c=l.map(($,b)=>{const w=a[$.type],A=w?w({[$.type]:$.value,index:b,parts:l}):[$.value];return kb(A)&&(A[0].key=`${$.type}-${b}`),A}):Y(l)&&(c=[l]);const u=qe(ve(),s),d=Y(e.tag)||$e(e.tag)?e.tag:sc();return Ti(d,u,c)}}const lc=en({name:"i18n-n",props:qe({value:{type:Number,required:!0},format:{type:[String,Object]}},Es),setup(e,o){const t=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return ic(e,o,Hl,(...n)=>t[Ss](...n))}}),cc=en({name:"i18n-d",props:qe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Es),setup(e,o){const t=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return ic(e,o,Vl,(...n)=>t[As](...n))}});function Ab(e,o){const t=e;if(e.mode==="composition")return t.__getInstance(o)||e.global;{const n=t.__getInstance(o);return n!=null?n.__composer:e.global.__composer}}function Sb(e){const o=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw ze(Ge.UNEXPECTED_ERROR);const u=Ab(e,i.$),d=uc(c);return[Reflect.apply(u.t,u,[...pc(d)]),u]};return{created:(r,i)=>{const[l,c]=o(i);ta&&e.global===c&&(r.__i18nWatcher=fo(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{ta&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=uc(i);r.textContent=Reflect.apply(l.t,l,[...pc(c)])}},getSSRProps:r=>{const[i]=o(r);return{textContent:i}}}}function uc(e){if(Y(e))return{path:e};if(ce(e)){if(!("path"in e))throw ze(Ge.REQUIRED_VALUE,"path");return e}else throw ze(Ge.INVALID_VALUE)}function pc(e){const{path:o,locale:t,args:n,choice:a,plural:s}=e,r={},i=n||{};return Y(t)&&(r.locale=t),Oe(a)&&(r.plural=a),Oe(s)&&(r.plural=s),[o,i,r]}function Lb(e,o,...t){const n=ce(t[0])?t[0]:{},a=!!n.useI18nComponentName;(de(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":rc.name,"I18nT"].forEach(r=>e.component(r,rc)),[lc.name,"I18nN"].forEach(r=>e.component(r,lc)),[cc.name,"I18nD"].forEach(r=>e.component(r,cc))),e.directive("t",Sb(o))}function wb(e,o,t){return{beforeCreate(){const n=Uo();if(!n)throw ze(Ge.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=o,this===this.$root)this.$i18n=gc(e,s);else{s.__injectWithOption=!0,s.__extender=t.__vueI18nExtend,this.$i18n=Ps(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=gc(e,a);else{this.$i18n=Ps({__i18n:a.__i18n,__injectWithOption:!0,__extender:t.__vueI18nExtend,__root:o});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ql(o,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),t.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Uo();if(!n)throw ze(Ge.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),t.__deleteInstance(n),delete this.$i18n}}}function gc(e,o){e.locale=o.locale||e.locale,e.fallbackLocale=o.fallbackLocale||e.fallbackLocale,e.missing=o.missing||e.missing,e.silentTranslationWarn=o.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=o.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=o.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=o.postTranslation||e.postTranslation,e.warnHtmlInMessage=o.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=o.escapeParameterHtml||e.escapeParameterHtml,e.sync=o.sync||e.sync,e.__composer[Xl](o.pluralizationRules||e.pluralizationRules);const t=ua(e.locale,{messages:o.messages,__i18n:o.__i18n});return Object.keys(t).forEach(n=>e.mergeLocaleMessage(n,t[n])),o.datetimeFormats&&Object.keys(o.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,o.datetimeFormats[n])),o.numberFormats&&Object.keys(o.numberFormats).forEach(n=>e.mergeNumberFormat(n,o.numberFormats[n])),e}const Pb=Qo("global-vue-i18n");function Eb(e={},o){const t=__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__&&t?!!e.allowComposition:!0,s=new Map,[r,i]=Cb(e,t),l=Qo("");function c($){return s.get($)||null}function u($,b){s.set($,b)}function d($){s.delete($)}{const $={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},get allowComposition(){return a},async install(b,...w){if(b.__VUE_I18N_SYMBOL__=l,b.provide(b.__VUE_I18N_SYMBOL__,$),ce(w[0])){const x=w[0];$.__composerExtend=x.__composerExtend,$.__vueI18nExtend=x.__vueI18nExtend}let A=null;!t&&n&&(A=Db(b,$.global)),__VUE_I18N_FULL_INSTALL__&&Lb(b,$,...w),__VUE_I18N_LEGACY_API__&&t&&b.mixin(wb(i,i.__composer,$));const N=b.unmount;b.unmount=()=>{A&&A(),$.dispose(),N()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return $}}function Ot(e={}){const o=Uo();if(o==null)throw ze(Ge.MUST_BE_CALL_SETUP_TOP);if(!o.isCE&&o.appContext.app!=null&&!o.appContext.app.__VUE_I18N_SYMBOL__)throw ze(Ge.NOT_INSTALLED);const t=Tb(o),n=xb(t),a=Zl(o),s=Nb(e,a);if(__VUE_I18N_LEGACY_API__&&t.mode==="legacy"&&!e.__useComponent){if(!t.allowComposition)throw ze(Ge.NOT_AVAILABLE_IN_LEGACY_MODE);return Ob(o,s,n,e)}if(s==="global")return Ql(n,e,a),n;if(s==="parent"){let l=Rb(t,o,e.__useComponent);return l==null&&(l=n),l}const r=t;let i=r.__getInstance(o);if(i==null){const l=qe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=ws(l),r.__composerExtend&&(i[Ls]=r.__composerExtend(i)),Ib(r,o,i),r.__setInstance(o,i)}return i}function Cb(e,o,t){const n=_a();{const a=__VUE_I18N_LEGACY_API__&&o?n.run(()=>Ps(e)):n.run(()=>ws(e));if(a==null)throw ze(Ge.UNEXPECTED_ERROR);return[n,a]}}function Tb(e){{const o=Ie(e.isCE?Pb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!o)throw ze(e.isCE?Ge.NOT_INSTALLED_WITH_PROVIDE:Ge.UNEXPECTED_ERROR);return o}}function Nb(e,o){return na(e)?"__i18n"in o?"local":"global":e.useScope?e.useScope:"local"}function xb(e){return e.mode==="composition"?e.global:e.global.__composer}function Rb(e,o,t=!1){let n=null;const a=o.root;let s=Mb(o,t);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,t&&n&&!n[Jl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Mb(e,o=!1){return e==null?null:o&&e.vnode.ctx||e.parent}function Ib(e,o,t){wt(()=>{},o),Hn(()=>{const n=t;e.__deleteInstance(o);const a=n[Ls];a&&(a(),delete n[Ls])},o)}function Ob(e,o,t,n={}){const a=o==="local",s=Na(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ze(Ge.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=de(n.inheritLocale)?n.inheritLocale:!Y(n.locale),i=pe(!a||r?t.locale.value:Y(n.locale)?n.locale:Mt),l=pe(!a||r?t.fallbackLocale.value:Y(n.fallbackLocale)||Ee(n.fallbackLocale)||ce(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=pe(ua(i.value,n)),u=pe(ce(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=pe(ce(n.numberFormats)?n.numberFormats:{[i.value]:{}}),$=a?t.missingWarn:de(n.missingWarn)||et(n.missingWarn)?n.missingWarn:!0,b=a?t.fallbackWarn:de(n.fallbackWarn)||et(n.fallbackWarn)?n.fallbackWarn:!0,w=a?t.fallbackRoot:de(n.fallbackRoot)?n.fallbackRoot:!0,A=!!n.fallbackFormat,N=Le(n.missing)?n.missing:null,x=Le(n.postTranslation)?n.postTranslation:null,L=a?t.warnHtmlMessage:de(n.warnHtmlMessage)?n.warnHtmlMessage:!0,v=!!n.escapeParameter,y=a?t.modifiers:ce(n.modifiers)?n.modifiers:{},E=n.pluralRules||a&&t.pluralRules;function T(){return[i.value,l.value,c.value,u.value,d.value]}const _=fe({get:()=>s.value?s.value.locale.value:i.value,set:m=>{s.value&&(s.value.locale.value=m),i.value=m}}),S=fe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:m=>{s.value&&(s.value.fallbackLocale.value=m),l.value=m}}),f=fe(()=>s.value?s.value.messages.value:c.value),D=fe(()=>u.value),G=fe(()=>d.value);function B(){return s.value?s.value.getPostTranslationHandler():x}function W(m){s.value&&s.value.setPostTranslationHandler(m)}function ee(){return s.value?s.value.getMissingHandler():N}function j(m){s.value&&s.value.setMissingHandler(m)}function q(m){return T(),m()}function H(...m){return s.value?q(()=>Reflect.apply(s.value.t,null,[...m])):q(()=>"")}function ue(...m){return s.value?Reflect.apply(s.value.rt,null,[...m]):""}function Ce(...m){return s.value?q(()=>Reflect.apply(s.value.d,null,[...m])):q(()=>"")}function Be(...m){return s.value?q(()=>Reflect.apply(s.value.n,null,[...m])):q(()=>"")}function xe(m){return s.value?s.value.tm(m):{}}function we(m,R){return s.value?s.value.te(m,R):!1}function Z(m){return s.value?s.value.getLocaleMessage(m):{}}function ae(m,R){s.value&&(s.value.setLocaleMessage(m,R),c.value[m]=R)}function X(m,R){s.value&&s.value.mergeLocaleMessage(m,R)}function ne(m){return s.value?s.value.getDateTimeFormat(m):{}}function J(m,R){s.value&&(s.value.setDateTimeFormat(m,R),u.value[m]=R)}function oe(m,R){s.value&&s.value.mergeDateTimeFormat(m,R)}function Q(m){return s.value?s.value.getNumberFormat(m):{}}function me(m,R){s.value&&(s.value.setNumberFormat(m,R),d.value[m]=R)}function Fe(m,R){s.value&&s.value.mergeNumberFormat(m,R)}const h={get id(){return s.value?s.value.id:-1},locale:_,fallbackLocale:S,messages:f,datetimeFormats:D,numberFormats:G,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(m){s.value&&(s.value.inheritLocale=m)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:y},get pluralRules(){return s.value?s.value.pluralRules:E},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:$},set missingWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackWarn(){return s.value?s.value.fallbackWarn:b},set fallbackWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(m){s.value&&(s.value.fallbackRoot=m)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(m){s.value&&(s.value.fallbackFormat=m)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(m){s.value&&(s.value.warnHtmlMessage=m)},get escapeParameter(){return s.value?s.value.escapeParameter:v},set escapeParameter(m){s.value&&(s.value.escapeParameter=m)},t:H,getPostTranslationHandler:B,setPostTranslationHandler:W,getMissingHandler:ee,setMissingHandler:j,rt:ue,d:Ce,n:Be,tm:xe,te:we,getLocaleMessage:Z,setLocaleMessage:ae,mergeLocaleMessage:X,getDateTimeFormat:ne,setDateTimeFormat:J,mergeDateTimeFormat:oe,getNumberFormat:Q,setNumberFormat:me,mergeNumberFormat:Fe};function k(m){m.locale.value=i.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(R=>{m.mergeLocaleMessage(R,c.value[R])}),Object.keys(u.value).forEach(R=>{m.mergeDateTimeFormat(R,u.value[R])}),Object.keys(d.value).forEach(R=>{m.mergeNumberFormat(R,d.value[R])}),m.escapeParameter=v,m.fallbackFormat=A,m.fallbackRoot=w,m.fallbackWarn=b,m.missingWarn=$,m.warnHtmlMessage=L}return Hr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ze(Ge.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=s.value=e.proxy.$i18n.__composer;o==="global"?(i.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,d.value=m.numberFormats.value):a&&k(m)}),h}const Fb=["locale","fallbackLocale","availableLocales"],dc=["t","rt","d","n","tm","te"];function Db(e,o){const t=Object.create(null);return Fb.forEach(a=>{const s=Object.getOwnPropertyDescriptor(o,a);if(!s)throw ze(Ge.UNEXPECTED_ERROR);const r=Te(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(t,a,r)}),e.config.globalProperties.$i18n=t,dc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(o,a);if(!s||!s.value)throw ze(Ge.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,dc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if($b(),__INTLIFY_JIT_COMPILATION__?Cl(ub):Cl(cb),eb(Mm),ob(Sl),__INTLIFY_PROD_DEVTOOLS__){const e=zo();e.__INTLIFY__=!0,zm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Gb=Object.assign({"./locales/ar/allPeopleGroups.json":Bg,"./locales/ar/aria.json":Ug,"./locales/ar/buttons.json":jg,"./locales/ar/connectivity.json":zg,"./locales/ar/controls.json":Vg,"./locales/ar/dashboard.json":Kg,"./locales/ar/detail.json":qg,"./locales/ar/gospel.json":Hg,"./locales/ar/grid.json":Wg,"./locales/ar/legend.json":Yg,"./locales/ar/messages.json":Xg,"./locales/ar/options.json":Jg,"./locales/ar/popup.json":Zg,"./locales/ar/prayerLaps.json":Qg,"./locales/ar/regions.json":ed,"./locales/ar/search.json":od,"./locales/ar/studio.json":td,"./locales/ar/tabs.json":nd,"./locales/ar/vision.json":ad,"./locales/de/allPeopleGroups.json":sd,"./locales/de/aria.json":rd,"./locales/de/buttons.json":id,"./locales/de/connectivity.json":ld,"./locales/de/controls.json":cd,"./locales/de/dashboard.json":ud,"./locales/de/detail.json":pd,"./locales/de/gospel.json":gd,"./locales/de/grid.json":dd,"./locales/de/legend.json":hd,"./locales/de/messages.json":fd,"./locales/de/options.json":$d,"./locales/de/popup.json":md,"./locales/de/prayerLaps.json":bd,"./locales/de/regions.json":_d,"./locales/de/search.json":yd,"./locales/de/studio.json":vd,"./locales/de/tabs.json":kd,"./locales/de/vision.json":Ad,"./locales/en/allPeopleGroups.json":Sd,"./locales/en/aria.json":Ld,"./locales/en/buttons.json":wd,"./locales/en/connectivity.json":Pd,"./locales/en/controls.json":Ed,"./locales/en/dashboard.json":Cd,"./locales/en/detail.json":Td,"./locales/en/gospel.json":Nd,"./locales/en/grid.json":xd,"./locales/en/legend.json":Rd,"./locales/en/messages.json":Md,"./locales/en/options.json":Id,"./locales/en/popup.json":Od,"./locales/en/prayerLaps.json":Fd,"./locales/en/regions.json":Dd,"./locales/en/search.json":Gd,"./locales/en/studio.json":Bd,"./locales/en/tabs.json":Ud,"./locales/en/vision.json":jd,"./locales/es/allPeopleGroups.json":zd,"./locales/es/aria.json":Vd,"./locales/es/buttons.json":Kd,"./locales/es/connectivity.json":qd,"./locales/es/controls.json":Hd,"./locales/es/dashboard.json":Wd,"./locales/es/detail.json":Yd,"./locales/es/gospel.json":Xd,"./locales/es/grid.json":Jd,"./locales/es/legend.json":Zd,"./locales/es/messages.json":Qd,"./locales/es/options.json":eh,"./locales/es/popup.json":oh,"./locales/es/prayerLaps.json":th,"./locales/es/regions.json":nh,"./locales/es/search.json":ah,"./locales/es/studio.json":sh,"./locales/es/tabs.json":rh,"./locales/es/vision.json":ih,"./locales/fr/allPeopleGroups.json":lh,"./locales/fr/aria.json":ch,"./locales/fr/buttons.json":uh,"./locales/fr/connectivity.json":ph,"./locales/fr/controls.json":gh,"./locales/fr/dashboard.json":dh,"./locales/fr/detail.json":hh,"./locales/fr/gospel.json":fh,"./locales/fr/grid.json":$h,"./locales/fr/legend.json":mh,"./locales/fr/messages.json":bh,"./locales/fr/options.json":_h,"./locales/fr/popup.json":yh,"./locales/fr/prayerLaps.json":vh,"./locales/fr/regions.json":kh,"./locales/fr/search.json":Ah,"./locales/fr/studio.json":Sh,"./locales/fr/tabs.json":Lh,"./locales/fr/vision.json":wh,"./locales/hi/allPeopleGroups.json":Ph,"./locales/hi/aria.json":Eh,"./locales/hi/buttons.json":Ch,"./locales/hi/connectivity.json":Th,"./locales/hi/controls.json":Nh,"./locales/hi/dashboard.json":xh,"./locales/hi/detail.json":Rh,"./locales/hi/gospel.json":Mh,"./locales/hi/grid.json":Ih,"./locales/hi/legend.json":Oh,"./locales/hi/messages.json":Fh,"./locales/hi/options.json":Dh,"./locales/hi/popup.json":Gh,"./locales/hi/prayerLaps.json":Bh,"./locales/hi/regions.json":Uh,"./locales/hi/search.json":jh,"./locales/hi/studio.json":zh,"./locales/hi/tabs.json":Vh,"./locales/hi/vision.json":Kh,"./locales/it/allPeopleGroups.json":qh,"./locales/it/aria.json":Hh,"./locales/it/buttons.json":Wh,"./locales/it/connectivity.json":Yh,"./locales/it/controls.json":Xh,"./locales/it/dashboard.json":Jh,"./locales/it/detail.json":Zh,"./locales/it/gospel.json":Qh,"./locales/it/grid.json":ef,"./locales/it/legend.json":of,"./locales/it/messages.json":tf,"./locales/it/options.json":nf,"./locales/it/popup.json":af,"./locales/it/prayerLaps.json":sf,"./locales/it/regions.json":rf,"./locales/it/search.json":lf,"./locales/it/studio.json":cf,"./locales/it/tabs.json":uf,"./locales/it/vision.json":pf,"./locales/pt/allPeopleGroups.json":gf,"./locales/pt/aria.json":df,"./locales/pt/buttons.json":hf,"./locales/pt/connectivity.json":ff,"./locales/pt/controls.json":$f,"./locales/pt/dashboard.json":mf,"./locales/pt/detail.json":bf,"./locales/pt/gospel.json":_f,"./locales/pt/grid.json":yf,"./locales/pt/legend.json":vf,"./locales/pt/messages.json":kf,"./locales/pt/options.json":Af,"./locales/pt/popup.json":Sf,"./locales/pt/prayerLaps.json":Lf,"./locales/pt/regions.json":wf,"./locales/pt/search.json":Pf,"./locales/pt/studio.json":Ef,"./locales/pt/tabs.json":Cf,"./locales/pt/vision.json":Tf,"./locales/ro/allPeopleGroups.json":Nf,"./locales/ro/aria.json":xf,"./locales/ro/buttons.json":Rf,"./locales/ro/connectivity.json":Mf,"./locales/ro/controls.json":If,"./locales/ro/dashboard.json":Of,"./locales/ro/detail.json":Ff,"./locales/ro/gospel.json":Df,"./locales/ro/grid.json":Gf,"./locales/ro/legend.json":Bf,"./locales/ro/messages.json":Uf,"./locales/ro/options.json":jf,"./locales/ro/popup.json":zf,"./locales/ro/prayerLaps.json":Vf,"./locales/ro/regions.json":Kf,"./locales/ro/search.json":qf,"./locales/ro/studio.json":Hf,"./locales/ro/tabs.json":Wf,"./locales/ro/vision.json":Yf,"./locales/ru/allPeopleGroups.json":Xf,"./locales/ru/aria.json":Jf,"./locales/ru/buttons.json":Zf,"./locales/ru/connectivity.json":Qf,"./locales/ru/controls.json":e$,"./locales/ru/dashboard.json":o$,"./locales/ru/detail.json":t$,"./locales/ru/gospel.json":n$,"./locales/ru/grid.json":a$,"./locales/ru/legend.json":s$,"./locales/ru/messages.json":r$,"./locales/ru/options.json":i$,"./locales/ru/popup.json":l$,"./locales/ru/prayerLaps.json":c$,"./locales/ru/regions.json":u$,"./locales/ru/search.json":p$,"./locales/ru/studio.json":g$,"./locales/ru/tabs.json":d$,"./locales/ru/vision.json":h$,"./locales/zh/allPeopleGroups.json":f$,"./locales/zh/aria.json":$$,"./locales/zh/buttons.json":m$,"./locales/zh/connectivity.json":b$,"./locales/zh/controls.json":_$,"./locales/zh/dashboard.json":y$,"./locales/zh/detail.json":v$,"./locales/zh/gospel.json":k$,"./locales/zh/grid.json":A$,"./locales/zh/legend.json":S$,"./locales/zh/messages.json":L$,"./locales/zh/options.json":w$,"./locales/zh/popup.json":P$,"./locales/zh/prayerLaps.json":E$,"./locales/zh/regions.json":C$,"./locales/zh/search.json":T$,"./locales/zh/studio.json":N$,"./locales/zh/tabs.json":x$,"./locales/zh/vision.json":R$}),Ft={};for(const[e,o]of Object.entries(Gb)){const t=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!t)continue;const[,n,a]=t;Ft[n]??(Ft[n]={}),Ft[n][a]=o}Ft.en;const pa=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],hc=new Set(["ar"]);function Bb(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Ub(){var n;const e=Bb();if(pa.includes(e))return e;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return pa.includes(t)?t:"en"}function jb(){const e=Ub();try{hc.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const o=Eb({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Ft,missingWarn:!1,fallbackWarn:!1});fo(o.global.locale,n=>fc(n),{immediate:!0});const t=o.install.bind(o);return o.install=(n,...a)=>{const s=t(n,...a);return n.provide("appI18n",o),s},o}const zb="__DOXA_PAGE_LOCALE";function fc(e){const o=String(e||"").split("-")[0].toLowerCase();if(pa.includes(o))try{typeof window<"u"&&(window[zb]=o)}catch{}}function Dt(e,o){const t=o||Vb(e);wt(()=>{var i;const n=Uo();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${t}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",t),r.textContent=e,s.appendChild(r)})}function Vb(e){let o=0;for(let t=0;to[S]||S,n=()=>!1;try{const S=Ot();t=S.t,n=S.te}catch{}const a=Ie("uiStore",null),s=Ie("profileConfig",null),r=fe(()=>(a==null?void 0:a.theme)==="dark"),i=fe(()=>{var D;const S=(D=s==null?void 0:s.value)==null?void 0:D.pinHintLabel;if(S)return S;const f="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?t("messages.pinHint.tapDot"):f}catch{return f}}),l=pe(!1),c=pe(null);let u=null,d=null,$=null,b=null,w=null,A=null,N=[],x=null,L=null;function v(){l.value=!1}function y(S,f){var G;let D=S==null?void 0:S.parentElement;for(let B=0;D&&B<12;B++,D=D.parentElement){if(D===f||(G=D.classList)!=null&&G.contains("profile-loader"))return null;let W="";try{W=getComputedStyle(D).position}catch{}if(W&&W!=="static"){const ee=D.getBoundingClientRect();if(ee.height>=120&&ee.width>=160)return D}}return null}function E(S){var D;const f=(D=b==null?void 0:b.querySelector)==null?void 0:D.call(b,".legend-mobile-sheet");if(!f)return 1/0;if(w&&A!==f){try{w.disconnect()}catch{}w=null}if(!w&&typeof ResizeObserver<"u")try{w=new ResizeObserver(()=>T()),w.observe(f),A=f}catch{w=null}try{const G=f.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 T(){const S=c.value;if(S)try{S.style.removeProperty("--pin-hint-lift");const f=S.getBoundingClientRect();if(!f.height)return;const D=Math.min(window.innerHeight,E(f)),G=Math.round(f.bottom-D);G>0&&S.style.setProperty("--pin-hint-lift",G+8+"px")}catch{}}function _(S){const f=c.value;if(!f||!(S!=null&&S.querySelector))return;let D=0;try{const B=S.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(B){const W=B.getBoundingClientRect(),ee=f.parentElement,j=ee?ee.getBoundingClientRect():null;if(D=j?Math.max(W.height||0,j.bottom-W.top):W.height||0,L!==B&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}L=B,$=new ResizeObserver(()=>_(S)),$.observe(B)}}}catch{}const G=Math.min(Math.max(Math.ceil(D)||20,20),72);f.style.setProperty("--pin-hint-attrib-clear",G+"px"),T()}return wt(()=>{var G,B,W;const S=Uo(),f=(W=(B=(G=S==null?void 0:S.proxy)==null?void 0:G.$el)==null?void 0:B.getRootNode)==null?void 0:W.call(B);if(!f||typeof f.querySelector!="function")return;b=f;let D=0;u=setInterval(()=>{D++;const ee=f.querySelector("canvas");ee?(clearInterval(u),u=null,l.value=!0,Jt(()=>{const j=y(ee,f),q=c.value;if(j&&q&&q.parentElement!==j)try{j.appendChild(q),d=j}catch{}_(f),T(),N.push(setTimeout(T,1200),setTimeout(T,3e3),setTimeout(T,6e3));try{const H=c.value&&c.value.offsetParent||null;if(H&&typeof ResizeObserver<"u"){if(x)try{x.disconnect()}catch{}x=new ResizeObserver(()=>T()),x.observe(H)}}catch{}})):D>40&&(clearInterval(u),u=null)},300)}),tn(()=>{var S;if(u&&clearInterval(u),$){try{$.disconnect()}catch{}$=null}if(L=null,x){try{x.disconnect()}catch{}x=null}if(w){try{w.disconnect()}catch{}w=null}A=null;for(const f of N)clearTimeout(f);if(N=[],b=null,d&&((S=c.value)==null?void 0:S.parentElement)===d)try{d.removeChild(c.value)}catch{}d=null}),Dt(` + */const fb="9.14.5";function $b(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(zo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(zo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(zo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(zo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(zo().__INTLIFY_PROD_DEVTOOLS__=!1)}const mb=Wm.__EXTEND_POINT__,Ko=aa(mb);Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko(),Ko();const Yl=_o.__EXTEND_POINT__,to=aa(Yl),Ge={UNEXPECTED_RETURN_TYPE:Yl,INVALID_ARGUMENT:to(),MUST_BE_CALL_SETUP_TOP:to(),NOT_INSTALLED:to(),NOT_AVAILABLE_IN_LEGACY_MODE:to(),REQUIRED_VALUE:to(),INVALID_VALUE:to(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:to(),NOT_INSTALLED_WITH_PROVIDE:to(),UNEXPECTED_ERROR:to(),NOT_COMPATIBLE_LEGACY_VUE_I18N:to(),BRIDGE_SUPPORT_VUE_2_ONLY:to(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:to(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:to(),__EXTEND_POINT__:to()};function ze(e,...o){return Tt(e,null,void 0)}const vs=Qo("__translateVNode"),As=Qo("__datetimeParts"),Ss=Qo("__numberParts"),Xl=Qo("__setPluralRules"),Jl=Qo("__injectWithOption"),Ls=Qo("__dispose");function mn(e){if(!$e(e)||No(e))return e;for(const o in e)if(mo(e,o))if(!o.includes("."))$e(e[o])&&mn(e[o]);else{const t=o.split("."),n=t.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||ke(),ra(c,r[l])):ra(c,r)}else Y(i)&&ra(JSON.parse(i),r)}),a==null&&s)for(const i in r)mo(r,i)&&mn(r[i]);return r}function Zl(e){return e.type}function Ql(e,o,t){let n=$e(o.messages)?o.messages:ke();"__i18nGlobal"in t&&(n=ua(e.locale.value,{messages:n,__i18n:t.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if($e(o.datetimeFormats)){const s=Object.keys(o.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,o.datetimeFormats[r])})}if($e(o.numberFormats)){const s=Object.keys(o.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,o.numberFormats[r])})}}}function ec(e){return Te(sn,null,e,0)}const oc="__INTLIFY_META__",tc=()=>[],bb=()=>!1;let nc=0;function ac(e){return(o,t,n,a)=>e(t,n,Uo()||void 0,a)}const _b=()=>{const e=Uo();let o=null;return e&&(o=Zl(e)[oc])?{[oc]:o}:null};function ws(e={},o){const{__root:t,__injectWithOption:n}=e,a=t===void 0,s=e.flatJson,r=ta?pe:Ta,i=!!e.translateExistCompatible;let l=de(e.inheritLocale)?e.inheritLocale:!0;const c=r(t&&l?t.locale.value:Y(e.locale)?e.locale:Rt),u=r(t&&l?t.fallbackLocale.value:Y(e.fallbackLocale)||Ee(e.fallbackLocale)||ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(ua(c.value,e)),$=r(ce(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),b=r(ce(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=t?t.missingWarn:de(e.missingWarn)||et(e.missingWarn)?e.missingWarn:!0,A=t?t.fallbackWarn:de(e.fallbackWarn)||et(e.fallbackWarn)?e.fallbackWarn:!0,T=t?t.fallbackRoot:de(e.fallbackRoot)?e.fallbackRoot:!0,x=!!e.fallbackFormat,L=Le(e.missing)?e.missing:null,k=Le(e.missing)?ac(e.missing):null,y=Le(e.postTranslation)?e.postTranslation:null,E=t?t.warnHtmlMessage:de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,C=!!e.escapeParameter;const _=t?t.modifiers:ce(e.modifiers)?e.modifiers:{};let S=e.pluralRules||t&&t.pluralRules,f;f=(()=>{a&&Rl(null);const P={version:fb,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:_,pluralRules:S,missing:k===null?void 0:k,missingWarn:w,fallbackWarn:A,fallbackFormat:x,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:E,escapeParameter:C,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};P.datetimeFormats=$.value,P.numberFormats=b.value,P.__datetimeFormatters=ce(f)?f.__datetimeFormatters:void 0,P.__numberFormatters=ce(f)?f.__numberFormatters:void 0;const I=sb(P);return a&&Rl(I),I})(),$n(f,c.value,u.value);function G(){return[c.value,u.value,d.value,$.value,b.value]}const B=fe({get:()=>c.value,set:P=>{c.value=P,f.locale=c.value}}),W=fe({get:()=>u.value,set:P=>{u.value=P,f.fallbackLocale=u.value,$n(f,c.value,P)}}),ee=fe(()=>d.value),j=fe(()=>$.value),q=fe(()=>b.value);function H(){return Le(y)?y:null}function ue(P){y=P,f.postTranslation=P}function Ne(){return L}function Be(P){P!==null&&(k=ac(P)),L=P,f.missing=k}const xe=(P,I,te,ge,Pe,eo)=>{G();let He;try{__INTLIFY_PROD_DEVTOOLS__,a||(f.fallbackContext=t?ab():void 0),He=P(f)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(f.fallbackContext=void 0)}if(te!=="translate exists"&&Oe(He)&&He===ca||te==="translate exists"&&!He){const[mt,Js]=I();return t&&T?ge(t):Pe(mt)}else{if(eo(He))return He;throw ze(Ge.UNEXPECTED_RETURN_TYPE)}};function we(...P){return xe(I=>Reflect.apply(Bl,null,[I,...P]),()=>_s(...P),"translate",I=>Reflect.apply(I.t,I,[...P]),I=>I,I=>Y(I))}function Z(...P){const[I,te,ge]=P;if(ge&&!$e(ge))throw ze(Ge.INVALID_ARGUMENT);return we(I,te,qe({resolvedMessage:!0},ge||{}))}function ae(...P){return xe(I=>Reflect.apply(zl,null,[I,...P]),()=>ys(...P),"datetime format",I=>Reflect.apply(I.d,I,[...P]),()=>wl,I=>Y(I))}function X(...P){return xe(I=>Reflect.apply(ql,null,[I,...P]),()=>ks(...P),"number format",I=>Reflect.apply(I.n,I,[...P]),()=>wl,I=>Y(I))}function ne(P){return P.map(I=>Y(I)||Oe(I)||de(I)?ec(String(I)):I)}const oe={normalize:ne,interpolate:P=>P,type:"vnode"};function Q(...P){return xe(I=>{let te;const ge=I;try{ge.processor=oe,te=Reflect.apply(Bl,null,[ge,...P])}finally{ge.processor=null}return te},()=>_s(...P),"translate",I=>I[vs](...P),I=>[ec(I)],I=>Ee(I))}function me(...P){return xe(I=>Reflect.apply(ql,null,[I,...P]),()=>ks(...P),"number format",I=>I[Ss](...P),tc,I=>Y(I)||Ee(I))}function Fe(...P){return xe(I=>Reflect.apply(zl,null,[I,...P]),()=>ys(...P),"datetime format",I=>I[As](...P),tc,I=>Y(I)||Ee(I))}function h(P){S=P,f.pluralRules=S}function v(P,I){return xe(()=>{if(!P)return!1;const te=Y(I)?I:c.value,ge=F(te),Pe=f.messageResolver(ge,P);return i?Pe!=null:No(Pe)||co(Pe)||Y(Pe)},()=>[P],"translate exists",te=>Reflect.apply(te.te,te,[P,I]),bb,te=>de(te))}function m(P){let I=null;const te=Sl(f,u.value,c.value);for(let ge=0;ge{l&&(c.value=P,f.locale=P,$n(f,c.value,u.value))}),fo(t.fallbackLocale,P=>{l&&(u.value=P,f.fallbackLocale=P,$n(f,c.value,u.value))}));const U={id:nc,locale:B,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(P){l=P,P&&t&&(c.value=t.locale.value,u.value=t.fallbackLocale.value,$n(f,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:ee,get modifiers(){return _},get pluralRules(){return S||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(P){w=P,f.missingWarn=w},get fallbackWarn(){return A},set fallbackWarn(P){A=P,f.fallbackWarn=A},get fallbackRoot(){return T},set fallbackRoot(P){T=P},get fallbackFormat(){return x},set fallbackFormat(P){x=P,f.fallbackFormat=x},get warnHtmlMessage(){return E},set warnHtmlMessage(P){E=P,f.warnHtmlMessage=P},get escapeParameter(){return C},set escapeParameter(P){C=P,f.escapeParameter=P},t:we,getLocaleMessage:F,setLocaleMessage:O,mergeLocaleMessage:V,getPostTranslationHandler:H,setPostTranslationHandler:ue,getMissingHandler:Ne,setMissingHandler:Be,[Xl]:h};return U.datetimeFormats=j,U.numberFormats=q,U.rt=Z,U.te=v,U.tm=M,U.d=ae,U.n=X,U.getDateTimeFormat=z,U.setDateTimeFormat=p,U.mergeDateTimeFormat=g,U.getNumberFormat=N,U.setNumberFormat=R,U.mergeNumberFormat=K,U[Jl]=n,U[vs]=Q,U[As]=Fe,U[Ss]=me,U}function yb(e){const o=Y(e.locale)?e.locale:Rt,t=Y(e.fallbackLocale)||Ee(e.fallbackLocale)||ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:o,n=Le(e.missing)?e.missing:void 0,a=de(e.silentTranslationWarn)||et(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=de(e.silentFallbackWarn)||et(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=de(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ce(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Le(e.postTranslation)?e.postTranslation:void 0,d=Y(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,$=!!e.escapeParameterHtml,b=de(e.sync)?e.sync:!0;let w=e.messages;if(ce(e.sharedMessages)){const C=e.sharedMessages;w=Object.keys(C).reduce((S,f)=>{const D=S[f]||(S[f]={});return qe(D,C[f]),S},w||{})}const{__i18n:A,__root:T,__injectWithOption:x}=e,L=e.datetimeFormats,k=e.numberFormats,y=e.flatJson,E=e.translateExistCompatible;return{locale:o,fallbackLocale:t,messages:w,flatJson:y,datetimeFormats:L,numberFormats:k,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:$,messageResolver:e.messageResolver,inheritLocale:b,translateExistCompatible:E,__i18n:A,__root:T,__injectWithOption:x}}function Ps(e={},o){{const t=ws(yb(e)),{__extender:n}=e,a={id:t.id,get locale(){return t.locale.value},set locale(s){t.locale.value=s},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(s){t.fallbackLocale.value=s},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return t.getMissingHandler()},set missing(s){t.setMissingHandler(s)},get silentTranslationWarn(){return de(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(s){t.missingWarn=de(s)?!s:s},get silentFallbackWarn(){return de(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(s){t.fallbackWarn=de(s)?!s:s},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(s){t.fallbackFormat=s},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(s){t.setPostTranslationHandler(s)},get sync(){return t.inheritLocale},set sync(s){t.inheritLocale=s},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){t.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(s){t.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!Y(r))throw ze(Ge.INVALID_ARGUMENT);const $=r;return Y(i)?c.locale=i:Ee(i)?u=i:ce(i)&&(d=i),Ee(l)?u=l:ce(l)&&(d=l),Reflect.apply(t.t,t,[$,u||d||{},c])},rt(...s){return Reflect.apply(t.rt,t,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!Y(r))throw ze(Ge.INVALID_ARGUMENT);const $=r;return Y(i)?c.locale=i:Oe(i)?c.plural=i:Ee(i)?u=i:ce(i)&&(d=i),Y(l)?c.locale=l:Ee(l)?u=l:ce(l)&&(d=l),Reflect.apply(t.t,t,[$,u||d||{},c])},te(s,r){return t.te(s,r)},tm(s){return t.tm(s)},getLocaleMessage(s){return t.getLocaleMessage(s)},setLocaleMessage(s,r){t.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){t.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(t.d,t,[...s])},getDateTimeFormat(s){return t.getDateTimeFormat(s)},setDateTimeFormat(s,r){t.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){t.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(t.n,t,[...s])},getNumberFormat(s){return t.getNumberFormat(s)},setNumberFormat(s,r){t.setNumberFormat(s,r)},mergeNumberFormat(s,r){t.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Es={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function kb({slots:e},o){return o.length===1&&o[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ve?a.children:[a]],[]):o.reduce((t,n)=>{const a=e[n];return a&&(t[n]=a()),t},ke())}function sc(e){return Ve}const rc=en({name:"i18n-t",props:qe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Oe(e)||!isNaN(e)}},Es),setup(e,o){const{slots:t,attrs:n}=o,a=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(t).filter(d=>d!=="_"),r=ke();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=Y(e.plural)?+e.plural:e.plural);const i=kb(o,s),l=a[vs](e.keypath,i,r),c=qe(ke(),n),u=Y(e.tag)||$e(e.tag)?e.tag:sc();return Ci(u,c,l)}}});function vb(e){return Ee(e)&&!Y(e[0])}function ic(e,o,t,n){const{slots:a,attrs:s}=o;return()=>{const r={part:!0};let i=ke();e.locale&&(r.locale=e.locale),Y(e.format)?r.key=e.format:$e(e.format)&&(Y(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce(($,b)=>t.includes(b)?qe(ke(),$,{[b]:e.format[b]}):$,ke()));const l=n(e.value,r,i);let c=[r.key];Ee(l)?c=l.map(($,b)=>{const w=a[$.type],A=w?w({[$.type]:$.value,index:b,parts:l}):[$.value];return vb(A)&&(A[0].key=`${$.type}-${b}`),A}):Y(l)&&(c=[l]);const u=qe(ke(),s),d=Y(e.tag)||$e(e.tag)?e.tag:sc();return Ci(d,u,c)}}const lc=en({name:"i18n-n",props:qe({value:{type:Number,required:!0},format:{type:[String,Object]}},Es),setup(e,o){const t=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return ic(e,o,Hl,(...n)=>t[Ss](...n))}}),cc=en({name:"i18n-d",props:qe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Es),setup(e,o){const t=e.i18n||Ot({useScope:e.scope,__useComponent:!0});return ic(e,o,Vl,(...n)=>t[As](...n))}});function Ab(e,o){const t=e;if(e.mode==="composition")return t.__getInstance(o)||e.global;{const n=t.__getInstance(o);return n!=null?n.__composer:e.global.__composer}}function Sb(e){const o=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw ze(Ge.UNEXPECTED_ERROR);const u=Ab(e,i.$),d=uc(c);return[Reflect.apply(u.t,u,[...pc(d)]),u]};return{created:(r,i)=>{const[l,c]=o(i);ta&&e.global===c&&(r.__i18nWatcher=fo(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{ta&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=uc(i);r.textContent=Reflect.apply(l.t,l,[...pc(c)])}},getSSRProps:r=>{const[i]=o(r);return{textContent:i}}}}function uc(e){if(Y(e))return{path:e};if(ce(e)){if(!("path"in e))throw ze(Ge.REQUIRED_VALUE,"path");return e}else throw ze(Ge.INVALID_VALUE)}function pc(e){const{path:o,locale:t,args:n,choice:a,plural:s}=e,r={},i=n||{};return Y(t)&&(r.locale=t),Oe(a)&&(r.plural=a),Oe(s)&&(r.plural=s),[o,i,r]}function Lb(e,o,...t){const n=ce(t[0])?t[0]:{},a=!!n.useI18nComponentName;(de(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":rc.name,"I18nT"].forEach(r=>e.component(r,rc)),[lc.name,"I18nN"].forEach(r=>e.component(r,lc)),[cc.name,"I18nD"].forEach(r=>e.component(r,cc))),e.directive("t",Sb(o))}function wb(e,o,t){return{beforeCreate(){const n=Uo();if(!n)throw ze(Ge.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=o,this===this.$root)this.$i18n=gc(e,s);else{s.__injectWithOption=!0,s.__extender=t.__vueI18nExtend,this.$i18n=Ps(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=gc(e,a);else{this.$i18n=Ps({__i18n:a.__i18n,__injectWithOption:!0,__extender:t.__vueI18nExtend,__root:o});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ql(o,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),t.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Uo();if(!n)throw ze(Ge.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),t.__deleteInstance(n),delete this.$i18n}}}function gc(e,o){e.locale=o.locale||e.locale,e.fallbackLocale=o.fallbackLocale||e.fallbackLocale,e.missing=o.missing||e.missing,e.silentTranslationWarn=o.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=o.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=o.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=o.postTranslation||e.postTranslation,e.warnHtmlInMessage=o.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=o.escapeParameterHtml||e.escapeParameterHtml,e.sync=o.sync||e.sync,e.__composer[Xl](o.pluralizationRules||e.pluralizationRules);const t=ua(e.locale,{messages:o.messages,__i18n:o.__i18n});return Object.keys(t).forEach(n=>e.mergeLocaleMessage(n,t[n])),o.datetimeFormats&&Object.keys(o.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,o.datetimeFormats[n])),o.numberFormats&&Object.keys(o.numberFormats).forEach(n=>e.mergeNumberFormat(n,o.numberFormats[n])),e}const Pb=Qo("global-vue-i18n");function Eb(e={},o){const t=__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__&&t?!!e.allowComposition:!0,s=new Map,[r,i]=Nb(e,t),l=Qo("");function c($){return s.get($)||null}function u($,b){s.set($,b)}function d($){s.delete($)}{const $={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},get allowComposition(){return a},async install(b,...w){if(b.__VUE_I18N_SYMBOL__=l,b.provide(b.__VUE_I18N_SYMBOL__,$),ce(w[0])){const x=w[0];$.__composerExtend=x.__composerExtend,$.__vueI18nExtend=x.__vueI18nExtend}let A=null;!t&&n&&(A=Db(b,$.global)),__VUE_I18N_FULL_INSTALL__&&Lb(b,$,...w),__VUE_I18N_LEGACY_API__&&t&&b.mixin(wb(i,i.__composer,$));const T=b.unmount;b.unmount=()=>{A&&A(),$.dispose(),T()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return $}}function Ot(e={}){const o=Uo();if(o==null)throw ze(Ge.MUST_BE_CALL_SETUP_TOP);if(!o.isCE&&o.appContext.app!=null&&!o.appContext.app.__VUE_I18N_SYMBOL__)throw ze(Ge.NOT_INSTALLED);const t=Cb(o),n=xb(t),a=Zl(o),s=Tb(e,a);if(__VUE_I18N_LEGACY_API__&&t.mode==="legacy"&&!e.__useComponent){if(!t.allowComposition)throw ze(Ge.NOT_AVAILABLE_IN_LEGACY_MODE);return Ob(o,s,n,e)}if(s==="global")return Ql(n,e,a),n;if(s==="parent"){let l=Mb(t,o,e.__useComponent);return l==null&&(l=n),l}const r=t;let i=r.__getInstance(o);if(i==null){const l=qe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=ws(l),r.__composerExtend&&(i[Ls]=r.__composerExtend(i)),Ib(r,o,i),r.__setInstance(o,i)}return i}function Nb(e,o,t){const n=_a();{const a=__VUE_I18N_LEGACY_API__&&o?n.run(()=>Ps(e)):n.run(()=>ws(e));if(a==null)throw ze(Ge.UNEXPECTED_ERROR);return[n,a]}}function Cb(e){{const o=Ie(e.isCE?Pb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!o)throw ze(e.isCE?Ge.NOT_INSTALLED_WITH_PROVIDE:Ge.UNEXPECTED_ERROR);return o}}function Tb(e,o){return na(e)?"__i18n"in o?"local":"global":e.useScope?e.useScope:"local"}function xb(e){return e.mode==="composition"?e.global:e.global.__composer}function Mb(e,o,t=!1){let n=null;const a=o.root;let s=Rb(o,t);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,t&&n&&!n[Jl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Rb(e,o=!1){return e==null?null:o&&e.vnode.ctx||e.parent}function Ib(e,o,t){wt(()=>{},o),Hn(()=>{const n=t;e.__deleteInstance(o);const a=n[Ls];a&&(a(),delete n[Ls])},o)}function Ob(e,o,t,n={}){const a=o==="local",s=Ta(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ze(Ge.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=de(n.inheritLocale)?n.inheritLocale:!Y(n.locale),i=pe(!a||r?t.locale.value:Y(n.locale)?n.locale:Rt),l=pe(!a||r?t.fallbackLocale.value:Y(n.fallbackLocale)||Ee(n.fallbackLocale)||ce(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=pe(ua(i.value,n)),u=pe(ce(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=pe(ce(n.numberFormats)?n.numberFormats:{[i.value]:{}}),$=a?t.missingWarn:de(n.missingWarn)||et(n.missingWarn)?n.missingWarn:!0,b=a?t.fallbackWarn:de(n.fallbackWarn)||et(n.fallbackWarn)?n.fallbackWarn:!0,w=a?t.fallbackRoot:de(n.fallbackRoot)?n.fallbackRoot:!0,A=!!n.fallbackFormat,T=Le(n.missing)?n.missing:null,x=Le(n.postTranslation)?n.postTranslation:null,L=a?t.warnHtmlMessage:de(n.warnHtmlMessage)?n.warnHtmlMessage:!0,k=!!n.escapeParameter,y=a?t.modifiers:ce(n.modifiers)?n.modifiers:{},E=n.pluralRules||a&&t.pluralRules;function C(){return[i.value,l.value,c.value,u.value,d.value]}const _=fe({get:()=>s.value?s.value.locale.value:i.value,set:m=>{s.value&&(s.value.locale.value=m),i.value=m}}),S=fe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:m=>{s.value&&(s.value.fallbackLocale.value=m),l.value=m}}),f=fe(()=>s.value?s.value.messages.value:c.value),D=fe(()=>u.value),G=fe(()=>d.value);function B(){return s.value?s.value.getPostTranslationHandler():x}function W(m){s.value&&s.value.setPostTranslationHandler(m)}function ee(){return s.value?s.value.getMissingHandler():T}function j(m){s.value&&s.value.setMissingHandler(m)}function q(m){return C(),m()}function H(...m){return s.value?q(()=>Reflect.apply(s.value.t,null,[...m])):q(()=>"")}function ue(...m){return s.value?Reflect.apply(s.value.rt,null,[...m]):""}function Ne(...m){return s.value?q(()=>Reflect.apply(s.value.d,null,[...m])):q(()=>"")}function Be(...m){return s.value?q(()=>Reflect.apply(s.value.n,null,[...m])):q(()=>"")}function xe(m){return s.value?s.value.tm(m):{}}function we(m,M){return s.value?s.value.te(m,M):!1}function Z(m){return s.value?s.value.getLocaleMessage(m):{}}function ae(m,M){s.value&&(s.value.setLocaleMessage(m,M),c.value[m]=M)}function X(m,M){s.value&&s.value.mergeLocaleMessage(m,M)}function ne(m){return s.value?s.value.getDateTimeFormat(m):{}}function J(m,M){s.value&&(s.value.setDateTimeFormat(m,M),u.value[m]=M)}function oe(m,M){s.value&&s.value.mergeDateTimeFormat(m,M)}function Q(m){return s.value?s.value.getNumberFormat(m):{}}function me(m,M){s.value&&(s.value.setNumberFormat(m,M),d.value[m]=M)}function Fe(m,M){s.value&&s.value.mergeNumberFormat(m,M)}const h={get id(){return s.value?s.value.id:-1},locale:_,fallbackLocale:S,messages:f,datetimeFormats:D,numberFormats:G,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(m){s.value&&(s.value.inheritLocale=m)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:y},get pluralRules(){return s.value?s.value.pluralRules:E},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:$},set missingWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackWarn(){return s.value?s.value.fallbackWarn:b},set fallbackWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(m){s.value&&(s.value.fallbackRoot=m)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(m){s.value&&(s.value.fallbackFormat=m)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(m){s.value&&(s.value.warnHtmlMessage=m)},get escapeParameter(){return s.value?s.value.escapeParameter:k},set escapeParameter(m){s.value&&(s.value.escapeParameter=m)},t:H,getPostTranslationHandler:B,setPostTranslationHandler:W,getMissingHandler:ee,setMissingHandler:j,rt:ue,d:Ne,n:Be,tm:xe,te:we,getLocaleMessage:Z,setLocaleMessage:ae,mergeLocaleMessage:X,getDateTimeFormat:ne,setDateTimeFormat:J,mergeDateTimeFormat:oe,getNumberFormat:Q,setNumberFormat:me,mergeNumberFormat:Fe};function v(m){m.locale.value=i.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{m.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{m.mergeDateTimeFormat(M,u.value[M])}),Object.keys(d.value).forEach(M=>{m.mergeNumberFormat(M,d.value[M])}),m.escapeParameter=k,m.fallbackFormat=A,m.fallbackRoot=w,m.fallbackWarn=b,m.missingWarn=$,m.warnHtmlMessage=L}return Hr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ze(Ge.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=s.value=e.proxy.$i18n.__composer;o==="global"?(i.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,d.value=m.numberFormats.value):a&&v(m)}),h}const Fb=["locale","fallbackLocale","availableLocales"],dc=["t","rt","d","n","tm","te"];function Db(e,o){const t=Object.create(null);return Fb.forEach(a=>{const s=Object.getOwnPropertyDescriptor(o,a);if(!s)throw ze(Ge.UNEXPECTED_ERROR);const r=Ce(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(t,a,r)}),e.config.globalProperties.$i18n=t,dc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(o,a);if(!s||!s.value)throw ze(Ge.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,dc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if($b(),__INTLIFY_JIT_COMPILATION__?Nl(ub):Nl(cb),eb(Rm),ob(Sl),__INTLIFY_PROD_DEVTOOLS__){const e=zo();e.__INTLIFY__=!0,zm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Gb=Object.assign({"./locales/ar/allPeopleGroups.json":Bg,"./locales/ar/aria.json":Ug,"./locales/ar/buttons.json":jg,"./locales/ar/connectivity.json":zg,"./locales/ar/controls.json":Vg,"./locales/ar/dashboard.json":Kg,"./locales/ar/detail.json":qg,"./locales/ar/gospel.json":Hg,"./locales/ar/grid.json":Wg,"./locales/ar/legend.json":Yg,"./locales/ar/messages.json":Xg,"./locales/ar/options.json":Jg,"./locales/ar/popup.json":Zg,"./locales/ar/prayerLaps.json":Qg,"./locales/ar/regions.json":ed,"./locales/ar/search.json":od,"./locales/ar/studio.json":td,"./locales/ar/tabs.json":nd,"./locales/ar/vision.json":ad,"./locales/de/allPeopleGroups.json":sd,"./locales/de/aria.json":rd,"./locales/de/buttons.json":id,"./locales/de/connectivity.json":ld,"./locales/de/controls.json":cd,"./locales/de/dashboard.json":ud,"./locales/de/detail.json":pd,"./locales/de/gospel.json":gd,"./locales/de/grid.json":dd,"./locales/de/legend.json":hd,"./locales/de/messages.json":fd,"./locales/de/options.json":$d,"./locales/de/popup.json":md,"./locales/de/prayerLaps.json":bd,"./locales/de/regions.json":_d,"./locales/de/search.json":yd,"./locales/de/studio.json":kd,"./locales/de/tabs.json":vd,"./locales/de/vision.json":Ad,"./locales/en/allPeopleGroups.json":Sd,"./locales/en/aria.json":Ld,"./locales/en/buttons.json":wd,"./locales/en/connectivity.json":Pd,"./locales/en/controls.json":Ed,"./locales/en/dashboard.json":Nd,"./locales/en/detail.json":Cd,"./locales/en/gospel.json":Td,"./locales/en/grid.json":xd,"./locales/en/legend.json":Md,"./locales/en/messages.json":Rd,"./locales/en/options.json":Id,"./locales/en/popup.json":Od,"./locales/en/prayerLaps.json":Fd,"./locales/en/regions.json":Dd,"./locales/en/search.json":Gd,"./locales/en/studio.json":Bd,"./locales/en/tabs.json":Ud,"./locales/en/vision.json":jd,"./locales/es/allPeopleGroups.json":zd,"./locales/es/aria.json":Vd,"./locales/es/buttons.json":Kd,"./locales/es/connectivity.json":qd,"./locales/es/controls.json":Hd,"./locales/es/dashboard.json":Wd,"./locales/es/detail.json":Yd,"./locales/es/gospel.json":Xd,"./locales/es/grid.json":Jd,"./locales/es/legend.json":Zd,"./locales/es/messages.json":Qd,"./locales/es/options.json":eh,"./locales/es/popup.json":oh,"./locales/es/prayerLaps.json":th,"./locales/es/regions.json":nh,"./locales/es/search.json":ah,"./locales/es/studio.json":sh,"./locales/es/tabs.json":rh,"./locales/es/vision.json":ih,"./locales/fr/allPeopleGroups.json":lh,"./locales/fr/aria.json":ch,"./locales/fr/buttons.json":uh,"./locales/fr/connectivity.json":ph,"./locales/fr/controls.json":gh,"./locales/fr/dashboard.json":dh,"./locales/fr/detail.json":hh,"./locales/fr/gospel.json":fh,"./locales/fr/grid.json":$h,"./locales/fr/legend.json":mh,"./locales/fr/messages.json":bh,"./locales/fr/options.json":_h,"./locales/fr/popup.json":yh,"./locales/fr/prayerLaps.json":kh,"./locales/fr/regions.json":vh,"./locales/fr/search.json":Ah,"./locales/fr/studio.json":Sh,"./locales/fr/tabs.json":Lh,"./locales/fr/vision.json":wh,"./locales/hi/allPeopleGroups.json":Ph,"./locales/hi/aria.json":Eh,"./locales/hi/buttons.json":Nh,"./locales/hi/connectivity.json":Ch,"./locales/hi/controls.json":Th,"./locales/hi/dashboard.json":xh,"./locales/hi/detail.json":Mh,"./locales/hi/gospel.json":Rh,"./locales/hi/grid.json":Ih,"./locales/hi/legend.json":Oh,"./locales/hi/messages.json":Fh,"./locales/hi/options.json":Dh,"./locales/hi/popup.json":Gh,"./locales/hi/prayerLaps.json":Bh,"./locales/hi/regions.json":Uh,"./locales/hi/search.json":jh,"./locales/hi/studio.json":zh,"./locales/hi/tabs.json":Vh,"./locales/hi/vision.json":Kh,"./locales/it/allPeopleGroups.json":qh,"./locales/it/aria.json":Hh,"./locales/it/buttons.json":Wh,"./locales/it/connectivity.json":Yh,"./locales/it/controls.json":Xh,"./locales/it/dashboard.json":Jh,"./locales/it/detail.json":Zh,"./locales/it/gospel.json":Qh,"./locales/it/grid.json":ef,"./locales/it/legend.json":of,"./locales/it/messages.json":tf,"./locales/it/options.json":nf,"./locales/it/popup.json":af,"./locales/it/prayerLaps.json":sf,"./locales/it/regions.json":rf,"./locales/it/search.json":lf,"./locales/it/studio.json":cf,"./locales/it/tabs.json":uf,"./locales/it/vision.json":pf,"./locales/pt/allPeopleGroups.json":gf,"./locales/pt/aria.json":df,"./locales/pt/buttons.json":hf,"./locales/pt/connectivity.json":ff,"./locales/pt/controls.json":$f,"./locales/pt/dashboard.json":mf,"./locales/pt/detail.json":bf,"./locales/pt/gospel.json":_f,"./locales/pt/grid.json":yf,"./locales/pt/legend.json":kf,"./locales/pt/messages.json":vf,"./locales/pt/options.json":Af,"./locales/pt/popup.json":Sf,"./locales/pt/prayerLaps.json":Lf,"./locales/pt/regions.json":wf,"./locales/pt/search.json":Pf,"./locales/pt/studio.json":Ef,"./locales/pt/tabs.json":Nf,"./locales/pt/vision.json":Cf,"./locales/ro/allPeopleGroups.json":Tf,"./locales/ro/aria.json":xf,"./locales/ro/buttons.json":Mf,"./locales/ro/connectivity.json":Rf,"./locales/ro/controls.json":If,"./locales/ro/dashboard.json":Of,"./locales/ro/detail.json":Ff,"./locales/ro/gospel.json":Df,"./locales/ro/grid.json":Gf,"./locales/ro/legend.json":Bf,"./locales/ro/messages.json":Uf,"./locales/ro/options.json":jf,"./locales/ro/popup.json":zf,"./locales/ro/prayerLaps.json":Vf,"./locales/ro/regions.json":Kf,"./locales/ro/search.json":qf,"./locales/ro/studio.json":Hf,"./locales/ro/tabs.json":Wf,"./locales/ro/vision.json":Yf,"./locales/ru/allPeopleGroups.json":Xf,"./locales/ru/aria.json":Jf,"./locales/ru/buttons.json":Zf,"./locales/ru/connectivity.json":Qf,"./locales/ru/controls.json":e$,"./locales/ru/dashboard.json":o$,"./locales/ru/detail.json":t$,"./locales/ru/gospel.json":n$,"./locales/ru/grid.json":a$,"./locales/ru/legend.json":s$,"./locales/ru/messages.json":r$,"./locales/ru/options.json":i$,"./locales/ru/popup.json":l$,"./locales/ru/prayerLaps.json":c$,"./locales/ru/regions.json":u$,"./locales/ru/search.json":p$,"./locales/ru/studio.json":g$,"./locales/ru/tabs.json":d$,"./locales/ru/vision.json":h$,"./locales/zh/allPeopleGroups.json":f$,"./locales/zh/aria.json":$$,"./locales/zh/buttons.json":m$,"./locales/zh/connectivity.json":b$,"./locales/zh/controls.json":_$,"./locales/zh/dashboard.json":y$,"./locales/zh/detail.json":k$,"./locales/zh/gospel.json":v$,"./locales/zh/grid.json":A$,"./locales/zh/legend.json":S$,"./locales/zh/messages.json":L$,"./locales/zh/options.json":w$,"./locales/zh/popup.json":P$,"./locales/zh/prayerLaps.json":E$,"./locales/zh/regions.json":N$,"./locales/zh/search.json":C$,"./locales/zh/studio.json":T$,"./locales/zh/tabs.json":x$,"./locales/zh/vision.json":M$}),Ft={};for(const[e,o]of Object.entries(Gb)){const t=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!t)continue;const[,n,a]=t;Ft[n]??(Ft[n]={}),Ft[n][a]=o}Ft.en;const pa=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],hc=new Set(["ar"]);function Bb(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Ub(){var n;const e=Bb();if(pa.includes(e))return e;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return pa.includes(t)?t:"en"}function jb(){const e=Ub();try{hc.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const o=Eb({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:Ft,missingWarn:!1,fallbackWarn:!1});fo(o.global.locale,n=>fc(n),{immediate:!0});const t=o.install.bind(o);return o.install=(n,...a)=>{const s=t(n,...a);return n.provide("appI18n",o),s},o}const zb="__DOXA_PAGE_LOCALE";function fc(e){const o=String(e||"").split("-")[0].toLowerCase();if(pa.includes(o))try{typeof window<"u"&&(window[zb]=o)}catch{}}function Dt(e,o){const t=o||Vb(e);wt(()=>{var i;const n=Uo();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${t}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",t),r.textContent=e,s.appendChild(r)})}function Vb(e){let o=0;for(let t=0;to[S]||S,n=()=>!1;try{const S=Ot();t=S.t,n=S.te}catch{}const a=Ie("uiStore",null),s=Ie("profileConfig",null),r=fe(()=>(a==null?void 0:a.theme)==="dark"),i=fe(()=>{var D;const S=(D=s==null?void 0:s.value)==null?void 0:D.pinHintLabel;if(S)return S;const f="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?t("messages.pinHint.tapDot"):f}catch{return f}}),l=pe(!1),c=pe(null);let u=null,d=null,$=null,b=null,w=null,A=null,T=[],x=null,L=null;function k(){l.value=!1}function y(S,f){var G;let D=S==null?void 0:S.parentElement;for(let B=0;D&&B<12;B++,D=D.parentElement){if(D===f||(G=D.classList)!=null&&G.contains("profile-loader"))return null;let W="";try{W=getComputedStyle(D).position}catch{}if(W&&W!=="static"){const ee=D.getBoundingClientRect();if(ee.height>=120&&ee.width>=160)return D}}return null}function E(S){var D;const f=(D=b==null?void 0:b.querySelector)==null?void 0:D.call(b,".legend-mobile-sheet");if(!f)return 1/0;if(w&&A!==f){try{w.disconnect()}catch{}w=null}if(!w&&typeof ResizeObserver<"u")try{w=new ResizeObserver(()=>C()),w.observe(f),A=f}catch{w=null}try{const G=f.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 C(){const S=c.value;if(S)try{S.style.removeProperty("--pin-hint-lift");const f=S.getBoundingClientRect();if(!f.height)return;const D=Math.min(window.innerHeight,E(f)),G=Math.round(f.bottom-D);G>0&&S.style.setProperty("--pin-hint-lift",G+8+"px")}catch{}}function _(S){const f=c.value;if(!f||!(S!=null&&S.querySelector))return;let D=0;try{const B=S.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(B){const W=B.getBoundingClientRect(),ee=f.parentElement,j=ee?ee.getBoundingClientRect():null;if(D=j?Math.max(W.height||0,j.bottom-W.top):W.height||0,L!==B&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}L=B,$=new ResizeObserver(()=>_(S)),$.observe(B)}}}catch{}const G=Math.min(Math.max(Math.ceil(D)||20,20),72);f.style.setProperty("--pin-hint-attrib-clear",G+"px"),C()}return wt(()=>{var G,B,W;const S=Uo(),f=(W=(B=(G=S==null?void 0:S.proxy)==null?void 0:G.$el)==null?void 0:B.getRootNode)==null?void 0:W.call(B);if(!f||typeof f.querySelector!="function")return;b=f;let D=0;u=setInterval(()=>{D++;const ee=f.querySelector("canvas");ee?(clearInterval(u),u=null,l.value=!0,Jt(()=>{const j=y(ee,f),q=c.value;if(j&&q&&q.parentElement!==j)try{j.appendChild(q),d=j}catch{}_(f),C(),T.push(setTimeout(C,1200),setTimeout(C,3e3),setTimeout(C,6e3));try{const H=c.value&&c.value.offsetParent||null;if(H&&typeof ResizeObserver<"u"){if(x)try{x.disconnect()}catch{}x=new ResizeObserver(()=>C()),x.observe(H)}}catch{}})):D>40&&(clearInterval(u),u=null)},300)}),tn(()=>{var S;if(u&&clearInterval(u),$){try{$.disconnect()}catch{}$=null}if(L=null,x){try{x.disconnect()}catch{}x=null}if(w){try{w.disconnect()}catch{}w=null}A=null;for(const f of T)clearTimeout(f);if(T=[],b=null,d&&((S=c.value)==null?void 0:S.parentElement)===d)try{d.removeChild(c.value)}catch{}d=null}),Dt(` .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; @@ -70,7 +70,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(S,f)=>l.value?(ye(),Re("div",{key:0,ref_key:"hintEl",ref:c,class:oo(["pin-hint",{dark:r.value}]),role:"status"},[re("span",Kb,[f[0]||(f[0]=re("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$o(" "+je(i.value)+" ",1),re("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:v},"×")])],2)):Go("",!0)}};let Hb=0;const Wb=is("ui",{state:()=>({_storeInstanceId:++Hb,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=>o=>e.toasts.filter(t=>t.type===o),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>o=>e.openModals.includes(o),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>o=>e.loadingStates.get(o)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"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 o;e<768?o="mobile":e<1024?o="tablet":e<1920?o="desktop":o="wide",o!==this.breakpoint&&(this.breakpoint=o)},updateWindowSize(e,o){this.windowSize.width=e,this.windowSize.height=o,this.updateBreakpoint(e)},showToast(e){const{message:o,type:t="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:o,type:t,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,o={}){return this.showToast({message:e,type:"success",...o})},showError(e,o={}){return this.showToast({message:e,type:"error",duration:7e3,...o})},showWarning(e,o={}){return this.showToast({message:e,type:"warning",...o})},showInfo(e,o={}){return this.showToast({message:e,type:"info",...o})},removeToast(e){const o=this.toasts.findIndex(t=>t.id===e);o!==-1&&this.toasts.splice(o,1)},clearAllToasts(){this.toasts=[]},openModal(e,o={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,o),this.focusTrapActive=!0)},closeModal(e=null){if(e){const o=this.openModals.indexOf(e);o!==-1&&(this.openModals.splice(o,1),this.modalData.delete(e))}else{const o=this.openModals.pop();o&&this.modalData.delete(o)}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,o=!0){o?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,o="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(t=>{for(const n of t)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",t.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",t=>{this.reducedMotion=t.matches,document.documentElement.setAttribute("data-reduced-motion",t.matches)}))}}}),Yb=is("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",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>o=>e.maps[o],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>o=>o 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=>o=>e.fullscreenMapId===o},actions:{registerMap(e,o,t={}){let n=1.5;t.zoom!==void 0?n=t.zoom:o&&typeof o.getZoom=="function"&&(n=o.getZoom());let a=[0,0];if(t.center)a=t.center;else if(o&&typeof o.getCenter=="function"){const s=o.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:o,config:t,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const o=this.maps[e];o&&(o.isReady=!0)},updateMapState(e,o){const t=this.maps[e];t&&Object.assign(t,o)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const o=this.allMapIds;this.activeMapId=o.length>0?o[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,o){this.globalFilters[e]=o},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,o=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=o,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)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,o){this.clusterFilterProperty=e||null,this.clusterFilterValue=o||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 o=JSON.parse(e);this.preferences={...this.preferences,...o}}}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,o){this.preferences[e]=o,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Xb=is("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,o){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const t=await o();this.sources[e]=Wt({features:t,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(t){console.error(`[dataStore] Failed to load source "${e}":`,t),this.loadingStates[e]={isLoading:!1,error:t}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,o){this.sources[e]=Wt({features:o.normalizedData||[],timestamp:o.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>o=>{var t;return((t=e.sources[o])==null?void 0:t.features)??null},isLoading:e=>o=>{var t;return((t=e.loadingStates[o])==null?void 0:t.isLoading)??!1},getError:e=>o=>{var t;return((t=e.loadingStates[o])==null?void 0:t.error)??null}}}),$c={_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}}},Jb=".profile-loader[data-v-ccbcaedb]{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-ccbcaedb]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Zb=(e,o)=>{const t=e.__vccOpts||e;for(const[n,a]of o)t[n]=a;return t},Qb=["dir"],e_={key:0,class:"profile-error"},o_={key:1,class:"profile-error"},t_=Zb({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var T;const t=e,n=Ie("profileConfig",null),a=fe(()=>{var S;if(!t.profileConfig)return null;let _;try{_=JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}if(_&&_.assetsBase===void 0){const f=(S=n==null?void 0:n.value)==null?void 0:S.assetsBase;typeof f=="string"&&f&&(_.assetsBase=f)}return _}),s=fe(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),r=Dg(),i=fe(()=>{var S;const _=(S=a.value)==null?void 0:S.tk;return typeof _=="string"&&_?_:r.value||""});fo(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&Zi(_)},{immediate:!0});const l=fe(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||$c.activeSource||"doxa-csv"}),c=fe(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),u=fe(()=>!1),d=fe(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),$=fe(()=>{var S,f;const _=(((S=a.value)==null?void 0:S.locale)||((f=a.value)==null?void 0:f.lang)||"").split("-")[0].toLowerCase();return pa.includes(_)?_:""}),b=Ie("appI18n",null);Xu(()=>{$.value&&(b&&(b.global.locale.value=$.value),fc($.value))});const w=fe(()=>{var _,S;return $.value||((S=(_=b==null?void 0:b.global)==null?void 0:_.locale)==null?void 0:S.value)||"en"}),A=fe(()=>hc.has(w.value)?"rtl":"ltr"),N=fe(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),x=Ie("profileModules",null);if(!x)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const L=fe(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return x[_]?Gg(x[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(x)),null)});lo("mapboxToken",i),lo("dataSource",l),lo("colorSet",c),lo("profileConfig",a),lo("instanceId",N),lo("lang",w);const v=Wb(),y=Yb(),E=Xb();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((T=v.setTheme)==null||T.call(v,_))}catch{}return lo("uiStore",v),lo("mapStore",y),lo("dataStore",E),(_,S)=>(ye(),Re("div",{class:"profile-loader",dir:A.value},[a.value?L.value?(ye(),ht(Yr(L.value),{key:2})):(ye(),Re("div",o_,[re("p",null,[S[1]||(S[1]=$o("⚠️ Profile ",-1)),re("strong",null,'"'+je(s.value)+'"',1),S[2]||(S[2]=$o(" not found.",-1))])])):(ye(),Re("div",e_,[...S[0]||(S[0]=[re("p",null,[$o("⚠️ "),re("strong",null,"doxa-map"),$o(": missing or invalid "),re("code",null,"profile-config"),$o(" prop.")],-1),re("p",null,[$o("Example: "),re("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),L.value&&u.value?(ye(),ht(Yr(Oo(null)),{key:3})):Go("",!0),L.value&&d.value?(ye(),ht(qb,{key:4})):Go("",!0)],8,Qb))}},[["styles",[Jb]],["__scopeId","data-v-ccbcaedb"]]),n_=Object.assign({"./all-people-groups.vue":()=>Qc(()=>Promise.resolve().then(()=>Gy),void 0)}),a_=Lg(t_,{configureApp(e){e.use(Ng());const o=jb();e.use(o),e.provide("appI18n",o),e.provide("profileModules",n_)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",a_);const s_="rgba(120, 128, 134, 0.28)",mc="36px",bc=()=>{};function r_(e,o={}){const{enabled:t=!0}=o;if(!t||!e)return bc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return bc;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of n)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${s_} ${mc}, transparent ${mc})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},r=L=>{L.style.opacity="0"},i=()=>n.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const L of n)l.has(L)||r(L)},$=()=>{const L=i();L&&(s(L),u&&clearTimeout(u),u=setTimeout(d,250))},b=()=>$(),w=L=>{if(!(L.touches&&L.touches.length===1))return;const v=L.target;v&&v.classList&&v.classList.contains("map-scroll-edge")||$()},A=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",b,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const N=()=>{c||$()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const x=[];for(const L of n){const v=()=>{l.add(L),s(L)},y=()=>{l.delete(L),r(L)},E=()=>{c=!0,s(L)},T=()=>{c=!1,r(L)};L.addEventListener("mouseenter",v),L.addEventListener("mouseleave",y),L.addEventListener("touchstart",E,{passive:!0}),L.addEventListener("touchend",T,{passive:!0}),x.push(()=>{L.removeEventListener("mouseenter",v),L.removeEventListener("mouseleave",y),L.removeEventListener("touchstart",E),L.removeEventListener("touchend",T)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",b),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",N);for(const v of x)v();for(const v of n)r(v)}}const i_=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 l_(e,o="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const t=i_[e];return t?o==="maplibre"?{style:t.maplibre,lightPreset:void 0,paint:t.paint}:{style:t.mapbox,lightPreset:t.lightPreset,paint:t.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function c_(e,o){if(!e||!Array.isArray(o))return[];const t=[];for(const n of o)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),t.push(n.layer+"."+n.prop)}catch{}return t}const u_=["mapbox","maplibre"],_c="mapbox";function p_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function yc(e){const o=p_(e),t=o==null?void 0:o.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(t||n||a||_c).toLowerCase().trim();return u_.includes(s)?s:_c}const vc={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function g_(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function d_(e){if(typeof window>"u")return!1;const o=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let t=!1;for(const n of o)if(!(!n||!n.setRTLTextPlugin))try{if(g_(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(vc.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(vc.mapbox,null,!0);t=!0}catch{}return t}const h_=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,kc=new WeakMap;function f_(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Ac(e,o){if(!e||!o)return 0;const t=String(o).split("-")[0].toLowerCase();try{if(!f_(e))return typeof e.setLanguage=="function"&&e.setLanguage(t),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=kc.get(e);a||(a=new Map,kc.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!h_.test(l))continue;a.set(r.id,i)}const c=t==="en"?a.get(r.id):["coalesce",["get","name:"+t],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const Gt={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 Sc(e){if(typeof window>"u")return;const o=window,t=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(o.__doxaLogoOwner&&o.__doxaLogoOwner!==e){e.once("load",t),t();return}o.__doxaLogoOwner=e,e.once("remove",()=>{o.__doxaLogoOwner===e&&(o.__doxaLogoOwner=null)})}const $_=Gt.mapbox.css,m_="https://tiles.openfreemap.org/styles/liberty",b_="https://tiles.openfreemap.org/styles/fiord";function Cs(e){var t;const o=((t=Gt[e])==null?void 0:t.global)||Gt.mapbox.global;return typeof window<"u"?window[o]:void 0}async function __(e){const o=Gt[e]||Gt.mapbox;if(Cs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${o.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=o.css,document.head.appendChild(n)}const t=document.querySelector(`script[src="${o.js}"]`);if(t){if(Cs(e))return;await new Promise(n=>{t.addEventListener("load",n,{once:!0}),t.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=o.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function y_(e,o){if(!e)return;const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=t.querySelector(`link[href="${o}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=o,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),t.prepend(s)}),n(2e3)])}function v_(e,o){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o==="night"||o==="dusk"?b_:m_}const k_=85.0511,Ts=-2,A_=0,S_=-60;function Lc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function L_(e,o,t,n){if(!e||e<=0||!o||o<=0)return A_;const a=Math.log2(e/512),s=Lc(n)-Lc(k_),r=Math.log2(o/(512*s)),i=Math.max(a,r);return Math.max(Ts,Math.min(i,(t??18)-1))}function w_({containerRef:e,accessToken:o,style:t,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:d=18,pitch:$=0,bearing:b=0,renderWorldCopies:w=!0,showEdgeBorders:A=!0,southCutoff:N=S_,maxBounds:x=void 0}){const L=Na(null),v=pe(!1);let y=null,E=null,T=null,_=null;try{_=Ie("profileConfig",null)}catch{}a=a||yc(_);const S=a==="maplibre";let f=null;try{f=Ie("lang",null)}catch{}const D=()=>{const W=f&&typeof f=="object"&&"value"in f?f.value:f;if(typeof W=="string"&&W)return W;const ee=_&&typeof _=="object"&&"value"in _?_.value:_;if(ee&&(ee.locale||ee.lang))return String(ee.locale||ee.lang);try{const j=new URLSearchParams(location.search);return j.get("lang")||j.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function G(){var J;const W=l_(t,a),ee=W.style||t;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const j=()=>!e.value;if(await __(a),j())return;const q=Cs(a);if(!q){console.error(`[useMapInstance] ${S?"maplibregl":"mapboxgl"} is not available. Add the ${S?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(d_(q),!S){if(!o&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(o=window.MAP_TOKEN),!o){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!o.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',o.slice(0,10)+"...");return}}if(await y_(e.value,S?Gt.maplibre.css:$_),j()||(await new Promise(oe=>requestAnimationFrame(oe)),j()))return;const H=e.value,ue=H.clientWidth,Ce=H.clientHeight;if(ue===0||Ce===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ue}×${Ce}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=H.parentElement,Q=0;for(;oe&&Q<5;)oe=oe.parentElement,Q++}const Be=o;S||(q.accessToken=Be);const xe=()=>typeof window<"u"&&window.innerWidth>=1024,we=(oe,Q)=>{if(u)return typeof c=="number"?c:Ts;if(!xe())return Ts;const me=L_(oe,Q,d,N);return typeof c=="number"?Math.max(c,me):me},Z=we(H.clientWidth,H.clientHeight),ae=W.lightPreset||(()=>{var oe;try{const Q=typeof n=="function"?n():n;return(oe=Q==null?void 0:Q.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(S){L.value=new q.Map({container:e.value,style:v_(ee,ae),center:s,zoom:r,minZoom:Z,maxZoom:d,pitch:$,bearing:b,dragRotate:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Sc(L.value);try{e.value.__doxaMap=L.value}catch{}}else{const oe=typeof n=="function"?n():n;L.value=new q.Map({accessToken:Be,container:e.value,style:ee,...oe?{config:oe}:{},center:s,zoom:r,minZoom:Z,maxZoom:d,pitch:$,bearing:b,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Sc(L.value);try{e.value.__doxaMap=L.value}catch{}}try{let oe=!1;L.value.on("error",Q=>{var h,k;const me=((h=Q==null?void 0:Q.error)==null?void 0:h.status)??(Q==null?void 0:Q.status),Fe=String(((k=Q==null?void 0:Q.error)==null?void 0:k.url)||(Q==null?void 0:Q.sourceId)||"");me!==401&&me!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${me} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Fe?` First failing request: ${Fe.slice(0,120)}`:"")))})}catch{}try{L.value.touchZoomRotate.disableRotation()}catch{}T=r_(((J=e.value)==null?void 0:J.parentElement)||null,{enabled:A});let X=Z,ne=null;y=()=>{const oe=L.value;if(!oe)return;const Q=we(H.clientWidth,H.clientHeight);Q!==X&&(X=Q,oe.setMinZoom(Q)),oe.getZoom(){ne=null;const me=L.value;if(!me)return;const Fe=we(H.clientWidth,H.clientHeight);if(me.getZoom(){ne&&(clearTimeout(ne),ne=null)},L.value.on("resize",y),typeof window<"u"&&(window.addEventListener("resize",y),window.addEventListener("orientationchange",y)),L.value.on("style.load",()=>{if(L.value&&Ac(L.value,D()),W.paint&&L.value){const oe=c_(L.value,W.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=L.value)==null||oe.resize(),L.value&&L.value.setMinZoom(we(H.clientWidth,H.clientHeight)),v.value=!0})})}function B(){if(L.value){if(y&&(L.value.off("resize",y),typeof window<"u"&&(window.removeEventListener("resize",y),window.removeEventListener("orientationchange",y)),y=null),E){try{E()}catch{}E=null}T&&(T(),T=null),L.value.remove(),L.value=null,v.value=!1}}if(f&&typeof f=="object"&&"value"in f)try{fo(f,()=>{L.value&&v.value&&Ac(L.value,D())})}catch{}return{map:L,isMapReady:v,initializeMap:G,destroy:B}}const wc="doxa-prayed-local",P_=7*24*60*60*1e3;function E_(){try{const e=localStorage.getItem(wc);if(!e)return{};const o=JSON.parse(e);return o&&typeof o=="object"?o:{}}catch{return{}}}function C_(e){try{localStorage.setItem(wc,JSON.stringify(e))}catch{}}function T_(){const e=Date.now(),o=E_();let t=!1;for(const[n,a]of Object.entries(o))(typeof a!="number"||e-a>P_)&&(delete o[n],t=!0);return t&&C_(o),new Set(Object.keys(o))}function N_(e){const o=T_();return!o.size||!Array.isArray(e)?e:e.map(t=>(Number(t&&t.peoplePraying)||0)>0||!t||!o.has(t.slug)?t:{...t,peoplePraying:1})}const at={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"},Pc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Ns="languageFamily",x_="#000000",st={"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"},R_=st;function xs(e){return st[e]||x_}const M_=(()=>{const e=t=>String(t||"").toLowerCase().trim(),o={};for(const t of Object.keys(st))o[e(t)]=t;return o})(),I_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Rs(e){if(!e)return"Unknown";const o=String(e).trim(),t=o.toLowerCase();return I_[t]||M_[t]||o}function Ec(e){var o;return xs(e.languageFamily||((o=e._normalized)==null?void 0:o.languageFamily))}function Ms(){const e=["match",["get",Ns]];return Object.entries(st).forEach(([o,t])=>{e.push(o,t)}),e.push("#95a5a6"),e}const Cc=Ms,O_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:R_,PALETTE:st,PROPERTY_KEY:Ns,applyColor:Ms,buildColorExpression:Cc,canonicalFamilyName:Rs,default:{name:"Language Family",propertyKey:Ns,palette:st,colors:st,getColor:Ec,applyColor:Ms,buildColorExpression:Cc,getLanguageFamilyColor:xs,canonicalFamilyName:Rs},defaultFamilyColor:"#95a5a6",getColor:Ec,getLanguageFamilyColor:xs,languageFamilyColors:st},Symbol.toStringTag,{value:"Module"})),Tc="adoptionStatus",qo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},F_=qo,Is={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},D_=Is;function Nc(e){var n;const o=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return o===!0||o===1||typeof o=="number"&&o>0||typeof o=="object"&&(o==null?void 0:o.value)?qo.hasAdoption:qo.notAdopted}function Os({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",o,!0],qo.hasAdoption,["==",o,1],qo.hasAdoption,qo.notAdopted]}const xc=Os,G_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:F_,ADOPTION_LABELS:D_,LABELS:Is,PALETTE:qo,PROPERTY_KEY:Tc,applyColor:Os,buildColorExpression:xc,default:{name:"Adoption Progress",propertyKey:Tc,palette:qo,colors:qo,labels:Is,getColor:Nc,applyColor:Os,buildColorExpression:xc},getColor:Nc},Symbol.toStringTag,{value:"Module"})),Rc="engagementStatus",Ho={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},B_=Ho,Fs={notEngaged:"Unengaged",hasEngagement:"Engaged"},U_=Fs;function Mc(e){var n;const o=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return o===!0||o===1||typeof o=="number"&&o>0||typeof o=="object"&&(o==null?void 0:o.value)?Ho.hasEngagement:Ho.notEngaged}function Ds({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",o,!0],Ho.hasEngagement,["==",o,1],Ho.hasEngagement,Ho.notEngaged]}const Ic=Ds,j_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:B_,ENGAGEMENT_LABELS:U_,LABELS:Fs,PALETTE:Ho,PROPERTY_KEY:Rc,applyColor:Ds,buildColorExpression:Ic,default:{name:"Engagement Progress",propertyKey:Rc,palette:Ho,colors:Ho,labels:Fs,getColor:Mc,applyColor:Ds,buildColorExpression:Ic},getColor:Mc},Symbol.toStringTag,{value:"Module"})),Oc="peoplePraying",ga=144,rt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},z_=rt,Gs={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},V_=Gs;function da(e){var n;const o=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,t=Number(o)||0;return t>=ga?"fullPrayer":t>0?"hasPrayer":"noPrayer"}function Bs(e){return rt[da(e)]}function Fc(e){var t;const o=(e==null?void 0:e.peoplePraying)??((t=e==null?void 0:e._raw)==null?void 0:t.people_praying)??null;return o!==null&&o>0}function Dc(e){return da(e)==="fullPrayer"}function Gc(e){return Bs(e)}function Us({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",o,ga],rt.fullPrayer,[">",o,0],rt.hasPrayer,rt.noPrayer]}const Bc=Us,K_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:ga,LABELS:Gs,PALETTE:rt,PRAYER_COLORS:z_,PRAYER_LABELS:V_,PROPERTY_KEY:Oc,applyColor:Us,buildColorExpression:Bc,checkHasFullPrayer:Dc,checkHasPrayer:Fc,default:{name:"Prayer Progress",propertyKey:Oc,palette:rt,colors:rt,labels:Gs,threshold:ga,getColor:Gc,applyColor:Us,buildColorExpression:Bc,getPrayerLevel:da,getPrayerColor:Bs,checkHasPrayer:Fc,checkHasFullPrayer:Dc},getColor:Gc,getPrayerColor:Bs,getPrayerLevel:da},Symbol.toStringTag,{value:"Module"})),Uc="religion",js="#94a3b8",zs={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},uo={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function jc(e){if(!e||typeof e!="string")return"U";const o=e.charAt(0).toUpperCase();return zs[o]?o:"U"}function zc(e){var t,n,a;const o=(e==null?void 0:e.religion)||((n=(t=e==null?void 0:e._raw)==null?void 0:t.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return uo[jc(o)]||js}function Vs(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",uo.C,"M",uo.M,"H",uo.H,"B",uo.B,"E",uo.E,"J",uo.J,"S",uo.S,"N",uo.N,"O",uo.O,js]}const Vc=Vs,q_=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:uo,PROPERTY_KEY:Uc,RELIGION_FAMILIES:zs,applyColor:Vs,buildColorExpression:Vc,default:{name:"Religion",propertyKey:Uc,palette:uo,families:zs,getColor:zc,applyColor:Vs,buildColorExpression:Vc,fallback:js},getColor:zc,getReligionFamily:jc},Symbol.toStringTag,{value:"Module"})),Kc="region",Ks="#6d766e",qc={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"},bn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},qs=Object.keys(bn);function Hc(e){var t,n,a;const o=(e==null?void 0:e.region)||((n=(t=e==null?void 0:e._raw)==null?void 0:t.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return bn[o]||Ks}function Hs(){const e=["match",["coalesce",["get","region"],""]];for(const o of qs)e.push(o,bn[o]);return e.push(Ks),e}const Wc=Hs,H_=Object.assign({"./adoption.js":G_,"./engagement.js":j_,"./language-family.js":O_,"./prayer-progress.js":K_,"./religion.js":q_,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:bn,PROPERTY_KEY:Kc,REGION_ORDER:qs,WAGF_REGIONS:qc,applyColor:Hs,buildColorExpression:Wc,default:{name:"WAGF Region",propertyKey:Kc,palette:bn,regions:qc,order:qs,getColor:Hc,applyColor:Hs,buildColorExpression:Wc,fallback:Ks},getColor:Hc},Symbol.toStringTag,{value:"Module"}))}),W_=e=>e.replace(/-([a-z0-9])/g,(o,t)=>t.toUpperCase()),Y_=e=>e.replace(/-/g,"_").toUpperCase(),X_={...{STATUS:"status",CUSTOM:"custom"}};function J_(e){for(const o of Object.keys(e).sort()){const t=o.split("/").pop().replace(/\.js$/,"");if(t.startsWith("_")||t.startsWith(".")||!e[o].default)continue;const a=W_(t);X_[Y_(t)]=a}}J_(H_);function Ws(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Z_=[[/ sign language$/i,"Sign Language"]];function Q_(e){var i,l;const o=Ws(e.languageFamily);if(o)return o;const t=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(t&&Pc[t])return Pc[t];const n=Ws(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(at[c])return at[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(at[u])return at[u]}}if(at[a])return at[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&at[r])return at[r];for(const[c,u]of Z_)if(c.test(a))return u;return""}function ey(e){const{mapId:o="unknown",dataSourceId:t="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=_=>_}=e;n||console.error("useMapData: dataSourceManager is required!");const r=pe(!1),i=pe(null),l=pe(!1),c=pe([]),u=pe([]),d=pe(null),$=pe([]),b=pe([]),w=pe([]),A=pe(null);async function N(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(t)){const j=a.getSourceData(t);u.value=s(j.normalizedData||[])}else{const j=await n.setActiveSource(t);for(const q of j){const H=Ws(q.language||q.primary_language);H&&(q.language=H);const ue=Q_(q);q.languageFamily=Rs(ue)}u.value=s(j),a&&a.cacheSourceData&&a.cacheSourceData(t,{normalizedData:j,timestamp:Date.now()})}c.value=s(N_(u.value.map(j=>({id:j.uniqueId,slug:j.slug||"",rop3:j.peopleGroupId,peopleId3:j.peopleId3,name:j.name,language:j.language,languageFamily:j.languageFamily,country:j.country,population:j.population,status:j.engagementStatus||j.status,latitude:j.latitude,longitude:j.longitude,lng:j.longitude,lat:j.latitude,description:j.description,imageUrl:j.imageUrl,doxaRegion:j.doxaRegion||j.wagfRegion||"",peoplePraying:j.peoplePraying??null,_normalized:j}))));const _=n.getDataByLanguageFamily();$.value=Object.entries(_).map(([j,q])=>{const H=q.reduce((ue,Ce)=>{const Be=parseInt(Ce.population)||0;return ue+Be},0);return{name:j,count:q.length,peopleGroupCount:q.length,population:H,groups:q}}).sort((j,q)=>q.count-j.count);const S=n.getDataByRegion();b.value=Object.entries(S).map(([j,q])=>{const H=q.reduce((ue,Ce)=>{const Be=parseInt(Ce.population)||0;return ue+Be},0);return{name:j,count:q.length,peopleGroupCount:q.length,population:H,groups:q}}).sort((j,q)=>j.name.localeCompare(q.name));const f={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(j=>{const q=parseInt(j.population)||0;let H=!1;j.bible==="Available"&&(f.bible.count++,f.bible.population+=q,f.bible.groups.push(j),H=!0),j.jesusFilm==="Available"&&(f.jesusFilm.count++,f.jesusFilm.population+=q,f.jesusFilm.groups.push(j),H=!0),j.radio==="Available"&&(f.radio.count++,f.radio.population+=q,f.radio.groups.push(j),H=!0),j.gospel==="Available"&&(f.gospel.count++,f.gospel.population+=q,f.gospel.groups.push(j),H=!0),j.audio==="Available"&&(f.audio.count++,f.audio.population+=q,f.audio.groups.push(j),H=!0),j.stories==="Available"&&(f.stories.count++,f.stories.population+=q,f.stories.groups.push(j),H=!0),H?(f.hasResources.count++,f.hasResources.population+=q,f.hasResources.groups.push(j)):(f.noResources.count++,f.noResources.population+=q,f.noResources.groups.push(j))});const D=u.value.length,G=u.value.reduce((j,q)=>j+(parseInt(q.population)||0),0),B={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:D-f.bible.count,population:G-f.bible.population},jesusFilm:{count:D-f.jesusFilm.count,population:G-f.jesusFilm.population},radio:{count:D-f.radio.count,population:G-f.radio.population},gospel:{count:D-f.gospel.count,population:G-f.gospel.population},audio:{count:D-f.audio.count,population:G-f.audio.population},stories:{count:D-f.stories.count,population:G-f.stories.population}},ee="#2c3e50";return w.value=[{name:B.bible,key:"bible",count:f.bible.count,population:f.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ee}]},{name:B.jesusFilm,key:"jesusFilm",count:f.jesusFilm.count,population:f.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ee}]},{name:B.radio,key:"radio",count:f.radio.count,population:f.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ee}]},{name:B.gospel,key:"gospel",count:f.gospel.count,population:f.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ee}]},{name:B.audio,key:"audio",count:f.audio.count,population:f.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ee}]},{name:B.stories,key:"stories",count:f.stories.count,population:f.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ee}]},{name:B.hasResources,key:"hasResources",count:f.hasResources.count,population:f.hasResources.population,isParent:!0,children:[{name:B.noResources,key:"noResources",count:f.noResources.count,population:f.noResources.population,color:ee}]}],A.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:$.value,doxaRegionsData:b.value,resourcesData:w.value,stats:A.value}}catch(_){throw console.error(`Failed to load data for map "${o}":`,_),i.value=_.message||"Failed to load data",_}finally{r.value=!1}}async function x(){var _,S,f;try{const D={},G=u.value||[];for(const B of G){const W=B.countryIso||((S=(_=B._raw)==null?void 0:_.country_code)==null?void 0:S.value)||"",ee=(f=B._raw)==null?void 0:f.wagf_region,j=B.doxaRegion||B.wagfRegion||(ee&&typeof ee=="object"?ee.value:"")||"";W&&j&&!D[W]&&(D[W]=j)}return d.value={isoToRegion:D},d.value}catch(D){throw console.error(`Error building regions data for map "${o}":`,D),i.value=D.message||"Failed to build regions",D}}function L(){return n?n.getDataByLanguageFamily():{}}function v(){return n?n.getDataByRegion():{}}function y(_){return L()[_]||[]}function E(_){return v()[_]||[]}function T(){c.value=[],u.value=[],d.value=null,$.value=[],b.value=[],w.value=[],A.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:d,languageFamiliesData:$,doxaRegionsData:b,resourcesData:w,stats:A,loadData:N,loadRegionsData:x,getDataByLanguageFamily:L,getDataByRegion:v,getPeopleGroupsByFamily:y,getPeopleGroupsByRegion:E,clearData:T}}const Ys={};function oy(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:bt&&bt.tagName.toUpperCase()==="SCRIPT"&&bt.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ys==null?void 0:Ys.VITE_API_BASE_URL)||""}class Yc{constructor(o={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=o.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=$c,this.sourcesConfig}getActiveSourceId(){var o;return((o=this.sourcesConfig)==null?void 0:o.activeSource)||"doxa-csv"}getSourceConfig(o){var t,n;return(n=(t=this.sourcesConfig)==null?void 0:t.sources)==null?void 0:n[o]}async setActiveSource(o){const t=this.getSourceConfig(o);if(!t)throw new Error(`Source not found: ${o}`);if(this.activeSource=t,this.cacheEnabled&&this.cache.has(o)){const n=this.cache.get(o);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return t.type==="csv"?await this.loadCSVData(t):t.type==="api"?await this.loadAPIData(t):t.type==="rest-api"&&await this.loadRestApiData(t),this.cacheEnabled&&this.cache.set(o,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(o=null){o?this.cache.delete(o):this.cache.clear()}isCached(o){return this.cache.has(o)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(o){const t=[],n=[];let a="",s=!1,r=[],i=!0;for(let l=0;ll.value?(ye(),Me("div",{key:0,ref_key:"hintEl",ref:c,class:oo(["pin-hint",{dark:r.value}]),role:"status"},[re("span",Kb,[f[0]||(f[0]=re("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$o(" "+je(i.value)+" ",1),re("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:k},"×")])],2)):Go("",!0)}};let Hb=0;const Wb=is("ui",{state:()=>({_storeInstanceId:++Hb,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=>o=>e.toasts.filter(t=>t.type===o),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>o=>e.openModals.includes(o),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>o=>e.loadingStates.get(o)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"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 o;e<768?o="mobile":e<1024?o="tablet":e<1920?o="desktop":o="wide",o!==this.breakpoint&&(this.breakpoint=o)},updateWindowSize(e,o){this.windowSize.width=e,this.windowSize.height=o,this.updateBreakpoint(e)},showToast(e){const{message:o,type:t="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:o,type:t,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,o={}){return this.showToast({message:e,type:"success",...o})},showError(e,o={}){return this.showToast({message:e,type:"error",duration:7e3,...o})},showWarning(e,o={}){return this.showToast({message:e,type:"warning",...o})},showInfo(e,o={}){return this.showToast({message:e,type:"info",...o})},removeToast(e){const o=this.toasts.findIndex(t=>t.id===e);o!==-1&&this.toasts.splice(o,1)},clearAllToasts(){this.toasts=[]},openModal(e,o={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,o),this.focusTrapActive=!0)},closeModal(e=null){if(e){const o=this.openModals.indexOf(e);o!==-1&&(this.openModals.splice(o,1),this.modalData.delete(e))}else{const o=this.openModals.pop();o&&this.modalData.delete(o)}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,o=!0){o?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,o="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(t=>{for(const n of t)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",t.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",t=>{this.reducedMotion=t.matches,document.documentElement.setAttribute("data-reduced-motion",t.matches)}))}}}),Yb=is("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",clusteringMode:"off",clusterPinOpacity:.6,clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>o=>e.maps[o],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>o=>o 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=>o=>e.fullscreenMapId===o},actions:{registerMap(e,o,t={}){let n=1.5;t.zoom!==void 0?n=t.zoom:o&&typeof o.getZoom=="function"&&(n=o.getZoom());let a=[0,0];if(t.center)a=t.center;else if(o&&typeof o.getCenter=="function"){const s=o.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:o,config:t,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const o=this.maps[e];o&&(o.isReady=!0)},updateMapState(e,o){const t=this.maps[e];t&&Object.assign(t,o)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const o=this.allMapIds;this.activeMapId=o.length>0?o[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,o){this.globalFilters[e]=o},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,o=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=o,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)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},setClusterFilter(e,o){this.clusterFilterProperty=e||null,this.clusterFilterValue=o||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 o=JSON.parse(e);this.preferences={...this.preferences,...o}}}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,o){this.preferences[e]=o,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Xb=is("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,o){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const t=await o();this.sources[e]=Wt({features:t,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(t){console.error(`[dataStore] Failed to load source "${e}":`,t),this.loadingStates[e]={isLoading:!1,error:t}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,o){this.sources[e]=Wt({features:o.normalizedData||[],timestamp:o.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>o=>{var t;return((t=e.sources[o])==null?void 0:t.features)??null},isLoading:e=>o=>{var t;return((t=e.loadingStates[o])==null?void 0:t.isLoading)??!1},getError:e=>o=>{var t;return((t=e.loadingStates[o])==null?void 0:t.error)??null}}}),$c={_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}}},Jb=".profile-loader[data-v-ccbcaedb]{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-ccbcaedb]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Zb=(e,o)=>{const t=e.__vccOpts||e;for(const[n,a]of o)t[n]=a;return t},Qb=["dir"],e_={key:0,class:"profile-error"},o_={key:1,class:"profile-error"},t_=Zb({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var C;const t=e,n=Ie("profileConfig",null),a=fe(()=>{var S;if(!t.profileConfig)return null;let _;try{_=JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}if(_&&_.assetsBase===void 0){const f=(S=n==null?void 0:n.value)==null?void 0:S.assetsBase;typeof f=="string"&&f&&(_.assetsBase=f)}return _}),s=fe(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),r=Dg(),i=fe(()=>{var S;const _=(S=a.value)==null?void 0:S.tk;return typeof _=="string"&&_?_:r.value||""});fo(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&Zi(_)},{immediate:!0});const l=fe(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||$c.activeSource||"doxa-csv"}),c=fe(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),u=fe(()=>!1),d=fe(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),$=fe(()=>{var S,f;const _=(((S=a.value)==null?void 0:S.locale)||((f=a.value)==null?void 0:f.lang)||"").split("-")[0].toLowerCase();return pa.includes(_)?_:""}),b=Ie("appI18n",null);Xu(()=>{$.value&&(b&&(b.global.locale.value=$.value),fc($.value))});const w=fe(()=>{var _,S;return $.value||((S=(_=b==null?void 0:b.global)==null?void 0:_.locale)==null?void 0:S.value)||"en"}),A=fe(()=>hc.has(w.value)?"rtl":"ltr"),T=fe(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),x=Ie("profileModules",null);if(!x)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const L=fe(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return x[_]?Gg(x[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(x)),null)});lo("mapboxToken",i),lo("dataSource",l),lo("colorSet",c),lo("profileConfig",a),lo("instanceId",T),lo("lang",w);const k=Wb(),y=Yb(),E=Xb();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((C=k.setTheme)==null||C.call(k,_))}catch{}return lo("uiStore",k),lo("mapStore",y),lo("dataStore",E),(_,S)=>(ye(),Me("div",{class:"profile-loader",dir:A.value},[a.value?L.value?(ye(),ht(Yr(L.value),{key:2})):(ye(),Me("div",o_,[re("p",null,[S[1]||(S[1]=$o("⚠️ Profile ",-1)),re("strong",null,'"'+je(s.value)+'"',1),S[2]||(S[2]=$o(" not found.",-1))])])):(ye(),Me("div",e_,[...S[0]||(S[0]=[re("p",null,[$o("⚠️ "),re("strong",null,"doxa-map"),$o(": missing or invalid "),re("code",null,"profile-config"),$o(" prop.")],-1),re("p",null,[$o("Example: "),re("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),L.value&&u.value?(ye(),ht(Yr(Oo(null)),{key:3})):Go("",!0),L.value&&d.value?(ye(),ht(qb,{key:4})):Go("",!0)],8,Qb))}},[["styles",[Jb]],["__scopeId","data-v-ccbcaedb"]]),n_=Object.assign({"./all-people-groups.vue":()=>Qc(()=>Promise.resolve().then(()=>Gy),void 0)}),a_=Lg(t_,{configureApp(e){e.use(Tg());const o=jb();e.use(o),e.provide("appI18n",o),e.provide("profileModules",n_)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",a_);const s_="rgba(120, 128, 134, 0.28)",mc="36px",bc=()=>{};function r_(e,o={}){const{enabled:t=!0}=o;if(!t||!e)return bc;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return bc;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of n)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${s_} ${mc}, transparent ${mc})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},r=L=>{L.style.opacity="0"},i=()=>n.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const L of n)l.has(L)||r(L)},$=()=>{const L=i();L&&(s(L),u&&clearTimeout(u),u=setTimeout(d,250))},b=()=>$(),w=L=>{if(!(L.touches&&L.touches.length===1))return;const k=L.target;k&&k.classList&&k.classList.contains("map-scroll-edge")||$()},A=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",b,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const T=()=>{c||$()};typeof window<"u"&&window.addEventListener("scroll",T,{passive:!0});const x=[];for(const L of n){const k=()=>{l.add(L),s(L)},y=()=>{l.delete(L),r(L)},E=()=>{c=!0,s(L)},C=()=>{c=!1,r(L)};L.addEventListener("mouseenter",k),L.addEventListener("mouseleave",y),L.addEventListener("touchstart",E,{passive:!0}),L.addEventListener("touchend",C,{passive:!0}),x.push(()=>{L.removeEventListener("mouseenter",k),L.removeEventListener("mouseleave",y),L.removeEventListener("touchstart",E),L.removeEventListener("touchend",C)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",b),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",T);for(const k of x)k();for(const k of n)r(k)}}const i_=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 l_(e,o="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const t=i_[e];return t?o==="maplibre"?{style:t.maplibre,lightPreset:void 0,paint:t.paint}:{style:t.mapbox,lightPreset:t.lightPreset,paint:t.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function c_(e,o){if(!e||!Array.isArray(o))return[];const t=[];for(const n of o)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),t.push(n.layer+"."+n.prop)}catch{}return t}const u_=["mapbox","maplibre"],_c="mapbox";function p_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function yc(e){const o=p_(e),t=o==null?void 0:o.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(t||n||a||_c).toLowerCase().trim();return u_.includes(s)?s:_c}const kc={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function g_(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function d_(e){if(typeof window>"u")return!1;const o=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let t=!1;for(const n of o)if(!(!n||!n.setRTLTextPlugin))try{if(g_(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(kc.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(kc.mapbox,null,!0);t=!0}catch{}return t}const h_=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,vc=new WeakMap;function f_(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Ac(e,o){if(!e||!o)return 0;const t=String(o).split("-")[0].toLowerCase();try{if(!f_(e))return typeof e.setLanguage=="function"&&e.setLanguage(t),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=vc.get(e);a||(a=new Map,vc.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!h_.test(l))continue;a.set(r.id,i)}const c=t==="en"?a.get(r.id):["coalesce",["get","name:"+t],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const Gt={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 Sc(e){if(typeof window>"u")return;const o=window,t=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(o.__doxaLogoOwner&&o.__doxaLogoOwner!==e){e.once("load",t),t();return}o.__doxaLogoOwner=e,e.once("remove",()=>{o.__doxaLogoOwner===e&&(o.__doxaLogoOwner=null)})}const $_=Gt.mapbox.css,m_="https://tiles.openfreemap.org/styles/liberty",b_="https://tiles.openfreemap.org/styles/fiord";function Ns(e){var t;const o=((t=Gt[e])==null?void 0:t.global)||Gt.mapbox.global;return typeof window<"u"?window[o]:void 0}async function __(e){const o=Gt[e]||Gt.mapbox;if(Ns(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${o.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=o.css,document.head.appendChild(n)}const t=document.querySelector(`script[src="${o.js}"]`);if(t){if(Ns(e))return;await new Promise(n=>{t.addEventListener("load",n,{once:!0}),t.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const s=document.createElement("script");s.src=o.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function y_(e,o){if(!e)return;const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=t.querySelector(`link[href="${o}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=o,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),t.prepend(s)}),n(2e3)])}function k_(e,o){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o==="night"||o==="dusk"?b_:m_}const v_=85.0511,Cs=-2,A_=0,S_=-60;function Lc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function L_(e,o,t,n){if(!e||e<=0||!o||o<=0)return A_;const a=Math.log2(e/512),s=Lc(n)-Lc(v_),r=Math.log2(o/(512*s)),i=Math.max(a,r);return Math.max(Cs,Math.min(i,(t??18)-1))}function w_({containerRef:e,accessToken:o,style:t,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:d=18,pitch:$=0,bearing:b=0,renderWorldCopies:w=!0,showEdgeBorders:A=!0,southCutoff:T=S_,maxBounds:x=void 0}){const L=Ta(null),k=pe(!1);let y=null,E=null,C=null,_=null;try{_=Ie("profileConfig",null)}catch{}a=a||yc(_);const S=a==="maplibre";let f=null;try{f=Ie("lang",null)}catch{}const D=()=>{const W=f&&typeof f=="object"&&"value"in f?f.value:f;if(typeof W=="string"&&W)return W;const ee=_&&typeof _=="object"&&"value"in _?_.value:_;if(ee&&(ee.locale||ee.lang))return String(ee.locale||ee.lang);try{const j=new URLSearchParams(location.search);return j.get("lang")||j.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function G(){var J;const W=l_(t,a),ee=W.style||t;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const j=()=>!e.value;if(await __(a),j())return;const q=Ns(a);if(!q){console.error(`[useMapInstance] ${S?"maplibregl":"mapboxgl"} is not available. Add the ${S?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(d_(q),!S){if(!o&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(o=window.MAP_TOKEN),!o){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!o.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',o.slice(0,10)+"...");return}}if(await y_(e.value,S?Gt.maplibre.css:$_),j()||(await new Promise(oe=>requestAnimationFrame(oe)),j()))return;const H=e.value,ue=H.clientWidth,Ne=H.clientHeight;if(ue===0||Ne===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ue}×${Ne}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=H.parentElement,Q=0;for(;oe&&Q<5;)oe=oe.parentElement,Q++}const Be=o;S||(q.accessToken=Be);const xe=()=>typeof window<"u"&&window.innerWidth>=1024,we=(oe,Q)=>{if(u)return typeof c=="number"?c:Cs;if(!xe())return Cs;const me=L_(oe,Q,d,T);return typeof c=="number"?Math.max(c,me):me},Z=we(H.clientWidth,H.clientHeight),ae=W.lightPreset||(()=>{var oe;try{const Q=typeof n=="function"?n():n;return(oe=Q==null?void 0:Q.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(S){L.value=new q.Map({container:e.value,style:k_(ee,ae),center:s,zoom:r,minZoom:Z,maxZoom:d,pitch:$,bearing:b,dragRotate:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Sc(L.value);try{e.value.__doxaMap=L.value}catch{}}else{const oe=typeof n=="function"?n():n;L.value=new q.Map({accessToken:Be,container:e.value,style:ee,...oe?{config:oe}:{},center:s,zoom:r,minZoom:Z,maxZoom:d,pitch:$,bearing:b,dragRotate:!1,touchPitch:!1,renderWorldCopies:w,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...x?{maxBounds:x}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Sc(L.value);try{e.value.__doxaMap=L.value}catch{}}try{let oe=!1;L.value.on("error",Q=>{var h,v;const me=((h=Q==null?void 0:Q.error)==null?void 0:h.status)??(Q==null?void 0:Q.status),Fe=String(((v=Q==null?void 0:Q.error)==null?void 0:v.url)||(Q==null?void 0:Q.sourceId)||"");me!==401&&me!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${me} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Fe?` First failing request: ${Fe.slice(0,120)}`:"")))})}catch{}try{L.value.touchZoomRotate.disableRotation()}catch{}C=r_(((J=e.value)==null?void 0:J.parentElement)||null,{enabled:A});let X=Z,ne=null;y=()=>{const oe=L.value;if(!oe)return;const Q=we(H.clientWidth,H.clientHeight);Q!==X&&(X=Q,oe.setMinZoom(Q)),oe.getZoom(){ne=null;const me=L.value;if(!me)return;const Fe=we(H.clientWidth,H.clientHeight);if(me.getZoom(){ne&&(clearTimeout(ne),ne=null)},L.value.on("resize",y),typeof window<"u"&&(window.addEventListener("resize",y),window.addEventListener("orientationchange",y)),L.value.on("style.load",()=>{if(L.value&&Ac(L.value,D()),W.paint&&L.value){const oe=c_(L.value,W.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=L.value)==null||oe.resize(),L.value&&L.value.setMinZoom(we(H.clientWidth,H.clientHeight)),k.value=!0})})}function B(){if(L.value){if(y&&(L.value.off("resize",y),typeof window<"u"&&(window.removeEventListener("resize",y),window.removeEventListener("orientationchange",y)),y=null),E){try{E()}catch{}E=null}C&&(C(),C=null),L.value.remove(),L.value=null,k.value=!1}}if(f&&typeof f=="object"&&"value"in f)try{fo(f,()=>{L.value&&k.value&&Ac(L.value,D())})}catch{}return{map:L,isMapReady:k,initializeMap:G,destroy:B}}const wc="doxa-prayed-local",P_=7*24*60*60*1e3;function E_(){try{const e=localStorage.getItem(wc);if(!e)return{};const o=JSON.parse(e);return o&&typeof o=="object"?o:{}}catch{return{}}}function N_(e){try{localStorage.setItem(wc,JSON.stringify(e))}catch{}}function C_(){const e=Date.now(),o=E_();let t=!1;for(const[n,a]of Object.entries(o))(typeof a!="number"||e-a>P_)&&(delete o[n],t=!0);return t&&N_(o),new Set(Object.keys(o))}function T_(e){const o=C_();return!o.size||!Array.isArray(e)?e:e.map(t=>(Number(t&&t.peoplePraying)||0)>0||!t||!o.has(t.slug)?t:{...t,peoplePraying:1})}const at={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"},Pc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Ts="languageFamily",x_="#000000",st={"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"},M_=st;function xs(e){return st[e]||x_}const R_=(()=>{const e=t=>String(t||"").toLowerCase().trim(),o={};for(const t of Object.keys(st))o[e(t)]=t;return o})(),I_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Ms(e){if(!e)return"Unknown";const o=String(e).trim(),t=o.toLowerCase();return I_[t]||R_[t]||o}function Ec(e){var o;return xs(e.languageFamily||((o=e._normalized)==null?void 0:o.languageFamily))}function Rs(){const e=["match",["get",Ts]];return Object.entries(st).forEach(([o,t])=>{e.push(o,t)}),e.push("#95a5a6"),e}const Nc=Rs,O_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:M_,PALETTE:st,PROPERTY_KEY:Ts,applyColor:Rs,buildColorExpression:Nc,canonicalFamilyName:Ms,default:{name:"Language Family",propertyKey:Ts,palette:st,colors:st,getColor:Ec,applyColor:Rs,buildColorExpression:Nc,getLanguageFamilyColor:xs,canonicalFamilyName:Ms},defaultFamilyColor:"#95a5a6",getColor:Ec,getLanguageFamilyColor:xs,languageFamilyColors:st},Symbol.toStringTag,{value:"Module"})),Cc="adoptionStatus",qo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},F_=qo,Is={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},D_=Is;function Tc(e){var n;const o=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return o===!0||o===1||typeof o=="number"&&o>0||typeof o=="object"&&(o==null?void 0:o.value)?qo.hasAdoption:qo.notAdopted}function Os({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",o,!0],qo.hasAdoption,["==",o,1],qo.hasAdoption,qo.notAdopted]}const xc=Os,G_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:F_,ADOPTION_LABELS:D_,LABELS:Is,PALETTE:qo,PROPERTY_KEY:Cc,applyColor:Os,buildColorExpression:xc,default:{name:"Adoption Progress",propertyKey:Cc,palette:qo,colors:qo,labels:Is,getColor:Tc,applyColor:Os,buildColorExpression:xc},getColor:Tc},Symbol.toStringTag,{value:"Module"})),Mc="engagementStatus",Ho={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},B_=Ho,Fs={notEngaged:"Unengaged",hasEngagement:"Engaged"},U_=Fs;function Rc(e){var n;const o=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return o===!0||o===1||typeof o=="number"&&o>0||typeof o=="object"&&(o==null?void 0:o.value)?Ho.hasEngagement:Ho.notEngaged}function Ds({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",o,!0],Ho.hasEngagement,["==",o,1],Ho.hasEngagement,Ho.notEngaged]}const Ic=Ds,j_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:B_,ENGAGEMENT_LABELS:U_,LABELS:Fs,PALETTE:Ho,PROPERTY_KEY:Mc,applyColor:Ds,buildColorExpression:Ic,default:{name:"Engagement Progress",propertyKey:Mc,palette:Ho,colors:Ho,labels:Fs,getColor:Rc,applyColor:Ds,buildColorExpression:Ic},getColor:Rc},Symbol.toStringTag,{value:"Module"})),Oc="peoplePraying",ga=144,rt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},z_=rt,Gs={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},V_=Gs;function da(e){var n;const o=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,t=Number(o)||0;return t>=ga?"fullPrayer":t>0?"hasPrayer":"noPrayer"}function Bs(e){return rt[da(e)]}function Fc(e){var t;const o=(e==null?void 0:e.peoplePraying)??((t=e==null?void 0:e._raw)==null?void 0:t.people_praying)??null;return o!==null&&o>0}function Dc(e){return da(e)==="fullPrayer"}function Gc(e){return Bs(e)}function Us({colorSource:e="properties"}={}){const o=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",o,ga],rt.fullPrayer,[">",o,0],rt.hasPrayer,rt.noPrayer]}const Bc=Us,K_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:ga,LABELS:Gs,PALETTE:rt,PRAYER_COLORS:z_,PRAYER_LABELS:V_,PROPERTY_KEY:Oc,applyColor:Us,buildColorExpression:Bc,checkHasFullPrayer:Dc,checkHasPrayer:Fc,default:{name:"Prayer Progress",propertyKey:Oc,palette:rt,colors:rt,labels:Gs,threshold:ga,getColor:Gc,applyColor:Us,buildColorExpression:Bc,getPrayerLevel:da,getPrayerColor:Bs,checkHasPrayer:Fc,checkHasFullPrayer:Dc},getColor:Gc,getPrayerColor:Bs,getPrayerLevel:da},Symbol.toStringTag,{value:"Module"})),Uc="religion",js="#94a3b8",zs={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},uo={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function jc(e){if(!e||typeof e!="string")return"U";const o=e.charAt(0).toUpperCase();return zs[o]?o:"U"}function zc(e){var t,n,a;const o=(e==null?void 0:e.religion)||((n=(t=e==null?void 0:e._raw)==null?void 0:t.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return uo[jc(o)]||js}function Vs(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",uo.C,"M",uo.M,"H",uo.H,"B",uo.B,"E",uo.E,"J",uo.J,"S",uo.S,"N",uo.N,"O",uo.O,js]}const Vc=Vs,q_=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:uo,PROPERTY_KEY:Uc,RELIGION_FAMILIES:zs,applyColor:Vs,buildColorExpression:Vc,default:{name:"Religion",propertyKey:Uc,palette:uo,families:zs,getColor:zc,applyColor:Vs,buildColorExpression:Vc,fallback:js},getColor:zc,getReligionFamily:jc},Symbol.toStringTag,{value:"Module"})),Kc="region",Ks="#6d766e",qc={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"},bn={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},qs=Object.keys(bn);function Hc(e){var t,n,a;const o=(e==null?void 0:e.region)||((n=(t=e==null?void 0:e._raw)==null?void 0:t.wagf_region)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return bn[o]||Ks}function Hs(){const e=["match",["coalesce",["get","region"],""]];for(const o of qs)e.push(o,bn[o]);return e.push(Ks),e}const Wc=Hs,H_=Object.assign({"./adoption.js":G_,"./engagement.js":j_,"./language-family.js":O_,"./prayer-progress.js":K_,"./religion.js":q_,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:bn,PROPERTY_KEY:Kc,REGION_ORDER:qs,WAGF_REGIONS:qc,applyColor:Hs,buildColorExpression:Wc,default:{name:"WAGF Region",propertyKey:Kc,palette:bn,regions:qc,order:qs,getColor:Hc,applyColor:Hs,buildColorExpression:Wc,fallback:Ks},getColor:Hc},Symbol.toStringTag,{value:"Module"}))}),W_=e=>e.replace(/-([a-z0-9])/g,(o,t)=>t.toUpperCase()),Y_=e=>e.replace(/-/g,"_").toUpperCase(),X_={...{STATUS:"status",CUSTOM:"custom"}};function J_(e){for(const o of Object.keys(e).sort()){const t=o.split("/").pop().replace(/\.js$/,"");if(t.startsWith("_")||t.startsWith(".")||!e[o].default)continue;const a=W_(t);X_[Y_(t)]=a}}J_(H_);function Ws(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Z_=[[/ sign language$/i,"Sign Language"]];function Q_(e){var i,l;const o=Ws(e.languageFamily);if(o)return o;const t=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(t&&Pc[t])return Pc[t];const n=Ws(e.language||e.primary_language);if(!n||typeof n!="string")return"";const a=n.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(at[c])return at[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(at[u])return at[u]}}if(at[a])return at[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&at[r])return at[r];for(const[c,u]of Z_)if(c.test(a))return u;return""}function ey(e){const{mapId:o="unknown",dataSourceId:t="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=_=>_}=e;n||console.error("useMapData: dataSourceManager is required!");const r=pe(!1),i=pe(null),l=pe(!1),c=pe([]),u=pe([]),d=pe(null),$=pe([]),b=pe([]),w=pe([]),A=pe(null);async function T(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(t)){const j=a.getSourceData(t);u.value=s(j.normalizedData||[])}else{const j=await n.setActiveSource(t);for(const q of j){const H=Ws(q.language||q.primary_language);H&&(q.language=H);const ue=Q_(q);q.languageFamily=Ms(ue)}u.value=s(j),a&&a.cacheSourceData&&a.cacheSourceData(t,{normalizedData:j,timestamp:Date.now()})}c.value=s(T_(u.value.map(j=>({id:j.uniqueId,slug:j.slug||"",rop3:j.peopleGroupId,peopleId3:j.peopleId3,name:j.name,language:j.language,languageFamily:j.languageFamily,country:j.country,population:j.population,status:j.engagementStatus||j.status,latitude:j.latitude,longitude:j.longitude,lng:j.longitude,lat:j.latitude,description:j.description,imageUrl:j.imageUrl,doxaRegion:j.doxaRegion||j.wagfRegion||"",peoplePraying:j.peoplePraying??null,_normalized:j}))));const _=n.getDataByLanguageFamily();$.value=Object.entries(_).map(([j,q])=>{const H=q.reduce((ue,Ne)=>{const Be=parseInt(Ne.population)||0;return ue+Be},0);return{name:j,count:q.length,peopleGroupCount:q.length,population:H,groups:q}}).sort((j,q)=>q.count-j.count);const S=n.getDataByRegion();b.value=Object.entries(S).map(([j,q])=>{const H=q.reduce((ue,Ne)=>{const Be=parseInt(Ne.population)||0;return ue+Be},0);return{name:j,count:q.length,peopleGroupCount:q.length,population:H,groups:q}}).sort((j,q)=>j.name.localeCompare(q.name));const f={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(j=>{const q=parseInt(j.population)||0;let H=!1;j.bible==="Available"&&(f.bible.count++,f.bible.population+=q,f.bible.groups.push(j),H=!0),j.jesusFilm==="Available"&&(f.jesusFilm.count++,f.jesusFilm.population+=q,f.jesusFilm.groups.push(j),H=!0),j.radio==="Available"&&(f.radio.count++,f.radio.population+=q,f.radio.groups.push(j),H=!0),j.gospel==="Available"&&(f.gospel.count++,f.gospel.population+=q,f.gospel.groups.push(j),H=!0),j.audio==="Available"&&(f.audio.count++,f.audio.population+=q,f.audio.groups.push(j),H=!0),j.stories==="Available"&&(f.stories.count++,f.stories.population+=q,f.stories.groups.push(j),H=!0),H?(f.hasResources.count++,f.hasResources.population+=q,f.hasResources.groups.push(j)):(f.noResources.count++,f.noResources.population+=q,f.noResources.groups.push(j))});const D=u.value.length,G=u.value.reduce((j,q)=>j+(parseInt(q.population)||0),0),B={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:D-f.bible.count,population:G-f.bible.population},jesusFilm:{count:D-f.jesusFilm.count,population:G-f.jesusFilm.population},radio:{count:D-f.radio.count,population:G-f.radio.population},gospel:{count:D-f.gospel.count,population:G-f.gospel.population},audio:{count:D-f.audio.count,population:G-f.audio.population},stories:{count:D-f.stories.count,population:G-f.stories.population}},ee="#2c3e50";return w.value=[{name:B.bible,key:"bible",count:f.bible.count,population:f.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ee}]},{name:B.jesusFilm,key:"jesusFilm",count:f.jesusFilm.count,population:f.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ee}]},{name:B.radio,key:"radio",count:f.radio.count,population:f.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ee}]},{name:B.gospel,key:"gospel",count:f.gospel.count,population:f.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ee}]},{name:B.audio,key:"audio",count:f.audio.count,population:f.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ee}]},{name:B.stories,key:"stories",count:f.stories.count,population:f.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ee}]},{name:B.hasResources,key:"hasResources",count:f.hasResources.count,population:f.hasResources.population,isParent:!0,children:[{name:B.noResources,key:"noResources",count:f.noResources.count,population:f.noResources.population,color:ee}]}],A.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:$.value,doxaRegionsData:b.value,resourcesData:w.value,stats:A.value}}catch(_){throw console.error(`Failed to load data for map "${o}":`,_),i.value=_.message||"Failed to load data",_}finally{r.value=!1}}async function x(){var _,S,f;try{const D={},G=u.value||[];for(const B of G){const W=B.countryIso||((S=(_=B._raw)==null?void 0:_.country_code)==null?void 0:S.value)||"",ee=(f=B._raw)==null?void 0:f.wagf_region,j=B.doxaRegion||B.wagfRegion||(ee&&typeof ee=="object"?ee.value:"")||"";W&&j&&!D[W]&&(D[W]=j)}return d.value={isoToRegion:D},d.value}catch(D){throw console.error(`Error building regions data for map "${o}":`,D),i.value=D.message||"Failed to build regions",D}}function L(){return n?n.getDataByLanguageFamily():{}}function k(){return n?n.getDataByRegion():{}}function y(_){return L()[_]||[]}function E(_){return k()[_]||[]}function C(){c.value=[],u.value=[],d.value=null,$.value=[],b.value=[],w.value=[],A.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:d,languageFamiliesData:$,doxaRegionsData:b,resourcesData:w,stats:A,loadData:T,loadRegionsData:x,getDataByLanguageFamily:L,getDataByRegion:k,getPeopleGroupsByFamily:y,getPeopleGroupsByRegion:E,clearData:C}}const Ys={};function oy(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:bt&&bt.tagName.toUpperCase()==="SCRIPT"&&bt.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ys==null?void 0:Ys.VITE_API_BASE_URL)||""}class Yc{constructor(o={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=o.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=$c,this.sourcesConfig}getActiveSourceId(){var o;return((o=this.sourcesConfig)==null?void 0:o.activeSource)||"doxa-csv"}getSourceConfig(o){var t,n;return(n=(t=this.sourcesConfig)==null?void 0:t.sources)==null?void 0:n[o]}async setActiveSource(o){const t=this.getSourceConfig(o);if(!t)throw new Error(`Source not found: ${o}`);if(this.activeSource=t,this.cacheEnabled&&this.cache.has(o)){const n=this.cache.get(o);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return t.type==="csv"?await this.loadCSVData(t):t.type==="api"?await this.loadAPIData(t):t.type==="rest-api"&&await this.loadRestApiData(t),this.cacheEnabled&&this.cache.set(o,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(o=null){o?this.cache.delete(o):this.cache.clear()}isCached(o){return this.cache.has(o)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(o){const t=[],n=[];let a="",s=!1,r=[],i=!0;for(let l=0;l0){if(r.push(a.trim()),a="",i)n.push(...r),i=!1;else if(r.length>1){const d={};n.forEach(($,b)=>{d[$]=r[b]||""}),t.push(d)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};n.forEach((c,u)=>{l[c]=r[u]||""}),t.push(l)}return{headers:n,data:t}}async loadCSVData(o){try{const n=await(await fetch(this.baseUrl+o.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(o.fieldMappings,a,o.name),this.normalizeData(o),this.normalizedData}catch(t){throw console.error("Failed to load CSV data:",t),t}}validateFieldMappings(o,t,n){const a=new Set(t.map(r=>r.trim())),s=[];for(const[r,i]of Object.entries(o||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(o){try{const n=await(await fetch(o.url||o.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(o),this.normalizedData}catch(t){throw console.error("Failed to load API data:",t),t}}async loadRestApiData(o){var l,c;const t=oy(),n=((l=o.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=o.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const r={...o.queryParams||{}};this.locale&&(r.lang=this.locale);for(const[u,d]of Object.entries(r))s.push(`${u}=${encodeURIComponent(d)}`);const i=`${t}${n}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const d=u.headers.get("content-type")||"";if(!d.includes("application/json"))throw new Error(`API returned "${d}" instead of JSON. Server at ${t} may be down or misconfigured.`);const $=await u.json();return this.rawData=Array.isArray($)?$:$.posts||$.data||$.results||[],this.normalizeData(o),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${o.id}:`,u),u}}normalizeData(o){const t=o.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const a={};for(const[l,c]of Object.entries(t))if(Array.isArray(c)){const u=c.map(d=>this.getFieldValue(n,d));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,o.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(o,t){if(!t)return"";if(o[t]!==void 0)return o[t];const n=t.trim();if(o[n]!==void 0)return o[n];for(const a of Object.keys(o))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return o[a];return""}parsePopulation(o){if(!o)return 0;const t=String(o).replace(/,/g,"").trim(),n=parseInt(t,10);return isNaN(n)?0:n}getImageUrl(o,t){if(!t)return"";const n=t.placeholderUrl||"",a=o[t.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(o){return this.dataByUniqueId.get(o)}getByCoordinates(o,t,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-o)t.peopleGroupId===o)}getLanguageFamilies(){const o=new Set;return this.normalizedData.forEach(t=>{t.languageFamily&&o.add(t.languageFamily)}),Array.from(o).sort()}getDataByLanguageFamily(){const o={};return this.normalizedData.forEach(t=>{const n=t.languageFamily||"Unknown";o[n]||(o[n]=[]),o[n].push(t)}),o}getDataByRegion(){const o={};return this.normalizedData.forEach(t=>{const n=t.doxaRegion||"Unknown";o[n]||(o[n]=[]),o[n].push(t)}),o}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(o=>o.peopleId3).length,withPhotos:this.normalizedData.filter(o=>o.imageUrl&&!String(o.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(o=>o.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Yc;const ty={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const o=pe(null);return lo("mapToolbar",{el:o}),Dt(` .map-toolbar { @@ -89,7 +89,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(t,n)=>(ye(),Re("div",{ref_key:"toolbarEl",ref:o,class:oo(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ua(t.$slots,"default")],2))}},ny=bt&&bt.tagName.toUpperCase()==="SCRIPT"&&bt.src||new URL("all-people-groups.js",document.baseURI).href,it=e=>String(e||"").trim().replace(/\/+$/,"");function Xc(){try{const o=String(ny||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!o||o[2]!==o[3]?null:o[1]||null}catch{return null}}function ay(e){const o=e==null?void 0:e.embedBaseUrl;if(typeof o=="string"&&o.trim())return it(o);if(typeof window<"u"){const t=window.MAP_EMBED_BASE_URL;if(typeof t=="string"&&t.trim())return it(t)}return it(Xc()||"")}function sy(e){const o=e==null?void 0:e.assetsBase;if(typeof o=="string"&&o.trim()){const n=it(o);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const t=it((e==null?void 0:e.treeBase)||"")||it(Xc()||"");if(t)try{const n=typeof document<"u"?document.baseURI:void 0;return it(new URL(t+"/assets",n).href)}catch{return it(t+"/assets")}return"./assets"}function ry({shareUrl:e,embedPath:o,profileConfig:t}={}){const n=t||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(o||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=ay(n),l=r.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 iy=["title","aria-label","disabled"],ly={__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 Dt(` +`,"map-toolbar"),(t,n)=>(ye(),Me("div",{ref_key:"toolbarEl",ref:o,class:oo(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ua(t.$slots,"default")],2))}},ny=bt&&bt.tagName.toUpperCase()==="SCRIPT"&&bt.src||new URL("all-people-groups.js",document.baseURI).href,it=e=>String(e||"").trim().replace(/\/+$/,"");function Xc(){try{const o=String(ny||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!o||o[2]!==o[3]?null:o[1]||null}catch{return null}}function ay(e){const o=e==null?void 0:e.embedBaseUrl;if(typeof o=="string"&&o.trim())return it(o);if(typeof window<"u"){const t=window.MAP_EMBED_BASE_URL;if(typeof t=="string"&&t.trim())return it(t)}return it(Xc()||"")}function sy(e){const o=e==null?void 0:e.assetsBase;if(typeof o=="string"&&o.trim()){const n=it(o);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const t=it((e==null?void 0:e.treeBase)||"")||it(Xc()||"");if(t)try{const n=typeof document<"u"?document.baseURI:void 0;return it(new URL(t+"/assets",n).href)}catch{return it(t+"/assets")}return"./assets"}function ry({shareUrl:e,embedPath:o,profileConfig:t}={}){const n=t||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(o||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=ay(n),l=r.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 iy=["title","aria-label","disabled"],ly={__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 Dt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -115,7 +115,7 @@ .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"),(o,t)=>(ye(),Re("button",{class:oo(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:t[0]||(t[0]=n=>o.$emit("click"))},[Ua(o.$slots,"default")],10,iy))}},cy=["aria-label"],uy={class:"mcm-header"},py={class:"mcm-title"},gy={class:"mcm-body"},dy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Xs="doxa-map-menu-open",hy={__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:o}){Dt(` +`,"map-control-button"),(o,t)=>(ye(),Me("button",{class:oo(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:t[0]||(t[0]=n=>o.$emit("click"))},[Ua(o.$slots,"default")],10,iy))}},cy=["aria-label"],uy={class:"mcm-header"},py={class:"mcm-title"},gy={class:"mcm-body"},dy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Xs="doxa-map-menu-open",hy={__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:o}){Dt(` .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; @@ -131,7 +131,7 @@ .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 t=e,n=o,a=Ie("mapToolbar",null),s=pe(null),r=pe(null),i=pe({});function l(){var f;const b=(f=a==null?void 0:a.el)==null?void 0:f.value,w=s.value;if(!b||!w){i.value={};return}const A=w.getBoundingClientRect(),N=b.getBoundingClientRect(),x=(N.left+N.right)/2>(A.left+A.right)/2,L=8,v=12,y=x?A.right-N.left+L:N.right-A.left+L,E=Math.max(200,Math.min(t.width,A.width-y-v)),T=Math.max(0,N.top-A.top);let S=w.getAttribute&&w.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-N.top-v):Math.max(120,A.height-T-v);t.matchToolbar&&(S=Math.max(120,Math.min(S,N.height))),t.maxHeight&&(S=Math.min(S,t.maxHeight)),i.value={top:`${Math.round(T)}px`,[x?"right":"left"]:`${Math.round(y)}px`,width:`${Math.round(E)}px`,maxHeight:`${Math.round(S)}px`,...t.height?{height:`${Math.round(Math.min(t.height,S))}px`}:{}}}function c(b){t.open&&b.detail!==r.value&&n("close")}fo(()=>t.open,async b=>{var w;if(b){await Jt(),l();try{(w=s.value)==null||w.dispatchEvent(new CustomEvent(Xs,{detail:r.value}))}catch{}}});function u(){t.open&&l()}function d(b){b.key==="Escape"&&t.open&&n("close")}function $(b){var A;if(!t.open)return;const w=b.composedPath?b.composedPath():[b.target];r.value&&w.includes(r.value)||(A=a==null?void 0:a.el)!=null&&A.value&&w.includes(a.el.value)||w.some(N=>{var x,L,v,y;return((L=(x=N==null?void 0:N.classList)==null?void 0:x.contains)==null?void 0:L.call(x,"mapboxgl-canvas"))||((y=(v=N==null?void 0:N.classList)==null?void 0:v.contains)==null?void 0:y.call(v,"maplibregl-canvas"))})&&n("close")}return wt(()=>{var b,w,A;s.value=((w=(b=a==null?void 0:a.el)==null?void 0:b.value)==null?void 0:w.closest(dy))||null,(A=s.value)==null||A.addEventListener(Xs,c),window.addEventListener("resize",u),document.addEventListener("click",$,!0),document.addEventListener("keydown",d)}),tn(()=>{var b;(b=s.value)==null||b.removeEventListener(Xs,c),window.removeEventListener("resize",u),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",d)}),(b,w)=>(ye(),ht(op,{to:s.value,disabled:!s.value},[e.open?(ye(),Re("div",{key:0,ref_key:"el",ref:r,class:oo(["mcm",{light:!e.isDark}]),style:jt(i.value),role:"dialog","aria-label":e.title},[re("div",uy,[re("span",py,je(e.title),1),re("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:w[0]||(w[0]=A=>n("close"))},[...w[1]||(w[1]=[re("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[re("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),re("div",gy,[Ua(b.$slots,"default")])],14,cy)):Go("",!0)],8,["to","disabled"]))}},fy={class:"share-steps"},$y={class:"share-tabs"},my={key:0,class:"share-body"},by={class:"share-url-box"},_y={class:"share-url-text"},yy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},vy={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"},ky={key:1,class:"share-body"},Ay={class:"share-size-pills"},Sy=["onClick"],Ly={class:"share-code-box"},wy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Py={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"},Ey={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Dt(` +`,"map-control-menu");const t=e,n=o,a=Ie("mapToolbar",null),s=pe(null),r=pe(null),i=pe({});function l(){var f;const b=(f=a==null?void 0:a.el)==null?void 0:f.value,w=s.value;if(!b||!w){i.value={};return}const A=w.getBoundingClientRect(),T=b.getBoundingClientRect(),x=(T.left+T.right)/2>(A.left+A.right)/2,L=8,k=12,y=x?A.right-T.left+L:T.right-A.left+L,E=Math.max(200,Math.min(t.width,A.width-y-k)),C=Math.max(0,T.top-A.top);let S=w.getAttribute&&w.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-T.top-k):Math.max(120,A.height-C-k);t.matchToolbar&&(S=Math.max(120,Math.min(S,T.height))),t.maxHeight&&(S=Math.min(S,t.maxHeight)),i.value={top:`${Math.round(C)}px`,[x?"right":"left"]:`${Math.round(y)}px`,width:`${Math.round(E)}px`,maxHeight:`${Math.round(S)}px`,...t.height?{height:`${Math.round(Math.min(t.height,S))}px`}:{}}}function c(b){t.open&&b.detail!==r.value&&n("close")}fo(()=>t.open,async b=>{var w;if(b){await Jt(),l();try{(w=s.value)==null||w.dispatchEvent(new CustomEvent(Xs,{detail:r.value}))}catch{}}});function u(){t.open&&l()}function d(b){b.key==="Escape"&&t.open&&n("close")}function $(b){var A;if(!t.open)return;const w=b.composedPath?b.composedPath():[b.target];r.value&&w.includes(r.value)||(A=a==null?void 0:a.el)!=null&&A.value&&w.includes(a.el.value)||w.some(T=>{var x,L,k,y;return((L=(x=T==null?void 0:T.classList)==null?void 0:x.contains)==null?void 0:L.call(x,"mapboxgl-canvas"))||((y=(k=T==null?void 0:T.classList)==null?void 0:k.contains)==null?void 0:y.call(k,"maplibregl-canvas"))})&&n("close")}return wt(()=>{var b,w,A;s.value=((w=(b=a==null?void 0:a.el)==null?void 0:b.value)==null?void 0:w.closest(dy))||null,(A=s.value)==null||A.addEventListener(Xs,c),window.addEventListener("resize",u),document.addEventListener("click",$,!0),document.addEventListener("keydown",d)}),tn(()=>{var b;(b=s.value)==null||b.removeEventListener(Xs,c),window.removeEventListener("resize",u),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",d)}),(b,w)=>(ye(),ht(op,{to:s.value,disabled:!s.value},[e.open?(ye(),Me("div",{key:0,ref_key:"el",ref:r,class:oo(["mcm",{light:!e.isDark}]),style:jt(i.value),role:"dialog","aria-label":e.title},[re("div",uy,[re("span",py,je(e.title),1),re("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:w[0]||(w[0]=A=>n("close"))},[...w[1]||(w[1]=[re("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[re("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),re("div",gy,[Ua(b.$slots,"default")])],14,cy)):Go("",!0)],8,["to","disabled"]))}},fy={class:"share-steps"},$y={class:"share-tabs"},my={key:0,class:"share-body"},by={class:"share-url-box"},_y={class:"share-url-text"},yy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ky={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"},vy={key:1,class:"share-body"},Ay={class:"share-size-pills"},Sy=["onClick"],Ly={class:"share-code-box"},wy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Py={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"},Ey={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Dt(` .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); @@ -383,7 +383,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t:o,tm:t,rt:n}=Ot(),a=e,s=pe(null),r=pe(!1),i=pe(null),l=pe(null),c=pe("link"),u=pe(!1),d=pe(!1),$=pe("medium"),b={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},w=Ie("profileConfig",null),A=fe(()=>ry({embedPath:a.embedPath,profileConfig:Oo(w)||null})),N=fe(()=>{const D=b[$.value].height;return''});function x(){r.value=!r.value,r.value&&(c.value="link",u.value=!1,d.value=!1)}function L(){r.value=!1}async function v(D){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(D),!0}catch{}try{const G=document.createElement("textarea");G.value=D,G.setAttribute("readonly",""),G.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(G),G.select();const B=document.execCommand("copy");return document.body.removeChild(G),B}catch{return!1}}async function y(){await v(A.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function E(){await v(N.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const T=Ie("mapToolbar",null),_=pe(null);lo("mapToolbar",T||{el:_});const S=!T;function f(D){if(s.value=D||null,!S||!D){D||(_.value=null);return}const G=D.offsetParent||D.parentElement;G&&!G.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&G.setAttribute("data-map-area","share-fallback"),_.value=D}return(D,G)=>(ye(),Re("div",{ref:f,class:"share-wrap","data-share-root":""},[Ne(ly,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:r.value,title:Oo(o)("buttons.share"),onClick:x},{default:Bn(()=>[...G[2]||(G[2]=[re("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"},[re("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),re("polyline",{points:"16 6 12 2 8 6"}),re("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ne(hy,{open:r.value,title:Oo(o)("buttons.share"),"is-dark":e.isDark,onClose:L},{default:Bn(()=>[re("div",{ref_key:"popoverEl",ref:i,class:oo(["share-pop",{light:!e.isDark}])},[re("ul",fy,[(ye(!0),Re(Ve,null,Ba(Oo(t)("buttons.shareSteps"),(B,W)=>(ye(),Re("li",{key:W},je(Oo(n)(B)),1))),128))]),re("div",$y,[re("button",{class:oo(["share-tab",{active:c.value==="link"}]),onClick:G[0]||(G[0]=B=>c.value="link")},"Embed link",2),re("button",{class:oo(["share-tab",{active:c.value==="embed"}]),onClick:G[1]||(G[1]=B=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ye(),Re("div",my,[re("div",by,[re("div",_y,je(A.value),1)]),re("button",{class:oo(["share-primary-btn",{copied:u.value}]),onClick:y},[u.value?(ye(),Re("svg",vy,[...G[4]||(G[4]=[re("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Re("svg",yy,[...G[3]||(G[3]=[re("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),re("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$o(" "+je(u.value?"Copied!":"Copy Link"),1)],2)])):Go("",!0),c.value==="embed"?(ye(),Re("div",ky,[G[7]||(G[7]=re("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),re("div",Ay,[(ye(),Re(Ve,null,Ba(b,(B,W)=>re("button",{key:W,class:oo(["share-size-pill",{active:$.value===W}]),onClick:ee=>$.value=W},je(B.label),11,Sy)),64))]),re("div",Ly,je(N.value),1),re("button",{class:oo(["share-secondary-btn",{copied:d.value}]),onClick:E},[d.value?(ye(),Re("svg",Py,[...G[6]||(G[6]=[re("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Re("svg",wy,[...G[5]||(G[5]=[re("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),re("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$o(" "+je(d.value?"Copied!":"Copy Code"),1)],2)])):Go("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Cy={class:"apg-root"},Ty={key:0,class:"apg-loading"},Ny={key:1,class:"apg-error"},xy={key:2,class:"apg-legend"},Ry={class:"apg-legend-title"},My={class:"apg-legend-sub"},Iy=["onClick"],Oy={class:"apg-count"},Fy={class:"apg-hint"},Dy="all-people-groups/all-people-groups/index.html",Gy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var we;Dt(` +`,"share-button");const{t:o,tm:t,rt:n}=Ot(),a=e,s=pe(null),r=pe(!1),i=pe(null),l=pe(null),c=pe("link"),u=pe(!1),d=pe(!1),$=pe("medium"),b={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},w=Ie("profileConfig",null),A=fe(()=>ry({embedPath:a.embedPath,profileConfig:Oo(w)||null})),T=fe(()=>{const D=b[$.value].height;return''});function x(){r.value=!r.value,r.value&&(c.value="link",u.value=!1,d.value=!1)}function L(){r.value=!1}async function k(D){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(D),!0}catch{}try{const G=document.createElement("textarea");G.value=D,G.setAttribute("readonly",""),G.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(G),G.select();const B=document.execCommand("copy");return document.body.removeChild(G),B}catch{return!1}}async function y(){await k(A.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function E(){await k(T.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const C=Ie("mapToolbar",null),_=pe(null);lo("mapToolbar",C||{el:_});const S=!C;function f(D){if(s.value=D||null,!S||!D){D||(_.value=null);return}const G=D.offsetParent||D.parentElement;G&&!G.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&G.setAttribute("data-map-area","share-fallback"),_.value=D}return(D,G)=>(ye(),Me("div",{ref:f,class:"share-wrap","data-share-root":""},[Te(ly,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:r.value,title:Oo(o)("buttons.share"),onClick:x},{default:Bn(()=>[...G[2]||(G[2]=[re("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"},[re("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),re("polyline",{points:"16 6 12 2 8 6"}),re("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Te(hy,{open:r.value,title:Oo(o)("buttons.share"),"is-dark":e.isDark,onClose:L},{default:Bn(()=>[re("div",{ref_key:"popoverEl",ref:i,class:oo(["share-pop",{light:!e.isDark}])},[re("ul",fy,[(ye(!0),Me(Ve,null,Ba(Oo(t)("buttons.shareSteps"),(B,W)=>(ye(),Me("li",{key:W},je(Oo(n)(B)),1))),128))]),re("div",$y,[re("button",{class:oo(["share-tab",{active:c.value==="link"}]),onClick:G[0]||(G[0]=B=>c.value="link")},"Embed link",2),re("button",{class:oo(["share-tab",{active:c.value==="embed"}]),onClick:G[1]||(G[1]=B=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ye(),Me("div",my,[re("div",by,[re("div",_y,je(A.value),1)]),re("button",{class:oo(["share-primary-btn",{copied:u.value}]),onClick:y},[u.value?(ye(),Me("svg",ky,[...G[4]||(G[4]=[re("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Me("svg",yy,[...G[3]||(G[3]=[re("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),re("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$o(" "+je(u.value?"Copied!":"Copy Link"),1)],2)])):Go("",!0),c.value==="embed"?(ye(),Me("div",vy,[G[7]||(G[7]=re("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),re("div",Ay,[(ye(),Me(Ve,null,Ba(b,(B,W)=>re("button",{key:W,class:oo(["share-size-pill",{active:$.value===W}]),onClick:ee=>$.value=W},je(B.label),11,Sy)),64))]),re("div",Ly,je(T.value),1),re("button",{class:oo(["share-secondary-btn",{copied:d.value}]),onClick:E},[d.value?(ye(),Me("svg",Py,[...G[6]||(G[6]=[re("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ye(),Me("svg",wy,[...G[5]||(G[5]=[re("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),re("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$o(" "+je(d.value?"Copied!":"Copy Code"),1)],2)])):Go("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Ny={class:"apg-root"},Cy={key:0,class:"apg-loading"},Ty={key:1,class:"apg-error"},xy={key:2,class:"apg-legend"},My={class:"apg-legend-title"},Ry={class:"apg-legend-sub"},Iy=["onClick"],Oy={class:"apg-count"},Fy={class:"apg-hint"},Dy="all-people-groups/all-people-groups/index.html",Gy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var we;Dt(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -414,10 +414,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const o=Ie("profileConfig"),t=Ie("mapboxToken"),n=Ie("dataSource"),a=Ie("dataStore"),s=Ie("mapStore"),r=fe(()=>{var Z;return((Z=o.value)==null?void 0:Z.isDark)===!0}),i=yc(o),l=fe(()=>sy((o==null?void 0:o.value)||{})),c={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"};let u=null;try{u=Ot()}catch{}function d(Z,ae){const X="allPeopleGroups."+Z;if(u&&u.te&&u.te(X))return u.t(X,ae||{});let ne=c[Z];if(ae)for(const J in ae)ne=String(ne).split("{"+J+"}").join(String(ae[J]));return ne}const $=fe(()=>u&&u.locale&&u.locale.value||"en"),b=Z=>{try{return Number(Z).toLocaleString($.value)}catch{return Number(Z).toLocaleString()}},w=[{id:"doxa",color:"#111827"},{id:"frontier",color:"#e0392b"},{id:"unreached",color:"#e6a800"},{id:"reached",color:"#23a45a"}],A=Object.fromEntries(w.map(Z=>[Z.id,Z.color])),N=pe({doxa:0,frontier:0,unreached:0,reached:0}),x=pe(!1);function L(Z,ae){if(ae.has(String(Z.ROP3Code||"")))return"doxa";const X=Number(Z.GSEC);return!Number.isFinite(X)||X<=1?"frontier":X<=3?"unreached":"reached"}function v(){var X;let Z="";try{Z=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const ae=(X=o==null?void 0:o.value)==null?void 0:X.utmSource;return encodeURIComponent(String(Z||ae||"agwm"))}const y=pe(null),E=pe(!1),T=pe(null),{map:_,initializeMap:S,destroy:f}=w_({containerRef:y,accessToken:t.value,provider:i,style:((we=o==null?void 0:o.value)==null?void 0:we.style)??"paper",center:[20,12],zoom:1.6}),D=new Yc,G=ey({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:D,dataStore:a,markRaw:Z=>Z});let B=[],W=new Map;function ee(Z){return String(Z??"").replace(/[&<>"']/g,ae=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[ae])}async function j(){const Z=l.value,ae=await fetch(`${Z}/people-groups/people-groups-points.json`);if(ae.ok){const J=await ae.json(),oe=J.dicts||{};return(J.rows||[]).map(Q=>({lng:Q[0],lat:Q[1],gsec:Q[2],rop3:Q[3],name:Q[4],country:(oe.country||[])[Q[5]]||"",population:Q[6],language:(oe.language||[])[Q[7]]||"",religion:(oe.religion||[])[Q[8]]||"",evangelical:(oe.evangelical||[])[Q[9]]||""}))}const X=await fetch(`${Z}/people-groups/people-groups-slim.json`);if(!X.ok)throw new Error(`people-groups-points.json ${ae.status}`);return((await X.json()).rows||[]).map(J=>({lng:Number(J.Long),lat:Number(J.Lat),gsec:J.GSEC,rop3:String(J.ROP3Code||""),name:J.Name||"",country:J.CountryName||"",population:Number(J.Population)||0,language:J.LanguageName||"",religion:J.ReligionName||"",evangelical:J.EvangelicalLevel||""}))}function q(Z,ae){const X=[],ne={doxa:0,frontier:0,unreached:0,reached:0};for(const J of Z){const oe=Number(J.lat),Q=Number(J.lng);if(!Number.isFinite(oe)||!Number.isFinite(Q)||oe===0&&Q===0)continue;const me=L({ROP3Code:J.rop3,GSEC:J.gsec},ae);ne[me]++,X.push({type:"Feature",geometry:{type:"Point",coordinates:[Q,oe]},properties:{name:J.name,country:J.country,population:Number(J.population)||0,gsec:J.gsec,evangelical:J.evangelical,language:J.language,religion:J.religion,rop3:String(J.rop3||""),category:me}})}return N.value=ne,B=X,{type:"FeatureCollection",features:X}}async function H(){let Z=[];try{await G.loadData(),Z=G.normalizedPeopleGroups.value||[]}catch(X){console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X)}const ae=new Set;for(const X of Z){const ne=String(X.peopleGroupId||X.rop3||X.peopleGroupCountry||"");ne&&(ae.add(ne),W.has(ne)||W.set(ne,{slug:X.slug||"",name:X.name||""}))}return ae}function ue(Z){const ae=_.value;ae.addSource("apg",{type:"geojson",data:Z}),ae.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",A.doxa,"frontier",A.frontier,"unreached",A.unreached,A.reached],"circle-stroke-color":"#1f2937","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.3,6,.6,12,1],"circle-stroke-opacity":.55,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),ae.on("mouseenter","apg-pins",()=>{ae.getCanvas().style.cursor="pointer"}),ae.on("mouseleave","apg-pins",()=>{ae.getCanvas().style.cursor=""}),ae.on("click","apg-pins",X=>{const ne=X.features&&X.features[0];if(!ne)return;const J=ne.properties,oe=J.category==="doxa"?W.get(J.rop3):null,Q=w.find(h=>h.id===J.category),me=oe&&oe.slug?`${ee(d("pray"))}`:"",Fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new Fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(X.lngLat).setHTML(`
+`,"all-people-groups");const o=Ie("profileConfig"),t=Ie("mapboxToken"),n=Ie("dataSource"),a=Ie("dataStore"),s=Ie("mapStore"),r=fe(()=>{var Z;return((Z=o.value)==null?void 0:Z.isDark)===!0}),i=yc(o),l=fe(()=>sy((o==null?void 0:o.value)||{})),c={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"};let u=null;try{u=Ot()}catch{}function d(Z,ae){const X="allPeopleGroups."+Z;if(u&&u.te&&u.te(X))return u.t(X,ae||{});let ne=c[Z];if(ae)for(const J in ae)ne=String(ne).split("{"+J+"}").join(String(ae[J]));return ne}const $=fe(()=>u&&u.locale&&u.locale.value||"en"),b=Z=>{try{return Number(Z).toLocaleString($.value)}catch{return Number(Z).toLocaleString()}},w=[{id:"doxa",color:"#111827"},{id:"frontier",color:"#e0392b"},{id:"unreached",color:"#e6a800"},{id:"reached",color:"#23a45a"}],A=Object.fromEntries(w.map(Z=>[Z.id,Z.color])),T=pe({doxa:0,frontier:0,unreached:0,reached:0}),x=pe(!1);function L(Z,ae){if(ae.has(String(Z.ROP3Code||"")))return"doxa";const X=Number(Z.GSEC);return!Number.isFinite(X)||X<=1?"frontier":X<=3?"unreached":"reached"}function k(){var X;let Z="";try{Z=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const ae=(X=o==null?void 0:o.value)==null?void 0:X.utmSource;return encodeURIComponent(String(Z||ae||"agwm"))}const y=pe(null),E=pe(!1),C=pe(null),{map:_,initializeMap:S,destroy:f}=w_({containerRef:y,accessToken:t.value,provider:i,style:((we=o==null?void 0:o.value)==null?void 0:we.style)??"paper",center:[20,12],zoom:1.6}),D=new Yc,G=ey({mapId:"all-people-groups",dataSourceId:n.value,dataSourceManager:D,dataStore:a,markRaw:Z=>Z});let B=[],W=new Map;function ee(Z){return String(Z??"").replace(/[&<>"']/g,ae=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[ae])}async function j(){const Z=l.value,ae=await fetch(`${Z}/people-groups/people-groups-points.json`);if(ae.ok){const J=await ae.json(),oe=J.dicts||{};return(J.rows||[]).map(Q=>({lng:Q[0],lat:Q[1],gsec:Q[2],rop3:Q[3],name:Q[4],country:(oe.country||[])[Q[5]]||"",population:Q[6],language:(oe.language||[])[Q[7]]||"",religion:(oe.religion||[])[Q[8]]||"",evangelical:(oe.evangelical||[])[Q[9]]||""}))}const X=await fetch(`${Z}/people-groups/people-groups-slim.json`);if(!X.ok)throw new Error(`people-groups-points.json ${ae.status}`);return((await X.json()).rows||[]).map(J=>({lng:Number(J.Long),lat:Number(J.Lat),gsec:J.GSEC,rop3:String(J.ROP3Code||""),name:J.Name||"",country:J.CountryName||"",population:Number(J.Population)||0,language:J.LanguageName||"",religion:J.ReligionName||"",evangelical:J.EvangelicalLevel||""}))}function q(Z,ae){const X=[],ne={doxa:0,frontier:0,unreached:0,reached:0};for(const J of Z){const oe=Number(J.lat),Q=Number(J.lng);if(!Number.isFinite(oe)||!Number.isFinite(Q)||oe===0&&Q===0)continue;const me=L({ROP3Code:J.rop3,GSEC:J.gsec},ae);ne[me]++,X.push({type:"Feature",geometry:{type:"Point",coordinates:[Q,oe]},properties:{name:J.name,country:J.country,population:Number(J.population)||0,gsec:J.gsec,evangelical:J.evangelical,language:J.language,religion:J.religion,rop3:String(J.rop3||""),category:me}})}return T.value=ne,B=X,{type:"FeatureCollection",features:X}}async function H(){let Z=[];try{await G.loadData(),Z=G.normalizedPeopleGroups.value||[]}catch(X){console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X)}const ae=new Set;for(const X of Z){const ne=String(X.peopleGroupId||X.rop3||X.peopleGroupCountry||"");ne&&(ae.add(ne),W.has(ne)||W.set(ne,{slug:X.slug||"",name:X.name||""}))}return ae}function ue(Z){const ae=_.value;ae.addSource("apg",{type:"geojson",data:Z}),ae.addLayer({id:"apg-pins",type:"circle",source:"apg",layout:{"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]},paint:{"circle-color":["match",["get","category"],"doxa",A.doxa,"frontier",A.frontier,"unreached",A.unreached,A.reached],"circle-stroke-color":"#1f2937","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.3,6,.6,12,1],"circle-stroke-opacity":.55,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92}}),ae.on("mouseenter","apg-pins",()=>{ae.getCanvas().style.cursor="pointer"}),ae.on("mouseleave","apg-pins",()=>{ae.getCanvas().style.cursor=""}),ae.on("click","apg-pins",X=>{const ne=X.features&&X.features[0];if(!ne)return;const J=ne.properties,oe=J.category==="doxa"?W.get(J.rop3):null,Q=w.find(h=>h.id===J.category),me=oe&&oe.slug?`${ee(d("pray"))}`:"",Fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new Fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(X.lngLat).setHTML(`
${ee(J.name)} ${ee(d(Q.id).split(" — ")[0])}
${ee(J.country)} · ${ee(d("population",{n:b(J.population)}))}
${ee(J.evangelical||"GSEC "+J.gsec)}
${ee(J.language)}${J.religion?" · "+ee(J.religion):""}
${me} -
`).addTo(ae)})}const Ce=pe(null);function Be(Z){const ae=_.value;if(!ae||!ae.getLayer("apg-pins"))return;if(Ce.value===Z){Ce.value=null,ae.setFilter("apg-pins",null),ae.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}Ce.value=Z,ae.setFilter("apg-pins",["==",["get","category"],Z]);let X=180,ne=85,J=-180,oe=-85,Q=0;for(const me of B){if(me.properties.category!==Z)continue;const[Fe,h]=me.geometry.coordinates;FeJ&&(J=Fe),hoe&&(oe=h),Q++}Q&&ae.fitBounds([[X,ne],[J,oe]],{padding:60,duration:900,maxZoom:6})}wt(async()=>{const Z=j().catch(X=>(T.value=String((X==null?void 0:X.message)||X),null)),ae=H();try{await S()}catch(X){T.value=String((X==null?void 0:X.message)||X);return}if(!_.value){y.value&&(T.value="Map failed to initialize — check token and container");return}_.value.once("style.load",async()=>{var X;try{const ne=await Z;if(!ne||!_.value)return;try{_.value.setProjection("mercator")}catch{}ue(q(ne,new Set)),(X=s==null?void 0:s.registerMap)==null||X.call(s,"all-people-groups",_.value),E.value=!0;const J=await ae;J.size&&_.value&&_.value.getSource("apg")&&_.value.getSource("apg").setData(q(ne,J)),x.value=!0}catch(ne){T.value=String((ne==null?void 0:ne.message)||ne)}})}),tn(()=>{var Z;(Z=s==null?void 0:s.unregisterMap)==null||Z.call(s,"all-people-groups"),f()});const xe=fe(()=>N.value.doxa+N.value.frontier+N.value.unreached+N.value.reached);return(Z,ae)=>(ye(),Re("div",Cy,[!E.value&&!T.value?(ye(),Re("div",Ty,je(d("loading")),1)):Go("",!0),T.value?(ye(),Re("div",Ny,je(d("loadError"))+" "+je(T.value),1)):Go("",!0),re("div",{ref_key:"mapContainer",ref:y,class:"apg-canvas"},null,512),Ne(ty,{"has-geocoder":!1},{default:Bn(()=>[Ne(Ey,{"is-dark":r.value,"embed-path":Dy},null,8,["is-dark"])]),_:1}),E.value?(ye(),Re("div",xy,[re("div",Ry,je(d("title")),1),re("div",My,je(d("locations",{n:b(xe.value)})),1),(ye(),Re(Ve,null,Ba(w,X=>re("div",{key:X.id,class:oo(["apg-row",{active:Ce.value===X.id}]),onClick:ne=>Be(X.id)},[re("span",{class:"apg-dot",style:jt({background:X.color})},null,4),$o(" "+je(d(X.id))+" ",1),re("span",Oy,je(X.id==="doxa"&&!x.value?"…":b(N.value[X.id]||0)),1)],10,Iy)),64)),re("div",Fy,je(d("hint")),1)])):Go("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(ae)})}const Ne=pe(null);function Be(Z){const ae=_.value;if(!ae||!ae.getLayer("apg-pins"))return;if(Ne.value===Z){Ne.value=null,ae.setFilter("apg-pins",null),ae.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}Ne.value=Z,ae.setFilter("apg-pins",["==",["get","category"],Z]);let X=180,ne=85,J=-180,oe=-85,Q=0;for(const me of B){if(me.properties.category!==Z)continue;const[Fe,h]=me.geometry.coordinates;FeJ&&(J=Fe),hoe&&(oe=h),Q++}Q&&ae.fitBounds([[X,ne],[J,oe]],{padding:60,duration:900,maxZoom:6})}wt(async()=>{const Z=j().catch(X=>(C.value=String((X==null?void 0:X.message)||X),null)),ae=H();try{await S()}catch(X){C.value=String((X==null?void 0:X.message)||X);return}if(!_.value){y.value&&(C.value="Map failed to initialize — check token and container");return}_.value.once("style.load",async()=>{var X;try{const ne=await Z;if(!ne||!_.value)return;try{_.value.setProjection("mercator")}catch{}ue(q(ne,new Set)),(X=s==null?void 0:s.registerMap)==null||X.call(s,"all-people-groups",_.value),E.value=!0;const J=await ae;J.size&&_.value&&_.value.getSource("apg")&&_.value.getSource("apg").setData(q(ne,J)),x.value=!0}catch(ne){C.value=String((ne==null?void 0:ne.message)||ne)}})}),tn(()=>{var Z;(Z=s==null?void 0:s.unregisterMap)==null||Z.call(s,"all-people-groups"),f()});const xe=fe(()=>T.value.doxa+T.value.frontier+T.value.unreached+T.value.reached);return(Z,ae)=>(ye(),Me("div",Ny,[!E.value&&!C.value?(ye(),Me("div",Cy,je(d("loading")),1)):Go("",!0),C.value?(ye(),Me("div",Ty,je(d("loadError"))+" "+je(C.value),1)):Go("",!0),re("div",{ref_key:"mapContainer",ref:y,class:"apg-canvas"},null,512),Te(ty,{"has-geocoder":!1},{default:Bn(()=>[Te(Ey,{"is-dark":r.value,"embed-path":Dy},null,8,["is-dark"])]),_:1}),E.value?(ye(),Me("div",xy,[re("div",My,je(d("title")),1),re("div",Ry,je(d("locations",{n:b(xe.value)})),1),(ye(),Me(Ve,null,Ba(w,X=>re("div",{key:X.id,class:oo(["apg-row",{active:Ne.value===X.id}]),onClick:ne=>Be(X.id)},[re("span",{class:"apg-dot",style:jt({background:X.color})},null,4),$o(" "+je(d(X.id))+" ",1),re("span",Oy,je(X.id==="doxa"&&!x.value?"…":b(T.value[X.id]||0)),1)],10,Iy)),64)),re("div",Fy,je(d("hint")),1)])):Go("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/dx-maps/all-people-groups/all-people-groups/index.html b/public/dx-maps/all-people-groups/all-people-groups/index.html index bac3ecf8f..281a6db8b 100644 --- a/public/dx-maps/all-people-groups/all-people-groups/index.html +++ b/public/dx-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + \n\n" + "script": "\n\n\n\n" }, "bundle": "all-people-groups" } @@ -105,7 +105,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "dx-maps/cities-internet/cities-internet.js", - "integrity": "sha384-A7F+7kkpa817LzMqVrmtf/TS8oEmvSHhwdaPdwuemqwqM8GpAUcYOsJYlZqgg/uk", + "integrity": "sha384-jkrJWbef5XPxi2A+PaYKTgBdqhrEywKnf7cu79jBnPWvWXKq1ZpvLpHE76t8UrBl", "elements": [ "cities-internet-map" ], @@ -121,7 +121,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -135,7 +135,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -149,7 +149,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -215,7 +215,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-Mx03ys3XIk0Ud2XgCBsjIUXS3K39uYVoTzyL0aLM4v6fK5Z96qM/1RvPRYLFX+dm", + "integrity": "sha384-rRF96zozigk0kwJ6SwT1E2hyz91Mdu82TdfNYZP2pMIl86JsFV1byXVeuInovv9Y", "elements": [ "dashboard-plus-grid" ], @@ -235,7 +235,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -259,7 +259,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "dx-maps/demo-map/demo-map.js", - "integrity": "sha384-0QkAa5btkKIZXv/ZrJD9Vy+aKrN/7z8Z3ANJ4vp1FMLkJlAmis+4C/QnyQCWnGZQ", + "integrity": "sha384-eDEEjMUKyS9mdHQaSWs6Mo0DHN1/L8pKjP0Sj7OsKbItuG4llT2Gqgqv3lsQFIYY", "elements": [ "demo-map" ], @@ -275,7 +275,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -354,7 +354,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "dx-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-8oSfXN7Ip0HtislzNvhSn1mj70iNb0SppJQyAy2bMJcXOPMtio0XAZTeHvt3mPTk", + "integrity": "sha384-kDISqZ68KPqGSSeZ/0KPpDJ3sJxD5Ofvt8vpM6UBH+Wk6aMN9HpLdFffcROohnvp", "elements": [ "doxa-research-map" ], @@ -370,7 +370,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -396,7 +396,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "dx-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-jm/DWI3rfwUenqQguZQLdL3nA+slTheQVnanWU9gSETB6d/9ydAO6DMuGmajE8wq", + "integrity": "sha384-neTEDYc5/AdceWk1DeczgpgSiWKW844/GiY1PUxHhvez2JHeU/vns9WWssYVFZUV", "elements": [ "doxa-map", "doxa-simple-map" @@ -413,7 +413,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -721,7 +721,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "dx-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-/HjujasjABs8IvhifW5gi3VKRq6UcJ9SSHchdil3OYtB+M22hqw+mjPIUgDF1SHw", + "integrity": "sha384-xgdLahzRlK34KRMAVlfVTF6rzzlEWBnEnlCV7VOJRB3aS2op71JNBkR8ObQje49+", "elements": [ "people-groups-grid" ], @@ -737,7 +737,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -837,7 +837,7 @@ "bundle": "pplr-data-maps", "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "output": "dx-maps/pplr-data-maps/pplr-data-maps.js", - "integrity": "sha384-Iv6gWnCd/nBkag6OGhbZJFwRO/6Mx3QCtXAZEagX6DrzH86tOvmeVZzKWda3W4PA", + "integrity": "sha384-J56PaV2hedWYwo3MoLaVph0ITqCNRb+j7+xS4C9TEKG3wa+FMg2KmJRN+UfMbXCk", "elements": [ "pplr-data-maps" ], @@ -853,7 +853,7 @@ "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "pplr-data-maps" } @@ -863,7 +863,7 @@ "bundle": "prayer-walk-planner", "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js", - "integrity": "sha384-IfQd9n4p6yr7OJQRrPy09Nxveopcg8zI+4cGvBeSiaYSAesQklfhyA3aAv0KH80T", + "integrity": "sha384-ouqzKWsU1HZgAWpi5z/RbyiVwAeaG6pXcYHia/Wo71KZDYgVgY1YwyRwvyC/Yg03", "elements": [ "prayer-walk-planner" ], @@ -879,7 +879,7 @@ "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -945,7 +945,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "dx-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-IMh+g194GGaawK13RJMb8kzP0ubQZQ6DWr1ezLntVU8311cGGfYB2Dzb3qyoxd/n", + "integrity": "sha384-GsBGCy2M1ZnE7Xximx1HpGih2povZWx98661bjzLdaH6pnrTEhZj/PoPDuQ2gfJ5", "elements": [ "research-dashboard-map" ], @@ -961,7 +961,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "research-dashboard" } @@ -1059,7 +1059,7 @@ "bundle": "upg-neighbor", "scriptUrl": "./upg-neighbor/upg-neighbor.js", "output": "dx-maps/upg-neighbor/upg-neighbor.js", - "integrity": "sha384-5C4fE8cJI7g8Lwv6/w5qta1Bx7ZU0E64770pgXzT8YhIARHrJ3hDgdoh5RFcTOVU", + "integrity": "sha384-goKuqQMIENa1TuMGuijSvU/guu9gQZpSsnFysIQcLXkB+3yP7H2vb9exV/hg/f4s", "elements": [ "upg-neighbor" ], @@ -1075,7 +1075,7 @@ "scriptUrl": "./upg-neighbor/upg-neighbor.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -1157,7 +1157,7 @@ "bundle": "wall-of-people-groups", "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js", - "integrity": "sha384-kz+tZW2mij4v9kmXna6fn1J3daDzoXa4Ut2xT3jkET+60AFDjIOLpeAUdONy3w6Q", + "integrity": "sha384-N+wmMp3zGW3Q71RWgz67L9f9ctH96WOdtMwcJNycHm9DGOrlVVzHMlpYhCbHXEg5", "elements": [ "wall-of-people-groups" ], @@ -1173,7 +1173,7 @@ "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "wall-of-people-groups" } diff --git a/public/dx-maps/doxa-research-map/doxa-research-map.js b/public/dx-maps/doxa-research-map/doxa-research-map.js index b8ae314a4..1849cd91c 100644 --- a/public/dx-maps/doxa-research-map/doxa-research-map.js +++ b/public/dx-maps/doxa-research-map/doxa-research-map.js @@ -1,28 +1,28 @@ -(function(){"use strict";var Vg;var Tn=typeof document<"u"?document.currentScript:null;const jP="modulepreload",UP=function(e){return"/"+e},zP={},oo=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})},$r="affinityBlock",Nn="#95a5a6",Eo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},es={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},Ko=es,Nl=Object.entries(Eo).reduce((e,[t,o])=>(e[o]=t,e),{}),yr=Object.entries(Eo).reduce((e,[t,o])=>(e[o]=Ko[t],e),{}),Rl=Eo;function _r(e){return Eo[e]||"Unknown"}function vr(e){return Ko[e]||Nn}function Ml(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Ko[e]||Nn:yr[e]||Nn:Nn}function Fl(){return Object.entries(Eo).map(([e,t])=>({code:e,name:t,color:Ko[e]}))}function Il(e){return{code:e,name:Eo[e]||"Unknown",color:Ko[e]||Nn}}function Ol(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vr(t)}function Dl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return _r(t)}function kr(){const e=["match",["get",$r]];return Object.entries(Ko).forEach(([t,o])=>{e.push(t,o)}),e.push(Nn),e}const Bl=kr,uf=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Ko,AFFINITY_BLOCK_COLORS_BY_NAME:yr,AFFINITY_BLOCK_NAMES:Eo,AFFINITY_BLOCK_NAME_TO_CODE:Nl,NAMES:Rl,PALETTE:es,PROPERTY_KEY:$r,affinityBlockCodeLookup:Eo,affinityBlockCodeToColor:Ko,affinityBlockCodeToName:Eo,affinityBlockColors:yr,affinityBlockNameToCode:Nl,applyColor:kr,buildColorExpression:Bl,default:{name:"Affinity Block",propertyKey:$r,palette:es,colors:es,names:Rl,getColor:Ol,applyColor:kr,buildColorExpression:Bl,getName:Dl,getAffinityBlockName:_r,getAffinityBlockColor:Ml,getAffinityBlockColorByCode:vr,getAffinityBlocksArray:Fl,getAffinityBlockData:Il},getAffinityBlockColor:Ml,getAffinityBlockColorByCode:vr,getAffinityBlockData:Il,getAffinityBlockName:_r,getAffinityBlocksArray:Fl,getColor:Ol,getName:Dl},Symbol.toStringTag,{value:"Module"}));function pf(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(xr),e}const zl=Ar,gf=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:df,PALETTE:ts,PROPERTY_KEY:wr,REGION_COLOR_ALIASES:Sr,SLUG_PALETTE:os,applyColor:Ar,buildColorExpression:zl,default:{name:"DOXA Region",propertyKey:wr,palette:ts,colors:ts,slugColors:os,aliases:Sr,fallback:xr,getColor:Ul,applyColor:Ar,buildColorExpression:zl,getRegionColor:jl,getRegionColorBySlug:Lr},getColor:Ul,getRegionColor:jl,getRegionColorBySlug:Lr},Symbol.toStringTag,{value:"Module"})),Hl="resourceType",qo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},ff=qo,ca=["bible","jesusFilm","radio","gospel","audio","stories"],Pr={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},hf=Pr;function ua(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Vl(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return qo.hasResources;return qo.noResources}function Kl(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return!0;return!1}function ql(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return o;return"noResources"}function Cr(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],qo.hasResources,qo.noResources]}const Wl=Cr,mf=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Pr,PALETTE:qo,PROPERTY_KEY:Hl,RESOURCE_COLORS:ff,RESOURCE_NAMES:hf,RESOURCE_PRIORITY:ca,applyColor:Cr,buildColorExpression:Wl,default:{name:"Gospel Resources",propertyKey:Hl,palette:qo,colors:qo,names:Pr,priority:ca,getColor:Vl,applyColor:Cr,buildColorExpression:Wl,hasAnyResource:Kl,getResourceType:ql,getCSVColumn:ua},getCSVColumn:ua,getColor:Vl,getResourceType:ql,hasAnyResource:Kl},Symbol.toStringTag,{value:"Module"}));/** +(function(){"use strict";var Vg;var Tn=typeof document<"u"?document.currentScript:null;const jP="modulepreload",UP=function(e){return"/"+e},zP={},oo=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})},$r="affinityBlock",Nn="#95a5a6",Eo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},es={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},Ko=es,Nl=Object.entries(Eo).reduce((e,[t,o])=>(e[o]=t,e),{}),yr=Object.entries(Eo).reduce((e,[t,o])=>(e[o]=Ko[t],e),{}),Ml=Eo;function _r(e){return Eo[e]||"Unknown"}function vr(e){return Ko[e]||Nn}function Rl(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Ko[e]||Nn:yr[e]||Nn:Nn}function Fl(){return Object.entries(Eo).map(([e,t])=>({code:e,name:t,color:Ko[e]}))}function Il(e){return{code:e,name:Eo[e]||"Unknown",color:Ko[e]||Nn}}function Ol(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vr(t)}function Dl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return _r(t)}function kr(){const e=["match",["get",$r]];return Object.entries(Ko).forEach(([t,o])=>{e.push(t,o)}),e.push(Nn),e}const Bl=kr,uf=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Ko,AFFINITY_BLOCK_COLORS_BY_NAME:yr,AFFINITY_BLOCK_NAMES:Eo,AFFINITY_BLOCK_NAME_TO_CODE:Nl,NAMES:Ml,PALETTE:es,PROPERTY_KEY:$r,affinityBlockCodeLookup:Eo,affinityBlockCodeToColor:Ko,affinityBlockCodeToName:Eo,affinityBlockColors:yr,affinityBlockNameToCode:Nl,applyColor:kr,buildColorExpression:Bl,default:{name:"Affinity Block",propertyKey:$r,palette:es,colors:es,names:Ml,getColor:Ol,applyColor:kr,buildColorExpression:Bl,getName:Dl,getAffinityBlockName:_r,getAffinityBlockColor:Rl,getAffinityBlockColorByCode:vr,getAffinityBlocksArray:Fl,getAffinityBlockData:Il},getAffinityBlockColor:Rl,getAffinityBlockColorByCode:vr,getAffinityBlockData:Il,getAffinityBlockName:_r,getAffinityBlocksArray:Fl,getColor:Ol,getName:Dl},Symbol.toStringTag,{value:"Module"}));function pf(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(xr),e}const zl=Ar,gf=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:df,PALETTE:ts,PROPERTY_KEY:wr,REGION_COLOR_ALIASES:Sr,SLUG_PALETTE:os,applyColor:Ar,buildColorExpression:zl,default:{name:"DOXA Region",propertyKey:wr,palette:ts,colors:ts,slugColors:os,aliases:Sr,fallback:xr,getColor:Ul,applyColor:Ar,buildColorExpression:zl,getRegionColor:jl,getRegionColorBySlug:Lr},getColor:Ul,getRegionColor:jl,getRegionColorBySlug:Lr},Symbol.toStringTag,{value:"Module"})),Hl="resourceType",qo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},ff=qo,ca=["bible","jesusFilm","radio","gospel","audio","stories"],Pr={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},hf=Pr;function ua(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Vl(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return qo.hasResources;return qo.noResources}function Kl(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return!0;return!1}function ql(e){var t;for(const o of ca)if((e[o]||((t=e._raw)==null?void 0:t[ua(o)]))==="Available")return o;return"noResources"}function Cr(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],qo.hasResources,qo.noResources]}const Wl=Cr,mf=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Pr,PALETTE:qo,PROPERTY_KEY:Hl,RESOURCE_COLORS:ff,RESOURCE_NAMES:hf,RESOURCE_PRIORITY:ca,applyColor:Cr,buildColorExpression:Wl,default:{name:"Gospel Resources",propertyKey:Hl,palette:qo,colors:qo,names:Pr,priority:ca,getColor:Vl,applyColor:Cr,buildColorExpression:Wl,hasAnyResource:Kl,getResourceType:ql,getCSVColumn:ua},getCSVColumn:ua,getColor:Vl,getResourceType:ql,hasAnyResource:Kl},Symbol.toStringTag,{value:"Module"}));/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Er(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const st={},Rn=[],po=()=>{},Yl=()=>!1,ns=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),as=e=>e.startsWith("onUpdate:"),mt=Object.assign,Tr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},bf=Object.prototype.hasOwnProperty,Ze=(e,t)=>bf.call(e,t),Fe=Array.isArray,Wo=e=>pa(e)==="[object Map]",ss=e=>pa(e)==="[object Set]",Xl=e=>pa(e)==="[object Date]",De=e=>typeof e=="function",it=e=>typeof e=="string",Ht=e=>typeof e=="symbol",Je=e=>e!==null&&typeof e=="object",Zl=e=>(Je(e)||De(e))&&De(e.then)&&De(e.catch),Jl=Object.prototype.toString,pa=e=>Jl.call(e),$f=e=>pa(e).slice(8,-1),rs=e=>pa(e)==="[object Object]",is=e=>it(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,da=Er(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ls=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},yf=/-\w/g,xt=ls(e=>e.replace(yf,t=>t.slice(1).toUpperCase())),_f=/\B([A-Z])/g,Yt=ls(e=>e.replace(_f,"-$1").toLowerCase()),cs=ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),Nr=ls(e=>e?`on${cs(e)}`:""),go=(e,t)=>!Object.is(e,t),us=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Rr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ec=e=>{const t=it(e)?Number(e):NaN;return isNaN(t)?e:t};let tc;const ps=()=>tc||(tc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function dt(e){if(Fe(e)){const t={};for(let o=0;o{if(o){const n=o.split(kf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Re(e){let t="";if(it(e))t=e;else if(Fe(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>it(e)?e:e==null?"":Fe(e)||Je(e)&&(e.toString===Jl||!De(e.toString))?ac(e)?ye(e.value):JSON.stringify(e,sc,2):String(e),sc=(e,t)=>ac(t)?sc(e,t.value):Wo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[Mr(n,s)+" =>"]=a,o),{})}:ss(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Mr(o))}:Ht(t)?Mr(t):Je(t)&&!Fe(t)&&!rs(t)?String(t):t,Mr=(e,t="")=>{var o;return Ht(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Er(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const st={},Mn=[],po=()=>{},Yl=()=>!1,ns=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),as=e=>e.startsWith("onUpdate:"),mt=Object.assign,Tr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},bf=Object.prototype.hasOwnProperty,Ze=(e,t)=>bf.call(e,t),Fe=Array.isArray,Wo=e=>pa(e)==="[object Map]",ss=e=>pa(e)==="[object Set]",Xl=e=>pa(e)==="[object Date]",De=e=>typeof e=="function",it=e=>typeof e=="string",Ht=e=>typeof e=="symbol",Je=e=>e!==null&&typeof e=="object",Zl=e=>(Je(e)||De(e))&&De(e.then)&&De(e.catch),Jl=Object.prototype.toString,pa=e=>Jl.call(e),$f=e=>pa(e).slice(8,-1),rs=e=>pa(e)==="[object Object]",is=e=>it(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,da=Er(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ls=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},yf=/-\w/g,xt=ls(e=>e.replace(yf,t=>t.slice(1).toUpperCase())),_f=/\B([A-Z])/g,Yt=ls(e=>e.replace(_f,"-$1").toLowerCase()),cs=ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),Nr=ls(e=>e?`on${cs(e)}`:""),go=(e,t)=>!Object.is(e,t),us=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Mr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ec=e=>{const t=it(e)?Number(e):NaN;return isNaN(t)?e:t};let tc;const ps=()=>tc||(tc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function dt(e){if(Fe(e)){const t={};for(let o=0;o{if(o){const n=o.split(kf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Me(e){let t="";if(it(e))t=e;else if(Fe(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>it(e)?e:e==null?"":Fe(e)||Je(e)&&(e.toString===Jl||!De(e.toString))?ac(e)?ye(e.value):JSON.stringify(e,sc,2):String(e),sc=(e,t)=>ac(t)?sc(e,t.value):Wo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[Rr(n,s)+" =>"]=a,o),{})}:ss(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Rr(o))}:Ht(t)?Rr(t):Je(t)&&!Fe(t)&&!rs(t)?String(t):t,Rr=(e,t="")=>{var o;return Ht(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 _t;class rc{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&&_t&&(_t.active?(this.parent=_t,this.index=(_t.scopes||(_t.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(_t===this)_t=this.prevScope;else{let t=_t;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(fa){let t=fa;for(fa=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ga;){let t=ga;for(ga=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 pc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function dc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Gr(n),Pf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Br(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(gc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function gc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ha)||(e.globalVersion=ha,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Br(e))))return;e.flags|=2;const t=e.dep,o=lt,n=no;lt=e,no=!0;try{pc(e);const a=e.fn(e._value);(t.version===0||go(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{lt=o,no=n,dc(e),e.flags&=-3}}function Gr(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 s=o.computed.deps;s;s=s.nextDep)Gr(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Pf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let no=!0;const fc=[];function fo(){fc.push(no),no=!1}function ho(){const e=fc.pop();no=e===void 0?!0:e}function hc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=lt;lt=void 0;try{t()}finally{lt=o}}}let ha=0;class Cf{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 jr{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(!lt||!no||lt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==lt)o=this.activeLink=new Cf(lt,this),lt.deps?(o.prevDep=lt.depsTail,lt.depsTail.nextDep=o,lt.depsTail=o):lt.deps=lt.depsTail=o,mc(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=lt.depsTail,o.nextDep=void 0,lt.depsTail.nextDep=o,lt.depsTail=o,lt.deps===o&&(lt.deps=n)}return o}trigger(t){this.version++,ha++,this.notify(t)}notify(t){Or();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Dr()}}}function mc(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)mc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const gs=new WeakMap,un=Symbol(""),Ur=Symbol(""),ma=Symbol("");function Nt(e,t,o){if(no&<){let n=gs.get(e);n||gs.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new jr),a.map=n,a.key=o),a.track()}}function To(e,t,o,n,a,s){const r=gs.get(e);if(!r){ha++;return}const i=l=>{l&&l.trigger()};if(Or(),t==="clear")r.forEach(i);else{const l=Fe(e),c=l&&is(o);if(l&&o==="length"){const u=Number(n);r.forEach((d,f)=>{(f==="length"||f===ma||!Ht(f)&&f>=u)&&i(d)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(ma)),t){case"add":l?c&&i(r.get("length")):(i(r.get(un)),Wo(e)&&i(r.get(Ur)));break;case"delete":l||(i(r.get(un)),Wo(e)&&i(r.get(Ur)));break;case"set":Wo(e)&&i(r.get(un));break}}Dr()}function Ef(e,t){const o=gs.get(e);return o&&o.get(t)}function Mn(e){const t=Ke(e);return t===e?t:(Nt(t,"iterate",ma),Vt(e)?t:t.map(ao))}function fs(e){return Nt(e=Ke(e),"iterate",ma),e}function mo(e,t){return Mo(e)?On(Ro(e)?ao(t):t):ao(t)}const Tf={__proto__:null,[Symbol.iterator](){return zr(this,Symbol.iterator,e=>mo(this,e))},concat(...e){return Mn(this).concat(...e.map(t=>Fe(t)?Mn(t):t))},entries(){return zr(this,"entries",e=>(e[1]=mo(this,e[1]),e))},every(e,t){return No(this,"every",e,t,void 0,arguments)},filter(e,t){return No(this,"filter",e,t,o=>o.map(n=>mo(this,n)),arguments)},find(e,t){return No(this,"find",e,t,o=>mo(this,o),arguments)},findIndex(e,t){return No(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return No(this,"findLast",e,t,o=>mo(this,o),arguments)},findLastIndex(e,t){return No(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return No(this,"forEach",e,t,void 0,arguments)},includes(...e){return Hr(this,"includes",e)},indexOf(...e){return Hr(this,"indexOf",e)},join(e){return Mn(this).join(e)},lastIndexOf(...e){return Hr(this,"lastIndexOf",e)},map(e,t){return No(this,"map",e,t,void 0,arguments)},pop(){return ba(this,"pop")},push(...e){return ba(this,"push",e)},reduce(e,...t){return bc(this,"reduce",e,t)},reduceRight(e,...t){return bc(this,"reduceRight",e,t)},shift(){return ba(this,"shift")},some(e,t){return No(this,"some",e,t,void 0,arguments)},splice(...e){return ba(this,"splice",e)},toReversed(){return Mn(this).toReversed()},toSorted(e){return Mn(this).toSorted(e)},toSpliced(...e){return Mn(this).toSpliced(...e)},unshift(...e){return ba(this,"unshift",e)},values(){return zr(this,"values",e=>mo(this,e))}};function zr(e,t,o){const n=fs(e),a=n[t]();return n!==e&&!Vt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const Nf=Array.prototype;function No(e,t,o,n,a,s){const r=fs(e),i=r!==e&&!Vt(e),l=r[t];if(l!==Nf[t]){const d=l.apply(e,s);return i?ao(d):d}let c=o;r!==e&&(i?c=function(d,f){return o.call(this,mo(e,d),f,e)}:o.length>2&&(c=function(d,f){return o.call(this,d,f,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function bc(e,t,o,n){const a=fs(e),s=a!==e&&!Vt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=mo(e,c)),o.call(this,c,mo(e,u),d,e)}):o.length>3&&(r=function(c,u,d){return o.call(this,c,u,d,e)}));const l=a[t](r,...n);return i?mo(e,l):l}function Hr(e,t,o){const n=Ke(e);Nt(n,"iterate",ma);const a=n[t](...o);return(a===-1||a===!1)&&ys(o[0])?(o[0]=Ke(o[0]),n[t](...o)):a}function ba(e,t,o=[]){fo(),Or();const n=Ke(e)[t].apply(e,o);return Dr(),ho(),n}const Rf=Er("__proto__,__v_isRef,__isVue"),$c=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ht));function Mf(e){Ht(e)||(e=String(e));const t=Ke(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class yc{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,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Lc:xc:s?wc:kc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Fe(t);if(!a){let l;if(r&&(l=Tf[o]))return l;if(o==="hasOwnProperty")return Mf}const i=Reflect.get(t,o,ut(t)?t:n);if((Ht(o)?$c.has(o):Rf(o))||(a||Nt(t,"get",o),s))return i;if(ut(i)){const l=r&&is(o)?i:i.value;return a&&Je(l)?pn(l):l}return Je(i)?a?pn(i):Fn(i):i}}class _c extends yc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Fe(t)&&is(o);if(!this._isShallow){const c=Mo(s);if(!Vt(n)&&!Mo(n)&&(s=Ke(s),n=Ke(n)),!r&&ut(s)&&!ut(n))return c||(s.value=n),!0}const i=r?Number(o)e,hs=e=>Reflect.getPrototypeOf(e);function Bf(e,t,o){return function(...n){const a=this.__v_raw,s=Ke(a),r=Wo(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Vr:t?On:ao;return!t&&Nt(s,"iterate",l?Ur:un),mt(Object.create(c),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:i?[u(d[0]),u(d[1])]:u(d),done:f}}})}}function ms(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gf(e,t){const o={get(a){const s=this.__v_raw,r=Ke(s),i=Ke(a);e||(go(a,i)&&Nt(r,"get",a),Nt(r,"get",i));const{has:l}=hs(r),c=t?Vr:e?On:ao;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Nt(Ke(a),"iterate",un),a.size},has(a){const s=this.__v_raw,r=Ke(s),i=Ke(a);return e||(go(a,i)&&Nt(r,"has",a),Nt(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=Ke(i),c=t?Vr:e?On:ao;return!e&&Nt(l,"iterate",un),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return mt(o,e?{add:ms("add"),set:ms("set"),delete:ms("delete"),clear:ms("clear")}:{add(a){const s=Ke(this),r=hs(s),i=Ke(a),l=!t&&!Vt(a)&&!Mo(a)?i:a;return r.has.call(s,l)||go(a,l)&&r.has.call(s,a)||go(i,l)&&r.has.call(s,i)||(s.add(l),To(s,"add",l,l)),this},set(a,s){!t&&!Vt(s)&&!Mo(s)&&(s=Ke(s));const r=Ke(this),{has:i,get:l}=hs(r);let c=i.call(r,a);c||(a=Ke(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?go(s,u)&&To(r,"set",a,s):To(r,"add",a,s),this},delete(a){const s=Ke(this),{has:r,get:i}=hs(s);let l=r.call(s,a);l||(a=Ke(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&To(s,"delete",a,void 0),c},clear(){const a=Ke(this),s=a.size!==0,r=a.clear();return s&&To(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Bf(a,e,t)}),o}function bs(e,t){const o=Gf(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ze(o,a)&&a in n?o:n,a,s)}const jf={get:bs(!1,!1)},Uf={get:bs(!1,!0)},zf={get:bs(!0,!1)},Hf={get:bs(!0,!0)},kc=new WeakMap,wc=new WeakMap,xc=new WeakMap,Lc=new WeakMap;function Vf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fn(e){return Mo(e)?e:$s(e,!1,Ff,jf,kc)}function Kf(e){return $s(e,!1,Of,Uf,wc)}function pn(e){return $s(e,!0,If,zf,xc)}function QP(e){return $s(e,!0,Df,Hf,Lc)}function $s(e,t,o,n,a){if(!Je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Vf($f(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Ro(e){return Mo(e)?Ro(e.__v_raw):!!(e&&e.__v_isReactive)}function Mo(e){return!!(e&&e.__v_isReadonly)}function Vt(e){return!!(e&&e.__v_isShallow)}function ys(e){return e?!!e.__v_raw:!1}function Ke(e){const t=e&&e.__v_raw;return t?Ke(t):e}function In(e){return!Ze(e,"__v_skip")&&Object.isExtensible(e)&&Ql(e,"__v_skip",!0),e}const ao=e=>Je(e)?Fn(e):e,On=e=>Je(e)?pn(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function he(e){return Sc(e,!1)}function $a(e){return Sc(e,!0)}function Sc(e,t){return ut(e)?e:new qf(e,t)}class qf{constructor(t,o){this.dep=new jr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ke(t),this._value=o?t:ao(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Vt(t)||Mo(t);t=n?t:Ke(t),go(t,o)&&(this._rawValue=t,this._value=n?t:ao(t),this.dep.trigger())}}function ge(e){return ut(e)?e.value:e}const Wf={get:(e,t,o)=>t==="__v_raw"?e:ge(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ut(a)&&!ut(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Ac(e){return Ro(e)?e:new Proxy(e,Wf)}function Yf(e){const t=Fe(e)?new Array(e.length):{};for(const o in e)t[o]=Pc(e,o);return t}class Xf{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ht(o)?o:String(o),this._raw=Ke(t);let a=!0,s=t;if(!Fe(t)||Ht(this._key)||!is(this._key))do a=!ys(s)||Vt(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ge(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ut(this._raw[this._key])){const o=this._object[this._key];if(ut(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Ef(this._raw,this._key)}}class Zf{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 _s(e,t,o){return ut(e)?e:De(e)?new Zf(e):Je(e)&&arguments.length>1?Pc(e,t,o):he(e)}function Pc(e,t,o){return new Xf(e,t,o)}class Jf{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new jr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ha-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&<!==this)return uc(this,!0),!0}get value(){const t=this.dep.track();return gc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Qf(e,t,o=!1){let n,a;return De(e)?n=e:(n=e.get,a=e.set),new Jf(n,a,o)}const vs={},ks=new WeakMap;let dn;function eh(e,t=!1,o=dn){if(o){let n=ks.get(o);n||ks.set(o,n=[]),n.push(e)}}function th(e,t,o=st){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=w=>a?w:Vt(w)||a===!1||a===0?Fo(w,1):Fo(w);let u,d,f,A,v=!1,b=!1;if(ut(e)?(d=()=>e.value,v=Vt(e)):Ro(e)?(d=()=>c(e),v=!0):Fe(e)?(b=!0,v=e.some(w=>Ro(w)||Vt(w)),d=()=>e.map(w=>{if(ut(w))return w.value;if(Ro(w))return c(w);if(De(w))return l?l(w,2):w()})):De(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){fo();try{f()}finally{ho()}}const w=dn;dn=u;try{return l?l(e,3,[A]):e(A)}finally{dn=w}}:d=po,t&&a){const w=d,p=a===!0?1/0:a;d=()=>Fo(w(),p)}const _=ic(),$=()=>{u.stop(),_&&_.active&&Tr(_.effects,u)};if(s&&t){const w=t;t=(...p)=>{const P=w(...p);return $(),P}}let h=b?new Array(e.length).fill(vs):vs;const m=w=>{if(!(!(u.flags&1)||!u.dirty&&!w))if(t){const p=u.run();if(w||a||v||(b?p.some((P,g)=>go(P,h[g])):go(p,h))){f&&f();const P=dn;dn=u;try{const g=[p,h===vs?void 0:b&&h[0]===vs?[]:h,A];h=p,l?l(t,3,g):t(...g)}finally{dn=P}}}else u.run()};return i&&i(m),u=new lc(d),u.scheduler=r?()=>r(m,!1):m,A=w=>eh(w,!1,u),f=u.onStop=()=>{const w=ks.get(u);if(w){if(l)l(w,4);else for(const p of w)p();ks.delete(u)}},t?n?m(!0):h=u.run():r?r(m.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function Fo(e,t=1/0,o){if(t<=0||!Je(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))Fo(e.value,t,o);else if(Fe(e))for(let n=0;n{Fo(n,t,o)});else if(rs(e)){for(const n in e)Fo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Fo(e[n],t,o)}return e}/** +**/let _t;class rc{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&&_t&&(_t.active?(this.parent=_t,this.index=(_t.scopes||(_t.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(_t===this)_t=this.prevScope;else{let t=_t;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(fa){let t=fa;for(fa=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ga;){let t=ga;for(ga=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 pc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function dc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Gr(n),Pf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Br(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(gc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function gc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ha)||(e.globalVersion=ha,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Br(e))))return;e.flags|=2;const t=e.dep,o=lt,n=no;lt=e,no=!0;try{pc(e);const a=e.fn(e._value);(t.version===0||go(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{lt=o,no=n,dc(e),e.flags&=-3}}function Gr(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 s=o.computed.deps;s;s=s.nextDep)Gr(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Pf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let no=!0;const fc=[];function fo(){fc.push(no),no=!1}function ho(){const e=fc.pop();no=e===void 0?!0:e}function hc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=lt;lt=void 0;try{t()}finally{lt=o}}}let ha=0;class Cf{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 jr{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(!lt||!no||lt===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==lt)o=this.activeLink=new Cf(lt,this),lt.deps?(o.prevDep=lt.depsTail,lt.depsTail.nextDep=o,lt.depsTail=o):lt.deps=lt.depsTail=o,mc(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=lt.depsTail,o.nextDep=void 0,lt.depsTail.nextDep=o,lt.depsTail=o,lt.deps===o&&(lt.deps=n)}return o}trigger(t){this.version++,ha++,this.notify(t)}notify(t){Or();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Dr()}}}function mc(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)mc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const gs=new WeakMap,un=Symbol(""),Ur=Symbol(""),ma=Symbol("");function Nt(e,t,o){if(no&<){let n=gs.get(e);n||gs.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new jr),a.map=n,a.key=o),a.track()}}function To(e,t,o,n,a,s){const r=gs.get(e);if(!r){ha++;return}const i=l=>{l&&l.trigger()};if(Or(),t==="clear")r.forEach(i);else{const l=Fe(e),c=l&&is(o);if(l&&o==="length"){const u=Number(n);r.forEach((d,f)=>{(f==="length"||f===ma||!Ht(f)&&f>=u)&&i(d)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(ma)),t){case"add":l?c&&i(r.get("length")):(i(r.get(un)),Wo(e)&&i(r.get(Ur)));break;case"delete":l||(i(r.get(un)),Wo(e)&&i(r.get(Ur)));break;case"set":Wo(e)&&i(r.get(un));break}}Dr()}function Ef(e,t){const o=gs.get(e);return o&&o.get(t)}function Rn(e){const t=Ke(e);return t===e?t:(Nt(t,"iterate",ma),Vt(e)?t:t.map(ao))}function fs(e){return Nt(e=Ke(e),"iterate",ma),e}function mo(e,t){return Ro(e)?On(Mo(e)?ao(t):t):ao(t)}const Tf={__proto__:null,[Symbol.iterator](){return zr(this,Symbol.iterator,e=>mo(this,e))},concat(...e){return Rn(this).concat(...e.map(t=>Fe(t)?Rn(t):t))},entries(){return zr(this,"entries",e=>(e[1]=mo(this,e[1]),e))},every(e,t){return No(this,"every",e,t,void 0,arguments)},filter(e,t){return No(this,"filter",e,t,o=>o.map(n=>mo(this,n)),arguments)},find(e,t){return No(this,"find",e,t,o=>mo(this,o),arguments)},findIndex(e,t){return No(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return No(this,"findLast",e,t,o=>mo(this,o),arguments)},findLastIndex(e,t){return No(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return No(this,"forEach",e,t,void 0,arguments)},includes(...e){return Hr(this,"includes",e)},indexOf(...e){return Hr(this,"indexOf",e)},join(e){return Rn(this).join(e)},lastIndexOf(...e){return Hr(this,"lastIndexOf",e)},map(e,t){return No(this,"map",e,t,void 0,arguments)},pop(){return ba(this,"pop")},push(...e){return ba(this,"push",e)},reduce(e,...t){return bc(this,"reduce",e,t)},reduceRight(e,...t){return bc(this,"reduceRight",e,t)},shift(){return ba(this,"shift")},some(e,t){return No(this,"some",e,t,void 0,arguments)},splice(...e){return ba(this,"splice",e)},toReversed(){return Rn(this).toReversed()},toSorted(e){return Rn(this).toSorted(e)},toSpliced(...e){return Rn(this).toSpliced(...e)},unshift(...e){return ba(this,"unshift",e)},values(){return zr(this,"values",e=>mo(this,e))}};function zr(e,t,o){const n=fs(e),a=n[t]();return n!==e&&!Vt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const Nf=Array.prototype;function No(e,t,o,n,a,s){const r=fs(e),i=r!==e&&!Vt(e),l=r[t];if(l!==Nf[t]){const d=l.apply(e,s);return i?ao(d):d}let c=o;r!==e&&(i?c=function(d,f){return o.call(this,mo(e,d),f,e)}:o.length>2&&(c=function(d,f){return o.call(this,d,f,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function bc(e,t,o,n){const a=fs(e),s=a!==e&&!Vt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,d){return i&&(i=!1,c=mo(e,c)),o.call(this,c,mo(e,u),d,e)}):o.length>3&&(r=function(c,u,d){return o.call(this,c,u,d,e)}));const l=a[t](r,...n);return i?mo(e,l):l}function Hr(e,t,o){const n=Ke(e);Nt(n,"iterate",ma);const a=n[t](...o);return(a===-1||a===!1)&&ys(o[0])?(o[0]=Ke(o[0]),n[t](...o)):a}function ba(e,t,o=[]){fo(),Or();const n=Ke(e)[t].apply(e,o);return Dr(),ho(),n}const Mf=Er("__proto__,__v_isRef,__isVue"),$c=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ht));function Rf(e){Ht(e)||(e=String(e));const t=Ke(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class yc{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,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Lc:xc:s?wc:kc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Fe(t);if(!a){let l;if(r&&(l=Tf[o]))return l;if(o==="hasOwnProperty")return Rf}const i=Reflect.get(t,o,ut(t)?t:n);if((Ht(o)?$c.has(o):Mf(o))||(a||Nt(t,"get",o),s))return i;if(ut(i)){const l=r&&is(o)?i:i.value;return a&&Je(l)?pn(l):l}return Je(i)?a?pn(i):Fn(i):i}}class _c extends yc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=Fe(t)&&is(o);if(!this._isShallow){const c=Ro(s);if(!Vt(n)&&!Ro(n)&&(s=Ke(s),n=Ke(n)),!r&&ut(s)&&!ut(n))return c||(s.value=n),!0}const i=r?Number(o)e,hs=e=>Reflect.getPrototypeOf(e);function Bf(e,t,o){return function(...n){const a=this.__v_raw,s=Ke(a),r=Wo(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Vr:t?On:ao;return!t&&Nt(s,"iterate",l?Ur:un),mt(Object.create(c),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:i?[u(d[0]),u(d[1])]:u(d),done:f}}})}}function ms(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gf(e,t){const o={get(a){const s=this.__v_raw,r=Ke(s),i=Ke(a);e||(go(a,i)&&Nt(r,"get",a),Nt(r,"get",i));const{has:l}=hs(r),c=t?Vr:e?On:ao;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Nt(Ke(a),"iterate",un),a.size},has(a){const s=this.__v_raw,r=Ke(s),i=Ke(a);return e||(go(a,i)&&Nt(r,"has",a),Nt(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=Ke(i),c=t?Vr:e?On:ao;return!e&&Nt(l,"iterate",un),i.forEach((u,d)=>a.call(s,c(u),c(d),r))}};return mt(o,e?{add:ms("add"),set:ms("set"),delete:ms("delete"),clear:ms("clear")}:{add(a){const s=Ke(this),r=hs(s),i=Ke(a),l=!t&&!Vt(a)&&!Ro(a)?i:a;return r.has.call(s,l)||go(a,l)&&r.has.call(s,a)||go(i,l)&&r.has.call(s,i)||(s.add(l),To(s,"add",l,l)),this},set(a,s){!t&&!Vt(s)&&!Ro(s)&&(s=Ke(s));const r=Ke(this),{has:i,get:l}=hs(r);let c=i.call(r,a);c||(a=Ke(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?go(s,u)&&To(r,"set",a,s):To(r,"add",a,s),this},delete(a){const s=Ke(this),{has:r,get:i}=hs(s);let l=r.call(s,a);l||(a=Ke(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&To(s,"delete",a,void 0),c},clear(){const a=Ke(this),s=a.size!==0,r=a.clear();return s&&To(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Bf(a,e,t)}),o}function bs(e,t){const o=Gf(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ze(o,a)&&a in n?o:n,a,s)}const jf={get:bs(!1,!1)},Uf={get:bs(!1,!0)},zf={get:bs(!0,!1)},Hf={get:bs(!0,!0)},kc=new WeakMap,wc=new WeakMap,xc=new WeakMap,Lc=new WeakMap;function Vf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fn(e){return Ro(e)?e:$s(e,!1,Ff,jf,kc)}function Kf(e){return $s(e,!1,Of,Uf,wc)}function pn(e){return $s(e,!0,If,zf,xc)}function QP(e){return $s(e,!0,Df,Hf,Lc)}function $s(e,t,o,n,a){if(!Je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Vf($f(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Mo(e){return Ro(e)?Mo(e.__v_raw):!!(e&&e.__v_isReactive)}function Ro(e){return!!(e&&e.__v_isReadonly)}function Vt(e){return!!(e&&e.__v_isShallow)}function ys(e){return e?!!e.__v_raw:!1}function Ke(e){const t=e&&e.__v_raw;return t?Ke(t):e}function In(e){return!Ze(e,"__v_skip")&&Object.isExtensible(e)&&Ql(e,"__v_skip",!0),e}const ao=e=>Je(e)?Fn(e):e,On=e=>Je(e)?pn(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function he(e){return Sc(e,!1)}function $a(e){return Sc(e,!0)}function Sc(e,t){return ut(e)?e:new qf(e,t)}class qf{constructor(t,o){this.dep=new jr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ke(t),this._value=o?t:ao(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Vt(t)||Ro(t);t=n?t:Ke(t),go(t,o)&&(this._rawValue=t,this._value=n?t:ao(t),this.dep.trigger())}}function ge(e){return ut(e)?e.value:e}const Wf={get:(e,t,o)=>t==="__v_raw"?e:ge(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ut(a)&&!ut(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Ac(e){return Mo(e)?e:new Proxy(e,Wf)}function Yf(e){const t=Fe(e)?new Array(e.length):{};for(const o in e)t[o]=Pc(e,o);return t}class Xf{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ht(o)?o:String(o),this._raw=Ke(t);let a=!0,s=t;if(!Fe(t)||Ht(this._key)||!is(this._key))do a=!ys(s)||Vt(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ge(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ut(this._raw[this._key])){const o=this._object[this._key];if(ut(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Ef(this._raw,this._key)}}class Zf{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 _s(e,t,o){return ut(e)?e:De(e)?new Zf(e):Je(e)&&arguments.length>1?Pc(e,t,o):he(e)}function Pc(e,t,o){return new Xf(e,t,o)}class Jf{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new jr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ha-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&<!==this)return uc(this,!0),!0}get value(){const t=this.dep.track();return gc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Qf(e,t,o=!1){let n,a;return De(e)?n=e:(n=e.get,a=e.set),new Jf(n,a,o)}const vs={},ks=new WeakMap;let dn;function eh(e,t=!1,o=dn){if(o){let n=ks.get(o);n||ks.set(o,n=[]),n.push(e)}}function th(e,t,o=st){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=w=>a?w:Vt(w)||a===!1||a===0?Fo(w,1):Fo(w);let u,d,f,A,v=!1,b=!1;if(ut(e)?(d=()=>e.value,v=Vt(e)):Mo(e)?(d=()=>c(e),v=!0):Fe(e)?(b=!0,v=e.some(w=>Mo(w)||Vt(w)),d=()=>e.map(w=>{if(ut(w))return w.value;if(Mo(w))return c(w);if(De(w))return l?l(w,2):w()})):De(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){fo();try{f()}finally{ho()}}const w=dn;dn=u;try{return l?l(e,3,[A]):e(A)}finally{dn=w}}:d=po,t&&a){const w=d,p=a===!0?1/0:a;d=()=>Fo(w(),p)}const _=ic(),$=()=>{u.stop(),_&&_.active&&Tr(_.effects,u)};if(s&&t){const w=t;t=(...p)=>{const P=w(...p);return $(),P}}let h=b?new Array(e.length).fill(vs):vs;const m=w=>{if(!(!(u.flags&1)||!u.dirty&&!w))if(t){const p=u.run();if(w||a||v||(b?p.some((P,g)=>go(P,h[g])):go(p,h))){f&&f();const P=dn;dn=u;try{const g=[p,h===vs?void 0:b&&h[0]===vs?[]:h,A];h=p,l?l(t,3,g):t(...g)}finally{dn=P}}}else u.run()};return i&&i(m),u=new lc(d),u.scheduler=r?()=>r(m,!1):m,A=w=>eh(w,!1,u),f=u.onStop=()=>{const w=ks.get(u);if(w){if(l)l(w,4);else for(const p of w)p();ks.delete(u)}},t?n?m(!0):h=u.run():r?r(m.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function Fo(e,t=1/0,o){if(t<=0||!Je(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))Fo(e.value,t,o);else if(Fe(e))for(let n=0;n{Fo(n,t,o)});else if(rs(e)){for(const n in e)Fo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Fo(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const ya=[];let Kr=!1;function eC(e,...t){if(Kr)return;Kr=!0,fo();const o=ya.length?ya[ya.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=oh();if(n)Dn(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Au(o,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...nh(a)),console.warn(...s)}ho(),Kr=!1}function oh(){let e=ya[ya.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function nh(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...ah(o))}),t}function ah({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Au(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...sh(e.props),s]:[a+s]}function sh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Cc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Cc(e,t,o){return it(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=Cc(e,Ke(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ke(t),o?t:[`${e}=`,t])}function Dn(e,t,o,n){try{return n?e(...n):e()}catch(a){_a(a,t,o)}}function so(e,t,o,n){if(De(e)){const a=Dn(e,t,o,n);return a&&Zl(a)&&a.catch(s=>{_a(s,t,o)}),a}if(Fe(e)){const a=[];for(let s=0;s>>1,a=Ft[n],s=va(a);s=va(o)?Ft.push(e):Ft.splice(ih(t),0,e),e.flags|=1,Tc()}}function Tc(){ws||(ws=Ec.then(Mc))}function lh(e){if(!Fe(e))Yo&&e.id===-1?Yo.splice(Gn+1,0,e):e.flags&1||(Bn.push(e),e.flags|=1);else for(let t=0;tva(o)-va(n));if(Bn.length=0,Yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Mc(e){try{for(bo=0;bo{n._d&&Fs(-1);const s=xs(t),r=Oo.length;let i;try{i=e(...a)}finally{for(let l=Oo.length;l>r;l--)ui();xs(s),n._d&&Fs(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Wr(e,t){if(At===null)return e;const o=Bs(At),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&De(t)?t.call(n&&n.proxy):t}}function ch(){return!!(ko()||mn)}const uh=Symbol.for("v-scx"),ph=()=>Ne(uh);function dh(e,t){return Yr(e,null,t)}function Me(e,t,o){return Yr(e,t,o)}function Yr(e,t,o=st){const{immediate:n,deep:a,flush:s,once:r}=o,i=mt({},o),l=t&&n||!t&&s!=="post";let c;if(zn){if(s==="sync"){const A=ph();c=A.__watcherHandles||(A.__watcherHandles=[])}else if(!l){const A=()=>{};return A.stop=po,A.resume=po,A.pause=po,A}}const u=Ct;i.call=(A,v,b)=>so(A,u,v,b);let d=!1;s==="post"?i.scheduler=A=>{Dt(A,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(A,v)=>{v?A():qr(A)}),i.augmentJob=A=>{t&&(A.flags|=4),d&&(A.flags|=2,u&&(A.id=u.uid,A.i=u))};const f=th(e,t,i);return zn&&(c?c.push(f):l&&f()),f}function gh(e,t,o){const n=this.proxy,a=it(e)?e.includes(".")?Ic(n,e):()=>n[e]:e.bind(n,n);let s;De(t)?s=t:(s=t.handler,o=t);const r=Na(this),i=Yr(a,s.bind(n),o);return r(),i}function Ic(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,fn=e=>e&&(e.disabled||e.disabled===""),fh=e=>e&&(e.defer||e.defer===""),Dc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Xr=(e,t)=>{const o=e&&e.to;return it(o)?t?t(o):null:o},hh={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:f,o:{insert:A,querySelector:v,createText:b,createComment:_,parentNode:$}}=c,h=fn(t.props);let{dynamicChildren:m}=t;const w=(g,C,S)=>{g.shapeFlag&16&&u(g.children,C,S,a,s,r,i,l)},p=(g=t)=>{const C=fn(g.props),S=g.target=Xr(g.props,v),G=Zr(S,g,b,A);S&&(r!=="svg"&&Dc(S)?r="svg":r!=="mathml"&&Bc(S)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(S),C||(w(g,S,G),ka(g,!1)))},P=g=>{const C=()=>{if(Xo.get(g)===C){if(Xo.delete(g),fn(g.props)){const S=$(g.el)||o;w(g,S,g.anchor),ka(g,!0)}p(g)}};Xo.set(g,C),Dt(C,s)};if(e==null){const g=t.el=b(""),C=t.anchor=b("");if(A(g,o,n),A(C,o,n),fh(t.props)||s&&s.pendingBranch){P(t);return}h&&(w(t,o,C),ka(t,!0)),p()}else{t.el=e.el;const g=t.anchor=e.anchor,C=Xo.get(e);if(C){C.flags|=8,Xo.delete(e),P(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,G=t.targetAnchor=e.targetAnchor,H=fn(e.props),J=H?o:S,U=H?g:G;if(r==="svg"||Dc(S)?r="svg":(r==="mathml"||Bc(S))&&(r="mathml"),m?(f(e.dynamicChildren,m,J,a,s,r,i),ci(e,t,!0)):l||d(e,t,J,U,a,s,r,i,!1),h)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ss(t,o,g,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const D=Xr(t.props,v);D&&(t.target=D,Ss(t,D,null,c,0))}else H&&Ss(t,S,G,c,1);ka(t,h)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:f}=e,A=fn(f),v=s||!A,b=Xo.get(e);if(b&&(b.flags|=8,Xo.delete(e)),d&&(a(c),a(u)),s&&a(l),!b&&(A||d)&&r&16)for(let _=0;_1){for(const o of e)if(o.type!==yo){t=o;break}}return t}function Gc(e){if(!Cs(e))return Ls(e.type)&&e.children?$h(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&&De(o.default))return o.default()}}function Qr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Qr(Ls(o.type)&&Gc(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 wa(e,t){return De(e)?mt({name:e.name},t,{setup:e}):e}function ei(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function jc(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const As=new WeakMap;function xa(e,t,o,n,a=!1){if(Fe(e)){e.forEach((b,_)=>xa(b,t&&(Fe(t)?t[_]:t),o,n,a));return}if(jn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&xa(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Bs(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===st?i.refs={}:i.refs,d=i.setupState,f=Ke(d),A=d===st?Yl:b=>jc(u,b)?!1:Ze(f,b),v=(b,_)=>!(_&&jc(u,_));if(c!=null&&c!==l){if(Uc(t),it(c))u[c]=null,A(c)&&(d[c]=null);else if(ut(c)){const b=t;v(c,b.k)&&(c.value=null),b.k&&(u[b.k]=null)}}if(De(l))Dn(l,i,12,[r,u]);else{const b=it(l),_=ut(l);if(b||_){const $=()=>{if(e.f){const h=b?A(l)?d[l]:u[l]:v()||!e.k?l.value:u[e.k];if(a)Fe(h)&&Tr(h,s);else if(Fe(h))h.includes(s)||h.push(s);else if(b)u[l]=[s],A(l)&&(d[l]=u[l]);else{const m=[s];v(l,e.k)&&(l.value=m),e.k&&(u[e.k]=m)}}else b?(u[l]=r,A(l)&&(d[l]=r)):_&&(v(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const h=()=>{$(),As.delete(e)};h.id=-1,As.set(e,h),Dt(h,o)}else Uc(e),$()}}}function Uc(e){const t=As.get(e);t&&(t.flags|=8,As.delete(e))}const zc=e=>e.nodeType===8;ps().requestIdleCallback,ps().cancelIdleCallback;function yh(e,t){if(zc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(zc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const jn=e=>!!e.type.__asyncLoader;function _h(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const f=()=>(d++,c=null,A()),A=()=>{let v;return c||(v=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((_,$)=>{l(b,()=>_(f()),()=>$(b),d+1)});throw b}).then(b=>v!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return wa({name:"AsyncComponentWrapper",__asyncLoader:A,__asyncHydrate(v,b,_){const $=v.isConnected;let h=!1;(b.bu||(b.bu=[])).push(()=>h=!0);const m=()=>{h||!v.parentNode||$&&!v.isConnected||_()},w=s?()=>{const p=s(m,P=>yh(v,P));p&&(b.bum||(b.bum=[])).push(p)}:m;u?w():A().then(()=>!b.isUnmounted&&w())},get __asyncResolved(){return u},setup(){const v=Ct;if(ei(v),u)return()=>Ps(u,v);const b=p=>{c=null,_a(p,v,13,!n)};if(i&&v.suspense||zn)return A().then(p=>()=>Ps(p,v)).catch(p=>(b(p),()=>n?tt(n,{error:p}):null));const _=he(!1),$=he(),h=he(!!a);let m,w;return Ts(()=>{m!=null&&clearTimeout(m),w!=null&&clearTimeout(w)}),a&&(w=setTimeout(()=>{v.isUnmounted||(h.value=!1)},a)),r!=null&&(m=setTimeout(()=>{if(!v.isUnmounted&&!_.value&&!$.value){const p=new Error(`Async component timed out after ${r}ms.`);b(p),$.value=p}},r)),A().then(()=>{v.isUnmounted||(_.value=!0,v.parent&&Cs(v.parent.vnode)&&v.parent.update())}).catch(p=>{if(v.isUnmounted){c=null;return}b(p),$.value=p}),()=>{if(_.value&&u)return Ps(u,v);if($.value&&n)return tt(n,{error:$.value});if(o&&!h.value)return Ps(o,v)}}})}function Ps(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=tt(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Cs=e=>e.type.__isKeepAlive;function vh(e,t){Hc(e,"a",t)}function kh(e,t){Hc(e,"da",t)}function Hc(e,t,o=Ct){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Es(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Cs(a.parent.vnode)&&wh(n,t,o,a),a=a.parent}}function wh(e,t,o,n){const a=Es(t,e,n,!0);Ts(()=>{Tr(n[t],a)},o)}function Es(e,t,o=Ct,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{fo();const i=Na(o),l=so(t,o,e,r);return i(),ho(),l});return n?a.unshift(s):a.push(s),s}}const Io=e=>(t,o=Ct)=>{(!zn||e==="sp")&&Es(e,(...n)=>t(...n),o)},Vc=Io("bm"),$o=Io("m"),xh=Io("bu"),Lh=Io("u"),Xt=Io("bum"),Ts=Io("um"),Sh=Io("sp"),Ah=Io("rtg"),Ph=Io("rtc");function Ch(e,t=Ct){Es("ec",e,t)}const Eh="components",Kc=Symbol.for("v-ndc");function qc(e){return it(e)?Th(Eh,e,!1)||e:e||Kc}function Th(e,t,o=!0,n=!1){const a=At||Ct;if(a){const s=a.type;{const i=Su(s,!1);if(i&&(i===t||i===xt(t)||i===cs(xt(t))))return s}const r=Wc(a[e]||s[e],t)||Wc(a.appContext[e],t);return!r&&n?s:r}}function Wc(e,t){return e&&(e[t]||e[xt(t)]||e[cs(xt(t))])}function Rt(e,t,o,n){let a;const s=o,r=Fe(e);if(r||it(e)){const i=r&&Ro(e);let l=!1,c=!1;i&&(l=!Vt(e),c=Mo(e),e=fs(e)),a=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),ae(),et(Ue,null,[tt("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Oo.length;ae();let l;try{const c=r&&Yc(r(o)),u=o.key||s||c&&c.key;l=et(Ue,{key:(u&&!Ht(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Oo.length;u>i;u--)ui();throw c}finally{r&&r._c&&(r._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Yc(e){return e.some(t=>Ca(t)?!(t.type===yo||t.type===Ue&&!Yc(t.children)):!0)?e:null}const ti=e=>e?wu(e)?Bs(e):ti(e.parent):null,La=mt(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=>ti(e.parent),$root:e=>ti(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Qc(e),$forceUpdate:e=>e.f||(e.f=()=>{qr(e.update)}),$nextTick:e=>e.n||(e.n=It.bind(e.proxy)),$watch:e=>gh.bind(e)}),oi=(e,t)=>e!==st&&!e.__isScriptSetup&&Ze(e,t),Nh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const f=r[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(oi(n,t))return r[t]=1,n[t];if(a!==st&&Ze(a,t))return r[t]=2,a[t];if(Ze(s,t))return r[t]=3,s[t];if(o!==st&&Ze(o,t))return r[t]=4,o[t];ni&&(r[t]=0)}}const c=La[t];let u,d;if(c)return t==="$attrs"&&Nt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==st&&Ze(o,t))return r[t]=4,o[t];if(d=l.config.globalProperties,Ze(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return oi(a,t)?(a[t]=o,!0):n!==st&&Ze(n,t)?(n[t]=o,!0):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==st&&i[0]!=="$"&&Ze(e,i)||oi(t,i)||Ze(s,i)||Ze(n,i)||Ze(La,i)||Ze(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Xc(e){return Fe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ni=!0;function Rh(e){const t=Qc(e),o=e.proxy,n=e.ctx;ni=!1,t.beforeCreate&&Zc(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:A,updated:v,activated:b,deactivated:_,beforeDestroy:$,beforeUnmount:h,destroyed:m,unmounted:w,render:p,renderTracked:P,renderTriggered:g,errorCaptured:C,serverPrefetch:S,expose:G,inheritAttrs:H,components:J,directives:U,filters:D}=t;if(c&&Mh(c,n,null),r)for(const R in r){const z=r[R];De(z)&&(n[R]=z.bind(o))}if(a){const R=a.call(o,o);Je(R)&&(e.data=Fn(R))}if(ni=!0,s)for(const R in s){const z=s[R],K=De(z)?z.bind(o,o):De(z.get)?z.get.bind(o,o):po,Q=!De(z)&&De(z.set)?z.set.bind(o):po,ie=oe({get:K,set:Q});Object.defineProperty(n,R,{enumerable:!0,configurable:!0,get:()=>ie.value,set:j=>ie.value=j})}if(i)for(const R in i)Jc(i[R],n,o,R);if(l){const R=De(l)?l.call(o):l;Reflect.ownKeys(R).forEach(z=>{vt(z,R[z])})}u&&Zc(u,e,"c");function y(R,z){Fe(z)?z.forEach(K=>R(K.bind(o))):z&&R(z.bind(o))}if(y(Vc,d),y($o,f),y(xh,A),y(Lh,v),y(vh,b),y(kh,_),y(Ch,C),y(Ph,P),y(Ah,g),y(Xt,h),y(Ts,w),y(Sh,S),Fe(G))if(G.length){const R=e.exposed||(e.exposed={});G.forEach(z=>{Object.defineProperty(R,z,{get:()=>o[z],set:K=>o[z]=K,enumerable:!0})})}else e.exposed||(e.exposed={});p&&e.render===po&&(e.render=p),H!=null&&(e.inheritAttrs=H),J&&(e.components=J),U&&(e.directives=U),S&&ei(e)}function Mh(e,t,o=po){Fe(e)&&(e=ai(e));for(const n in e){const a=e[n];let s;Je(a)?"default"in a?s=Ne(a.from||n,a.default,!0):s=Ne(a.from||n):s=Ne(a),ut(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function Zc(e,t,o){so(Fe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Jc(e,t,o,n){let a=n.includes(".")?Ic(o,n):()=>o[n];if(it(e)){const s=t[e];De(s)&&Me(a,s)}else if(De(e))Me(a,e.bind(o));else if(Je(e))if(Fe(e))e.forEach(s=>Jc(s,t,o,n));else{const s=De(e.handler)?e.handler.bind(o):t[e.handler];De(s)&&Me(a,s,e)}}function Qc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Ns(l,c,r,!0)),Ns(l,t,r)),Je(t)&&s.set(t,l),l}function Ns(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&Ns(e,s,o,!0),a&&a.forEach(r=>Ns(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=Fh[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Fh={data:eu,props:tu,emits:tu,methods:Sa,computed:Sa,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:Sa,directives:Sa,watch:Oh,provide:eu,inject:Ih};function eu(e,t){return t?e?function(){return mt(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function Ih(e,t){return Sa(ai(e),ai(t))}function ai(e){if(Fe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xt(t)}Modifiers`]||e[`${Yt(t)}Modifiers`];function jh(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||st;let a=o;const s=t.startsWith("update:"),r=s&&Gh(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>it(u)?u.trim():u)),r.number&&(a=a.map(Rr)));let i,l=n[i=Nr(t)]||n[i=Nr(xt(t))];!l&&s&&(l=n[i=Nr(Yt(t))]),l&&so(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,so(c,e,6,a)}}const Uh=new WeakMap;function nu(e,t,o=!1){const n=o?Uh:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!De(e)){const l=c=>{const u=nu(c,t,!0);u&&(i=!0,mt(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Je(e)&&n.set(e,null),null):(Fe(s)?s.forEach(l=>r[l]=null):mt(r,s),Je(e)&&n.set(e,r),r)}function Rs(e,t){return!e||!ns(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Yt(t))||Ze(e,t))}function tC(){}function au(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:f,setupState:A,ctx:v,inheritAttrs:b}=e,_=xs(e);let $,h;try{if(o.shapeFlag&4){const w=a||n,p=w;$=_o(c.call(p,w,u,d,A,f,v)),h=i}else{const w=t;$=_o(w.length>1?w(d,{attrs:i,slots:r,emit:l}):w(d,null)),h=t.props?i:zh(i)}}catch(w){Oo.length=0,_a(w,e,1),$=tt(yo)}let m=$;if(h&&b!==!1){const w=Object.keys(h),{shapeFlag:p}=m;w.length&&p&7&&(s&&w.some(as)&&(h=Hh(h,s)),m=Un(m,h,!1,!0))}if(o.dirs&&(m=Un(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const w=Ls(m.type)&&Gc(m)||m;Qr(w,o.transition)}return $=m,xs(_),$}const zh=e=>{let t;for(const o in e)(o==="class"||o==="style"||ns(o))&&((t||(t={}))[o]=e[o]);return t},Hh=(e,t)=>{const o={};for(const n in e)(!as(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Vh(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?su(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(iu),cu=e=>Object.getPrototypeOf(e)===iu;function qh(e,t,o,n=!1){const a={},s=lu();e.propsDefaults=Object.create(null),uu(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Kf(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Wh(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=Ke(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,A]=pu(d,t,!0);mt(r,f),A&&i.push(...A)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Je(e)&&n.set(e,Rn),Rn;if(Fe(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ii=e=>Fe(e)?e.map(_o):[_o(e)],Xh=(e,t,o)=>{if(t._n)return t;const n=jt((...a)=>ii(t(...a)),o);return n._c=!1,n},gu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ri(a))continue;const s=e[a];if(De(s))t[a]=Xh(a,s,n);else if(s!=null){const r=ii(s);t[a]=()=>r}}},fu=(e,t)=>{const o=ii(t);e.slots.default=()=>o},hu=(e,t,o)=>{for(const n in t)(o||!ri(n))&&(e[n]=t[n])},Zh=(e,t,o)=>{const n=e.slots=lu();if(e.vnode.shapeFlag&32){const a=t._;a?(hu(n,t,o),o&&Ql(n,"_",a,!0)):gu(t,n)}else t&&fu(e,t)},Jh=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=st;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:hu(a,t,o):(s=!t.$stable,gu(t,a)),r=t}else t&&(fu(e,t),r={default:1});if(s)for(const i in a)!ri(i)&&r[i]==null&&delete a[i]},Dt=nm;function Qh(e){return em(e)}function em(e,t){const o=ps();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:A=po,insertStaticContent:v}=e,b=(T,F,I,W=null,Y=null,O=null,ue=void 0,te=null,k=!!F.dynamicChildren)=>{if(T===F)return;T&&!Ea(T,F)&&(W=$e(T),j(T,Y,O,!0),T=null),F.patchFlag===-2&&(k=!1,F.dynamicChildren=null);const{type:x,ref:B,shapeFlag:X}=F;switch(x){case Aa:_(T,F,I,W);break;case yo:$(T,F,I,W);break;case Ms:T==null&&h(F,I,W,ue);break;case Ue:J(T,F,I,W,Y,O,ue,te,k);break;default:X&1?p(T,F,I,W,Y,O,ue,te,k):X&6?U(T,F,I,W,Y,O,ue,te,k):(X&64||X&128)&&x.process(T,F,I,W,Y,O,ue,te,k,de)}B!=null&&Y?xa(B,T&&T.ref,O,F||T,!F):B==null&&T&&T.ref!=null&&xa(T.ref,null,O,T,!0)},_=(T,F,I,W)=>{if(T==null)n(F.el=i(F.children),I,W);else{const Y=F.el=T.el;F.children!==T.children&&c(Y,F.children)}},$=(T,F,I,W)=>{T==null?n(F.el=l(F.children||""),I,W):F.el=T.el},h=(T,F,I,W)=>{[T.el,T.anchor]=v(T.children,F,I,W,T.el,T.anchor)},m=({el:T,anchor:F},I,W)=>{let Y;for(;T&&T!==F;)Y=f(T),n(T,I,W),T=Y;n(F,I,W)},w=({el:T,anchor:F})=>{let I;for(;T&&T!==F;)I=f(T),a(T),T=I;a(F)},p=(T,F,I,W,Y,O,ue,te,k)=>{if(F.type==="svg"?ue="svg":F.type==="math"&&(ue="mathml"),T==null)P(F,I,W,Y,O,ue,te,k);else{const x=T.el&&T.el._isVueCE?T.el:null;try{x&&x._beginPatch(),S(T,F,Y,O,ue,te,k)}finally{x&&x._endPatch()}}},P=(T,F,I,W,Y,O,ue,te)=>{let k,x;const{props:B,shapeFlag:X,transition:me,dirs:ce}=T;if(k=T.el=r(T.type,O,B&&B.is,B),X&8?u(k,T.children):X&16&&C(T.children,k,null,W,Y,li(T,O),ue,te),ce&&gn(T,null,W,"created"),g(k,T,T.scopeId,ue,W),B){for(const le in B)le!=="value"&&!da(le)&&s(k,le,null,B[le],O,W);"value"in B&&s(k,"value",null,B.value,O),(x=B.onVnodeBeforeMount)&&vo(x,W,T)}ce&&gn(T,null,W,"beforeMount");const Z=tm(Y,me);Z&&me.beforeEnter(k),n(k,F,I),((x=B&&B.onVnodeMounted)||Z||ce)&&Dt(()=>{try{x&&vo(x,W,T),Z&&me.enter(k),ce&&gn(T,null,W,"mounted")}finally{}},Y)},g=(T,F,I,W,Y)=>{if(I&&A(T,I),W)for(let O=0;O{for(let x=k;x{const te=F.el=T.el;let{patchFlag:k,dynamicChildren:x,dirs:B}=F;k|=T.patchFlag&16;const X=T.props||st,me=F.props||st;let ce;if(I&&bn(I,!1),(ce=me.onVnodeBeforeUpdate)&&vo(ce,I,F,T),B&&gn(F,T,I,"beforeUpdate"),I&&bn(I,!0),x&&(!T.dynamicChildren||T.dynamicChildren.length!==x.length)&&(k=0,ue=!1,x=null),(X.innerHTML&&me.innerHTML==null||X.textContent&&me.textContent==null)&&u(te,""),x?G(T.dynamicChildren,x,te,I,W,li(F,Y),O):ue||z(T,F,te,null,I,W,li(F,Y),O,!1),k>0){if(k&16)H(te,X,me,I,Y);else if(k&2&&X.class!==me.class&&s(te,"class",null,me.class,Y),k&4&&s(te,"style",X.style,me.style,Y),k&8){const Z=F.dynamicProps;for(let le=0;le{ce&&vo(ce,I,F,T),B&&gn(F,T,I,"updated")},W)},G=(T,F,I,W,Y,O,ue)=>{for(let te=0;te{if(F!==I){if(F!==st)for(const O in F)!da(O)&&!(O in I)&&s(T,O,F[O],null,Y,W);for(const O in I){if(da(O))continue;const ue=I[O],te=F[O];ue!==te&&O!=="value"&&s(T,O,te,ue,Y,W)}"value"in I&&s(T,"value",F.value,I.value,Y)}},J=(T,F,I,W,Y,O,ue,te,k)=>{const x=F.el=T?T.el:i(""),B=F.anchor=T?T.anchor:i("");let{patchFlag:X,dynamicChildren:me,slotScopeIds:ce}=F;ce&&(te=te?te.concat(ce):ce),T==null?(n(x,I,W),n(B,I,W),C(F.children||[],I,B,Y,O,ue,te,k)):X>0&&X&64&&me&&T.dynamicChildren&&T.dynamicChildren.length===me.length?(G(T.dynamicChildren,me,I,Y,O,ue,te),(F.key!=null||Y&&F===Y.subTree)&&ci(T,F,!0)):z(T,F,I,B,Y,O,ue,te,k)},U=(T,F,I,W,Y,O,ue,te,k)=>{F.slotScopeIds=te,T==null?F.shapeFlag&512?Y.ctx.activate(F,I,W,ue,k):D(F,I,W,Y,O,ue,k):L(T,F,k)},D=(T,F,I,W,Y,O,ue)=>{const te=T.component=um(T,W,Y);if(Cs(T)&&(te.ctx.renderer=de),pm(te,!1,ue),te.asyncDep){if(Y&&Y.registerDep(te,y,ue),!T.el){const k=te.subTree=tt(yo);$(null,k,F,I),T.placeholder=k.el}}else y(te,T,F,I,Y,O,ue)},L=(T,F,I)=>{const W=F.component=T.component;if(Vh(T,F,I))if(W.asyncDep&&!W.asyncResolved){R(W,F,I);return}else W.next=F,W.update();else F.el=T.el,W.vnode=F},y=(T,F,I,W,Y,O,ue)=>{const te=()=>{if(T.isMounted){let{next:X,bu:me,u:ce,parent:Z,vnode:le}=T;{const Qe=mu(T);if(Qe){X&&(X.el=le.el,R(T,X,ue)),Qe.asyncDep.then(()=>{Dt(()=>{T.isUnmounted||x()},Y)});return}}let Ce=X,Te;bn(T,!1),X?(X.el=le.el,R(T,X,ue)):X=le,me&&us(me),(Te=X.props&&X.props.onVnodeBeforeUpdate)&&vo(Te,Z,X,le),bn(T,!0);const qe=au(T),nt=T.subTree;T.subTree=qe,b(nt,qe,d(nt.el),$e(nt),T,Y,O),X.el=qe.el,Ce===null&&Kh(T,qe.el),ce&&Dt(ce,Y),(Te=X.props&&X.props.onVnodeUpdated)&&Dt(()=>vo(Te,Z,X,le),Y)}else{let X;const{el:me,props:ce}=F,{bm:Z,m:le,parent:Ce,root:Te,type:qe}=T,nt=jn(F);bn(T,!1),Z&&us(Z),!nt&&(X=ce&&ce.onVnodeBeforeMount)&&vo(X,Ce,F),bn(T,!0);{Te.ce&&Te.ce._hasShadowRoot()&&Te.ce._injectChildStyle(qe,T.parent?T.parent.type:void 0);const Qe=T.subTree=au(T);b(null,Qe,I,W,T,Y,O),F.el=Qe.el}if(le&&Dt(le,Y),!nt&&(X=ce&&ce.onVnodeMounted)){const Qe=F;Dt(()=>vo(X,Ce,Qe),Y)}(F.shapeFlag&256||Ce&&jn(Ce.vnode)&&Ce.vnode.shapeFlag&256)&&T.a&&Dt(T.a,Y),T.isMounted=!0,F=I=W=null}};T.scope.on();const k=T.effect=new lc(te);T.scope.off();const x=T.update=k.run.bind(k),B=T.job=k.runIfDirty.bind(k);B.i=T,B.id=T.uid,k.scheduler=()=>qr(B),bn(T,!0),x()},R=(T,F,I)=>{F.component=T;const W=T.vnode.props;T.vnode=F,T.next=null,Wh(T,F.props,W,I),Jh(T,F.children,I),fo(),Nc(T),ho()},z=(T,F,I,W,Y,O,ue,te,k=!1)=>{const x=T&&T.children,B=T?T.shapeFlag:0,X=F.children,{patchFlag:me,shapeFlag:ce}=F;if(me>0){if(me&128){Q(x,X,I,W,Y,O,ue,te,k);return}else if(me&256){K(x,X,I,W,Y,O,ue,te,k);return}}ce&8?(B&16&&ke(x,Y,O),X!==x&&u(I,X)):B&16?ce&16?Q(x,X,I,W,Y,O,ue,te,k):ke(x,Y,O,!0):(B&8&&u(I,""),ce&16&&C(X,I,W,Y,O,ue,te,k))},K=(T,F,I,W,Y,O,ue,te,k)=>{T=T||Rn,F=F||Rn;const x=T.length,B=F.length,X=Math.min(x,B);let me;for(me=0;meB?ke(T,Y,O,!0,!1,X):C(F,I,W,Y,O,ue,te,k,X)},Q=(T,F,I,W,Y,O,ue,te,k)=>{let x=0;const B=F.length;let X=T.length-1,me=B-1;for(;x<=X&&x<=me;){const ce=T[x],Z=F[x]=k?Do(F[x]):_o(F[x]);if(Ea(ce,Z))b(ce,Z,I,null,Y,O,ue,te,k);else break;x++}for(;x<=X&&x<=me;){const ce=T[X],Z=F[me]=k?Do(F[me]):_o(F[me]);if(Ea(ce,Z))b(ce,Z,I,null,Y,O,ue,te,k);else break;X--,me--}if(x>X){if(x<=me){const ce=me+1,Z=ceme)for(;x<=X;)j(T[x],Y,O,!0),x++;else{const ce=x,Z=x,le=new Map;for(x=Z;x<=me;x++){const ve=F[x]=k?Do(F[x]):_o(F[x]);ve.key!=null&&le.set(ve.key,x)}let Ce,Te=0;const qe=me-Z+1;let nt=!1,Qe=0;const V=new Array(qe);for(x=0;x=qe){j(ve,Y,O,!0);continue}let Se;if(ve.key!=null)Se=le.get(ve.key);else for(Ce=Z;Ce<=me;Ce++)if(V[Ce-Z]===0&&Ea(ve,F[Ce])){Se=Ce;break}Se===void 0?j(ve,Y,O,!0):(V[Se-Z]=x+1,Se>=Qe?Qe=Se:nt=!0,b(ve,F[Se],I,null,Y,O,ue,te,k),Te++)}const se=nt?om(V):Rn;for(Ce=se.length-1,x=qe-1;x>=0;x--){const ve=Z+x,Se=F[ve],Ie=F[ve+1],rt=ve+1{const{el:O,type:ue,transition:te,children:k,shapeFlag:x}=T;if(x&6){ie(T.component.subTree,F,I,W);return}if(x&128){T.suspense.move(F,I,W);return}if(x&64){ue.move(T,F,I,de);return}if(ue===Ue){n(O,F,I);for(let X=0;Xte.enter(O),Y));else{const{leave:X,delayLeave:me,afterLeave:ce}=te,Z=()=>{T.ctx.isUnmounted?a(O):n(O,F,I)},le=()=>{const Ce=O._isLeaving||!!O[Jr];O._isLeaving&&O[Jr](!0),te.persisted&&!Ce?Z():X(O,()=>{Z(),ce&&ce()})};me?me(O,Z,le):le()}else n(O,F,I)},j=(T,F,I,W=!1,Y=!1)=>{const{type:O,props:ue,ref:te,children:k,dynamicChildren:x,shapeFlag:B,patchFlag:X,dirs:me,cacheIndex:ce,memo:Z}=T;if(X===-2&&(Y=!1),te!=null&&(fo(),xa(te,null,I,T,!0),ho()),ce!=null&&(F.renderCache[ce]=void 0),B&256){F.ctx.deactivate(T);return}const le=B&1&&me,Ce=!jn(T);let Te;if(Ce&&(Te=ue&&ue.onVnodeBeforeUnmount)&&vo(Te,F,T),B&6)fe(T.component,I,W);else{if(B&128){T.suspense.unmount(I,W);return}le&&gn(T,null,F,"beforeUnmount"),B&64?T.type.remove(T,F,I,de,W):x&&!x.hasOnce&&(O!==Ue||X>0&&X&64)?ke(x,F,I,!1,!0):(O===Ue&&X&384||!Y&&B&16)&&ke(k,F,I),W&&be(T)}const qe=Z!=null&&ce==null;(Ce&&(Te=ue&&ue.onVnodeUnmounted)||le||qe)&&Dt(()=>{Te&&vo(Te,F,T),le&&gn(T,null,F,"unmounted"),qe&&(T.el=null)},I)},be=T=>{const{type:F,el:I,anchor:W,transition:Y}=T;if(F===Ue){xe(I,W);return}if(F===Ms){w(T);return}const O=()=>{a(I),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(T.shapeFlag&1&&Y&&!Y.persisted){const{leave:ue,delayLeave:te}=Y,k=()=>ue(I,O);te?te(T.el,O,k):k()}else O()},xe=(T,F)=>{let I;for(;T!==F;)I=f(T),a(T),T=I;a(F)},fe=(T,F,I)=>{const{bum:W,scope:Y,job:O,subTree:ue,um:te,m:k,a:x}=T;bu(k),bu(x),W&&us(W),Y.stop(),O&&(O.flags|=8,j(ue,T,F,I)),te&&Dt(te,F),Dt(()=>{T.isUnmounted=!0},F)},ke=(T,F,I,W=!1,Y=!1,O=0)=>{for(let ue=O;ue{if(T.shapeFlag&6)return $e(T.component.subTree);if(T.shapeFlag&128)return T.suspense.next();const F=f(T.anchor||T.el),I=F&&F[Oc];return I?f(I):F};let ne=!1;const ee=(T,F,I)=>{let W;T==null?F._vnode&&(j(F._vnode,null,null,!0),W=F._vnode.component):b(F._vnode||null,T,F,null,null,null,I),F._vnode=T,ne||(ne=!0,Nc(W),Rc(),ne=!1)},de={p:b,um:j,m:ie,r:be,mt:D,mc:C,pc:z,pbc:G,n:$e,o:e};return{render:ee,hydrate:void 0,createApp:Bh(ee)}}function li({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 bn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ci(e,t,o=!1){const n=e.children,a=t.children;if(Fe(n)&&Fe(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function mu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:mu(t)}function bu(e){if(e)for(let t=0;te.__isSuspense;function nm(e,t){t&&t.pendingBranch?Fe(e)?t.effects.push(...e):t.effects.push(e):lh(e)}const Ue=Symbol.for("v-fgt"),Aa=Symbol.for("v-txt"),yo=Symbol.for("v-cmt"),Ms=Symbol.for("v-stc"),Oo=[];let Kt=null;function ae(e=!1){Oo.push(Kt=e?null:[])}function ui(){Oo.pop(),Kt=Oo[Oo.length-1]||null}let Pa=1;function Fs(e,t=!1){Pa+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function _u(e){return e.dynamicChildren=Pa>0?Kt||Rn:null,ui(),Pa>0&&Kt&&Kt.push(e),e}function pe(e,t,o,n,a,s){return _u(M(e,t,o,n,a,s,!0))}function et(e,t,o,n,a){return _u(tt(e,t,o,n,a,!0))}function Ca(e){return e?e.__v_isVNode===!0:!1}function Ea(e,t){return e.type===t.type&&e.key===t.key}const vu=({key:e})=>e??null,Is=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?it(e)||ut(e)||De(e)?{i:At,r:e,k:t,f:!!o}:e:null);function M(e,t=null,o=null,n=0,a=null,s=e===Ue?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vu(t),ref:t&&Is(t),scopeId:Fc,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:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:At};return i?(Os(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=it(o)?8:16),Pa>0&&!r&&Kt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Kt.push(l),l}const tt=am;function am(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Kc)&&(e=yo),Ca(e)){const i=Un(e,t,!0);return o&&Os(i,o),Pa>0&&!s&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(bm(e)&&(e=e.__vccOpts),t){t=sm(t);let{class:i,style:l}=t;i&&!it(i)&&(t.class=Re(i)),Je(l)&&(ys(l)&&!Fe(l)&&(l=mt({},l)),t.style=dt(l))}const r=it(e)?1:yu(e)?128:Ls(e)?64:Je(e)?4:De(e)?2:0;return M(e,t,o,n,a,r,s,!0)}function sm(e){return e?ys(e)||cu(e)?mt({},e):e:null}function Un(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?im(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vu(c),ref:t&&t.ref?o&&s?Fe(s)?s.concat(Is(t)):[s,Is(t)]:Is(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Un(e.ssContent),ssFallback:e.ssFallback&&Un(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Qr(u,l.clone(u)),u}function Pt(e=" ",t=0){return tt(Aa,null,e,t)}function rm(e,t){const o=tt(Ms,null,e);return o.staticCount=t,o}function Le(e="",t=!1){return t?(ae(),et(yo,null,e)):tt(yo,null,e)}function _o(e){return e==null||typeof e=="boolean"?tt(yo):Fe(e)?tt(Ue,null,e.slice()):Ca(e)?Do(e):tt(Aa,null,String(e))}function Do(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Un(e)}function Os(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Fe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Os(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!cu(t)?t._ctx=At:a===3&&At&&(At.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(De(t)){if(n&65){Os(e,{default:t});return}t={default:t,_ctx:At},o=32}else t=String(t),n&64?(o=16,t=[Pt(t)]):o=8;e.children=t,e.shapeFlag|=o}function im(...e){const t={};for(let o=0;oCt||At;let Ds,Ta;{const e=ps(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Ds=t("__VUE_INSTANCE_SETTERS__",o=>Ct=o),Ta=t("__VUE_SSR_SETTERS__",o=>zn=o)}const Na=e=>{const t=Ct;return Ds(e),e.scope.on(),()=>{e.scope.off(),Ds(t)}},ku=()=>{Ct&&Ct.scope.off(),Ds(null)};function wu(e){return e.vnode.shapeFlag&4}let zn=!1;function pm(e,t=!1,o=!1){t&&Ta(t);const{props:n,children:a}=e.vnode,s=wu(e);qh(e,n,s,t),Zh(e,a,o||t);const r=s?dm(e,t):void 0;return t&&Ta(!1),r}function dm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Nh);const{setup:n}=o;if(n){fo();const a=e.setupContext=n.length>1?fm(e):null,s=Na(e),r=Dn(n,e,0,[e.props,a]),i=Zl(r);if(ho(),s(),(i||e.sp)&&!jn(e)&&ei(e),i){if(r.then(ku,ku),t)return r.then(l=>{Ta(!0);try{xu(e,l,t)}finally{Ta(!1)}}).catch(l=>{_a(l,e,0)});e.asyncDep=r}else xu(e,r)}else Lu(e)}function xu(e,t,o){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Je(t)&&(e.setupState=Ac(t)),Lu(e)}function Lu(e,t,o){const n=e.type;e.render||(e.render=n.render||po);{const a=Na(e);fo();try{Rh(e)}finally{ho(),a()}}}const gm={get(e,t){return Nt(e,"get",""),e[t]}};function fm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,gm),slots:e.slots,emit:e.emit,expose:t}}function Bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ac(In(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in La)return La[o](e)},has(t,o){return o in t||o in La}})):e.proxy}const hm=/(?:^|[-_])\w/g,mm=e=>e.replace(hm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Su(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function Au(e,t,o=!1){let n=Su(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?mm(n):o?"App":"Anonymous"}function bm(e){return De(e)&&"__vccOpts"in e}const oe=(e,t)=>Qf(e,t,zn);function Pu(e,t,o){try{Fs(-1);const n=arguments.length;return n===2?Je(t)&&!Fe(t)?Ca(t)?tt(e,null,[t]):tt(e,t):tt(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Ca(o)&&(o=[o]),tt(e,t,o))}finally{Fs(1)}}const $m="3.5.42";/** +`],...ah(o))}),t}function ah({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Au(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...sh(e.props),s]:[a+s]}function sh(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Cc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Cc(e,t,o){return it(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=Cc(e,Ke(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):De(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ke(t),o?t:[`${e}=`,t])}function Dn(e,t,o,n){try{return n?e(...n):e()}catch(a){_a(a,t,o)}}function so(e,t,o,n){if(De(e)){const a=Dn(e,t,o,n);return a&&Zl(a)&&a.catch(s=>{_a(s,t,o)}),a}if(Fe(e)){const a=[];for(let s=0;s>>1,a=Ft[n],s=va(a);s=va(o)?Ft.push(e):Ft.splice(ih(t),0,e),e.flags|=1,Tc()}}function Tc(){ws||(ws=Ec.then(Rc))}function lh(e){if(!Fe(e))Yo&&e.id===-1?Yo.splice(Gn+1,0,e):e.flags&1||(Bn.push(e),e.flags|=1);else for(let t=0;tva(o)-va(n));if(Bn.length=0,Yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Rc(e){try{for(bo=0;bo{n._d&&Fs(-1);const s=xs(t),r=Oo.length;let i;try{i=e(...a)}finally{for(let l=Oo.length;l>r;l--)ui();xs(s),n._d&&Fs(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Wr(e,t){if(At===null)return e;const o=Bs(At),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&De(t)?t.call(n&&n.proxy):t}}function ch(){return!!(ko()||mn)}const uh=Symbol.for("v-scx"),ph=()=>Ne(uh);function dh(e,t){return Yr(e,null,t)}function Re(e,t,o){return Yr(e,t,o)}function Yr(e,t,o=st){const{immediate:n,deep:a,flush:s,once:r}=o,i=mt({},o),l=t&&n||!t&&s!=="post";let c;if(zn){if(s==="sync"){const A=ph();c=A.__watcherHandles||(A.__watcherHandles=[])}else if(!l){const A=()=>{};return A.stop=po,A.resume=po,A.pause=po,A}}const u=Ct;i.call=(A,v,b)=>so(A,u,v,b);let d=!1;s==="post"?i.scheduler=A=>{Dt(A,u&&u.suspense)}:s!=="sync"&&(d=!0,i.scheduler=(A,v)=>{v?A():qr(A)}),i.augmentJob=A=>{t&&(A.flags|=4),d&&(A.flags|=2,u&&(A.id=u.uid,A.i=u))};const f=th(e,t,i);return zn&&(c?c.push(f):l&&f()),f}function gh(e,t,o){const n=this.proxy,a=it(e)?e.includes(".")?Ic(n,e):()=>n[e]:e.bind(n,n);let s;De(t)?s=t:(s=t.handler,o=t);const r=Na(this),i=Yr(a,s.bind(n),o);return r(),i}function Ic(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,fn=e=>e&&(e.disabled||e.disabled===""),fh=e=>e&&(e.defer||e.defer===""),Dc=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Xr=(e,t)=>{const o=e&&e.to;return it(o)?t?t(o):null:o},hh={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,s,r,i,l,c){const{mc:u,pc:d,pbc:f,o:{insert:A,querySelector:v,createText:b,createComment:_,parentNode:$}}=c,h=fn(t.props);let{dynamicChildren:m}=t;const w=(g,C,S)=>{g.shapeFlag&16&&u(g.children,C,S,a,s,r,i,l)},p=(g=t)=>{const C=fn(g.props),S=g.target=Xr(g.props,v),G=Zr(S,g,b,A);S&&(r!=="svg"&&Dc(S)?r="svg":r!=="mathml"&&Bc(S)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(S),C||(w(g,S,G),ka(g,!1)))},P=g=>{const C=()=>{if(Xo.get(g)===C){if(Xo.delete(g),fn(g.props)){const S=$(g.el)||o;w(g,S,g.anchor),ka(g,!0)}p(g)}};Xo.set(g,C),Dt(C,s)};if(e==null){const g=t.el=b(""),C=t.anchor=b("");if(A(g,o,n),A(C,o,n),fh(t.props)||s&&s.pendingBranch){P(t);return}h&&(w(t,o,C),ka(t,!0)),p()}else{t.el=e.el;const g=t.anchor=e.anchor,C=Xo.get(e);if(C){C.flags|=8,Xo.delete(e),P(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,G=t.targetAnchor=e.targetAnchor,H=fn(e.props),J=H?o:S,U=H?g:G;if(r==="svg"||Dc(S)?r="svg":(r==="mathml"||Bc(S))&&(r="mathml"),m?(f(e.dynamicChildren,m,J,a,s,r,i),ci(e,t,!0)):l||d(e,t,J,U,a,s,r,i,!1),h)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ss(t,o,g,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const D=Xr(t.props,v);D&&(t.target=D,Ss(t,D,null,c,0))}else H&&Ss(t,S,G,c,1);ka(t,h)}},remove(e,t,o,{um:n,o:{remove:a}},s){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:u,target:d,props:f}=e,A=fn(f),v=s||!A,b=Xo.get(e);if(b&&(b.flags|=8,Xo.delete(e)),d&&(a(c),a(u)),s&&a(l),!b&&(A||d)&&r&16)for(let _=0;_1){for(const o of e)if(o.type!==yo){t=o;break}}return t}function Gc(e){if(!Cs(e))return Ls(e.type)&&e.children?$h(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&&De(o.default))return o.default()}}function Qr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Qr(Ls(o.type)&&Gc(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 wa(e,t){return De(e)?mt({name:e.name},t,{setup:e}):e}function ei(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function jc(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const As=new WeakMap;function xa(e,t,o,n,a=!1){if(Fe(e)){e.forEach((b,_)=>xa(b,t&&(Fe(t)?t[_]:t),o,n,a));return}if(jn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&xa(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Bs(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===st?i.refs={}:i.refs,d=i.setupState,f=Ke(d),A=d===st?Yl:b=>jc(u,b)?!1:Ze(f,b),v=(b,_)=>!(_&&jc(u,_));if(c!=null&&c!==l){if(Uc(t),it(c))u[c]=null,A(c)&&(d[c]=null);else if(ut(c)){const b=t;v(c,b.k)&&(c.value=null),b.k&&(u[b.k]=null)}}if(De(l))Dn(l,i,12,[r,u]);else{const b=it(l),_=ut(l);if(b||_){const $=()=>{if(e.f){const h=b?A(l)?d[l]:u[l]:v()||!e.k?l.value:u[e.k];if(a)Fe(h)&&Tr(h,s);else if(Fe(h))h.includes(s)||h.push(s);else if(b)u[l]=[s],A(l)&&(d[l]=u[l]);else{const m=[s];v(l,e.k)&&(l.value=m),e.k&&(u[e.k]=m)}}else b?(u[l]=r,A(l)&&(d[l]=r)):_&&(v(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const h=()=>{$(),As.delete(e)};h.id=-1,As.set(e,h),Dt(h,o)}else Uc(e),$()}}}function Uc(e){const t=As.get(e);t&&(t.flags|=8,As.delete(e))}const zc=e=>e.nodeType===8;ps().requestIdleCallback,ps().cancelIdleCallback;function yh(e,t){if(zc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(zc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const jn=e=>!!e.type.__asyncLoader;function _h(e){De(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const f=()=>(d++,c=null,A()),A=()=>{let v;return c||(v=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((_,$)=>{l(b,()=>_(f()),()=>$(b),d+1)});throw b}).then(b=>v!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return wa({name:"AsyncComponentWrapper",__asyncLoader:A,__asyncHydrate(v,b,_){const $=v.isConnected;let h=!1;(b.bu||(b.bu=[])).push(()=>h=!0);const m=()=>{h||!v.parentNode||$&&!v.isConnected||_()},w=s?()=>{const p=s(m,P=>yh(v,P));p&&(b.bum||(b.bum=[])).push(p)}:m;u?w():A().then(()=>!b.isUnmounted&&w())},get __asyncResolved(){return u},setup(){const v=Ct;if(ei(v),u)return()=>Ps(u,v);const b=p=>{c=null,_a(p,v,13,!n)};if(i&&v.suspense||zn)return A().then(p=>()=>Ps(p,v)).catch(p=>(b(p),()=>n?tt(n,{error:p}):null));const _=he(!1),$=he(),h=he(!!a);let m,w;return Ts(()=>{m!=null&&clearTimeout(m),w!=null&&clearTimeout(w)}),a&&(w=setTimeout(()=>{v.isUnmounted||(h.value=!1)},a)),r!=null&&(m=setTimeout(()=>{if(!v.isUnmounted&&!_.value&&!$.value){const p=new Error(`Async component timed out after ${r}ms.`);b(p),$.value=p}},r)),A().then(()=>{v.isUnmounted||(_.value=!0,v.parent&&Cs(v.parent.vnode)&&v.parent.update())}).catch(p=>{if(v.isUnmounted){c=null;return}b(p),$.value=p}),()=>{if(_.value&&u)return Ps(u,v);if($.value&&n)return tt(n,{error:$.value});if(o&&!h.value)return Ps(o,v)}}})}function Ps(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=tt(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Cs=e=>e.type.__isKeepAlive;function vh(e,t){Hc(e,"a",t)}function kh(e,t){Hc(e,"da",t)}function Hc(e,t,o=Ct){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Es(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Cs(a.parent.vnode)&&wh(n,t,o,a),a=a.parent}}function wh(e,t,o,n){const a=Es(t,e,n,!0);Ts(()=>{Tr(n[t],a)},o)}function Es(e,t,o=Ct,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{fo();const i=Na(o),l=so(t,o,e,r);return i(),ho(),l});return n?a.unshift(s):a.push(s),s}}const Io=e=>(t,o=Ct)=>{(!zn||e==="sp")&&Es(e,(...n)=>t(...n),o)},Vc=Io("bm"),$o=Io("m"),xh=Io("bu"),Lh=Io("u"),Xt=Io("bum"),Ts=Io("um"),Sh=Io("sp"),Ah=Io("rtg"),Ph=Io("rtc");function Ch(e,t=Ct){Es("ec",e,t)}const Eh="components",Kc=Symbol.for("v-ndc");function qc(e){return it(e)?Th(Eh,e,!1)||e:e||Kc}function Th(e,t,o=!0,n=!1){const a=At||Ct;if(a){const s=a.type;{const i=Su(s,!1);if(i&&(i===t||i===xt(t)||i===cs(xt(t))))return s}const r=Wc(a[e]||s[e],t)||Wc(a.appContext[e],t);return!r&&n?s:r}}function Wc(e,t){return e&&(e[t]||e[xt(t)]||e[cs(xt(t))])}function Mt(e,t,o,n){let a;const s=o,r=Fe(e);if(r||it(e)){const i=r&&Mo(e);let l=!1,c=!1;i&&(l=!Vt(e),c=Ro(e),e=fs(e)),a=new Array(e.length);for(let u=0,d=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),ae(),et(Ue,null,[tt("slot",c,n)],u?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const i=Oo.length;ae();let l;try{const c=r&&Yc(r(o)),u=o.key||s||c&&c.key;l=et(Ue,{key:(u&&!Ht(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Oo.length;u>i;u--)ui();throw c}finally{r&&r._c&&(r._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Yc(e){return e.some(t=>Ca(t)?!(t.type===yo||t.type===Ue&&!Yc(t.children)):!0)?e:null}const ti=e=>e?wu(e)?Bs(e):ti(e.parent):null,La=mt(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=>ti(e.parent),$root:e=>ti(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Qc(e),$forceUpdate:e=>e.f||(e.f=()=>{qr(e.update)}),$nextTick:e=>e.n||(e.n=It.bind(e.proxy)),$watch:e=>gh.bind(e)}),oi=(e,t)=>e!==st&&!e.__isScriptSetup&&Ze(e,t),Nh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const f=r[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(oi(n,t))return r[t]=1,n[t];if(a!==st&&Ze(a,t))return r[t]=2,a[t];if(Ze(s,t))return r[t]=3,s[t];if(o!==st&&Ze(o,t))return r[t]=4,o[t];ni&&(r[t]=0)}}const c=La[t];let u,d;if(c)return t==="$attrs"&&Nt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==st&&Ze(o,t))return r[t]=4,o[t];if(d=l.config.globalProperties,Ze(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return oi(a,t)?(a[t]=o,!0):n!==st&&Ze(n,t)?(n[t]=o,!0):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==st&&i[0]!=="$"&&Ze(e,i)||oi(t,i)||Ze(s,i)||Ze(n,i)||Ze(La,i)||Ze(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Xc(e){return Fe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ni=!0;function Mh(e){const t=Qc(e),o=e.proxy,n=e.ctx;ni=!1,t.beforeCreate&&Zc(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:A,updated:v,activated:b,deactivated:_,beforeDestroy:$,beforeUnmount:h,destroyed:m,unmounted:w,render:p,renderTracked:P,renderTriggered:g,errorCaptured:C,serverPrefetch:S,expose:G,inheritAttrs:H,components:J,directives:U,filters:D}=t;if(c&&Rh(c,n,null),r)for(const M in r){const z=r[M];De(z)&&(n[M]=z.bind(o))}if(a){const M=a.call(o,o);Je(M)&&(e.data=Fn(M))}if(ni=!0,s)for(const M in s){const z=s[M],K=De(z)?z.bind(o,o):De(z.get)?z.get.bind(o,o):po,Q=!De(z)&&De(z.set)?z.set.bind(o):po,ie=oe({get:K,set:Q});Object.defineProperty(n,M,{enumerable:!0,configurable:!0,get:()=>ie.value,set:j=>ie.value=j})}if(i)for(const M in i)Jc(i[M],n,o,M);if(l){const M=De(l)?l.call(o):l;Reflect.ownKeys(M).forEach(z=>{vt(z,M[z])})}u&&Zc(u,e,"c");function y(M,z){Fe(z)?z.forEach(K=>M(K.bind(o))):z&&M(z.bind(o))}if(y(Vc,d),y($o,f),y(xh,A),y(Lh,v),y(vh,b),y(kh,_),y(Ch,C),y(Ph,P),y(Ah,g),y(Xt,h),y(Ts,w),y(Sh,S),Fe(G))if(G.length){const M=e.exposed||(e.exposed={});G.forEach(z=>{Object.defineProperty(M,z,{get:()=>o[z],set:K=>o[z]=K,enumerable:!0})})}else e.exposed||(e.exposed={});p&&e.render===po&&(e.render=p),H!=null&&(e.inheritAttrs=H),J&&(e.components=J),U&&(e.directives=U),S&&ei(e)}function Rh(e,t,o=po){Fe(e)&&(e=ai(e));for(const n in e){const a=e[n];let s;Je(a)?"default"in a?s=Ne(a.from||n,a.default,!0):s=Ne(a.from||n):s=Ne(a),ut(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function Zc(e,t,o){so(Fe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Jc(e,t,o,n){let a=n.includes(".")?Ic(o,n):()=>o[n];if(it(e)){const s=t[e];De(s)&&Re(a,s)}else if(De(e))Re(a,e.bind(o));else if(Je(e))if(Fe(e))e.forEach(s=>Jc(s,t,o,n));else{const s=De(e.handler)?e.handler.bind(o):t[e.handler];De(s)&&Re(a,s,e)}}function Qc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Ns(l,c,r,!0)),Ns(l,t,r)),Je(t)&&s.set(t,l),l}function Ns(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&Ns(e,s,o,!0),a&&a.forEach(r=>Ns(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=Fh[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Fh={data:eu,props:tu,emits:tu,methods:Sa,computed:Sa,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:Sa,directives:Sa,watch:Oh,provide:eu,inject:Ih};function eu(e,t){return t?e?function(){return mt(De(e)?e.call(this,this):e,De(t)?t.call(this,this):t)}:t:e}function Ih(e,t){return Sa(ai(e),ai(t))}function ai(e){if(Fe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xt(t)}Modifiers`]||e[`${Yt(t)}Modifiers`];function jh(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||st;let a=o;const s=t.startsWith("update:"),r=s&&Gh(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>it(u)?u.trim():u)),r.number&&(a=a.map(Mr)));let i,l=n[i=Nr(t)]||n[i=Nr(xt(t))];!l&&s&&(l=n[i=Nr(Yt(t))]),l&&so(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,so(c,e,6,a)}}const Uh=new WeakMap;function nu(e,t,o=!1){const n=o?Uh:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!De(e)){const l=c=>{const u=nu(c,t,!0);u&&(i=!0,mt(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Je(e)&&n.set(e,null),null):(Fe(s)?s.forEach(l=>r[l]=null):mt(r,s),Je(e)&&n.set(e,r),r)}function Ms(e,t){return!e||!ns(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Yt(t))||Ze(e,t))}function tC(){}function au(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:d,data:f,setupState:A,ctx:v,inheritAttrs:b}=e,_=xs(e);let $,h;try{if(o.shapeFlag&4){const w=a||n,p=w;$=_o(c.call(p,w,u,d,A,f,v)),h=i}else{const w=t;$=_o(w.length>1?w(d,{attrs:i,slots:r,emit:l}):w(d,null)),h=t.props?i:zh(i)}}catch(w){Oo.length=0,_a(w,e,1),$=tt(yo)}let m=$;if(h&&b!==!1){const w=Object.keys(h),{shapeFlag:p}=m;w.length&&p&7&&(s&&w.some(as)&&(h=Hh(h,s)),m=Un(m,h,!1,!0))}if(o.dirs&&(m=Un(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const w=Ls(m.type)&&Gc(m)||m;Qr(w,o.transition)}return $=m,xs(_),$}const zh=e=>{let t;for(const o in e)(o==="class"||o==="style"||ns(o))&&((t||(t={}))[o]=e[o]);return t},Hh=(e,t)=>{const o={};for(const n in e)(!as(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Vh(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?su(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;dObject.create(iu),cu=e=>Object.getPrototypeOf(e)===iu;function qh(e,t,o,n=!1){const a={},s=lu();e.propsDefaults=Object.create(null),uu(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Kf(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Wh(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=Ke(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,A]=pu(d,t,!0);mt(r,f),A&&i.push(...A)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Je(e)&&n.set(e,Mn),Mn;if(Fe(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ii=e=>Fe(e)?e.map(_o):[_o(e)],Xh=(e,t,o)=>{if(t._n)return t;const n=jt((...a)=>ii(t(...a)),o);return n._c=!1,n},gu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ri(a))continue;const s=e[a];if(De(s))t[a]=Xh(a,s,n);else if(s!=null){const r=ii(s);t[a]=()=>r}}},fu=(e,t)=>{const o=ii(t);e.slots.default=()=>o},hu=(e,t,o)=>{for(const n in t)(o||!ri(n))&&(e[n]=t[n])},Zh=(e,t,o)=>{const n=e.slots=lu();if(e.vnode.shapeFlag&32){const a=t._;a?(hu(n,t,o),o&&Ql(n,"_",a,!0)):gu(t,n)}else t&&fu(e,t)},Jh=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=st;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:hu(a,t,o):(s=!t.$stable,gu(t,a)),r=t}else t&&(fu(e,t),r={default:1});if(s)for(const i in a)!ri(i)&&r[i]==null&&delete a[i]},Dt=nm;function Qh(e){return em(e)}function em(e,t){const o=ps();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:A=po,insertStaticContent:v}=e,b=(T,F,I,W=null,Y=null,O=null,ue=void 0,te=null,k=!!F.dynamicChildren)=>{if(T===F)return;T&&!Ea(T,F)&&(W=$e(T),j(T,Y,O,!0),T=null),F.patchFlag===-2&&(k=!1,F.dynamicChildren=null);const{type:x,ref:B,shapeFlag:X}=F;switch(x){case Aa:_(T,F,I,W);break;case yo:$(T,F,I,W);break;case Rs:T==null&&h(F,I,W,ue);break;case Ue:J(T,F,I,W,Y,O,ue,te,k);break;default:X&1?p(T,F,I,W,Y,O,ue,te,k):X&6?U(T,F,I,W,Y,O,ue,te,k):(X&64||X&128)&&x.process(T,F,I,W,Y,O,ue,te,k,de)}B!=null&&Y?xa(B,T&&T.ref,O,F||T,!F):B==null&&T&&T.ref!=null&&xa(T.ref,null,O,T,!0)},_=(T,F,I,W)=>{if(T==null)n(F.el=i(F.children),I,W);else{const Y=F.el=T.el;F.children!==T.children&&c(Y,F.children)}},$=(T,F,I,W)=>{T==null?n(F.el=l(F.children||""),I,W):F.el=T.el},h=(T,F,I,W)=>{[T.el,T.anchor]=v(T.children,F,I,W,T.el,T.anchor)},m=({el:T,anchor:F},I,W)=>{let Y;for(;T&&T!==F;)Y=f(T),n(T,I,W),T=Y;n(F,I,W)},w=({el:T,anchor:F})=>{let I;for(;T&&T!==F;)I=f(T),a(T),T=I;a(F)},p=(T,F,I,W,Y,O,ue,te,k)=>{if(F.type==="svg"?ue="svg":F.type==="math"&&(ue="mathml"),T==null)P(F,I,W,Y,O,ue,te,k);else{const x=T.el&&T.el._isVueCE?T.el:null;try{x&&x._beginPatch(),S(T,F,Y,O,ue,te,k)}finally{x&&x._endPatch()}}},P=(T,F,I,W,Y,O,ue,te)=>{let k,x;const{props:B,shapeFlag:X,transition:me,dirs:ce}=T;if(k=T.el=r(T.type,O,B&&B.is,B),X&8?u(k,T.children):X&16&&C(T.children,k,null,W,Y,li(T,O),ue,te),ce&&gn(T,null,W,"created"),g(k,T,T.scopeId,ue,W),B){for(const le in B)le!=="value"&&!da(le)&&s(k,le,null,B[le],O,W);"value"in B&&s(k,"value",null,B.value,O),(x=B.onVnodeBeforeMount)&&vo(x,W,T)}ce&&gn(T,null,W,"beforeMount");const Z=tm(Y,me);Z&&me.beforeEnter(k),n(k,F,I),((x=B&&B.onVnodeMounted)||Z||ce)&&Dt(()=>{try{x&&vo(x,W,T),Z&&me.enter(k),ce&&gn(T,null,W,"mounted")}finally{}},Y)},g=(T,F,I,W,Y)=>{if(I&&A(T,I),W)for(let O=0;O{for(let x=k;x{const te=F.el=T.el;let{patchFlag:k,dynamicChildren:x,dirs:B}=F;k|=T.patchFlag&16;const X=T.props||st,me=F.props||st;let ce;if(I&&bn(I,!1),(ce=me.onVnodeBeforeUpdate)&&vo(ce,I,F,T),B&&gn(F,T,I,"beforeUpdate"),I&&bn(I,!0),x&&(!T.dynamicChildren||T.dynamicChildren.length!==x.length)&&(k=0,ue=!1,x=null),(X.innerHTML&&me.innerHTML==null||X.textContent&&me.textContent==null)&&u(te,""),x?G(T.dynamicChildren,x,te,I,W,li(F,Y),O):ue||z(T,F,te,null,I,W,li(F,Y),O,!1),k>0){if(k&16)H(te,X,me,I,Y);else if(k&2&&X.class!==me.class&&s(te,"class",null,me.class,Y),k&4&&s(te,"style",X.style,me.style,Y),k&8){const Z=F.dynamicProps;for(let le=0;le{ce&&vo(ce,I,F,T),B&&gn(F,T,I,"updated")},W)},G=(T,F,I,W,Y,O,ue)=>{for(let te=0;te{if(F!==I){if(F!==st)for(const O in F)!da(O)&&!(O in I)&&s(T,O,F[O],null,Y,W);for(const O in I){if(da(O))continue;const ue=I[O],te=F[O];ue!==te&&O!=="value"&&s(T,O,te,ue,Y,W)}"value"in I&&s(T,"value",F.value,I.value,Y)}},J=(T,F,I,W,Y,O,ue,te,k)=>{const x=F.el=T?T.el:i(""),B=F.anchor=T?T.anchor:i("");let{patchFlag:X,dynamicChildren:me,slotScopeIds:ce}=F;ce&&(te=te?te.concat(ce):ce),T==null?(n(x,I,W),n(B,I,W),C(F.children||[],I,B,Y,O,ue,te,k)):X>0&&X&64&&me&&T.dynamicChildren&&T.dynamicChildren.length===me.length?(G(T.dynamicChildren,me,I,Y,O,ue,te),(F.key!=null||Y&&F===Y.subTree)&&ci(T,F,!0)):z(T,F,I,B,Y,O,ue,te,k)},U=(T,F,I,W,Y,O,ue,te,k)=>{F.slotScopeIds=te,T==null?F.shapeFlag&512?Y.ctx.activate(F,I,W,ue,k):D(F,I,W,Y,O,ue,k):L(T,F,k)},D=(T,F,I,W,Y,O,ue)=>{const te=T.component=um(T,W,Y);if(Cs(T)&&(te.ctx.renderer=de),pm(te,!1,ue),te.asyncDep){if(Y&&Y.registerDep(te,y,ue),!T.el){const k=te.subTree=tt(yo);$(null,k,F,I),T.placeholder=k.el}}else y(te,T,F,I,Y,O,ue)},L=(T,F,I)=>{const W=F.component=T.component;if(Vh(T,F,I))if(W.asyncDep&&!W.asyncResolved){M(W,F,I);return}else W.next=F,W.update();else F.el=T.el,W.vnode=F},y=(T,F,I,W,Y,O,ue)=>{const te=()=>{if(T.isMounted){let{next:X,bu:me,u:ce,parent:Z,vnode:le}=T;{const Qe=mu(T);if(Qe){X&&(X.el=le.el,M(T,X,ue)),Qe.asyncDep.then(()=>{Dt(()=>{T.isUnmounted||x()},Y)});return}}let Ce=X,Te;bn(T,!1),X?(X.el=le.el,M(T,X,ue)):X=le,me&&us(me),(Te=X.props&&X.props.onVnodeBeforeUpdate)&&vo(Te,Z,X,le),bn(T,!0);const qe=au(T),nt=T.subTree;T.subTree=qe,b(nt,qe,d(nt.el),$e(nt),T,Y,O),X.el=qe.el,Ce===null&&Kh(T,qe.el),ce&&Dt(ce,Y),(Te=X.props&&X.props.onVnodeUpdated)&&Dt(()=>vo(Te,Z,X,le),Y)}else{let X;const{el:me,props:ce}=F,{bm:Z,m:le,parent:Ce,root:Te,type:qe}=T,nt=jn(F);bn(T,!1),Z&&us(Z),!nt&&(X=ce&&ce.onVnodeBeforeMount)&&vo(X,Ce,F),bn(T,!0);{Te.ce&&Te.ce._hasShadowRoot()&&Te.ce._injectChildStyle(qe,T.parent?T.parent.type:void 0);const Qe=T.subTree=au(T);b(null,Qe,I,W,T,Y,O),F.el=Qe.el}if(le&&Dt(le,Y),!nt&&(X=ce&&ce.onVnodeMounted)){const Qe=F;Dt(()=>vo(X,Ce,Qe),Y)}(F.shapeFlag&256||Ce&&jn(Ce.vnode)&&Ce.vnode.shapeFlag&256)&&T.a&&Dt(T.a,Y),T.isMounted=!0,F=I=W=null}};T.scope.on();const k=T.effect=new lc(te);T.scope.off();const x=T.update=k.run.bind(k),B=T.job=k.runIfDirty.bind(k);B.i=T,B.id=T.uid,k.scheduler=()=>qr(B),bn(T,!0),x()},M=(T,F,I)=>{F.component=T;const W=T.vnode.props;T.vnode=F,T.next=null,Wh(T,F.props,W,I),Jh(T,F.children,I),fo(),Nc(T),ho()},z=(T,F,I,W,Y,O,ue,te,k=!1)=>{const x=T&&T.children,B=T?T.shapeFlag:0,X=F.children,{patchFlag:me,shapeFlag:ce}=F;if(me>0){if(me&128){Q(x,X,I,W,Y,O,ue,te,k);return}else if(me&256){K(x,X,I,W,Y,O,ue,te,k);return}}ce&8?(B&16&&ke(x,Y,O),X!==x&&u(I,X)):B&16?ce&16?Q(x,X,I,W,Y,O,ue,te,k):ke(x,Y,O,!0):(B&8&&u(I,""),ce&16&&C(X,I,W,Y,O,ue,te,k))},K=(T,F,I,W,Y,O,ue,te,k)=>{T=T||Mn,F=F||Mn;const x=T.length,B=F.length,X=Math.min(x,B);let me;for(me=0;meB?ke(T,Y,O,!0,!1,X):C(F,I,W,Y,O,ue,te,k,X)},Q=(T,F,I,W,Y,O,ue,te,k)=>{let x=0;const B=F.length;let X=T.length-1,me=B-1;for(;x<=X&&x<=me;){const ce=T[x],Z=F[x]=k?Do(F[x]):_o(F[x]);if(Ea(ce,Z))b(ce,Z,I,null,Y,O,ue,te,k);else break;x++}for(;x<=X&&x<=me;){const ce=T[X],Z=F[me]=k?Do(F[me]):_o(F[me]);if(Ea(ce,Z))b(ce,Z,I,null,Y,O,ue,te,k);else break;X--,me--}if(x>X){if(x<=me){const ce=me+1,Z=ceme)for(;x<=X;)j(T[x],Y,O,!0),x++;else{const ce=x,Z=x,le=new Map;for(x=Z;x<=me;x++){const ve=F[x]=k?Do(F[x]):_o(F[x]);ve.key!=null&&le.set(ve.key,x)}let Ce,Te=0;const qe=me-Z+1;let nt=!1,Qe=0;const V=new Array(qe);for(x=0;x=qe){j(ve,Y,O,!0);continue}let Se;if(ve.key!=null)Se=le.get(ve.key);else for(Ce=Z;Ce<=me;Ce++)if(V[Ce-Z]===0&&Ea(ve,F[Ce])){Se=Ce;break}Se===void 0?j(ve,Y,O,!0):(V[Se-Z]=x+1,Se>=Qe?Qe=Se:nt=!0,b(ve,F[Se],I,null,Y,O,ue,te,k),Te++)}const se=nt?om(V):Mn;for(Ce=se.length-1,x=qe-1;x>=0;x--){const ve=Z+x,Se=F[ve],Ie=F[ve+1],rt=ve+1{const{el:O,type:ue,transition:te,children:k,shapeFlag:x}=T;if(x&6){ie(T.component.subTree,F,I,W);return}if(x&128){T.suspense.move(F,I,W);return}if(x&64){ue.move(T,F,I,de);return}if(ue===Ue){n(O,F,I);for(let X=0;Xte.enter(O),Y));else{const{leave:X,delayLeave:me,afterLeave:ce}=te,Z=()=>{T.ctx.isUnmounted?a(O):n(O,F,I)},le=()=>{const Ce=O._isLeaving||!!O[Jr];O._isLeaving&&O[Jr](!0),te.persisted&&!Ce?Z():X(O,()=>{Z(),ce&&ce()})};me?me(O,Z,le):le()}else n(O,F,I)},j=(T,F,I,W=!1,Y=!1)=>{const{type:O,props:ue,ref:te,children:k,dynamicChildren:x,shapeFlag:B,patchFlag:X,dirs:me,cacheIndex:ce,memo:Z}=T;if(X===-2&&(Y=!1),te!=null&&(fo(),xa(te,null,I,T,!0),ho()),ce!=null&&(F.renderCache[ce]=void 0),B&256){F.ctx.deactivate(T);return}const le=B&1&&me,Ce=!jn(T);let Te;if(Ce&&(Te=ue&&ue.onVnodeBeforeUnmount)&&vo(Te,F,T),B&6)fe(T.component,I,W);else{if(B&128){T.suspense.unmount(I,W);return}le&&gn(T,null,F,"beforeUnmount"),B&64?T.type.remove(T,F,I,de,W):x&&!x.hasOnce&&(O!==Ue||X>0&&X&64)?ke(x,F,I,!1,!0):(O===Ue&&X&384||!Y&&B&16)&&ke(k,F,I),W&&be(T)}const qe=Z!=null&&ce==null;(Ce&&(Te=ue&&ue.onVnodeUnmounted)||le||qe)&&Dt(()=>{Te&&vo(Te,F,T),le&&gn(T,null,F,"unmounted"),qe&&(T.el=null)},I)},be=T=>{const{type:F,el:I,anchor:W,transition:Y}=T;if(F===Ue){xe(I,W);return}if(F===Rs){w(T);return}const O=()=>{a(I),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(T.shapeFlag&1&&Y&&!Y.persisted){const{leave:ue,delayLeave:te}=Y,k=()=>ue(I,O);te?te(T.el,O,k):k()}else O()},xe=(T,F)=>{let I;for(;T!==F;)I=f(T),a(T),T=I;a(F)},fe=(T,F,I)=>{const{bum:W,scope:Y,job:O,subTree:ue,um:te,m:k,a:x}=T;bu(k),bu(x),W&&us(W),Y.stop(),O&&(O.flags|=8,j(ue,T,F,I)),te&&Dt(te,F),Dt(()=>{T.isUnmounted=!0},F)},ke=(T,F,I,W=!1,Y=!1,O=0)=>{for(let ue=O;ue{if(T.shapeFlag&6)return $e(T.component.subTree);if(T.shapeFlag&128)return T.suspense.next();const F=f(T.anchor||T.el),I=F&&F[Oc];return I?f(I):F};let ne=!1;const ee=(T,F,I)=>{let W;T==null?F._vnode&&(j(F._vnode,null,null,!0),W=F._vnode.component):b(F._vnode||null,T,F,null,null,null,I),F._vnode=T,ne||(ne=!0,Nc(W),Mc(),ne=!1)},de={p:b,um:j,m:ie,r:be,mt:D,mc:C,pc:z,pbc:G,n:$e,o:e};return{render:ee,hydrate:void 0,createApp:Bh(ee)}}function li({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 bn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ci(e,t,o=!1){const n=e.children,a=t.children;if(Fe(n)&&Fe(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function mu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:mu(t)}function bu(e){if(e)for(let t=0;te.__isSuspense;function nm(e,t){t&&t.pendingBranch?Fe(e)?t.effects.push(...e):t.effects.push(e):lh(e)}const Ue=Symbol.for("v-fgt"),Aa=Symbol.for("v-txt"),yo=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),Oo=[];let Kt=null;function ae(e=!1){Oo.push(Kt=e?null:[])}function ui(){Oo.pop(),Kt=Oo[Oo.length-1]||null}let Pa=1;function Fs(e,t=!1){Pa+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function _u(e){return e.dynamicChildren=Pa>0?Kt||Mn:null,ui(),Pa>0&&Kt&&Kt.push(e),e}function pe(e,t,o,n,a,s){return _u(R(e,t,o,n,a,s,!0))}function et(e,t,o,n,a){return _u(tt(e,t,o,n,a,!0))}function Ca(e){return e?e.__v_isVNode===!0:!1}function Ea(e,t){return e.type===t.type&&e.key===t.key}const vu=({key:e})=>e??null,Is=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?it(e)||ut(e)||De(e)?{i:At,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,a=null,s=e===Ue?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vu(t),ref:t&&Is(t),scopeId:Fc,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:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:At};return i?(Os(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=it(o)?8:16),Pa>0&&!r&&Kt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Kt.push(l),l}const tt=am;function am(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===Kc)&&(e=yo),Ca(e)){const i=Un(e,t,!0);return o&&Os(i,o),Pa>0&&!s&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(bm(e)&&(e=e.__vccOpts),t){t=sm(t);let{class:i,style:l}=t;i&&!it(i)&&(t.class=Me(i)),Je(l)&&(ys(l)&&!Fe(l)&&(l=mt({},l)),t.style=dt(l))}const r=it(e)?1:yu(e)?128:Ls(e)?64:Je(e)?4:De(e)?2:0;return R(e,t,o,n,a,r,s,!0)}function sm(e){return e?ys(e)||cu(e)?mt({},e):e:null}function Un(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?im(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vu(c),ref:t&&t.ref?o&&s?Fe(s)?s.concat(Is(t)):[s,Is(t)]:Is(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Un(e.ssContent),ssFallback:e.ssFallback&&Un(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Qr(u,l.clone(u)),u}function Pt(e=" ",t=0){return tt(Aa,null,e,t)}function rm(e,t){const o=tt(Rs,null,e);return o.staticCount=t,o}function Le(e="",t=!1){return t?(ae(),et(yo,null,e)):tt(yo,null,e)}function _o(e){return e==null||typeof e=="boolean"?tt(yo):Fe(e)?tt(Ue,null,e.slice()):Ca(e)?Do(e):tt(Aa,null,String(e))}function Do(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Un(e)}function Os(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Fe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Os(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!cu(t)?t._ctx=At:a===3&&At&&(At.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(De(t)){if(n&65){Os(e,{default:t});return}t={default:t,_ctx:At},o=32}else t=String(t),n&64?(o=16,t=[Pt(t)]):o=8;e.children=t,e.shapeFlag|=o}function im(...e){const t={};for(let o=0;oCt||At;let Ds,Ta;{const e=ps(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Ds=t("__VUE_INSTANCE_SETTERS__",o=>Ct=o),Ta=t("__VUE_SSR_SETTERS__",o=>zn=o)}const Na=e=>{const t=Ct;return Ds(e),e.scope.on(),()=>{e.scope.off(),Ds(t)}},ku=()=>{Ct&&Ct.scope.off(),Ds(null)};function wu(e){return e.vnode.shapeFlag&4}let zn=!1;function pm(e,t=!1,o=!1){t&&Ta(t);const{props:n,children:a}=e.vnode,s=wu(e);qh(e,n,s,t),Zh(e,a,o||t);const r=s?dm(e,t):void 0;return t&&Ta(!1),r}function dm(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Nh);const{setup:n}=o;if(n){fo();const a=e.setupContext=n.length>1?fm(e):null,s=Na(e),r=Dn(n,e,0,[e.props,a]),i=Zl(r);if(ho(),s(),(i||e.sp)&&!jn(e)&&ei(e),i){if(r.then(ku,ku),t)return r.then(l=>{Ta(!0);try{xu(e,l,t)}finally{Ta(!1)}}).catch(l=>{_a(l,e,0)});e.asyncDep=r}else xu(e,r)}else Lu(e)}function xu(e,t,o){De(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Je(t)&&(e.setupState=Ac(t)),Lu(e)}function Lu(e,t,o){const n=e.type;e.render||(e.render=n.render||po);{const a=Na(e);fo();try{Mh(e)}finally{ho(),a()}}}const gm={get(e,t){return Nt(e,"get",""),e[t]}};function fm(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,gm),slots:e.slots,emit:e.emit,expose:t}}function Bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ac(In(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in La)return La[o](e)},has(t,o){return o in t||o in La}})):e.proxy}const hm=/(?:^|[-_])\w/g,mm=e=>e.replace(hm,t=>t.toUpperCase()).replace(/[-_]/g,"");function Su(e,t=!0){return De(e)?e.displayName||e.name:e.name||t&&e.__name}function Au(e,t,o=!1){let n=Su(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?mm(n):o?"App":"Anonymous"}function bm(e){return De(e)&&"__vccOpts"in e}const oe=(e,t)=>Qf(e,t,zn);function Pu(e,t,o){try{Fs(-1);const n=arguments.length;return n===2?Je(t)&&!Fe(t)?Ca(t)?tt(e,null,[t]):tt(e,t):tt(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Ca(o)&&(o=[o]),tt(e,t,o))}finally{Fs(1)}}const $m="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let pi;const Cu=typeof window<"u"&&window.trustedTypes;if(Cu)try{pi=Cu.createPolicy("vue",{createHTML:e=>e})}catch{}const Eu=pi?e=>pi.createHTML(e):e=>e,ym="http://www.w3.org/2000/svg",_m="http://www.w3.org/1998/Math/MathML",Bo=typeof document<"u"?document:null,Tu=Bo&&Bo.createElement("template"),vm={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Bo.createElementNS(ym,e):t==="mathml"?Bo.createElementNS(_m,e):o?Bo.createElement(e,{is:o}):Bo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Bo.createTextNode(e),createComment:e=>Bo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Tu.innerHTML=Eu(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Tu.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[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},km=Symbol("_vtc");function wm(e,t,o){const n=e[km];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Gs=Symbol("_vod"),Nu=Symbol("_vsh"),xm={name:"show",beforeMount(e,{value:t},{transition:o}){e[Gs]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ra(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),Ra(e,!0),n.enter(e)):n.leave(e,()=>{Ra(e,!1)}):Ra(e,t))},beforeUnmount(e,{value:t}){Ra(e,t)}};function Ra(e,t){e.style.display=t?e[Gs]:"none",e[Nu]=!t}const Lm=Symbol(""),Sm=/(?:^|;)\s*display\s*:/;function Am(e,t,o){const n=e.style,a=it(o);let s=!1;if(o&&!a){if(t)if(it(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&Ma(n,i,"")}else for(const r in t)o[r]==null&&Ma(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?Cm(e,r,!it(t)&&t?t[r]:void 0,i)||Ma(n,r,i):Ma(n,r,"")}}else if(a){if(t!==o){const r=n[Lm];r&&(o+=";"+r),n.cssText=o,s=Sm.test(o)}}else t&&e.removeAttribute("style");Gs in e&&(e[Gs]=s?n.display:"",e[Nu]&&(n.display="none"))}const js=/\s*!important$/;function Ma(e,t,o){if(Fe(o))o.forEach(n=>Ma(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))js.test(o)?e.setProperty(t,o.replace(js,""),"important"):e.setProperty(t,o);else{const n=Pm(e,t);js.test(o)?e.setProperty(Yt(n),o.replace(js,""),"important"):e[n]=o}}const Ru=["Webkit","Moz","ms"],di={};function Pm(e,t){const o=di[t];if(o)return o;let n=xt(t);if(n!=="filter"&&n in e)return di[t]=n;n=cs(n);for(let a=0;agi||(Fm.then(()=>gi=0),gi=Date.now());function Om(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Fe(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Dm=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?wm(e,n,r):t==="style"?Am(e,o,n):ns(t)?as(t)||Tm(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bm(e,t,n,r))?(Iu(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fu(e,t,n,r,s,t!=="value")):e._isVueCE&&(Gm(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!it(n)))?Iu(e,xt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fu(e,t,n,r))};function Bm(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Du(t)&&De(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 Du(t)&&it(o)?!1:t in e}function Gm(e,t){const o=e._def.props;if(!o)return!1;const n=xt(t);return Array.isArray(o)?o.some(a=>xt(a)===n):Object.keys(o).some(a=>xt(a)===n)}const Bu={};function jm(e,t,o){let n=wa(e,t);rs(n)&&(n=mt({},n,t));class a extends fi{constructor(r){super(n,r,o)}}return a.def=n,a}const Um=typeof HTMLElement<"u"?HTMLElement:class{};class fi extends Um{constructor(t,o={},n=Vu){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!==Vu?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(mt({},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 fi){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,It(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!Fe(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=ec(this._props[l])),(i||(i=Object.create(null)))[xt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ze(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=Fe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(xt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Bu;const a=xt(t);o&&this._numberProps&&this._numberProps[a]&&(n=ec(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===Bu?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Yt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Yt(t),o+""):o||this.removeAttribute(Yt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),qm(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=tt(this._def,mt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,rs(r[0])?mt({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),Yt(s)!==s&&a(Yt(s),r)},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,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Fe(t)?o=>us(t,o):t};function zm(e){e.target.composing=!0}function ju(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Us=Symbol("_assign"),zs=Symbol("_initialValue");function hi(e,t,o){return t&&(e=e.trim()),o&&(e=Rr(e)),e}const Uu={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[zs]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[zs]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Us]=Gu(a);const s=n||a.props&&a.props.type==="number";Hn(e,t?"change":"input",r=>{r.target.composing||e[Us](hi(e.value,o,s))}),(o||s)&&Hn(e,"change",()=>{e.value=hi(e.value,o,s)}),t||(Hn(e,"compositionstart",zm),Hn(e,"compositionend",ju),Hn(e,"change",ju))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",s=e[zs];delete e[zs],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Us](hi(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:s}},r){if(e[Us]=Gu(r),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?Rr(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Hm=["ctrl","shift","alt","meta"],Vm={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)=>Hm.some(o=>e[`${o}Key`]&&!t.includes(o))},gt=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{Hu().render(...e)},Vu=(...e)=>{const t=Hu().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Ym(n);if(!a)return;const s=t._component;!De(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Wm(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Wm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ym(e){return it(e)?document.querySelector(e):e}/*! +**/let pi;const Cu=typeof window<"u"&&window.trustedTypes;if(Cu)try{pi=Cu.createPolicy("vue",{createHTML:e=>e})}catch{}const Eu=pi?e=>pi.createHTML(e):e=>e,ym="http://www.w3.org/2000/svg",_m="http://www.w3.org/1998/Math/MathML",Bo=typeof document<"u"?document:null,Tu=Bo&&Bo.createElement("template"),vm={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Bo.createElementNS(ym,e):t==="mathml"?Bo.createElementNS(_m,e):o?Bo.createElement(e,{is:o}):Bo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Bo.createTextNode(e),createComment:e=>Bo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{Tu.innerHTML=Eu(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Tu.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[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},km=Symbol("_vtc");function wm(e,t,o){const n=e[km];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Gs=Symbol("_vod"),Nu=Symbol("_vsh"),xm={name:"show",beforeMount(e,{value:t},{transition:o}){e[Gs]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Ma(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),Ma(e,!0),n.enter(e)):n.leave(e,()=>{Ma(e,!1)}):Ma(e,t))},beforeUnmount(e,{value:t}){Ma(e,t)}};function Ma(e,t){e.style.display=t?e[Gs]:"none",e[Nu]=!t}const Lm=Symbol(""),Sm=/(?:^|;)\s*display\s*:/;function Am(e,t,o){const n=e.style,a=it(o);let s=!1;if(o&&!a){if(t)if(it(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&Ra(n,i,"")}else for(const r in t)o[r]==null&&Ra(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?Cm(e,r,!it(t)&&t?t[r]:void 0,i)||Ra(n,r,i):Ra(n,r,"")}}else if(a){if(t!==o){const r=n[Lm];r&&(o+=";"+r),n.cssText=o,s=Sm.test(o)}}else t&&e.removeAttribute("style");Gs in e&&(e[Gs]=s?n.display:"",e[Nu]&&(n.display="none"))}const js=/\s*!important$/;function Ra(e,t,o){if(Fe(o))o.forEach(n=>Ra(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))js.test(o)?e.setProperty(t,o.replace(js,""),"important"):e.setProperty(t,o);else{const n=Pm(e,t);js.test(o)?e.setProperty(Yt(n),o.replace(js,""),"important"):e[n]=o}}const Mu=["Webkit","Moz","ms"],di={};function Pm(e,t){const o=di[t];if(o)return o;let n=xt(t);if(n!=="filter"&&n in e)return di[t]=n;n=cs(n);for(let a=0;agi||(Fm.then(()=>gi=0),gi=Date.now());function Om(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Fe(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Dm=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?wm(e,n,r):t==="style"?Am(e,o,n):ns(t)?as(t)||Tm(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bm(e,t,n,r))?(Iu(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fu(e,t,n,r,s,t!=="value")):e._isVueCE&&(Gm(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!it(n)))?Iu(e,xt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fu(e,t,n,r))};function Bm(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Du(t)&&De(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 Du(t)&&it(o)?!1:t in e}function Gm(e,t){const o=e._def.props;if(!o)return!1;const n=xt(t);return Array.isArray(o)?o.some(a=>xt(a)===n):Object.keys(o).some(a=>xt(a)===n)}const Bu={};function jm(e,t,o){let n=wa(e,t);rs(n)&&(n=mt({},n,t));class a extends fi{constructor(r){super(n,r,o)}}return a.def=n,a}const Um=typeof HTMLElement<"u"?HTMLElement:class{};class fi extends Um{constructor(t,o={},n=Vu){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!==Vu?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(mt({},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 fi){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,It(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!Fe(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=ec(this._props[l])),(i||(i=Object.create(null)))[xt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ze(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=Fe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(xt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Bu;const a=xt(t);o&&this._numberProps&&this._numberProps[a]&&(n=ec(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===Bu?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Yt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Yt(t),o+""):o||this.removeAttribute(Yt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),qm(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=tt(this._def,mt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,rs(r[0])?mt({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),Yt(s)!==s&&a(Yt(s),r)},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,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Fe(t)?o=>us(t,o):t};function zm(e){e.target.composing=!0}function ju(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Us=Symbol("_assign"),zs=Symbol("_initialValue");function hi(e,t,o){return t&&(e=e.trim()),o&&(e=Mr(e)),e}const Uu={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[zs]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[zs]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Us]=Gu(a);const s=n||a.props&&a.props.type==="number";Hn(e,t?"change":"input",r=>{r.target.composing||e[Us](hi(e.value,o,s))}),(o||s)&&Hn(e,"change",()=>{e.value=hi(e.value,o,s)}),t||(Hn(e,"compositionstart",zm),Hn(e,"compositionend",ju),Hn(e,"change",ju))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",s=e[zs];delete e[zs],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Us](hi(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:s}},r){if(e[Us]=Gu(r),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?Mr(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Hm=["ctrl","shift","alt","meta"],Vm={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)=>Hm.some(o=>e[`${o}Key`]&&!t.includes(o))},gt=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{Hu().render(...e)},Vu=(...e)=>{const t=Hu().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Ym(n);if(!a)return;const s=t._component;!De(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Wm(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Wm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ym(e){return it(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ku;const Hs=e=>Ku=e,qu=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Fa;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Fa||(Fa={}));function Xm(){const e=Fr(!0),t=e.run(()=>he({}));let o=[],n=[];const a=In({install(s){Hs(a),a._a=s,s.provide(qu,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Wu=()=>{};function Yu(e,t,o,n=Wu){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ic()&&Af(a),a}function Vn(e,...t){e.slice().forEach(o=>{o(...t)})}const Zm=e=>e(),Xu=Symbol(),bi=Symbol();function $i(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];mi(a)&&mi(n)&&e.hasOwnProperty(o)&&!ut(n)&&!Ro(n)?e[o]=$i(a,n):e[o]=n}return e}const Jm=Symbol();function Qm(e){return!mi(e)||!e.hasOwnProperty(Jm)}const{assign:Zo}=Object;function eb(e){return!!(ut(e)&&e.effect)}function tb(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Yf(o.state.value[e]);return Zo(u,s,Object.keys(r||{}).reduce((d,f)=>(d[f]=In(oe(()=>{Hs(o);const A=o._s.get(e);return r[f].call(A,A)})),d),{}))}return l=Zu(e,c,t,o,n,!0),l}function Zu(e,t,o={},n,a,s){let r;const i=Zo({actions:{}},o),l={deep:!0};let c,u,d=[],f=[],A;const v=n.state.value[e];!s&&!v&&(n.state.value[e]={});let b;function _(C){let S;c=u=!1,typeof C=="function"?(C(n.state.value[e]),S={type:Fa.patchFunction,storeId:e,events:A}):($i(n.state.value[e],C),S={type:Fa.patchObject,payload:C,storeId:e,events:A});const G=b=Symbol();It().then(()=>{b===G&&(c=!0)}),u=!0,Vn(d,S,n.state.value[e])}const $=s?function(){const{state:S}=o,G=S?S():{};this.$patch(H=>{Zo(H,G)})}:Wu;function h(){r.stop(),d=[],f=[],n._s.delete(e)}const m=(C,S="")=>{if(Xu in C)return C[bi]=S,C;const G=function(){Hs(n);const H=Array.from(arguments),J=[],U=[];function D(R){J.push(R)}function L(R){U.push(R)}Vn(f,{args:H,name:G[bi],store:p,after:D,onError:L});let y;try{y=C.apply(this&&this.$id===e?this:p,H)}catch(R){throw Vn(U,R),R}return y instanceof Promise?y.then(R=>(Vn(J,R),R)).catch(R=>(Vn(U,R),Promise.reject(R))):(Vn(J,y),y)};return G[Xu]=!0,G[bi]=S,G},w={_p:n,$id:e,$onAction:Yu.bind(null,f),$patch:_,$reset:$,$subscribe(C,S={}){const G=Yu(d,C,S.detached,()=>H()),H=r.run(()=>Me(()=>n.state.value[e],J=>{(S.flush==="sync"?u:c)&&C({storeId:e,type:Fa.direct,events:A},J)},Zo({},l,S)));return G},$dispose:h},p=Fn(w);n._s.set(e,p);const g=(n._a&&n._a.runWithContext||Zm)(()=>n._e.run(()=>(r=Fr()).run(()=>t({action:m}))));for(const C in g){const S=g[C];if(ut(S)&&!eb(S)||Ro(S))s||(v&&Qm(S)&&(ut(S)?S.value=v[C]:$i(S,v[C])),n.state.value[e][C]=S);else if(typeof S=="function"){const G=m(S,C);g[C]=G,i.actions[C]=S}}return Zo(p,g),Zo(Ke(p),g),Object.defineProperty(p,"$state",{get:()=>n.state.value[e],set:C=>{_(S=>{Zo(S,C)})}}),n._p.forEach(C=>{Zo(p,r.run(()=>C({store:p,app:n._a,pinia:n,options:i})))}),v&&s&&o.hydrate&&o.hydrate(p.$state,v),c=!0,u=!0,p}/*! #__NO_SIDE_EFFECTS__ */function yi(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=ch();return i=i||(c?Ne(qu,null):null),i&&Hs(i),i=Ku,i._s.has(n)||(s?Zu(n,t,a,i):tb(n,a,i)),i._s.get(n)}return r.$id=n,r}const _i="__doxaMapToken",vi="doxa:map-token",Ju="__doxaMapTokenBridge",Kn=()=>{if(typeof window>"u")return"";const e=window[_i];return typeof e=="string"?e:""};function Qu(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Kn())return Kn();window[_i]=t;try{window.dispatchEvent(new CustomEvent(vi,{detail:t}))}catch{}return t}function ob(){if(typeof window>"u"||window[Ju])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Kn()&&(window[_i]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Kn()},set(t){Qu(t)}}),window[Ju]=!0}catch{}}function nb(){ob();const e=he(Kn());if(typeof window<"u"){const t=()=>{e.value=Kn()};window.addEventListener(vi,t);try{Xt(()=>window.removeEventListener(vi,t))}catch{}}return e}function Vs(e){return _h({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const ab={title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},sb={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},rb={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:"الملصقات في كل صف"},ib={title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},lb={research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},cb={bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},ub={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},pb={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},db={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},gb={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},fb={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},hb={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},mb={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},bb={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},$b={"%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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},yb={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},_b={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}"},vb={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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},kb={kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},wb={title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},xb={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Lb={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"},Sb={title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},Ab={research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},Pb={bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},Cb={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Eb={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},Tb={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},Nb={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},Rb={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},Mb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Fb={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Ib={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Ob={"%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."},Db={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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},Bb={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}"},Gb={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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},jb={kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},Ub={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},zb={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},Hb={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"},Vb={title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},Kb={research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},qb={bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},Wb={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Yb={_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},Xb={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},Zb={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},Jb={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},Qb={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},e$={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},t$={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},o$={"%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."},n$={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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},a$={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}"},s$={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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},r$={kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},i$={title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},l$={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},c$={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"},u$={title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},p$={research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},d$={bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},g$={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."}},f$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},h$={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},m$={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},b$={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},$$={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},y$={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},_$={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},v$={"%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."},k$={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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},w$={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}"},x$={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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},L$={kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},S$={title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},A$={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"},P$={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"},C$={title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},E$={research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},T$={bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},N$={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},R$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},M$={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},F$={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},I$={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},O$={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},D$={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},B$={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},G$={"%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."},j$={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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},U$={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}"},z$={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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},H$={kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},V$={title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},K$={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},q$={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:"प्रति पंक्ति पोस्टर"},W$={title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},Y$={research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},X$={bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},Z$={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},J$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},Q$={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},ey={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},ty={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},oy={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ny={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},ay={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},sy={"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},ry={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},iy={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}"},ly={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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},cy={kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},uy={title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},py={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},dy={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",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"},gy={title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},fy={research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},hy={bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},my={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},by={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},$y={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},yy={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},_y={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},vy={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},ky={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},wy={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},xy={"%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."},Ly={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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},Sy={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}"},Ay={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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},Py={kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},Cy={title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},Ey={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},Ty={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"},Ny={title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},Ry={research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},My={bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},Fy={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."}},Iy={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},Oy={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},Dy={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},By={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},Gy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},jy={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},Uy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},zy={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"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."},Hy={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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},Vy={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}"},Ky={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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},qy={kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},Wy={title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},Yy={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},Xy={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"},Zy={title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},Jy={research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},Qy={bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},e_={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ă."}},t_={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},o_={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},n_={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},a_={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},s_={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},r_={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},i_={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},l_={"%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."},c_={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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},u_={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}"},p_={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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},d_={kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},g_={title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},f_={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},h_={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:"Плакатов в ряду"},m_={title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},b_={research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},$_={bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},y_={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},__={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},v_={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},k_={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},w_={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},x_={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},L_={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},S_={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},A_={"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},P_={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},C_={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}"},E_={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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},T_={kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},N_={title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},R_={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},M_={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:"每行海报数"},F_={title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},I_={research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},O_={bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},D_={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},B_={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},G_={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},j_={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},U_={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},z_={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},H_={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},V_={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},K_={"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},q_={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},W_={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}"},Y_={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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},X_={kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"};/*! + */let Ku;const Hs=e=>Ku=e,qu=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Fa;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Fa||(Fa={}));function Xm(){const e=Fr(!0),t=e.run(()=>he({}));let o=[],n=[];const a=In({install(s){Hs(a),a._a=s,s.provide(qu,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Wu=()=>{};function Yu(e,t,o,n=Wu){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ic()&&Af(a),a}function Vn(e,...t){e.slice().forEach(o=>{o(...t)})}const Zm=e=>e(),Xu=Symbol(),bi=Symbol();function $i(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];mi(a)&&mi(n)&&e.hasOwnProperty(o)&&!ut(n)&&!Mo(n)?e[o]=$i(a,n):e[o]=n}return e}const Jm=Symbol();function Qm(e){return!mi(e)||!e.hasOwnProperty(Jm)}const{assign:Zo}=Object;function eb(e){return!!(ut(e)&&e.effect)}function tb(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Yf(o.state.value[e]);return Zo(u,s,Object.keys(r||{}).reduce((d,f)=>(d[f]=In(oe(()=>{Hs(o);const A=o._s.get(e);return r[f].call(A,A)})),d),{}))}return l=Zu(e,c,t,o,n,!0),l}function Zu(e,t,o={},n,a,s){let r;const i=Zo({actions:{}},o),l={deep:!0};let c,u,d=[],f=[],A;const v=n.state.value[e];!s&&!v&&(n.state.value[e]={});let b;function _(C){let S;c=u=!1,typeof C=="function"?(C(n.state.value[e]),S={type:Fa.patchFunction,storeId:e,events:A}):($i(n.state.value[e],C),S={type:Fa.patchObject,payload:C,storeId:e,events:A});const G=b=Symbol();It().then(()=>{b===G&&(c=!0)}),u=!0,Vn(d,S,n.state.value[e])}const $=s?function(){const{state:S}=o,G=S?S():{};this.$patch(H=>{Zo(H,G)})}:Wu;function h(){r.stop(),d=[],f=[],n._s.delete(e)}const m=(C,S="")=>{if(Xu in C)return C[bi]=S,C;const G=function(){Hs(n);const H=Array.from(arguments),J=[],U=[];function D(M){J.push(M)}function L(M){U.push(M)}Vn(f,{args:H,name:G[bi],store:p,after:D,onError:L});let y;try{y=C.apply(this&&this.$id===e?this:p,H)}catch(M){throw Vn(U,M),M}return y instanceof Promise?y.then(M=>(Vn(J,M),M)).catch(M=>(Vn(U,M),Promise.reject(M))):(Vn(J,y),y)};return G[Xu]=!0,G[bi]=S,G},w={_p:n,$id:e,$onAction:Yu.bind(null,f),$patch:_,$reset:$,$subscribe(C,S={}){const G=Yu(d,C,S.detached,()=>H()),H=r.run(()=>Re(()=>n.state.value[e],J=>{(S.flush==="sync"?u:c)&&C({storeId:e,type:Fa.direct,events:A},J)},Zo({},l,S)));return G},$dispose:h},p=Fn(w);n._s.set(e,p);const g=(n._a&&n._a.runWithContext||Zm)(()=>n._e.run(()=>(r=Fr()).run(()=>t({action:m}))));for(const C in g){const S=g[C];if(ut(S)&&!eb(S)||Mo(S))s||(v&&Qm(S)&&(ut(S)?S.value=v[C]:$i(S,v[C])),n.state.value[e][C]=S);else if(typeof S=="function"){const G=m(S,C);g[C]=G,i.actions[C]=S}}return Zo(p,g),Zo(Ke(p),g),Object.defineProperty(p,"$state",{get:()=>n.state.value[e],set:C=>{_(S=>{Zo(S,C)})}}),n._p.forEach(C=>{Zo(p,r.run(()=>C({store:p,app:n._a,pinia:n,options:i})))}),v&&s&&o.hydrate&&o.hydrate(p.$state,v),c=!0,u=!0,p}/*! #__NO_SIDE_EFFECTS__ */function yi(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=ch();return i=i||(c?Ne(qu,null):null),i&&Hs(i),i=Ku,i._s.has(n)||(s?Zu(n,t,a,i):tb(n,a,i)),i._s.get(n)}return r.$id=n,r}const _i="__doxaMapToken",vi="doxa:map-token",Ju="__doxaMapTokenBridge",Kn=()=>{if(typeof window>"u")return"";const e=window[_i];return typeof e=="string"?e:""};function Qu(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Kn())return Kn();window[_i]=t;try{window.dispatchEvent(new CustomEvent(vi,{detail:t}))}catch{}return t}function ob(){if(typeof window>"u"||window[Ju])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Kn()&&(window[_i]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Kn()},set(t){Qu(t)}}),window[Ju]=!0}catch{}}function nb(){ob();const e=he(Kn());if(typeof window<"u"){const t=()=>{e.value=Kn()};window.addEventListener(vi,t);try{Xt(()=>window.removeEventListener(vi,t))}catch{}}return e}function Vs(e){return _h({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const ab={title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},sb={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},rb={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:"الملصقات في كل صف"},ib={title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},lb={research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},cb={bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},ub={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},pb={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},db={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},gb={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},fb={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},hb={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},mb={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},bb={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},$b={"%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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},yb={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},_b={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox"},vb={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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},kb={kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},wb={title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},xb={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Lb={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"},Sb={title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},Ab={research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},Pb={bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},Cb={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Eb={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},Tb={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},Nb={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},Mb={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},Rb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Fb={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Ib={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Ob={"%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."},Db={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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},Bb={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token"},Gb={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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},jb={kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},Ub={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},zb={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},Hb={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"},Vb={title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},Kb={research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},qb={bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},Wb={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Yb={_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},Xb={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},Zb={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},Jb={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},Qb={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},e$={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},t$={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},o$={"%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."},n$={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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},a$={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token"},s$={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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},r$={kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},i$={title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},l$={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},c$={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"},u$={title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},p$={research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},d$={bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},g$={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."}},f$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},h$={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},m$={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},b$={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},$$={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},y$={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},_$={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},v$={"%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."},k$={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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},w$={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox"},x$={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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},L$={kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},S$={title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},A$={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"},P$={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"},C$={title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},E$={research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},T$={bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},N$={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},M$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},R$={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},F$={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},I$={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},O$={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},D$={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},B$={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},G$={"%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."},j$={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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},U$={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox"},z$={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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},H$={kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},V$={title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},K$={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},q$={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:"प्रति पंक्ति पोस्टर"},W$={title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},Y$={research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},X$={bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},Z$={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},J$={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},Q$={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},ey={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},ty={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},oy={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ny={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},ay={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},sy={"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},ry={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},iy={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए"},ly={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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},cy={kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},uy={title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},py={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},dy={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",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"},gy={title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},fy={research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},hy={bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},my={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},by={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},$y={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},yy={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},_y={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},vy={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},ky={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},wy={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},xy={"%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."},Ly={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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},Sy={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox"},Ay={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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},Py={kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},Cy={title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},Ey={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},Ty={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"},Ny={title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},My={research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},Ry={bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},Fy={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."}},Iy={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},Oy={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},Dy={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},By={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},Gy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},jy={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},Uy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},zy={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"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."},Hy={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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},Vy={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox"},Ky={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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},qy={kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},Wy={title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},Yy={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},Xy={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"},Zy={title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},Jy={research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},Qy={bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},e_={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ă."}},t_={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},o_={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},n_={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},a_={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},s_={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},r_={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},i_={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},l_={"%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."},c_={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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},u_={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox"},p_={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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},d_={kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},g_={title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},f_={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},h_={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:"Плакатов в ряду"},m_={title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},b_={research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},$_={bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},y_={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},__={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},v_={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},k_={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},w_={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},x_={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},L_={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},S_={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},A_={"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},P_={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},C_={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox"},E_={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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},T_={kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},N_={title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},M_={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},R_={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:"每行海报数"},F_={title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},I_={research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},O_={bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},D_={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},B_={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},G_={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},j_={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},U_={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},z_={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},H_={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},V_={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},K_={"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},q_={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},W_={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌"},Y_={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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},X_={kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -31,16 +31,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function i0(e,t,o){return{line:e,column:t,offset:o}}function Zs(e,t,o){return{start:e,end:t}}const l0=/\{([0-9a-zA-Z]+)\}/g;function sp(e,...t){return t.length===1&&c0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(l0,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const rp=Object.assign,ip=e=>typeof e=="string",c0=e=>e!==null&&typeof e=="object";function lp(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const ki={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},u0={[ki.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function p0(e,t,...o){const n=sp(u0[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Oe={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},d0={[Oe.EXPECTED_TOKEN]:"Expected token: '{0}'",[Oe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Oe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Oe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Oe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Oe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Oe.EMPTY_PLACEHOLDER]:"Empty placeholder",[Oe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Oe.INVALID_LINKED_FORMAT]:"Invalid linked format",[Oe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Oe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Oe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Oe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Oe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Oe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function qn(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=sp((a||d0)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function g0(e){throw e}const jo=" ",f0="\r",Bt=` -`,h0="\u2028",m0="\u2029";function b0(e){const t=e;let o=0,n=1,a=1,s=0;const r=g=>t[g]===f0&&t[g+1]===Bt,i=g=>t[g]===Bt,l=g=>t[g]===m0,c=g=>t[g]===h0,u=g=>r(g)||i(g)||l(g)||c(g),d=()=>o,f=()=>n,A=()=>a,v=()=>s,b=g=>r(g)||l(g)||c(g)?Bt:t[g],_=()=>b(o),$=()=>b(o+s);function h(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function m(){return r(o+s)&&s++,s++,t[o+s]}function w(){o=0,n=1,a=1,s=0}function p(g=0){s=g}function P(){const g=o+s;for(;g!==o;)h();s=0}return{index:d,line:f,column:A,peekOffset:v,charAt:b,currentChar:_,currentPeek:$,next:h,peek:m,reset:w,resetPeek:p,skipToPeek:P}}const en=void 0,$0=".",cp="'",y0="tokenizer";function _0(e,t={}){const o=t.location!==!1,n=b0(e),a=()=>n.index(),s=()=>i0(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(k,x,B,...X){const me=c();if(x.column+=B,x.offset+=B,u){const ce=o?Zs(me.startLoc,x):null,Z=qn(k,ce,{domain:y0,args:X});u(Z)}}function f(k,x,B){k.endLoc=s(),k.currentType=x;const X={type:x};return o&&(X.loc=Zs(k.startLoc,k.endLoc)),B!=null&&(X.value=B),X}const A=k=>f(k,14);function v(k,x){return k.currentChar()===x?(k.next(),x):(d(Oe.EXPECTED_TOKEN,s(),0,x),"")}function b(k){let x="";for(;k.currentPeek()===jo||k.currentPeek()===Bt;)x+=k.currentPeek(),k.peek();return x}function _(k){const x=b(k);return k.skipToPeek(),x}function $(k){if(k===en)return!1;const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x===95}function h(k){if(k===en)return!1;const x=k.charCodeAt(0);return x>=48&&x<=57}function m(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=$(k.currentPeek());return k.resetPeek(),X}function w(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=k.currentPeek()==="-"?k.peek():k.currentPeek(),me=h(X);return k.resetPeek(),me}function p(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=k.currentPeek()===cp;return k.resetPeek(),X}function P(k,x){const{currentType:B}=x;if(B!==8)return!1;b(k);const X=k.currentPeek()===".";return k.resetPeek(),X}function g(k,x){const{currentType:B}=x;if(B!==9)return!1;b(k);const X=$(k.currentPeek());return k.resetPeek(),X}function C(k,x){const{currentType:B}=x;if(!(B===8||B===12))return!1;b(k);const X=k.currentPeek()===":";return k.resetPeek(),X}function S(k,x){const{currentType:B}=x;if(B!==10)return!1;const X=()=>{const ce=k.currentPeek();return ce==="{"?$(k.peek()):ce==="@"||ce==="%"||ce==="|"||ce===":"||ce==="."||ce===jo||!ce?!1:ce===Bt?(k.peek(),X()):J(k,!1)},me=X();return k.resetPeek(),me}function G(k){b(k);const x=k.currentPeek()==="|";return k.resetPeek(),x}function H(k){const x=b(k),B=k.currentPeek()==="%"&&k.peek()==="{";return k.resetPeek(),{isModulo:B,hasSpace:x.length>0}}function J(k,x=!0){const B=(me=!1,ce="",Z=!1)=>{const le=k.currentPeek();return le==="{"?ce==="%"?!1:me:le==="@"||!le?ce==="%"?!0:me:le==="%"?(k.peek(),B(me,"%",!0)):le==="|"?ce==="%"||Z?!0:!(ce===jo||ce===Bt):le===jo?(k.peek(),B(!0,jo,Z)):le===Bt?(k.peek(),B(!0,Bt,Z)):!0},X=B();return x&&k.resetPeek(),X}function U(k,x){const B=k.currentChar();return B===en?en:x(B)?(k.next(),B):null}function D(k){const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36}function L(k){return U(k,D)}function y(k){const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36||x===45}function R(k){return U(k,y)}function z(k){const x=k.charCodeAt(0);return x>=48&&x<=57}function K(k){return U(k,z)}function Q(k){const x=k.charCodeAt(0);return x>=48&&x<=57||x>=65&&x<=70||x>=97&&x<=102}function ie(k){return U(k,Q)}function j(k){let x="",B="";for(;x=K(k);)B+=x;return B}function be(k){_(k);const x=k.currentChar();return x!=="%"&&d(Oe.EXPECTED_TOKEN,s(),0,x),k.next(),"%"}function xe(k){let x="";for(;;){const B=k.currentChar();if(B==="{"||B==="}"||B==="@"||B==="|"||!B)break;if(B==="%")if(J(k))x+=B,k.next();else break;else if(B===jo||B===Bt)if(J(k))x+=B,k.next();else{if(G(k))break;x+=B,k.next()}else x+=B,k.next()}return x}function fe(k){_(k);let x="",B="";for(;x=R(k);)B+=x;return k.currentChar()===en&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B}function ke(k){_(k);let x="";return k.currentChar()==="-"?(k.next(),x+=`-${j(k)}`):x+=j(k),k.currentChar()===en&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),x}function $e(k){return k!==cp&&k!==Bt}function ne(k){_(k),v(k,"'");let x="",B="";for(;x=U(k,$e);)x==="\\"?B+=ee(k):B+=x;const X=k.currentChar();return X===Bt||X===en?(d(Oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),X===Bt&&(k.next(),v(k,"'")),B):(v(k,"'"),B)}function ee(k){const x=k.currentChar();switch(x){case"\\":case"'":return k.next(),`\\${x}`;case"u":return de(k,x,4);case"U":return de(k,x,6);default:return d(Oe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,x),""}}function de(k,x,B){v(k,x);let X="";for(let me=0;me{const X=k.currentChar();return X==="{"||X==="%"||X==="@"||X==="|"||X==="("||X===")"||!X||X===jo?B:(B+=X,k.next(),x(B))};return x("")}function W(k){_(k);const x=v(k,"|");return _(k),x}function Y(k,x){let B=null;switch(k.currentChar()){case"{":return x.braceNest>=1&&d(Oe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),k.next(),B=f(x,2,"{"),_(k),x.braceNest++,B;case"}":return x.braceNest>0&&x.currentType===2&&d(Oe.EMPTY_PLACEHOLDER,s(),0),k.next(),B=f(x,3,"}"),x.braceNest--,x.braceNest>0&&_(k),x.inLinked&&x.braceNest===0&&(x.inLinked=!1),B;case"@":return x.braceNest>0&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B=O(k,x)||A(x),x.braceNest=0,B;default:{let me=!0,ce=!0,Z=!0;if(G(k))return x.braceNest>0&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,B;if(x.braceNest>0&&(x.currentType===5||x.currentType===6||x.currentType===7))return d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),x.braceNest=0,ue(k,x);if(me=m(k,x))return B=f(x,5,fe(k)),_(k),B;if(ce=w(k,x))return B=f(x,6,ke(k)),_(k),B;if(Z=p(k,x))return B=f(x,7,ne(k)),_(k),B;if(!me&&!ce&&!Z)return B=f(x,13,T(k)),d(Oe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,B.value),_(k),B;break}}return B}function O(k,x){const{currentType:B}=x;let X=null;const me=k.currentChar();switch((B===8||B===9||B===12||B===10)&&(me===Bt||me===jo)&&d(Oe.INVALID_LINKED_FORMAT,s(),0),me){case"@":return k.next(),X=f(x,8,"@"),x.inLinked=!0,X;case".":return _(k),k.next(),f(x,9,".");case":":return _(k),k.next(),f(x,10,":");default:return G(k)?(X=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,X):P(k,x)||C(k,x)?(_(k),O(k,x)):g(k,x)?(_(k),f(x,12,F(k))):S(k,x)?(_(k),me==="{"?Y(k,x)||X:f(x,11,I(k))):(B===8&&d(Oe.INVALID_LINKED_FORMAT,s(),0),x.braceNest=0,x.inLinked=!1,ue(k,x))}}function ue(k,x){let B={type:14};if(x.braceNest>0)return Y(k,x)||A(x);if(x.inLinked)return O(k,x)||A(x);switch(k.currentChar()){case"{":return Y(k,x)||A(x);case"}":return d(Oe.UNBALANCED_CLOSING_BRACE,s(),0),k.next(),f(x,3,"}");case"@":return O(k,x)||A(x);default:{if(G(k))return B=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,B;const{isModulo:me,hasSpace:ce}=H(k);if(me)return ce?f(x,0,xe(k)):f(x,4,be(k));if(J(k))return f(x,0,xe(k));break}}return B}function te(){const{currentType:k,offset:x,startLoc:B,endLoc:X}=l;return l.lastType=k,l.lastOffset=x,l.lastStartLoc=B,l.lastEndLoc=X,l.offset=a(),l.startLoc=s(),n.currentChar()===en?f(l,14):ue(n,l)}return{nextToken:te,currentOffset:a,currentPosition:s,context:c}}const v0="parser",k0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function w0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function x0(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(m,w,p,P,...g){const C=m.currentPosition();if(C.offset+=P,C.column+=P,o){const S=t?Zs(p,C):null,G=qn(w,S,{domain:v0,args:g});o(G)}}function s(m,w,p,P,...g){const C=m.currentPosition();if(C.offset+=P,C.column+=P,n){const S=t?Zs(p,C):null;n(p0(w,S,g))}}function r(m,w,p){const P={type:m};return t&&(P.start=w,P.end=w,P.loc={start:p,end:p}),P}function i(m,w,p,P){t&&(m.end=w,m.loc&&(m.loc.end=p))}function l(m,w){const p=m.context(),P=r(3,p.offset,p.startLoc);return P.value=w,i(P,m.currentOffset(),m.currentPosition()),P}function c(m,w){const p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(5,P,g);return C.index=parseInt(w,10),m.nextToken(),i(C,m.currentOffset(),m.currentPosition()),C}function u(m,w,p){const P=m.context(),{lastOffset:g,lastStartLoc:C}=P,S=r(4,g,C);return S.key=w,p===!0&&(S.modulo=!0),m.nextToken(),i(S,m.currentOffset(),m.currentPosition()),S}function d(m,w){const p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(9,P,g);return C.value=w.replace(k0,w0),m.nextToken(),i(C,m.currentOffset(),m.currentPosition()),C}function f(m){const w=m.nextToken(),p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(8,P,g);return w.type!==12?(a(m,Oe.UNEXPECTED_EMPTY_LINKED_MODIFIER,p.lastStartLoc,0),C.value="",i(C,P,g),{nextConsumeToken:w,node:C}):(w.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,io(w)),C.value=w.value||"",i(C,m.currentOffset(),m.currentPosition()),{node:C})}function A(m,w){const p=m.context(),P=r(7,p.offset,p.startLoc);return P.value=w,i(P,m.currentOffset(),m.currentPosition()),P}function v(m){const w=m.context(),p=r(6,w.offset,w.startLoc);let P=m.nextToken();if(P.type===9){const g=f(m);p.modifier=g.node,P=g.nextConsumeToken||m.nextToken()}switch(P.type!==10&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),P=m.nextToken(),P.type===2&&(P=m.nextToken()),P.type){case 11:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=A(m,P.value||"");break;case 5:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=u(m,P.value||"");break;case 6:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=c(m,P.value||"");break;case 7:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=d(m,P.value||"");break;default:{a(m,Oe.UNEXPECTED_EMPTY_LINKED_KEY,w.lastStartLoc,0);const g=m.context(),C=r(7,g.offset,g.startLoc);return C.value="",i(C,g.offset,g.startLoc),p.key=C,i(p,g.offset,g.startLoc),{nextConsumeToken:P,node:p}}}return i(p,m.currentOffset(),m.currentPosition()),{node:p}}function b(m){const w=m.context(),p=w.currentType===1?m.currentOffset():w.offset,P=w.currentType===1?w.endLoc:w.startLoc,g=r(2,p,P);g.items=[];let C=null,S=null;do{const J=C||m.nextToken();switch(C=null,J.type){case 0:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(l(m,J.value||""));break;case 6:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(c(m,J.value||""));break;case 4:S=!0;break;case 5:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(u(m,J.value||"",!!S)),S&&(s(m,ki.USE_MODULO_SYNTAX,w.lastStartLoc,0,io(J)),S=null);break;case 7:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(d(m,J.value||""));break;case 8:{const U=v(m);g.items.push(U.node),C=U.nextConsumeToken||null;break}}}while(w.currentType!==14&&w.currentType!==1);const G=w.currentType===1?w.lastOffset:m.currentOffset(),H=w.currentType===1?w.lastEndLoc:m.currentPosition();return i(g,G,H),g}function _(m,w,p,P){const g=m.context();let C=P.items.length===0;const S=r(1,w,p);S.cases=[],S.cases.push(P);do{const G=b(m);C||(C=G.items.length===0),S.cases.push(G)}while(g.currentType!==14);return C&&a(m,Oe.MUST_HAVE_MESSAGES_IN_PLURAL,p,0),i(S,m.currentOffset(),m.currentPosition()),S}function $(m){const w=m.context(),{offset:p,startLoc:P}=w,g=b(m);return w.currentType===14?g:_(m,p,P,g)}function h(m){const w=_0(m,rp({},e)),p=w.context(),P=r(0,p.offset,p.startLoc);return t&&P.loc&&(P.loc.source=m),P.body=$(w),e.onCacheKey&&(P.cacheKey=e.onCacheKey(m)),p.currentType!==14&&a(w,Oe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,m[p.offset]||""),i(P,w.currentOffset(),w.currentPosition()),P}return{parse:h}}function io(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 L0(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function up(e,t){for(let o=0;opp(o)),e}function pp(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;or;function l(b,_){r.code+=b}function c(b,_=!0){const $=_?n:"";l(a?$+" ".repeat(b):$)}function u(b=!0){const _=++r.indentLevel;b&&c(_)}function d(b=!0){const _=--r.indentLevel;b&&c(_)}function f(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:f,helper:b=>`_${b}`,needIndent:()=>r.needIndent}}function T0(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Yn(e,t.key),t.modifier?(e.push(", "),Yn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function N0(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=ip(t.mode)?t.mode:"normal",n=ip(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,h0="\u2028",m0="\u2029";function b0(e){const t=e;let o=0,n=1,a=1,s=0;const r=g=>t[g]===f0&&t[g+1]===Bt,i=g=>t[g]===Bt,l=g=>t[g]===m0,c=g=>t[g]===h0,u=g=>r(g)||i(g)||l(g)||c(g),d=()=>o,f=()=>n,A=()=>a,v=()=>s,b=g=>r(g)||l(g)||c(g)?Bt:t[g],_=()=>b(o),$=()=>b(o+s);function h(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function m(){return r(o+s)&&s++,s++,t[o+s]}function w(){o=0,n=1,a=1,s=0}function p(g=0){s=g}function P(){const g=o+s;for(;g!==o;)h();s=0}return{index:d,line:f,column:A,peekOffset:v,charAt:b,currentChar:_,currentPeek:$,next:h,peek:m,reset:w,resetPeek:p,skipToPeek:P}}const en=void 0,$0=".",cp="'",y0="tokenizer";function _0(e,t={}){const o=t.location!==!1,n=b0(e),a=()=>n.index(),s=()=>i0(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(k,x,B,...X){const me=c();if(x.column+=B,x.offset+=B,u){const ce=o?Zs(me.startLoc,x):null,Z=qn(k,ce,{domain:y0,args:X});u(Z)}}function f(k,x,B){k.endLoc=s(),k.currentType=x;const X={type:x};return o&&(X.loc=Zs(k.startLoc,k.endLoc)),B!=null&&(X.value=B),X}const A=k=>f(k,14);function v(k,x){return k.currentChar()===x?(k.next(),x):(d(Oe.EXPECTED_TOKEN,s(),0,x),"")}function b(k){let x="";for(;k.currentPeek()===jo||k.currentPeek()===Bt;)x+=k.currentPeek(),k.peek();return x}function _(k){const x=b(k);return k.skipToPeek(),x}function $(k){if(k===en)return!1;const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x===95}function h(k){if(k===en)return!1;const x=k.charCodeAt(0);return x>=48&&x<=57}function m(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=$(k.currentPeek());return k.resetPeek(),X}function w(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=k.currentPeek()==="-"?k.peek():k.currentPeek(),me=h(X);return k.resetPeek(),me}function p(k,x){const{currentType:B}=x;if(B!==2)return!1;b(k);const X=k.currentPeek()===cp;return k.resetPeek(),X}function P(k,x){const{currentType:B}=x;if(B!==8)return!1;b(k);const X=k.currentPeek()===".";return k.resetPeek(),X}function g(k,x){const{currentType:B}=x;if(B!==9)return!1;b(k);const X=$(k.currentPeek());return k.resetPeek(),X}function C(k,x){const{currentType:B}=x;if(!(B===8||B===12))return!1;b(k);const X=k.currentPeek()===":";return k.resetPeek(),X}function S(k,x){const{currentType:B}=x;if(B!==10)return!1;const X=()=>{const ce=k.currentPeek();return ce==="{"?$(k.peek()):ce==="@"||ce==="%"||ce==="|"||ce===":"||ce==="."||ce===jo||!ce?!1:ce===Bt?(k.peek(),X()):J(k,!1)},me=X();return k.resetPeek(),me}function G(k){b(k);const x=k.currentPeek()==="|";return k.resetPeek(),x}function H(k){const x=b(k),B=k.currentPeek()==="%"&&k.peek()==="{";return k.resetPeek(),{isModulo:B,hasSpace:x.length>0}}function J(k,x=!0){const B=(me=!1,ce="",Z=!1)=>{const le=k.currentPeek();return le==="{"?ce==="%"?!1:me:le==="@"||!le?ce==="%"?!0:me:le==="%"?(k.peek(),B(me,"%",!0)):le==="|"?ce==="%"||Z?!0:!(ce===jo||ce===Bt):le===jo?(k.peek(),B(!0,jo,Z)):le===Bt?(k.peek(),B(!0,Bt,Z)):!0},X=B();return x&&k.resetPeek(),X}function U(k,x){const B=k.currentChar();return B===en?en:x(B)?(k.next(),B):null}function D(k){const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36}function L(k){return U(k,D)}function y(k){const x=k.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36||x===45}function M(k){return U(k,y)}function z(k){const x=k.charCodeAt(0);return x>=48&&x<=57}function K(k){return U(k,z)}function Q(k){const x=k.charCodeAt(0);return x>=48&&x<=57||x>=65&&x<=70||x>=97&&x<=102}function ie(k){return U(k,Q)}function j(k){let x="",B="";for(;x=K(k);)B+=x;return B}function be(k){_(k);const x=k.currentChar();return x!=="%"&&d(Oe.EXPECTED_TOKEN,s(),0,x),k.next(),"%"}function xe(k){let x="";for(;;){const B=k.currentChar();if(B==="{"||B==="}"||B==="@"||B==="|"||!B)break;if(B==="%")if(J(k))x+=B,k.next();else break;else if(B===jo||B===Bt)if(J(k))x+=B,k.next();else{if(G(k))break;x+=B,k.next()}else x+=B,k.next()}return x}function fe(k){_(k);let x="",B="";for(;x=M(k);)B+=x;return k.currentChar()===en&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B}function ke(k){_(k);let x="";return k.currentChar()==="-"?(k.next(),x+=`-${j(k)}`):x+=j(k),k.currentChar()===en&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),x}function $e(k){return k!==cp&&k!==Bt}function ne(k){_(k),v(k,"'");let x="",B="";for(;x=U(k,$e);)x==="\\"?B+=ee(k):B+=x;const X=k.currentChar();return X===Bt||X===en?(d(Oe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),X===Bt&&(k.next(),v(k,"'")),B):(v(k,"'"),B)}function ee(k){const x=k.currentChar();switch(x){case"\\":case"'":return k.next(),`\\${x}`;case"u":return de(k,x,4);case"U":return de(k,x,6);default:return d(Oe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,x),""}}function de(k,x,B){v(k,x);let X="";for(let me=0;me{const X=k.currentChar();return X==="{"||X==="%"||X==="@"||X==="|"||X==="("||X===")"||!X||X===jo?B:(B+=X,k.next(),x(B))};return x("")}function W(k){_(k);const x=v(k,"|");return _(k),x}function Y(k,x){let B=null;switch(k.currentChar()){case"{":return x.braceNest>=1&&d(Oe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),k.next(),B=f(x,2,"{"),_(k),x.braceNest++,B;case"}":return x.braceNest>0&&x.currentType===2&&d(Oe.EMPTY_PLACEHOLDER,s(),0),k.next(),B=f(x,3,"}"),x.braceNest--,x.braceNest>0&&_(k),x.inLinked&&x.braceNest===0&&(x.inLinked=!1),B;case"@":return x.braceNest>0&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B=O(k,x)||A(x),x.braceNest=0,B;default:{let me=!0,ce=!0,Z=!0;if(G(k))return x.braceNest>0&&d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),B=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,B;if(x.braceNest>0&&(x.currentType===5||x.currentType===6||x.currentType===7))return d(Oe.UNTERMINATED_CLOSING_BRACE,s(),0),x.braceNest=0,ue(k,x);if(me=m(k,x))return B=f(x,5,fe(k)),_(k),B;if(ce=w(k,x))return B=f(x,6,ke(k)),_(k),B;if(Z=p(k,x))return B=f(x,7,ne(k)),_(k),B;if(!me&&!ce&&!Z)return B=f(x,13,T(k)),d(Oe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,B.value),_(k),B;break}}return B}function O(k,x){const{currentType:B}=x;let X=null;const me=k.currentChar();switch((B===8||B===9||B===12||B===10)&&(me===Bt||me===jo)&&d(Oe.INVALID_LINKED_FORMAT,s(),0),me){case"@":return k.next(),X=f(x,8,"@"),x.inLinked=!0,X;case".":return _(k),k.next(),f(x,9,".");case":":return _(k),k.next(),f(x,10,":");default:return G(k)?(X=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,X):P(k,x)||C(k,x)?(_(k),O(k,x)):g(k,x)?(_(k),f(x,12,F(k))):S(k,x)?(_(k),me==="{"?Y(k,x)||X:f(x,11,I(k))):(B===8&&d(Oe.INVALID_LINKED_FORMAT,s(),0),x.braceNest=0,x.inLinked=!1,ue(k,x))}}function ue(k,x){let B={type:14};if(x.braceNest>0)return Y(k,x)||A(x);if(x.inLinked)return O(k,x)||A(x);switch(k.currentChar()){case"{":return Y(k,x)||A(x);case"}":return d(Oe.UNBALANCED_CLOSING_BRACE,s(),0),k.next(),f(x,3,"}");case"@":return O(k,x)||A(x);default:{if(G(k))return B=f(x,1,W(k)),x.braceNest=0,x.inLinked=!1,B;const{isModulo:me,hasSpace:ce}=H(k);if(me)return ce?f(x,0,xe(k)):f(x,4,be(k));if(J(k))return f(x,0,xe(k));break}}return B}function te(){const{currentType:k,offset:x,startLoc:B,endLoc:X}=l;return l.lastType=k,l.lastOffset=x,l.lastStartLoc=B,l.lastEndLoc=X,l.offset=a(),l.startLoc=s(),n.currentChar()===en?f(l,14):ue(n,l)}return{nextToken:te,currentOffset:a,currentPosition:s,context:c}}const v0="parser",k0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function w0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function x0(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(m,w,p,P,...g){const C=m.currentPosition();if(C.offset+=P,C.column+=P,o){const S=t?Zs(p,C):null,G=qn(w,S,{domain:v0,args:g});o(G)}}function s(m,w,p,P,...g){const C=m.currentPosition();if(C.offset+=P,C.column+=P,n){const S=t?Zs(p,C):null;n(p0(w,S,g))}}function r(m,w,p){const P={type:m};return t&&(P.start=w,P.end=w,P.loc={start:p,end:p}),P}function i(m,w,p,P){t&&(m.end=w,m.loc&&(m.loc.end=p))}function l(m,w){const p=m.context(),P=r(3,p.offset,p.startLoc);return P.value=w,i(P,m.currentOffset(),m.currentPosition()),P}function c(m,w){const p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(5,P,g);return C.index=parseInt(w,10),m.nextToken(),i(C,m.currentOffset(),m.currentPosition()),C}function u(m,w,p){const P=m.context(),{lastOffset:g,lastStartLoc:C}=P,S=r(4,g,C);return S.key=w,p===!0&&(S.modulo=!0),m.nextToken(),i(S,m.currentOffset(),m.currentPosition()),S}function d(m,w){const p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(9,P,g);return C.value=w.replace(k0,w0),m.nextToken(),i(C,m.currentOffset(),m.currentPosition()),C}function f(m){const w=m.nextToken(),p=m.context(),{lastOffset:P,lastStartLoc:g}=p,C=r(8,P,g);return w.type!==12?(a(m,Oe.UNEXPECTED_EMPTY_LINKED_MODIFIER,p.lastStartLoc,0),C.value="",i(C,P,g),{nextConsumeToken:w,node:C}):(w.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,io(w)),C.value=w.value||"",i(C,m.currentOffset(),m.currentPosition()),{node:C})}function A(m,w){const p=m.context(),P=r(7,p.offset,p.startLoc);return P.value=w,i(P,m.currentOffset(),m.currentPosition()),P}function v(m){const w=m.context(),p=r(6,w.offset,w.startLoc);let P=m.nextToken();if(P.type===9){const g=f(m);p.modifier=g.node,P=g.nextConsumeToken||m.nextToken()}switch(P.type!==10&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),P=m.nextToken(),P.type===2&&(P=m.nextToken()),P.type){case 11:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=A(m,P.value||"");break;case 5:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=u(m,P.value||"");break;case 6:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=c(m,P.value||"");break;case 7:P.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(P)),p.key=d(m,P.value||"");break;default:{a(m,Oe.UNEXPECTED_EMPTY_LINKED_KEY,w.lastStartLoc,0);const g=m.context(),C=r(7,g.offset,g.startLoc);return C.value="",i(C,g.offset,g.startLoc),p.key=C,i(p,g.offset,g.startLoc),{nextConsumeToken:P,node:p}}}return i(p,m.currentOffset(),m.currentPosition()),{node:p}}function b(m){const w=m.context(),p=w.currentType===1?m.currentOffset():w.offset,P=w.currentType===1?w.endLoc:w.startLoc,g=r(2,p,P);g.items=[];let C=null,S=null;do{const J=C||m.nextToken();switch(C=null,J.type){case 0:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(l(m,J.value||""));break;case 6:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(c(m,J.value||""));break;case 4:S=!0;break;case 5:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(u(m,J.value||"",!!S)),S&&(s(m,ki.USE_MODULO_SYNTAX,w.lastStartLoc,0,io(J)),S=null);break;case 7:J.value==null&&a(m,Oe.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,io(J)),g.items.push(d(m,J.value||""));break;case 8:{const U=v(m);g.items.push(U.node),C=U.nextConsumeToken||null;break}}}while(w.currentType!==14&&w.currentType!==1);const G=w.currentType===1?w.lastOffset:m.currentOffset(),H=w.currentType===1?w.lastEndLoc:m.currentPosition();return i(g,G,H),g}function _(m,w,p,P){const g=m.context();let C=P.items.length===0;const S=r(1,w,p);S.cases=[],S.cases.push(P);do{const G=b(m);C||(C=G.items.length===0),S.cases.push(G)}while(g.currentType!==14);return C&&a(m,Oe.MUST_HAVE_MESSAGES_IN_PLURAL,p,0),i(S,m.currentOffset(),m.currentPosition()),S}function $(m){const w=m.context(),{offset:p,startLoc:P}=w,g=b(m);return w.currentType===14?g:_(m,p,P,g)}function h(m){const w=_0(m,rp({},e)),p=w.context(),P=r(0,p.offset,p.startLoc);return t&&P.loc&&(P.loc.source=m),P.body=$(w),e.onCacheKey&&(P.cacheKey=e.onCacheKey(m)),p.currentType!==14&&a(w,Oe.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,m[p.offset]||""),i(P,w.currentOffset(),w.currentPosition()),P}return{parse:h}}function io(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 L0(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function up(e,t){for(let o=0;opp(o)),e}function pp(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;or;function l(b,_){r.code+=b}function c(b,_=!0){const $=_?n:"";l(a?$+" ".repeat(b):$)}function u(b=!0){const _=++r.indentLevel;b&&c(_)}function d(b=!0){const _=--r.indentLevel;b&&c(_)}function f(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:d,newline:f,helper:b=>`_${b}`,needIndent:()=>r.needIndent}}function T0(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Yn(e,t.key),t.modifier?(e.push(", "),Yn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function N0(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=ip(t.mode)?t.mode:"normal",n=ip(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=E0(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${lp(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Yn(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function I0(e,t={}){const o=rp({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=x0(o).parse(e);return n?(s&&A0(i),a&&Wn(i),{ast:i,code:""}):(S0(i,o),F0(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function O0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Go().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Go().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Go().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function wo(e){return We(e)&&xi(e)===0&&(ro(e,"b")||ro(e,"body"))}const dp=["b","body"];function D0(e){return tn(e,dp)}const gp=["c","cases"];function B0(e){return tn(e,gp,[])}const fp=["s","static"];function G0(e){return tn(e,fp)}const hp=["i","items"];function j0(e){return tn(e,hp,[])}const mp=["t","type"];function xi(e){return tn(e,mp)}const bp=["v","value"];function Js(e,t){const o=tn(e,bp);if(o!=null)return o;throw Ia(t)}const $p=["m","modifier"];function U0(e){return tn(e,$p)}const yp=["k","key"];function z0(e){const t=tn(e,yp);if(t)return t;throw Ia(6)}function tn(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},f[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,r===void 0||(r=W0(r),r===!1))return!1;f[1]()}};function A(){const v=e[o+1];if(n===5&&v==="'"||n===6&&v==='"')return o++,i="\\"+v,f[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&A())){if(l=q0(s),d=on[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const vp=new Map;function X0(e,t){return We(e)?e[t]:null}function Z0(e,t){if(!We(e))return null;let o=vp.get(t);if(o||(o=Y0(t),o&&vp.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Q0=e=>"",ev="text",tv=e=>e.length===0?"":r0(e),ov=s0;function kp(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function nv(e){const t=$t(e.pluralIndex)?e.pluralIndex:-1;return e.named&&($t(e.named.count)||$t(e.named.n))?$t(e.named.count)?e.named.count:$t(e.named.n)?e.named.n:t:t}function av(e,t){t.count||(t.count=e),t.n||(t.n=e)}function sv(e={}){const t=e.locale,o=nv(e),n=We(e.pluralRules)&&we(t)&&ct(e.pluralRules[t])?e.pluralRules[t]:kp,a=We(e.pluralRules)&&we(t)&&ct(e.pluralRules[t])?kp:void 0,s=$=>$[n(o,$.length,a)],r=e.list||[],i=$=>r[$],l=e.named||ot();$t(e.pluralIndex)&&av(o,l);const c=$=>l[$];function u($){const h=ct(e.messages)?e.messages($):We(e.messages)?e.messages[$]:!1;return h||(e.parent?e.parent.message($):Q0)}const d=$=>e.modifiers?e.modifiers[$]:J0,f=Ge(e.processor)&&ct(e.processor.normalize)?e.processor.normalize:tv,A=Ge(e.processor)&&ct(e.processor.interpolate)?e.processor.interpolate:ov,v=Ge(e.processor)&&we(e.processor.type)?e.processor.type:ev,_={list:i,named:c,plural:s,linked:($,...h)=>{const[m,w]=h;let p="text",P="";h.length===1?We(m)?(P=m.modifier||P,p=m.type||p):we(m)&&(P=m||P):h.length===2&&(we(m)&&(P=m||P),we(w)&&(p=w||p));const g=u($)(_),C=p==="vnode"&&pt(g)&&P?g[0]:g;return P?d(P)(C,p):C},message:u,type:v,interpolate:A,normalize:f,values:Et(ot(),r,l)};return _}let Oa=null;function rv(e){Oa=e}function iv(e,t,o){Oa&&Oa.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const lv=cv("function:translate");function cv(e){return t=>Oa&&Oa.emit(e,t)}const uv=ki.__EXTEND_POINT__,$n=Ws(uv),pv={FALLBACK_TO_TRANSLATE:$n(),CANNOT_FORMAT_NUMBER:$n(),FALLBACK_TO_NUMBER_FORMAT:$n(),CANNOT_FORMAT_DATE:$n(),FALLBACK_TO_DATE_FORMAT:$n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:$n(),__EXTEND_POINT__:$n()},wp=Oe.__EXTEND_POINT__,yn=Ws(wp),lo={INVALID_ARGUMENT:wp,INVALID_DATE_ARGUMENT:yn(),INVALID_ISO_DATE_ARGUMENT:yn(),NOT_SUPPORT_NON_STRING_MESSAGE:yn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:yn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:yn(),NOT_SUPPORT_LOCALE_TYPE:yn(),__EXTEND_POINT__:yn()};function xo(e){return qn(e,null,void 0)}function Li(e,t){return t.locale!=null?xp(t.locale):xp(e.locale)}let Si;function xp(e){if(we(e))return e;if(ct(e)){if(e.resolvedOnce&&Si!=null)return Si;if(e.constructor.name==="Function"){const t=e();if(a0(t))throw xo(lo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Si=t}else throw xo(lo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw xo(lo.NOT_SUPPORT_LOCALE_TYPE)}function dv(e,t,o){return[...new Set([o,...pt(t)?t:We(t)?Object.keys(t):we(t)?[t]:[o]])]}function Lp(e,t,o){const n=we(o)?o:Xn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;pt(r);)r=Sp(s,r,t);const i=pt(t)||!Ge(t)?t:t.default?t.default:null;r=we(i)?[i]:i,pt(r)&&Sp(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Sp(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function mv(){return{upper:(e,t)=>t==="text"&&we(e)?e.toUpperCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&we(e)?e.toLowerCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&we(e)?Pp(e):t==="vnode"&&We(e)&&"__v_isVNode"in e?Pp(e.children):e}}let Cp;function Ep(e){Cp=e}let Tp;function bv(e){Tp=e}let Np;function $v(e){Np=e}let Rp=null;const yv=e=>{Rp=e},_v=()=>Rp;let Mp=null;const Fp=e=>{Mp=e},vv=()=>Mp;let Ip=0;function kv(e={}){const t=ct(e.onWarn)?e.onWarn:Z_,o=we(e.version)?e.version:hv,n=we(e.locale)||ct(e.locale)?e.locale:Xn,a=ct(n)?Xn:n,s=pt(e.fallbackLocale)||Ge(e.fallbackLocale)||we(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=Ge(e.messages)?e.messages:Ai(a),i=Ge(e.datetimeFormats)?e.datetimeFormats:Ai(a),l=Ge(e.numberFormats)?e.numberFormats:Ai(a),c=Et(ot(),e.modifiers,mv()),u=e.pluralRules||ot(),d=ct(e.missing)?e.missing:null,f=Ve(e.missingWarn)||Qo(e.missingWarn)?e.missingWarn:!0,A=Ve(e.fallbackWarn)||Qo(e.fallbackWarn)?e.fallbackWarn:!0,v=!!e.fallbackFormat,b=!!e.unresolving,_=ct(e.postTranslation)?e.postTranslation:null,$=Ge(e.processor)?e.processor:null,h=Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,m=!!e.escapeParameter,w=ct(e.messageCompiler)?e.messageCompiler:Cp,p=ct(e.messageResolver)?e.messageResolver:Tp||X0,P=ct(e.localeFallbacker)?e.localeFallbacker:Np||dv,g=We(e.fallbackContext)?e.fallbackContext:void 0,C=e,S=We(C.__datetimeFormatters)?C.__datetimeFormatters:new Map,G=We(C.__numberFormatters)?C.__numberFormatters:new Map,H=We(C.__meta)?C.__meta:{};Ip++;const J={version:o,cid:Ip,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:f,fallbackWarn:A,fallbackFormat:v,unresolving:b,postTranslation:_,processor:$,warnHtmlMessage:h,escapeParameter:m,messageCompiler:w,messageResolver:p,localeFallbacker:P,fallbackContext:g,onWarn:t,__meta:H};return J.datetimeFormats=i,J.numberFormats=l,J.__datetimeFormatters=S,J.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&iv(J,o,H),J}const Ai=e=>({[e]:ot()});function Pi(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return we(i)?i:t}else return t}function Da(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function wv(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function xv(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nLv(o,e)}function Lv(e,t){const o=D0(t);if(o==null)throw Ia(0);if(xi(o)===1){const s=B0(o);return e.plural(s.reduce((r,i)=>[...r,Op(e,i)],[]))}else return Op(e,o)}function Op(e,t){const o=G0(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=j0(t).reduce((a,s)=>[...a,Ei(e,s)],[]);return e.normalize(n)}}function Ei(e,t){const o=xi(t);switch(o){case 3:return Js(t,o);case 9:return Js(t,o);case 4:{const n=t;if(ro(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(ro(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ia(o)}case 5:{const n=t;if(ro(n,"i")&&$t(n.i))return e.interpolate(e.list(n.i));if(ro(n,"index")&&$t(n.index))return e.interpolate(e.list(n.index));throw Ia(o)}case 6:{const n=t,a=U0(n),s=z0(n);return e.linked(Ei(e,s),a?Ei(e,a):void 0,e.type)}case 7:return Js(t,o);case 8:return Js(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Dp=e=>e;let Zn=ot();function Bp(e,t={}){let o=!1;const n=t.onError||g0;return t.onError=a=>{o=!0,n(a)},{...I0(e,t),detectError:o}}const Sv=(e,t)=>{if(!we(e))throw xo(lo.NOT_SUPPORT_NON_STRING_MESSAGE);{Ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Dp)(e),a=Zn[n];if(a)return a;const{code:s,detectError:r}=Bp(e,t),i=new Function(`return ${s}`)();return r?i:Zn[n]=i}};function Av(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&we(e)){Ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Dp)(e),a=Zn[n];if(a)return a;const{ast:s,detectError:r}=Bp(e,{...t,location:!1,jit:!0}),i=Ci(s);return r?i:Zn[n]=i}else{const o=e.cacheKey;if(o){const n=Zn[o];return n||(Zn[o]=Ci(e))}else return Ci(e)}}const Gp=()=>"",Zt=e=>ct(e);function jp(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Ti(...t),u=Ve(c.missingWarn)?c.missingWarn:e.missingWarn,d=Ve(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=Ve(c.escapeParameter)?c.escapeParameter:e.escapeParameter,A=!!c.resolvedMessage,v=we(c.default)||Ve(c.default)?Ve(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",b=o||v!=="",_=Li(e,c);f&&Pv(c);let[$,h,m]=A?[l,_,i[_]||ot()]:Up(e,l,_,r,d,u),w=$,p=l;if(!A&&!(we(w)||wo(w)||Zt(w))&&b&&(w=v,p=w),!A&&(!(we(w)||wo(w)||Zt(w))||!we(h)))return a?Qs:l;let P=!1;const g=()=>{P=!0},C=Zt(w)?w:zp(e,l,h,w,p,g);if(P)return w;const S=Tv(e,h,m,c),G=sv(S),H=Cv(e,C,G);let J=n?n(H,l):H;if(f&&we(J)&&(J=o0(J)),__INTLIFY_PROD_DEVTOOLS__){const U={timestamp:Date.now(),key:we(l)?l:Zt(w)?w.key:"",locale:h||(Zt(w)?w.locale:""),format:we(w)?w:Zt(w)?w.source:"",message:J};U.meta=Et({},e.__meta,_v()||{}),lv(U)}return J}function Pv(e){pt(e.list)?e.list=e.list.map(t=>we(t)?tp(t):t):We(e.named)&&Object.keys(e.named).forEach(t=>{we(e.named[t])&&(e.named[t]=tp(e.named[t]))})}function Up(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let d=ot(),f,A=null;const v="translate";for(let b=0;bn;return c.locale=o,c.key=t,c}const l=r(n,Ev(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Cv(e,t,o){return t(o)}function Ti(...e){const[t,o,n]=e,a=ot();if(!we(t)&&!$t(t)&&!Zt(t)&&!wo(t))throw xo(lo.INVALID_ARGUMENT);const s=$t(t)?String(t):(Zt(t),t);return $t(o)?a.plural=o:we(o)?a.default=o:Ge(o)&&!qs(o)?a.named=o:pt(o)&&(a.list=o),$t(n)?a.plural=n:we(n)?a.default=n:Ge(n)&&Et(a,n),[s,a]}function Ev(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>J_(t,o,r)}}function Tv(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:a,pluralRules:s,messages:A=>{let v=r(o,A);if(v==null&&u){const[,,b]=Up(u,A,t,i,l,c);v=r(b,A)}if(we(v)||wo(v)){let b=!1;const $=zp(e,A,t,v,A,()=>{b=!0});return b?Gp:$}else return Zt(v)?v:Gp}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),$t(n.plural)&&(f.pluralIndex=n.plural),f}function Hp(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=Ni(...t),f=Ve(u.missingWarn)?u.missingWarn:e.missingWarn;Ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const A=!!u.part,v=Li(e,u),b=r(e,a,v);if(!we(l)||l==="")return new Intl.DateTimeFormat(v,d).format(c);let _={},$,h=null;const m="datetime format";for(let P=0;P{Vp.includes(l)?r[l]=o[l]:s[l]=o[l]}),we(n)?s.locale=n:Ge(n)&&(r=n),Ge(a)&&(r=a),[s.key||"",i,s,r]}function Kp(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function qp(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=Ri(...t),f=Ve(u.missingWarn)?u.missingWarn:e.missingWarn;Ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const A=!!u.part,v=Li(e,u),b=r(e,a,v);if(!we(l)||l==="")return new Intl.NumberFormat(v,d).format(c);let _={},$,h=null;const m="number format";for(let P=0;P{Wp.includes(l)?r[l]=o[l]:s[l]=o[l]}),we(n)?s.locale=n:Ge(n)&&(r=n),Ge(a)&&(r=a),[s.key||"",i,s,r]}function Yp(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}O0();/*! + */function O0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Go().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Go().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Go().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function wo(e){return We(e)&&xi(e)===0&&(ro(e,"b")||ro(e,"body"))}const dp=["b","body"];function D0(e){return tn(e,dp)}const gp=["c","cases"];function B0(e){return tn(e,gp,[])}const fp=["s","static"];function G0(e){return tn(e,fp)}const hp=["i","items"];function j0(e){return tn(e,hp,[])}const mp=["t","type"];function xi(e){return tn(e,mp)}const bp=["v","value"];function Js(e,t){const o=tn(e,bp);if(o!=null)return o;throw Ia(t)}const $p=["m","modifier"];function U0(e){return tn(e,$p)}const yp=["k","key"];function z0(e){const t=tn(e,yp);if(t)return t;throw Ia(6)}function tn(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},f[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,r===void 0||(r=W0(r),r===!1))return!1;f[1]()}};function A(){const v=e[o+1];if(n===5&&v==="'"||n===6&&v==='"')return o++,i="\\"+v,f[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&A())){if(l=q0(s),d=on[n],c=d[l]||d.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const vp=new Map;function X0(e,t){return We(e)?e[t]:null}function Z0(e,t){if(!We(e))return null;let o=vp.get(t);if(o||(o=Y0(t),o&&vp.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Q0=e=>"",ev="text",tv=e=>e.length===0?"":r0(e),ov=s0;function kp(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function nv(e){const t=$t(e.pluralIndex)?e.pluralIndex:-1;return e.named&&($t(e.named.count)||$t(e.named.n))?$t(e.named.count)?e.named.count:$t(e.named.n)?e.named.n:t:t}function av(e,t){t.count||(t.count=e),t.n||(t.n=e)}function sv(e={}){const t=e.locale,o=nv(e),n=We(e.pluralRules)&&we(t)&&ct(e.pluralRules[t])?e.pluralRules[t]:kp,a=We(e.pluralRules)&&we(t)&&ct(e.pluralRules[t])?kp:void 0,s=$=>$[n(o,$.length,a)],r=e.list||[],i=$=>r[$],l=e.named||ot();$t(e.pluralIndex)&&av(o,l);const c=$=>l[$];function u($){const h=ct(e.messages)?e.messages($):We(e.messages)?e.messages[$]:!1;return h||(e.parent?e.parent.message($):Q0)}const d=$=>e.modifiers?e.modifiers[$]:J0,f=Ge(e.processor)&&ct(e.processor.normalize)?e.processor.normalize:tv,A=Ge(e.processor)&&ct(e.processor.interpolate)?e.processor.interpolate:ov,v=Ge(e.processor)&&we(e.processor.type)?e.processor.type:ev,_={list:i,named:c,plural:s,linked:($,...h)=>{const[m,w]=h;let p="text",P="";h.length===1?We(m)?(P=m.modifier||P,p=m.type||p):we(m)&&(P=m||P):h.length===2&&(we(m)&&(P=m||P),we(w)&&(p=w||p));const g=u($)(_),C=p==="vnode"&&pt(g)&&P?g[0]:g;return P?d(P)(C,p):C},message:u,type:v,interpolate:A,normalize:f,values:Et(ot(),r,l)};return _}let Oa=null;function rv(e){Oa=e}function iv(e,t,o){Oa&&Oa.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const lv=cv("function:translate");function cv(e){return t=>Oa&&Oa.emit(e,t)}const uv=ki.__EXTEND_POINT__,$n=Ws(uv),pv={FALLBACK_TO_TRANSLATE:$n(),CANNOT_FORMAT_NUMBER:$n(),FALLBACK_TO_NUMBER_FORMAT:$n(),CANNOT_FORMAT_DATE:$n(),FALLBACK_TO_DATE_FORMAT:$n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:$n(),__EXTEND_POINT__:$n()},wp=Oe.__EXTEND_POINT__,yn=Ws(wp),lo={INVALID_ARGUMENT:wp,INVALID_DATE_ARGUMENT:yn(),INVALID_ISO_DATE_ARGUMENT:yn(),NOT_SUPPORT_NON_STRING_MESSAGE:yn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:yn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:yn(),NOT_SUPPORT_LOCALE_TYPE:yn(),__EXTEND_POINT__:yn()};function xo(e){return qn(e,null,void 0)}function Li(e,t){return t.locale!=null?xp(t.locale):xp(e.locale)}let Si;function xp(e){if(we(e))return e;if(ct(e)){if(e.resolvedOnce&&Si!=null)return Si;if(e.constructor.name==="Function"){const t=e();if(a0(t))throw xo(lo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Si=t}else throw xo(lo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw xo(lo.NOT_SUPPORT_LOCALE_TYPE)}function dv(e,t,o){return[...new Set([o,...pt(t)?t:We(t)?Object.keys(t):we(t)?[t]:[o]])]}function Lp(e,t,o){const n=we(o)?o:Xn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;pt(r);)r=Sp(s,r,t);const i=pt(t)||!Ge(t)?t:t.default?t.default:null;r=we(i)?[i]:i,pt(r)&&Sp(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Sp(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function mv(){return{upper:(e,t)=>t==="text"&&we(e)?e.toUpperCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&we(e)?e.toLowerCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&we(e)?Pp(e):t==="vnode"&&We(e)&&"__v_isVNode"in e?Pp(e.children):e}}let Cp;function Ep(e){Cp=e}let Tp;function bv(e){Tp=e}let Np;function $v(e){Np=e}let Mp=null;const yv=e=>{Mp=e},_v=()=>Mp;let Rp=null;const Fp=e=>{Rp=e},vv=()=>Rp;let Ip=0;function kv(e={}){const t=ct(e.onWarn)?e.onWarn:Z_,o=we(e.version)?e.version:hv,n=we(e.locale)||ct(e.locale)?e.locale:Xn,a=ct(n)?Xn:n,s=pt(e.fallbackLocale)||Ge(e.fallbackLocale)||we(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=Ge(e.messages)?e.messages:Ai(a),i=Ge(e.datetimeFormats)?e.datetimeFormats:Ai(a),l=Ge(e.numberFormats)?e.numberFormats:Ai(a),c=Et(ot(),e.modifiers,mv()),u=e.pluralRules||ot(),d=ct(e.missing)?e.missing:null,f=Ve(e.missingWarn)||Qo(e.missingWarn)?e.missingWarn:!0,A=Ve(e.fallbackWarn)||Qo(e.fallbackWarn)?e.fallbackWarn:!0,v=!!e.fallbackFormat,b=!!e.unresolving,_=ct(e.postTranslation)?e.postTranslation:null,$=Ge(e.processor)?e.processor:null,h=Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,m=!!e.escapeParameter,w=ct(e.messageCompiler)?e.messageCompiler:Cp,p=ct(e.messageResolver)?e.messageResolver:Tp||X0,P=ct(e.localeFallbacker)?e.localeFallbacker:Np||dv,g=We(e.fallbackContext)?e.fallbackContext:void 0,C=e,S=We(C.__datetimeFormatters)?C.__datetimeFormatters:new Map,G=We(C.__numberFormatters)?C.__numberFormatters:new Map,H=We(C.__meta)?C.__meta:{};Ip++;const J={version:o,cid:Ip,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:d,missingWarn:f,fallbackWarn:A,fallbackFormat:v,unresolving:b,postTranslation:_,processor:$,warnHtmlMessage:h,escapeParameter:m,messageCompiler:w,messageResolver:p,localeFallbacker:P,fallbackContext:g,onWarn:t,__meta:H};return J.datetimeFormats=i,J.numberFormats=l,J.__datetimeFormatters=S,J.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&iv(J,o,H),J}const Ai=e=>({[e]:ot()});function Pi(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return we(i)?i:t}else return t}function Da(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function wv(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function xv(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nLv(o,e)}function Lv(e,t){const o=D0(t);if(o==null)throw Ia(0);if(xi(o)===1){const s=B0(o);return e.plural(s.reduce((r,i)=>[...r,Op(e,i)],[]))}else return Op(e,o)}function Op(e,t){const o=G0(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=j0(t).reduce((a,s)=>[...a,Ei(e,s)],[]);return e.normalize(n)}}function Ei(e,t){const o=xi(t);switch(o){case 3:return Js(t,o);case 9:return Js(t,o);case 4:{const n=t;if(ro(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(ro(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ia(o)}case 5:{const n=t;if(ro(n,"i")&&$t(n.i))return e.interpolate(e.list(n.i));if(ro(n,"index")&&$t(n.index))return e.interpolate(e.list(n.index));throw Ia(o)}case 6:{const n=t,a=U0(n),s=z0(n);return e.linked(Ei(e,s),a?Ei(e,a):void 0,e.type)}case 7:return Js(t,o);case 8:return Js(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Dp=e=>e;let Zn=ot();function Bp(e,t={}){let o=!1;const n=t.onError||g0;return t.onError=a=>{o=!0,n(a)},{...I0(e,t),detectError:o}}const Sv=(e,t)=>{if(!we(e))throw xo(lo.NOT_SUPPORT_NON_STRING_MESSAGE);{Ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Dp)(e),a=Zn[n];if(a)return a;const{code:s,detectError:r}=Bp(e,t),i=new Function(`return ${s}`)();return r?i:Zn[n]=i}};function Av(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&we(e)){Ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Dp)(e),a=Zn[n];if(a)return a;const{ast:s,detectError:r}=Bp(e,{...t,location:!1,jit:!0}),i=Ci(s);return r?i:Zn[n]=i}else{const o=e.cacheKey;if(o){const n=Zn[o];return n||(Zn[o]=Ci(e))}else return Ci(e)}}const Gp=()=>"",Zt=e=>ct(e);function jp(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Ti(...t),u=Ve(c.missingWarn)?c.missingWarn:e.missingWarn,d=Ve(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=Ve(c.escapeParameter)?c.escapeParameter:e.escapeParameter,A=!!c.resolvedMessage,v=we(c.default)||Ve(c.default)?Ve(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",b=o||v!=="",_=Li(e,c);f&&Pv(c);let[$,h,m]=A?[l,_,i[_]||ot()]:Up(e,l,_,r,d,u),w=$,p=l;if(!A&&!(we(w)||wo(w)||Zt(w))&&b&&(w=v,p=w),!A&&(!(we(w)||wo(w)||Zt(w))||!we(h)))return a?Qs:l;let P=!1;const g=()=>{P=!0},C=Zt(w)?w:zp(e,l,h,w,p,g);if(P)return w;const S=Tv(e,h,m,c),G=sv(S),H=Cv(e,C,G);let J=n?n(H,l):H;if(f&&we(J)&&(J=o0(J)),__INTLIFY_PROD_DEVTOOLS__){const U={timestamp:Date.now(),key:we(l)?l:Zt(w)?w.key:"",locale:h||(Zt(w)?w.locale:""),format:we(w)?w:Zt(w)?w.source:"",message:J};U.meta=Et({},e.__meta,_v()||{}),lv(U)}return J}function Pv(e){pt(e.list)?e.list=e.list.map(t=>we(t)?tp(t):t):We(e.named)&&Object.keys(e.named).forEach(t=>{we(e.named[t])&&(e.named[t]=tp(e.named[t]))})}function Up(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let d=ot(),f,A=null;const v="translate";for(let b=0;bn;return c.locale=o,c.key=t,c}const l=r(n,Ev(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Cv(e,t,o){return t(o)}function Ti(...e){const[t,o,n]=e,a=ot();if(!we(t)&&!$t(t)&&!Zt(t)&&!wo(t))throw xo(lo.INVALID_ARGUMENT);const s=$t(t)?String(t):(Zt(t),t);return $t(o)?a.plural=o:we(o)?a.default=o:Ge(o)&&!qs(o)?a.named=o:pt(o)&&(a.list=o),$t(n)?a.plural=n:we(n)?a.default=n:Ge(n)&&Et(a,n),[s,a]}function Ev(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>J_(t,o,r)}}function Tv(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:a,pluralRules:s,messages:A=>{let v=r(o,A);if(v==null&&u){const[,,b]=Up(u,A,t,i,l,c);v=r(b,A)}if(we(v)||wo(v)){let b=!1;const $=zp(e,A,t,v,A,()=>{b=!0});return b?Gp:$}else return Zt(v)?v:Gp}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),$t(n.plural)&&(f.pluralIndex=n.plural),f}function Hp(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,d]=Ni(...t),f=Ve(u.missingWarn)?u.missingWarn:e.missingWarn;Ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const A=!!u.part,v=Li(e,u),b=r(e,a,v);if(!we(l)||l==="")return new Intl.DateTimeFormat(v,d).format(c);let _={},$,h=null;const m="datetime format";for(let P=0;P{Vp.includes(l)?r[l]=o[l]:s[l]=o[l]}),we(n)?s.locale=n:Ge(n)&&(r=n),Ge(a)&&(r=a),[s.key||"",i,s,r]}function Kp(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function qp(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,d]=Mi(...t),f=Ve(u.missingWarn)?u.missingWarn:e.missingWarn;Ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const A=!!u.part,v=Li(e,u),b=r(e,a,v);if(!we(l)||l==="")return new Intl.NumberFormat(v,d).format(c);let _={},$,h=null;const m="number format";for(let P=0;P{Wp.includes(l)?r[l]=o[l]:s[l]=o[l]}),we(n)?s.locale=n:Ge(n)&&(r=n),Ge(a)&&(r=a),[s.key||"",i,s,r]}function Yp(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}O0();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Nv="9.14.5";function Rv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Go().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Go().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Go().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Go().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Go().__INTLIFY_PROD_DEVTOOLS__=!1)}const Mv=pv.__EXTEND_POINT__,Uo=Ws(Mv);Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo();const Xp=lo.__EXTEND_POINT__,Ut=Ws(Xp),kt={UNEXPECTED_RETURN_TYPE:Xp,INVALID_ARGUMENT:Ut(),MUST_BE_CALL_SETUP_TOP:Ut(),NOT_INSTALLED:Ut(),NOT_AVAILABLE_IN_LEGACY_MODE:Ut(),REQUIRED_VALUE:Ut(),INVALID_VALUE:Ut(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ut(),NOT_INSTALLED_WITH_PROVIDE:Ut(),UNEXPECTED_ERROR:Ut(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ut(),BRIDGE_SUPPORT_VUE_2_ONLY:Ut(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ut(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ut(),__EXTEND_POINT__:Ut()};function Lt(e,...t){return qn(e,null,void 0)}const Mi=Jo("__translateVNode"),Fi=Jo("__datetimeParts"),Ii=Jo("__numberParts"),Zp=Jo("__setPluralRules"),Jp=Jo("__injectWithOption"),Oi=Jo("__dispose");function Ba(e){if(!We(e)||wo(e))return e;for(const t in e)if(ro(e,t))if(!t.includes("."))We(e[t])&&Ba(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||ot(),Xs(c,r[l])):Xs(c,r)}else we(i)&&Xs(JSON.parse(i),r)}),a==null&&s)for(const i in r)ro(r,i)&&Ba(r[i]);return r}function Qp(e){return e.type}function ed(e,t,o){let n=We(t.messages)?t.messages:ot();"__i18nGlobal"in o&&(n=er(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(We(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(We(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function td(e){return tt(Aa,null,e,0)}const od="__INTLIFY_META__",nd=()=>[],Fv=()=>!1;let ad=0;function sd(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Iv=()=>{const e=ko();let t=null;return e&&(t=Qp(e)[od])?{[od]:t}:null};function Di(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=Ks?he:$a,i=!!e.translateExistCompatible;let l=Ve(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:we(e.locale)?e.locale:Xn),u=r(o&&l?o.fallbackLocale.value:we(e.fallbackLocale)||pt(e.fallbackLocale)||Ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(er(c.value,e)),f=r(Ge(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),A=r(Ge(e.numberFormats)?e.numberFormats:{[c.value]:{}});let v=o?o.missingWarn:Ve(e.missingWarn)||Qo(e.missingWarn)?e.missingWarn:!0,b=o?o.fallbackWarn:Ve(e.fallbackWarn)||Qo(e.fallbackWarn)?e.fallbackWarn:!0,_=o?o.fallbackRoot:Ve(e.fallbackRoot)?e.fallbackRoot:!0,$=!!e.fallbackFormat,h=ct(e.missing)?e.missing:null,m=ct(e.missing)?sd(e.missing):null,w=ct(e.postTranslation)?e.postTranslation:null,p=o?o.warnHtmlMessage:Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,P=!!e.escapeParameter;const g=o?o.modifiers:Ge(e.modifiers)?e.modifiers:{};let C=e.pluralRules||o&&o.pluralRules,S;S=(()=>{a&&Fp(null);const Z={version:Nv,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:g,pluralRules:C,missing:m===null?void 0:m,missingWarn:v,fallbackWarn:b,fallbackFormat:$,unresolving:!0,postTranslation:w===null?void 0:w,warnHtmlMessage:p,escapeParameter:P,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};Z.datetimeFormats=f.value,Z.numberFormats=A.value,Z.__datetimeFormatters=Ge(S)?S.__datetimeFormatters:void 0,Z.__numberFormatters=Ge(S)?S.__numberFormatters:void 0;const le=kv(Z);return a&&Fp(le),le})(),Da(S,c.value,u.value);function H(){return[c.value,u.value,d.value,f.value,A.value]}const J=oe({get:()=>c.value,set:Z=>{c.value=Z,S.locale=c.value}}),U=oe({get:()=>u.value,set:Z=>{u.value=Z,S.fallbackLocale=u.value,Da(S,c.value,Z)}}),D=oe(()=>d.value),L=oe(()=>f.value),y=oe(()=>A.value);function R(){return ct(w)?w:null}function z(Z){w=Z,S.postTranslation=Z}function K(){return h}function Q(Z){Z!==null&&(m=sd(Z)),h=Z,S.missing=m}const ie=(Z,le,Ce,Te,qe,nt)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=o?vv():void 0),Qe=Z(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(Ce!=="translate exists"&&$t(Qe)&&Qe===Qs||Ce==="translate exists"&&!Qe){const[V,se]=le();return o&&_?Te(o):qe(V)}else{if(nt(Qe))return Qe;throw Lt(kt.UNEXPECTED_RETURN_TYPE)}};function j(...Z){return ie(le=>Reflect.apply(jp,null,[le,...Z]),()=>Ti(...Z),"translate",le=>Reflect.apply(le.t,le,[...Z]),le=>le,le=>we(le))}function be(...Z){const[le,Ce,Te]=Z;if(Te&&!We(Te))throw Lt(kt.INVALID_ARGUMENT);return j(le,Ce,Et({resolvedMessage:!0},Te||{}))}function xe(...Z){return ie(le=>Reflect.apply(Hp,null,[le,...Z]),()=>Ni(...Z),"datetime format",le=>Reflect.apply(le.d,le,[...Z]),()=>Ap,le=>we(le))}function fe(...Z){return ie(le=>Reflect.apply(qp,null,[le,...Z]),()=>Ri(...Z),"number format",le=>Reflect.apply(le.n,le,[...Z]),()=>Ap,le=>we(le))}function ke(Z){return Z.map(le=>we(le)||$t(le)||Ve(le)?td(String(le)):le)}const ne={normalize:ke,interpolate:Z=>Z,type:"vnode"};function ee(...Z){return ie(le=>{let Ce;const Te=le;try{Te.processor=ne,Ce=Reflect.apply(jp,null,[Te,...Z])}finally{Te.processor=null}return Ce},()=>Ti(...Z),"translate",le=>le[Mi](...Z),le=>[td(le)],le=>pt(le))}function de(...Z){return ie(le=>Reflect.apply(qp,null,[le,...Z]),()=>Ri(...Z),"number format",le=>le[Ii](...Z),nd,le=>we(le)||pt(le))}function Pe(...Z){return ie(le=>Reflect.apply(Hp,null,[le,...Z]),()=>Ni(...Z),"datetime format",le=>le[Fi](...Z),nd,le=>we(le)||pt(le))}function T(Z){C=Z,S.pluralRules=C}function F(Z,le){return ie(()=>{if(!Z)return!1;const Ce=we(le)?le:c.value,Te=Y(Ce),qe=S.messageResolver(Te,Z);return i?qe!=null:wo(qe)||Zt(qe)||we(qe)},()=>[Z],"translate exists",Ce=>Reflect.apply(Ce.te,Ce,[Z,le]),Fv,Ce=>Ve(Ce))}function I(Z){let le=null;const Ce=Lp(S,u.value,c.value);for(let Te=0;Te{l&&(c.value=Z,S.locale=Z,Da(S,c.value,u.value))}),Me(o.fallbackLocale,Z=>{l&&(u.value=Z,S.fallbackLocale=Z,Da(S,c.value,u.value))}));const ce={id:ad,locale:J,fallbackLocale:U,get inheritLocale(){return l},set inheritLocale(Z){l=Z,Z&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Da(S,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:D,get modifiers(){return g},get pluralRules(){return C||{}},get isGlobal(){return a},get missingWarn(){return v},set missingWarn(Z){v=Z,S.missingWarn=v},get fallbackWarn(){return b},set fallbackWarn(Z){b=Z,S.fallbackWarn=b},get fallbackRoot(){return _},set fallbackRoot(Z){_=Z},get fallbackFormat(){return $},set fallbackFormat(Z){$=Z,S.fallbackFormat=$},get warnHtmlMessage(){return p},set warnHtmlMessage(Z){p=Z,S.warnHtmlMessage=Z},get escapeParameter(){return P},set escapeParameter(Z){P=Z,S.escapeParameter=Z},t:j,getLocaleMessage:Y,setLocaleMessage:O,mergeLocaleMessage:ue,getPostTranslationHandler:R,setPostTranslationHandler:z,getMissingHandler:K,setMissingHandler:Q,[Zp]:T};return ce.datetimeFormats=L,ce.numberFormats=y,ce.rt=be,ce.te=F,ce.tm=W,ce.d=xe,ce.n=fe,ce.getDateTimeFormat=te,ce.setDateTimeFormat=k,ce.mergeDateTimeFormat=x,ce.getNumberFormat=B,ce.setNumberFormat=X,ce.mergeNumberFormat=me,ce[Jp]=n,ce[Mi]=ee,ce[Fi]=Pe,ce[Ii]=de,ce}function Ov(e){const t=we(e.locale)?e.locale:Xn,o=we(e.fallbackLocale)||pt(e.fallbackLocale)||Ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ct(e.missing)?e.missing:void 0,a=Ve(e.silentTranslationWarn)||Qo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ve(e.silentFallbackWarn)||Qo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ve(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ge(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ct(e.postTranslation)?e.postTranslation:void 0,d=we(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,A=Ve(e.sync)?e.sync:!0;let v=e.messages;if(Ge(e.sharedMessages)){const P=e.sharedMessages;v=Object.keys(P).reduce((C,S)=>{const G=C[S]||(C[S]={});return Et(G,P[S]),C},v||{})}const{__i18n:b,__root:_,__injectWithOption:$}=e,h=e.datetimeFormats,m=e.numberFormats,w=e.flatJson,p=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:v,flatJson:w,datetimeFormats:h,numberFormats:m,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:A,translateExistCompatible:p,__i18n:b,__root:_,__injectWithOption:$}}function Bi(e={},t){{const o=Di(Ov(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ve(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ve(s)?!s:s},get silentFallbackWarn(){return Ve(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ve(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!we(r))throw Lt(kt.INVALID_ARGUMENT);const f=r;return we(i)?c.locale=i:pt(i)?u=i:Ge(i)&&(d=i),pt(l)?u=l:Ge(l)&&(d=l),Reflect.apply(o.t,o,[f,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!we(r))throw Lt(kt.INVALID_ARGUMENT);const f=r;return we(i)?c.locale=i:$t(i)?c.plural=i:pt(i)?u=i:Ge(i)&&(d=i),we(l)?c.locale=l:pt(l)?u=l:Ge(l)&&(d=l),Reflect.apply(o.t,o,[f,u||d||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Gi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Dv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ue?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},ot())}function rd(e){return Ue}const id=wa({name:"i18n-t",props:Et({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$t(e)||!isNaN(e)}},Gi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(d=>d!=="_"),r=ot();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=we(e.plural)?+e.plural:e.plural);const i=Dv(t,s),l=a[Mi](e.keypath,i,r),c=Et(ot(),n),u=we(e.tag)||We(e.tag)?e.tag:rd();return Pu(u,c,l)}}});function Bv(e){return pt(e)&&!we(e[0])}function ld(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=ot();e.locale&&(r.locale=e.locale),we(e.format)?r.key=e.format:We(e.format)&&(we(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((f,A)=>o.includes(A)?Et(ot(),f,{[A]:e.format[A]}):f,ot()));const l=n(e.value,r,i);let c=[r.key];pt(l)?c=l.map((f,A)=>{const v=a[f.type],b=v?v({[f.type]:f.value,index:A,parts:l}):[f.value];return Bv(b)&&(b[0].key=`${f.type}-${A}`),b}):we(l)&&(c=[l]);const u=Et(ot(),s),d=we(e.tag)||We(e.tag)?e.tag:rd();return Pu(d,u,c)}}const cd=wa({name:"i18n-n",props:Et({value:{type:Number,required:!0},format:{type:[String,Object]}},Gi),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return ld(e,t,Wp,(...n)=>o[Ii](...n))}}),ud=wa({name:"i18n-d",props:Et({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Gi),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return ld(e,t,Vp,(...n)=>o[Fi](...n))}});function Gv(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 jv(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Lt(kt.UNEXPECTED_ERROR);const u=Gv(e,i.$),d=pd(c);return[Reflect.apply(u.t,u,[...dd(d)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Ks&&e.global===c&&(r.__i18nWatcher=Me(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Ks&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=pd(i);r.textContent=Reflect.apply(l.t,l,[...dd(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function pd(e){if(we(e))return{path:e};if(Ge(e)){if(!("path"in e))throw Lt(kt.REQUIRED_VALUE,"path");return e}else throw Lt(kt.INVALID_VALUE)}function dd(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return we(o)&&(r.locale=o),$t(a)&&(r.plural=a),$t(s)&&(r.plural=s),[t,i,r]}function Uv(e,t,...o){const n=Ge(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ve(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":id.name,"I18nT"].forEach(r=>e.component(r,id)),[cd.name,"I18nN"].forEach(r=>e.component(r,cd)),[ud.name,"I18nD"].forEach(r=>e.component(r,ud))),e.directive("t",jv(t))}function zv(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw Lt(kt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=gd(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Bi(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=gd(e,a);else{this.$i18n=Bi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&ed(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw Lt(kt.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 gd(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[Zp](t.pluralizationRules||e.pluralizationRules);const o=er(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 Hv=Jo("global-vue-i18n");function Vv(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ve(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ve(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=Kv(e,o),l=Jo("");function c(f){return s.get(f)||null}function u(f,A){s.set(f,A)}function d(f){s.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(A,...v){if(A.__VUE_I18N_SYMBOL__=l,A.provide(A.__VUE_I18N_SYMBOL__,f),Ge(v[0])){const $=v[0];f.__composerExtend=$.__composerExtend,f.__vueI18nExtend=$.__vueI18nExtend}let b=null;!o&&n&&(b=t1(A,f.global)),__VUE_I18N_FULL_INSTALL__&&Uv(A,f,...v),__VUE_I18N_LEGACY_API__&&o&&A.mixin(zv(i,i.__composer,f));const _=A.unmount;A.unmount=()=>{b&&b(),f.dispose(),_()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return f}}function bt(e={}){const t=ko();if(t==null)throw Lt(kt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Lt(kt.NOT_INSTALLED);const o=qv(t),n=Yv(o),a=Qp(t),s=Wv(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Lt(kt.NOT_AVAILABLE_IN_LEGACY_MODE);return Qv(t,s,n,e)}if(s==="global")return ed(n,e,a),n;if(s==="parent"){let l=Xv(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Et({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Di(l),r.__composerExtend&&(i[Oi]=r.__composerExtend(i)),Jv(r,t,i),r.__setInstance(t,i)}return i}function Kv(e,t,o){const n=Fr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Bi(e)):n.run(()=>Di(e));if(a==null)throw Lt(kt.UNEXPECTED_ERROR);return[n,a]}}function qv(e){{const t=Ne(e.isCE?Hv:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Lt(e.isCE?kt.NOT_INSTALLED_WITH_PROVIDE:kt.UNEXPECTED_ERROR);return t}}function Wv(e,t){return qs(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Yv(e){return e.mode==="composition"?e.global:e.global.__composer}function Xv(e,t,o=!1){let n=null;const a=t.root;let s=Zv(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Jp]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Zv(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Jv(e,t,o){$o(()=>{},t),Ts(()=>{const n=o;e.__deleteInstance(t);const a=n[Oi];a&&(a(),delete n[Oi])},t)}function Qv(e,t,o,n={}){const a=t==="local",s=$a(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Lt(kt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ve(n.inheritLocale)?n.inheritLocale:!we(n.locale),i=he(!a||r?o.locale.value:we(n.locale)?n.locale:Xn),l=he(!a||r?o.fallbackLocale.value:we(n.fallbackLocale)||pt(n.fallbackLocale)||Ge(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=he(er(i.value,n)),u=he(Ge(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=he(Ge(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:Ve(n.missingWarn)||Qo(n.missingWarn)?n.missingWarn:!0,A=a?o.fallbackWarn:Ve(n.fallbackWarn)||Qo(n.fallbackWarn)?n.fallbackWarn:!0,v=a?o.fallbackRoot:Ve(n.fallbackRoot)?n.fallbackRoot:!0,b=!!n.fallbackFormat,_=ct(n.missing)?n.missing:null,$=ct(n.postTranslation)?n.postTranslation:null,h=a?o.warnHtmlMessage:Ve(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,w=a?o.modifiers:Ge(n.modifiers)?n.modifiers:{},p=n.pluralRules||a&&o.pluralRules;function P(){return[i.value,l.value,c.value,u.value,d.value]}const g=oe({get:()=>s.value?s.value.locale.value:i.value,set:I=>{s.value&&(s.value.locale.value=I),i.value=I}}),C=oe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:I=>{s.value&&(s.value.fallbackLocale.value=I),l.value=I}}),S=oe(()=>s.value?s.value.messages.value:c.value),G=oe(()=>u.value),H=oe(()=>d.value);function J(){return s.value?s.value.getPostTranslationHandler():$}function U(I){s.value&&s.value.setPostTranslationHandler(I)}function D(){return s.value?s.value.getMissingHandler():_}function L(I){s.value&&s.value.setMissingHandler(I)}function y(I){return P(),I()}function R(...I){return s.value?y(()=>Reflect.apply(s.value.t,null,[...I])):y(()=>"")}function z(...I){return s.value?Reflect.apply(s.value.rt,null,[...I]):""}function K(...I){return s.value?y(()=>Reflect.apply(s.value.d,null,[...I])):y(()=>"")}function Q(...I){return s.value?y(()=>Reflect.apply(s.value.n,null,[...I])):y(()=>"")}function ie(I){return s.value?s.value.tm(I):{}}function j(I,W){return s.value?s.value.te(I,W):!1}function be(I){return s.value?s.value.getLocaleMessage(I):{}}function xe(I,W){s.value&&(s.value.setLocaleMessage(I,W),c.value[I]=W)}function fe(I,W){s.value&&s.value.mergeLocaleMessage(I,W)}function ke(I){return s.value?s.value.getDateTimeFormat(I):{}}function $e(I,W){s.value&&(s.value.setDateTimeFormat(I,W),u.value[I]=W)}function ne(I,W){s.value&&s.value.mergeDateTimeFormat(I,W)}function ee(I){return s.value?s.value.getNumberFormat(I):{}}function de(I,W){s.value&&(s.value.setNumberFormat(I,W),d.value[I]=W)}function Pe(I,W){s.value&&s.value.mergeNumberFormat(I,W)}const T={get id(){return s.value?s.value.id:-1},locale:g,fallbackLocale:C,messages:S,datetimeFormats:G,numberFormats:H,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(I){s.value&&(s.value.inheritLocale=I)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:w},get pluralRules(){return s.value?s.value.pluralRules:p},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:f},set missingWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackWarn(){return s.value?s.value.fallbackWarn:A},set fallbackWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackRoot(){return s.value?s.value.fallbackRoot:v},set fallbackRoot(I){s.value&&(s.value.fallbackRoot=I)},get fallbackFormat(){return s.value?s.value.fallbackFormat:b},set fallbackFormat(I){s.value&&(s.value.fallbackFormat=I)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:h},set warnHtmlMessage(I){s.value&&(s.value.warnHtmlMessage=I)},get escapeParameter(){return s.value?s.value.escapeParameter:m},set escapeParameter(I){s.value&&(s.value.escapeParameter=I)},t:R,getPostTranslationHandler:J,setPostTranslationHandler:U,getMissingHandler:D,setMissingHandler:L,rt:z,d:K,n:Q,tm:ie,te:j,getLocaleMessage:be,setLocaleMessage:xe,mergeLocaleMessage:fe,getDateTimeFormat:ke,setDateTimeFormat:$e,mergeDateTimeFormat:ne,getNumberFormat:ee,setNumberFormat:de,mergeNumberFormat:Pe};function F(I){I.locale.value=i.value,I.fallbackLocale.value=l.value,Object.keys(c.value).forEach(W=>{I.mergeLocaleMessage(W,c.value[W])}),Object.keys(u.value).forEach(W=>{I.mergeDateTimeFormat(W,u.value[W])}),Object.keys(d.value).forEach(W=>{I.mergeNumberFormat(W,d.value[W])}),I.escapeParameter=m,I.fallbackFormat=b,I.fallbackRoot=v,I.fallbackWarn=A,I.missingWarn=f,I.warnHtmlMessage=h}return Vc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Lt(kt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const I=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=I.locale.value,l.value=I.fallbackLocale.value,c.value=I.messages.value,u.value=I.datetimeFormats.value,d.value=I.numberFormats.value):a&&F(I)}),T}const e1=["locale","fallbackLocale","availableLocales"],fd=["t","rt","d","n","tm","te"];function t1(e,t){const o=Object.create(null);return e1.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Lt(kt.UNEXPECTED_ERROR);const r=ut(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,fd.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Lt(kt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,fd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Rv(),__INTLIFY_JIT_COMPILATION__?Ep(Av):Ep(Sv),bv(Z0),$v(Lp),__INTLIFY_PROD_DEVTOOLS__){const e=Go();e.__INTLIFY__=!0,rv(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const o1=Object.assign({"./locales/ar/allPeopleGroups.json":ab,"./locales/ar/aria.json":sb,"./locales/ar/buttons.json":rb,"./locales/ar/connectivity.json":ib,"./locales/ar/controls.json":lb,"./locales/ar/dashboard.json":cb,"./locales/ar/detail.json":ub,"./locales/ar/gospel.json":pb,"./locales/ar/grid.json":db,"./locales/ar/legend.json":gb,"./locales/ar/messages.json":fb,"./locales/ar/options.json":hb,"./locales/ar/popup.json":mb,"./locales/ar/prayerLaps.json":bb,"./locales/ar/regions.json":$b,"./locales/ar/search.json":yb,"./locales/ar/studio.json":_b,"./locales/ar/tabs.json":vb,"./locales/ar/vision.json":kb,"./locales/de/allPeopleGroups.json":wb,"./locales/de/aria.json":xb,"./locales/de/buttons.json":Lb,"./locales/de/connectivity.json":Sb,"./locales/de/controls.json":Ab,"./locales/de/dashboard.json":Pb,"./locales/de/detail.json":Cb,"./locales/de/gospel.json":Eb,"./locales/de/grid.json":Tb,"./locales/de/legend.json":Nb,"./locales/de/messages.json":Rb,"./locales/de/options.json":Mb,"./locales/de/popup.json":Fb,"./locales/de/prayerLaps.json":Ib,"./locales/de/regions.json":Ob,"./locales/de/search.json":Db,"./locales/de/studio.json":Bb,"./locales/de/tabs.json":Gb,"./locales/de/vision.json":jb,"./locales/en/allPeopleGroups.json":Ub,"./locales/en/aria.json":zb,"./locales/en/buttons.json":Hb,"./locales/en/connectivity.json":Vb,"./locales/en/controls.json":Kb,"./locales/en/dashboard.json":qb,"./locales/en/detail.json":Wb,"./locales/en/gospel.json":Yb,"./locales/en/grid.json":Xb,"./locales/en/legend.json":Zb,"./locales/en/messages.json":Jb,"./locales/en/options.json":Qb,"./locales/en/popup.json":e$,"./locales/en/prayerLaps.json":t$,"./locales/en/regions.json":o$,"./locales/en/search.json":n$,"./locales/en/studio.json":a$,"./locales/en/tabs.json":s$,"./locales/en/vision.json":r$,"./locales/es/allPeopleGroups.json":i$,"./locales/es/aria.json":l$,"./locales/es/buttons.json":c$,"./locales/es/connectivity.json":u$,"./locales/es/controls.json":p$,"./locales/es/dashboard.json":d$,"./locales/es/detail.json":g$,"./locales/es/gospel.json":f$,"./locales/es/grid.json":h$,"./locales/es/legend.json":m$,"./locales/es/messages.json":b$,"./locales/es/options.json":$$,"./locales/es/popup.json":y$,"./locales/es/prayerLaps.json":_$,"./locales/es/regions.json":v$,"./locales/es/search.json":k$,"./locales/es/studio.json":w$,"./locales/es/tabs.json":x$,"./locales/es/vision.json":L$,"./locales/fr/allPeopleGroups.json":S$,"./locales/fr/aria.json":A$,"./locales/fr/buttons.json":P$,"./locales/fr/connectivity.json":C$,"./locales/fr/controls.json":E$,"./locales/fr/dashboard.json":T$,"./locales/fr/detail.json":N$,"./locales/fr/gospel.json":R$,"./locales/fr/grid.json":M$,"./locales/fr/legend.json":F$,"./locales/fr/messages.json":I$,"./locales/fr/options.json":O$,"./locales/fr/popup.json":D$,"./locales/fr/prayerLaps.json":B$,"./locales/fr/regions.json":G$,"./locales/fr/search.json":j$,"./locales/fr/studio.json":U$,"./locales/fr/tabs.json":z$,"./locales/fr/vision.json":H$,"./locales/hi/allPeopleGroups.json":V$,"./locales/hi/aria.json":K$,"./locales/hi/buttons.json":q$,"./locales/hi/connectivity.json":W$,"./locales/hi/controls.json":Y$,"./locales/hi/dashboard.json":X$,"./locales/hi/detail.json":Z$,"./locales/hi/gospel.json":J$,"./locales/hi/grid.json":Q$,"./locales/hi/legend.json":ey,"./locales/hi/messages.json":ty,"./locales/hi/options.json":oy,"./locales/hi/popup.json":ny,"./locales/hi/prayerLaps.json":ay,"./locales/hi/regions.json":sy,"./locales/hi/search.json":ry,"./locales/hi/studio.json":iy,"./locales/hi/tabs.json":ly,"./locales/hi/vision.json":cy,"./locales/it/allPeopleGroups.json":uy,"./locales/it/aria.json":py,"./locales/it/buttons.json":dy,"./locales/it/connectivity.json":gy,"./locales/it/controls.json":fy,"./locales/it/dashboard.json":hy,"./locales/it/detail.json":my,"./locales/it/gospel.json":by,"./locales/it/grid.json":$y,"./locales/it/legend.json":yy,"./locales/it/messages.json":_y,"./locales/it/options.json":vy,"./locales/it/popup.json":ky,"./locales/it/prayerLaps.json":wy,"./locales/it/regions.json":xy,"./locales/it/search.json":Ly,"./locales/it/studio.json":Sy,"./locales/it/tabs.json":Ay,"./locales/it/vision.json":Py,"./locales/pt/allPeopleGroups.json":Cy,"./locales/pt/aria.json":Ey,"./locales/pt/buttons.json":Ty,"./locales/pt/connectivity.json":Ny,"./locales/pt/controls.json":Ry,"./locales/pt/dashboard.json":My,"./locales/pt/detail.json":Fy,"./locales/pt/gospel.json":Iy,"./locales/pt/grid.json":Oy,"./locales/pt/legend.json":Dy,"./locales/pt/messages.json":By,"./locales/pt/options.json":Gy,"./locales/pt/popup.json":jy,"./locales/pt/prayerLaps.json":Uy,"./locales/pt/regions.json":zy,"./locales/pt/search.json":Hy,"./locales/pt/studio.json":Vy,"./locales/pt/tabs.json":Ky,"./locales/pt/vision.json":qy,"./locales/ro/allPeopleGroups.json":Wy,"./locales/ro/aria.json":Yy,"./locales/ro/buttons.json":Xy,"./locales/ro/connectivity.json":Zy,"./locales/ro/controls.json":Jy,"./locales/ro/dashboard.json":Qy,"./locales/ro/detail.json":e_,"./locales/ro/gospel.json":t_,"./locales/ro/grid.json":o_,"./locales/ro/legend.json":n_,"./locales/ro/messages.json":a_,"./locales/ro/options.json":s_,"./locales/ro/popup.json":r_,"./locales/ro/prayerLaps.json":i_,"./locales/ro/regions.json":l_,"./locales/ro/search.json":c_,"./locales/ro/studio.json":u_,"./locales/ro/tabs.json":p_,"./locales/ro/vision.json":d_,"./locales/ru/allPeopleGroups.json":g_,"./locales/ru/aria.json":f_,"./locales/ru/buttons.json":h_,"./locales/ru/connectivity.json":m_,"./locales/ru/controls.json":b_,"./locales/ru/dashboard.json":$_,"./locales/ru/detail.json":y_,"./locales/ru/gospel.json":__,"./locales/ru/grid.json":v_,"./locales/ru/legend.json":k_,"./locales/ru/messages.json":w_,"./locales/ru/options.json":x_,"./locales/ru/popup.json":L_,"./locales/ru/prayerLaps.json":S_,"./locales/ru/regions.json":A_,"./locales/ru/search.json":P_,"./locales/ru/studio.json":C_,"./locales/ru/tabs.json":E_,"./locales/ru/vision.json":T_,"./locales/zh/allPeopleGroups.json":N_,"./locales/zh/aria.json":R_,"./locales/zh/buttons.json":M_,"./locales/zh/connectivity.json":F_,"./locales/zh/controls.json":I_,"./locales/zh/dashboard.json":O_,"./locales/zh/detail.json":D_,"./locales/zh/gospel.json":B_,"./locales/zh/grid.json":G_,"./locales/zh/legend.json":j_,"./locales/zh/messages.json":U_,"./locales/zh/options.json":z_,"./locales/zh/popup.json":H_,"./locales/zh/prayerLaps.json":V_,"./locales/zh/regions.json":K_,"./locales/zh/search.json":q_,"./locales/zh/studio.json":W_,"./locales/zh/tabs.json":Y_,"./locales/zh/vision.json":X_}),_n={};for(const[e,t]of Object.entries(o1)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;_n[n]??(_n[n]={}),_n[n][a]=t}_n.en;const Ga=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],hd=new Set(["ar"]);function n1(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function md(){var n;const e=n1();if(Ga.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ga.includes(o)?o:"en"}function a1(){const e=md();try{hd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Vv({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:_n,missingWarn:!1,fallbackWarn:!1});Me(t.global.locale,n=>$d(n),{immediate:!0});const o=t.install.bind(t);return t.install=(n,...a)=>{const s=o(n,...a);return n.provide("appI18n",t),s},t}const bd="__DOXA_PAGE_LOCALE";function $d(e){const t=String(e||"").split("-")[0].toLowerCase();if(Ga.includes(t))try{typeof window<"u"&&(window[bd]=t)}catch{}}function s1(){try{return typeof window<"u"&&window[bd]||""}catch{return""}}function ja(e,t){const o=a=>{let s=_n[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||s1()||md();return o(n)??o("en")}function wt(e,t){const o=t||r1(e);$o(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function r1(e){let t=0;for(let o=0;ot[C]||C,n=()=>!1;try{const C=bt();o=C.t,n=C.te}catch{}const a=Ne("uiStore",null),s=Ne("profileConfig",null),r=oe(()=>(a==null?void 0:a.theme)==="dark"),i=oe(()=>{var G;const C=(G=s==null?void 0:s.value)==null?void 0:G.pinHintLabel;if(C)return C;const S="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?o("messages.pinHint.tapDot"):S}catch{return S}}),l=he(!1),c=he(null);let u=null,d=null,f=null,A=null,v=null,b=null,_=[],$=null,h=null;function m(){l.value=!1}function w(C,S){var H;let G=C==null?void 0:C.parentElement;for(let J=0;G&&J<12;J++,G=G.parentElement){if(G===S||(H=G.classList)!=null&&H.contains("profile-loader"))return null;let U="";try{U=getComputedStyle(G).position}catch{}if(U&&U!=="static"){const D=G.getBoundingClientRect();if(D.height>=120&&D.width>=160)return G}}return null}function p(C){var G;const S=(G=A==null?void 0:A.querySelector)==null?void 0:G.call(A,".legend-mobile-sheet");if(!S)return 1/0;if(v&&b!==S){try{v.disconnect()}catch{}v=null}if(!v&&typeof ResizeObserver<"u")try{v=new ResizeObserver(()=>P()),v.observe(S),b=S}catch{v=null}try{const H=S.getBoundingClientRect();return!(H.height>16)||!(H.width>16)||C.right<=H.left||H.right<=C.left?1/0:H.top}catch{return 1/0}}function P(){const C=c.value;if(C)try{C.style.removeProperty("--pin-hint-lift");const S=C.getBoundingClientRect();if(!S.height)return;const G=Math.min(window.innerHeight,p(S)),H=Math.round(S.bottom-G);H>0&&C.style.setProperty("--pin-hint-lift",H+8+"px")}catch{}}function g(C){const S=c.value;if(!S||!(C!=null&&C.querySelector))return;let G=0;try{const J=C.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(J){const U=J.getBoundingClientRect(),D=S.parentElement,L=D?D.getBoundingClientRect():null;if(G=L?Math.max(U.height||0,L.bottom-U.top):U.height||0,h!==J&&typeof ResizeObserver<"u"){if(f)try{f.disconnect()}catch{}h=J,f=new ResizeObserver(()=>g(C)),f.observe(J)}}}catch{}const H=Math.min(Math.max(Math.ceil(G)||20,20),72);S.style.setProperty("--pin-hint-attrib-clear",H+"px"),P()}return $o(()=>{var H,J,U;const C=ko(),S=(U=(J=(H=C==null?void 0:C.proxy)==null?void 0:H.$el)==null?void 0:J.getRootNode)==null?void 0:U.call(J);if(!S||typeof S.querySelector!="function")return;A=S;let G=0;u=setInterval(()=>{G++;const D=S.querySelector("canvas");D?(clearInterval(u),u=null,l.value=!0,It(()=>{const L=w(D,S),y=c.value;if(L&&y&&y.parentElement!==L)try{L.appendChild(y),d=L}catch{}g(S),P(),_.push(setTimeout(P,1200),setTimeout(P,3e3),setTimeout(P,6e3));try{const R=c.value&&c.value.offsetParent||null;if(R&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}$=new ResizeObserver(()=>P()),$.observe(R)}}catch{}})):G>40&&(clearInterval(u),u=null)},300)}),Xt(()=>{var C;if(u&&clearInterval(u),f){try{f.disconnect()}catch{}f=null}if(h=null,$){try{$.disconnect()}catch{}$=null}if(v){try{v.disconnect()}catch{}v=null}b=null;for(const S of _)clearTimeout(S);if(_=[],A=null,d&&((C=c.value)==null?void 0:C.parentElement)===d)try{d.removeChild(c.value)}catch{}d=null}),wt(` + */const Nv="9.14.5";function Mv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Go().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Go().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Go().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Go().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Go().__INTLIFY_PROD_DEVTOOLS__=!1)}const Rv=pv.__EXTEND_POINT__,Uo=Ws(Rv);Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo(),Uo();const Xp=lo.__EXTEND_POINT__,Ut=Ws(Xp),kt={UNEXPECTED_RETURN_TYPE:Xp,INVALID_ARGUMENT:Ut(),MUST_BE_CALL_SETUP_TOP:Ut(),NOT_INSTALLED:Ut(),NOT_AVAILABLE_IN_LEGACY_MODE:Ut(),REQUIRED_VALUE:Ut(),INVALID_VALUE:Ut(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ut(),NOT_INSTALLED_WITH_PROVIDE:Ut(),UNEXPECTED_ERROR:Ut(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ut(),BRIDGE_SUPPORT_VUE_2_ONLY:Ut(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ut(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ut(),__EXTEND_POINT__:Ut()};function Lt(e,...t){return qn(e,null,void 0)}const Ri=Jo("__translateVNode"),Fi=Jo("__datetimeParts"),Ii=Jo("__numberParts"),Zp=Jo("__setPluralRules"),Jp=Jo("__injectWithOption"),Oi=Jo("__dispose");function Ba(e){if(!We(e)||wo(e))return e;for(const t in e)if(ro(e,t))if(!t.includes("."))We(e[t])&&Ba(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||ot(),Xs(c,r[l])):Xs(c,r)}else we(i)&&Xs(JSON.parse(i),r)}),a==null&&s)for(const i in r)ro(r,i)&&Ba(r[i]);return r}function Qp(e){return e.type}function ed(e,t,o){let n=We(t.messages)?t.messages:ot();"__i18nGlobal"in o&&(n=er(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(We(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(We(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function td(e){return tt(Aa,null,e,0)}const od="__INTLIFY_META__",nd=()=>[],Fv=()=>!1;let ad=0;function sd(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Iv=()=>{const e=ko();let t=null;return e&&(t=Qp(e)[od])?{[od]:t}:null};function Di(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=Ks?he:$a,i=!!e.translateExistCompatible;let l=Ve(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:we(e.locale)?e.locale:Xn),u=r(o&&l?o.fallbackLocale.value:we(e.fallbackLocale)||pt(e.fallbackLocale)||Ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=r(er(c.value,e)),f=r(Ge(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),A=r(Ge(e.numberFormats)?e.numberFormats:{[c.value]:{}});let v=o?o.missingWarn:Ve(e.missingWarn)||Qo(e.missingWarn)?e.missingWarn:!0,b=o?o.fallbackWarn:Ve(e.fallbackWarn)||Qo(e.fallbackWarn)?e.fallbackWarn:!0,_=o?o.fallbackRoot:Ve(e.fallbackRoot)?e.fallbackRoot:!0,$=!!e.fallbackFormat,h=ct(e.missing)?e.missing:null,m=ct(e.missing)?sd(e.missing):null,w=ct(e.postTranslation)?e.postTranslation:null,p=o?o.warnHtmlMessage:Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,P=!!e.escapeParameter;const g=o?o.modifiers:Ge(e.modifiers)?e.modifiers:{};let C=e.pluralRules||o&&o.pluralRules,S;S=(()=>{a&&Fp(null);const Z={version:Nv,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:g,pluralRules:C,missing:m===null?void 0:m,missingWarn:v,fallbackWarn:b,fallbackFormat:$,unresolving:!0,postTranslation:w===null?void 0:w,warnHtmlMessage:p,escapeParameter:P,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};Z.datetimeFormats=f.value,Z.numberFormats=A.value,Z.__datetimeFormatters=Ge(S)?S.__datetimeFormatters:void 0,Z.__numberFormatters=Ge(S)?S.__numberFormatters:void 0;const le=kv(Z);return a&&Fp(le),le})(),Da(S,c.value,u.value);function H(){return[c.value,u.value,d.value,f.value,A.value]}const J=oe({get:()=>c.value,set:Z=>{c.value=Z,S.locale=c.value}}),U=oe({get:()=>u.value,set:Z=>{u.value=Z,S.fallbackLocale=u.value,Da(S,c.value,Z)}}),D=oe(()=>d.value),L=oe(()=>f.value),y=oe(()=>A.value);function M(){return ct(w)?w:null}function z(Z){w=Z,S.postTranslation=Z}function K(){return h}function Q(Z){Z!==null&&(m=sd(Z)),h=Z,S.missing=m}const ie=(Z,le,Ce,Te,qe,nt)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=o?vv():void 0),Qe=Z(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(Ce!=="translate exists"&&$t(Qe)&&Qe===Qs||Ce==="translate exists"&&!Qe){const[V,se]=le();return o&&_?Te(o):qe(V)}else{if(nt(Qe))return Qe;throw Lt(kt.UNEXPECTED_RETURN_TYPE)}};function j(...Z){return ie(le=>Reflect.apply(jp,null,[le,...Z]),()=>Ti(...Z),"translate",le=>Reflect.apply(le.t,le,[...Z]),le=>le,le=>we(le))}function be(...Z){const[le,Ce,Te]=Z;if(Te&&!We(Te))throw Lt(kt.INVALID_ARGUMENT);return j(le,Ce,Et({resolvedMessage:!0},Te||{}))}function xe(...Z){return ie(le=>Reflect.apply(Hp,null,[le,...Z]),()=>Ni(...Z),"datetime format",le=>Reflect.apply(le.d,le,[...Z]),()=>Ap,le=>we(le))}function fe(...Z){return ie(le=>Reflect.apply(qp,null,[le,...Z]),()=>Mi(...Z),"number format",le=>Reflect.apply(le.n,le,[...Z]),()=>Ap,le=>we(le))}function ke(Z){return Z.map(le=>we(le)||$t(le)||Ve(le)?td(String(le)):le)}const ne={normalize:ke,interpolate:Z=>Z,type:"vnode"};function ee(...Z){return ie(le=>{let Ce;const Te=le;try{Te.processor=ne,Ce=Reflect.apply(jp,null,[Te,...Z])}finally{Te.processor=null}return Ce},()=>Ti(...Z),"translate",le=>le[Ri](...Z),le=>[td(le)],le=>pt(le))}function de(...Z){return ie(le=>Reflect.apply(qp,null,[le,...Z]),()=>Mi(...Z),"number format",le=>le[Ii](...Z),nd,le=>we(le)||pt(le))}function Pe(...Z){return ie(le=>Reflect.apply(Hp,null,[le,...Z]),()=>Ni(...Z),"datetime format",le=>le[Fi](...Z),nd,le=>we(le)||pt(le))}function T(Z){C=Z,S.pluralRules=C}function F(Z,le){return ie(()=>{if(!Z)return!1;const Ce=we(le)?le:c.value,Te=Y(Ce),qe=S.messageResolver(Te,Z);return i?qe!=null:wo(qe)||Zt(qe)||we(qe)},()=>[Z],"translate exists",Ce=>Reflect.apply(Ce.te,Ce,[Z,le]),Fv,Ce=>Ve(Ce))}function I(Z){let le=null;const Ce=Lp(S,u.value,c.value);for(let Te=0;Te{l&&(c.value=Z,S.locale=Z,Da(S,c.value,u.value))}),Re(o.fallbackLocale,Z=>{l&&(u.value=Z,S.fallbackLocale=Z,Da(S,c.value,u.value))}));const ce={id:ad,locale:J,fallbackLocale:U,get inheritLocale(){return l},set inheritLocale(Z){l=Z,Z&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Da(S,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:D,get modifiers(){return g},get pluralRules(){return C||{}},get isGlobal(){return a},get missingWarn(){return v},set missingWarn(Z){v=Z,S.missingWarn=v},get fallbackWarn(){return b},set fallbackWarn(Z){b=Z,S.fallbackWarn=b},get fallbackRoot(){return _},set fallbackRoot(Z){_=Z},get fallbackFormat(){return $},set fallbackFormat(Z){$=Z,S.fallbackFormat=$},get warnHtmlMessage(){return p},set warnHtmlMessage(Z){p=Z,S.warnHtmlMessage=Z},get escapeParameter(){return P},set escapeParameter(Z){P=Z,S.escapeParameter=Z},t:j,getLocaleMessage:Y,setLocaleMessage:O,mergeLocaleMessage:ue,getPostTranslationHandler:M,setPostTranslationHandler:z,getMissingHandler:K,setMissingHandler:Q,[Zp]:T};return ce.datetimeFormats=L,ce.numberFormats=y,ce.rt=be,ce.te=F,ce.tm=W,ce.d=xe,ce.n=fe,ce.getDateTimeFormat=te,ce.setDateTimeFormat=k,ce.mergeDateTimeFormat=x,ce.getNumberFormat=B,ce.setNumberFormat=X,ce.mergeNumberFormat=me,ce[Jp]=n,ce[Ri]=ee,ce[Fi]=Pe,ce[Ii]=de,ce}function Ov(e){const t=we(e.locale)?e.locale:Xn,o=we(e.fallbackLocale)||pt(e.fallbackLocale)||Ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ct(e.missing)?e.missing:void 0,a=Ve(e.silentTranslationWarn)||Qo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ve(e.silentFallbackWarn)||Qo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ve(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ge(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ct(e.postTranslation)?e.postTranslation:void 0,d=we(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,A=Ve(e.sync)?e.sync:!0;let v=e.messages;if(Ge(e.sharedMessages)){const P=e.sharedMessages;v=Object.keys(P).reduce((C,S)=>{const G=C[S]||(C[S]={});return Et(G,P[S]),C},v||{})}const{__i18n:b,__root:_,__injectWithOption:$}=e,h=e.datetimeFormats,m=e.numberFormats,w=e.flatJson,p=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:v,flatJson:w,datetimeFormats:h,numberFormats:m,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:A,translateExistCompatible:p,__i18n:b,__root:_,__injectWithOption:$}}function Bi(e={},t){{const o=Di(Ov(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ve(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ve(s)?!s:s},get silentFallbackWarn(){return Ve(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ve(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,d=null;if(!we(r))throw Lt(kt.INVALID_ARGUMENT);const f=r;return we(i)?c.locale=i:pt(i)?u=i:Ge(i)&&(d=i),pt(l)?u=l:Ge(l)&&(d=l),Reflect.apply(o.t,o,[f,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,d=null;if(!we(r))throw Lt(kt.INVALID_ARGUMENT);const f=r;return we(i)?c.locale=i:$t(i)?c.plural=i:pt(i)?u=i:Ge(i)&&(d=i),we(l)?c.locale=l:pt(l)?u=l:Ge(l)&&(d=l),Reflect.apply(o.t,o,[f,u||d||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Gi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Dv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ue?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},ot())}function rd(e){return Ue}const id=wa({name:"i18n-t",props:Et({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$t(e)||!isNaN(e)}},Gi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(d=>d!=="_"),r=ot();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=we(e.plural)?+e.plural:e.plural);const i=Dv(t,s),l=a[Ri](e.keypath,i,r),c=Et(ot(),n),u=we(e.tag)||We(e.tag)?e.tag:rd();return Pu(u,c,l)}}});function Bv(e){return pt(e)&&!we(e[0])}function ld(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=ot();e.locale&&(r.locale=e.locale),we(e.format)?r.key=e.format:We(e.format)&&(we(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((f,A)=>o.includes(A)?Et(ot(),f,{[A]:e.format[A]}):f,ot()));const l=n(e.value,r,i);let c=[r.key];pt(l)?c=l.map((f,A)=>{const v=a[f.type],b=v?v({[f.type]:f.value,index:A,parts:l}):[f.value];return Bv(b)&&(b[0].key=`${f.type}-${A}`),b}):we(l)&&(c=[l]);const u=Et(ot(),s),d=we(e.tag)||We(e.tag)?e.tag:rd();return Pu(d,u,c)}}const cd=wa({name:"i18n-n",props:Et({value:{type:Number,required:!0},format:{type:[String,Object]}},Gi),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return ld(e,t,Wp,(...n)=>o[Ii](...n))}}),ud=wa({name:"i18n-d",props:Et({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Gi),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return ld(e,t,Vp,(...n)=>o[Fi](...n))}});function Gv(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 jv(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Lt(kt.UNEXPECTED_ERROR);const u=Gv(e,i.$),d=pd(c);return[Reflect.apply(u.t,u,[...dd(d)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Ks&&e.global===c&&(r.__i18nWatcher=Re(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Ks&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=pd(i);r.textContent=Reflect.apply(l.t,l,[...dd(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function pd(e){if(we(e))return{path:e};if(Ge(e)){if(!("path"in e))throw Lt(kt.REQUIRED_VALUE,"path");return e}else throw Lt(kt.INVALID_VALUE)}function dd(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return we(o)&&(r.locale=o),$t(a)&&(r.plural=a),$t(s)&&(r.plural=s),[t,i,r]}function Uv(e,t,...o){const n=Ge(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ve(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":id.name,"I18nT"].forEach(r=>e.component(r,id)),[cd.name,"I18nN"].forEach(r=>e.component(r,cd)),[ud.name,"I18nD"].forEach(r=>e.component(r,ud))),e.directive("t",jv(t))}function zv(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw Lt(kt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=gd(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Bi(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=gd(e,a);else{this.$i18n=Bi({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&ed(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw Lt(kt.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 gd(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[Zp](t.pluralizationRules||e.pluralizationRules);const o=er(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 Hv=Jo("global-vue-i18n");function Vv(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ve(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ve(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=Kv(e,o),l=Jo("");function c(f){return s.get(f)||null}function u(f,A){s.set(f,A)}function d(f){s.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(A,...v){if(A.__VUE_I18N_SYMBOL__=l,A.provide(A.__VUE_I18N_SYMBOL__,f),Ge(v[0])){const $=v[0];f.__composerExtend=$.__composerExtend,f.__vueI18nExtend=$.__vueI18nExtend}let b=null;!o&&n&&(b=t1(A,f.global)),__VUE_I18N_FULL_INSTALL__&&Uv(A,f,...v),__VUE_I18N_LEGACY_API__&&o&&A.mixin(zv(i,i.__composer,f));const _=A.unmount;A.unmount=()=>{b&&b(),f.dispose(),_()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:d};return f}}function bt(e={}){const t=ko();if(t==null)throw Lt(kt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Lt(kt.NOT_INSTALLED);const o=qv(t),n=Yv(o),a=Qp(t),s=Wv(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Lt(kt.NOT_AVAILABLE_IN_LEGACY_MODE);return Qv(t,s,n,e)}if(s==="global")return ed(n,e,a),n;if(s==="parent"){let l=Xv(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Et({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Di(l),r.__composerExtend&&(i[Oi]=r.__composerExtend(i)),Jv(r,t,i),r.__setInstance(t,i)}return i}function Kv(e,t,o){const n=Fr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Bi(e)):n.run(()=>Di(e));if(a==null)throw Lt(kt.UNEXPECTED_ERROR);return[n,a]}}function qv(e){{const t=Ne(e.isCE?Hv:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Lt(e.isCE?kt.NOT_INSTALLED_WITH_PROVIDE:kt.UNEXPECTED_ERROR);return t}}function Wv(e,t){return qs(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Yv(e){return e.mode==="composition"?e.global:e.global.__composer}function Xv(e,t,o=!1){let n=null;const a=t.root;let s=Zv(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Jp]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function Zv(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Jv(e,t,o){$o(()=>{},t),Ts(()=>{const n=o;e.__deleteInstance(t);const a=n[Oi];a&&(a(),delete n[Oi])},t)}function Qv(e,t,o,n={}){const a=t==="local",s=$a(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Lt(kt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ve(n.inheritLocale)?n.inheritLocale:!we(n.locale),i=he(!a||r?o.locale.value:we(n.locale)?n.locale:Xn),l=he(!a||r?o.fallbackLocale.value:we(n.fallbackLocale)||pt(n.fallbackLocale)||Ge(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=he(er(i.value,n)),u=he(Ge(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=he(Ge(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:Ve(n.missingWarn)||Qo(n.missingWarn)?n.missingWarn:!0,A=a?o.fallbackWarn:Ve(n.fallbackWarn)||Qo(n.fallbackWarn)?n.fallbackWarn:!0,v=a?o.fallbackRoot:Ve(n.fallbackRoot)?n.fallbackRoot:!0,b=!!n.fallbackFormat,_=ct(n.missing)?n.missing:null,$=ct(n.postTranslation)?n.postTranslation:null,h=a?o.warnHtmlMessage:Ve(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,w=a?o.modifiers:Ge(n.modifiers)?n.modifiers:{},p=n.pluralRules||a&&o.pluralRules;function P(){return[i.value,l.value,c.value,u.value,d.value]}const g=oe({get:()=>s.value?s.value.locale.value:i.value,set:I=>{s.value&&(s.value.locale.value=I),i.value=I}}),C=oe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:I=>{s.value&&(s.value.fallbackLocale.value=I),l.value=I}}),S=oe(()=>s.value?s.value.messages.value:c.value),G=oe(()=>u.value),H=oe(()=>d.value);function J(){return s.value?s.value.getPostTranslationHandler():$}function U(I){s.value&&s.value.setPostTranslationHandler(I)}function D(){return s.value?s.value.getMissingHandler():_}function L(I){s.value&&s.value.setMissingHandler(I)}function y(I){return P(),I()}function M(...I){return s.value?y(()=>Reflect.apply(s.value.t,null,[...I])):y(()=>"")}function z(...I){return s.value?Reflect.apply(s.value.rt,null,[...I]):""}function K(...I){return s.value?y(()=>Reflect.apply(s.value.d,null,[...I])):y(()=>"")}function Q(...I){return s.value?y(()=>Reflect.apply(s.value.n,null,[...I])):y(()=>"")}function ie(I){return s.value?s.value.tm(I):{}}function j(I,W){return s.value?s.value.te(I,W):!1}function be(I){return s.value?s.value.getLocaleMessage(I):{}}function xe(I,W){s.value&&(s.value.setLocaleMessage(I,W),c.value[I]=W)}function fe(I,W){s.value&&s.value.mergeLocaleMessage(I,W)}function ke(I){return s.value?s.value.getDateTimeFormat(I):{}}function $e(I,W){s.value&&(s.value.setDateTimeFormat(I,W),u.value[I]=W)}function ne(I,W){s.value&&s.value.mergeDateTimeFormat(I,W)}function ee(I){return s.value?s.value.getNumberFormat(I):{}}function de(I,W){s.value&&(s.value.setNumberFormat(I,W),d.value[I]=W)}function Pe(I,W){s.value&&s.value.mergeNumberFormat(I,W)}const T={get id(){return s.value?s.value.id:-1},locale:g,fallbackLocale:C,messages:S,datetimeFormats:G,numberFormats:H,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(I){s.value&&(s.value.inheritLocale=I)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:w},get pluralRules(){return s.value?s.value.pluralRules:p},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:f},set missingWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackWarn(){return s.value?s.value.fallbackWarn:A},set fallbackWarn(I){s.value&&(s.value.missingWarn=I)},get fallbackRoot(){return s.value?s.value.fallbackRoot:v},set fallbackRoot(I){s.value&&(s.value.fallbackRoot=I)},get fallbackFormat(){return s.value?s.value.fallbackFormat:b},set fallbackFormat(I){s.value&&(s.value.fallbackFormat=I)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:h},set warnHtmlMessage(I){s.value&&(s.value.warnHtmlMessage=I)},get escapeParameter(){return s.value?s.value.escapeParameter:m},set escapeParameter(I){s.value&&(s.value.escapeParameter=I)},t:M,getPostTranslationHandler:J,setPostTranslationHandler:U,getMissingHandler:D,setMissingHandler:L,rt:z,d:K,n:Q,tm:ie,te:j,getLocaleMessage:be,setLocaleMessage:xe,mergeLocaleMessage:fe,getDateTimeFormat:ke,setDateTimeFormat:$e,mergeDateTimeFormat:ne,getNumberFormat:ee,setNumberFormat:de,mergeNumberFormat:Pe};function F(I){I.locale.value=i.value,I.fallbackLocale.value=l.value,Object.keys(c.value).forEach(W=>{I.mergeLocaleMessage(W,c.value[W])}),Object.keys(u.value).forEach(W=>{I.mergeDateTimeFormat(W,u.value[W])}),Object.keys(d.value).forEach(W=>{I.mergeNumberFormat(W,d.value[W])}),I.escapeParameter=m,I.fallbackFormat=b,I.fallbackRoot=v,I.fallbackWarn=A,I.missingWarn=f,I.warnHtmlMessage=h}return Vc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Lt(kt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const I=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=I.locale.value,l.value=I.fallbackLocale.value,c.value=I.messages.value,u.value=I.datetimeFormats.value,d.value=I.numberFormats.value):a&&F(I)}),T}const e1=["locale","fallbackLocale","availableLocales"],fd=["t","rt","d","n","tm","te"];function t1(e,t){const o=Object.create(null);return e1.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Lt(kt.UNEXPECTED_ERROR);const r=ut(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,fd.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Lt(kt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,fd.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Mv(),__INTLIFY_JIT_COMPILATION__?Ep(Av):Ep(Sv),bv(Z0),$v(Lp),__INTLIFY_PROD_DEVTOOLS__){const e=Go();e.__INTLIFY__=!0,rv(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const o1=Object.assign({"./locales/ar/allPeopleGroups.json":ab,"./locales/ar/aria.json":sb,"./locales/ar/buttons.json":rb,"./locales/ar/connectivity.json":ib,"./locales/ar/controls.json":lb,"./locales/ar/dashboard.json":cb,"./locales/ar/detail.json":ub,"./locales/ar/gospel.json":pb,"./locales/ar/grid.json":db,"./locales/ar/legend.json":gb,"./locales/ar/messages.json":fb,"./locales/ar/options.json":hb,"./locales/ar/popup.json":mb,"./locales/ar/prayerLaps.json":bb,"./locales/ar/regions.json":$b,"./locales/ar/search.json":yb,"./locales/ar/studio.json":_b,"./locales/ar/tabs.json":vb,"./locales/ar/vision.json":kb,"./locales/de/allPeopleGroups.json":wb,"./locales/de/aria.json":xb,"./locales/de/buttons.json":Lb,"./locales/de/connectivity.json":Sb,"./locales/de/controls.json":Ab,"./locales/de/dashboard.json":Pb,"./locales/de/detail.json":Cb,"./locales/de/gospel.json":Eb,"./locales/de/grid.json":Tb,"./locales/de/legend.json":Nb,"./locales/de/messages.json":Mb,"./locales/de/options.json":Rb,"./locales/de/popup.json":Fb,"./locales/de/prayerLaps.json":Ib,"./locales/de/regions.json":Ob,"./locales/de/search.json":Db,"./locales/de/studio.json":Bb,"./locales/de/tabs.json":Gb,"./locales/de/vision.json":jb,"./locales/en/allPeopleGroups.json":Ub,"./locales/en/aria.json":zb,"./locales/en/buttons.json":Hb,"./locales/en/connectivity.json":Vb,"./locales/en/controls.json":Kb,"./locales/en/dashboard.json":qb,"./locales/en/detail.json":Wb,"./locales/en/gospel.json":Yb,"./locales/en/grid.json":Xb,"./locales/en/legend.json":Zb,"./locales/en/messages.json":Jb,"./locales/en/options.json":Qb,"./locales/en/popup.json":e$,"./locales/en/prayerLaps.json":t$,"./locales/en/regions.json":o$,"./locales/en/search.json":n$,"./locales/en/studio.json":a$,"./locales/en/tabs.json":s$,"./locales/en/vision.json":r$,"./locales/es/allPeopleGroups.json":i$,"./locales/es/aria.json":l$,"./locales/es/buttons.json":c$,"./locales/es/connectivity.json":u$,"./locales/es/controls.json":p$,"./locales/es/dashboard.json":d$,"./locales/es/detail.json":g$,"./locales/es/gospel.json":f$,"./locales/es/grid.json":h$,"./locales/es/legend.json":m$,"./locales/es/messages.json":b$,"./locales/es/options.json":$$,"./locales/es/popup.json":y$,"./locales/es/prayerLaps.json":_$,"./locales/es/regions.json":v$,"./locales/es/search.json":k$,"./locales/es/studio.json":w$,"./locales/es/tabs.json":x$,"./locales/es/vision.json":L$,"./locales/fr/allPeopleGroups.json":S$,"./locales/fr/aria.json":A$,"./locales/fr/buttons.json":P$,"./locales/fr/connectivity.json":C$,"./locales/fr/controls.json":E$,"./locales/fr/dashboard.json":T$,"./locales/fr/detail.json":N$,"./locales/fr/gospel.json":M$,"./locales/fr/grid.json":R$,"./locales/fr/legend.json":F$,"./locales/fr/messages.json":I$,"./locales/fr/options.json":O$,"./locales/fr/popup.json":D$,"./locales/fr/prayerLaps.json":B$,"./locales/fr/regions.json":G$,"./locales/fr/search.json":j$,"./locales/fr/studio.json":U$,"./locales/fr/tabs.json":z$,"./locales/fr/vision.json":H$,"./locales/hi/allPeopleGroups.json":V$,"./locales/hi/aria.json":K$,"./locales/hi/buttons.json":q$,"./locales/hi/connectivity.json":W$,"./locales/hi/controls.json":Y$,"./locales/hi/dashboard.json":X$,"./locales/hi/detail.json":Z$,"./locales/hi/gospel.json":J$,"./locales/hi/grid.json":Q$,"./locales/hi/legend.json":ey,"./locales/hi/messages.json":ty,"./locales/hi/options.json":oy,"./locales/hi/popup.json":ny,"./locales/hi/prayerLaps.json":ay,"./locales/hi/regions.json":sy,"./locales/hi/search.json":ry,"./locales/hi/studio.json":iy,"./locales/hi/tabs.json":ly,"./locales/hi/vision.json":cy,"./locales/it/allPeopleGroups.json":uy,"./locales/it/aria.json":py,"./locales/it/buttons.json":dy,"./locales/it/connectivity.json":gy,"./locales/it/controls.json":fy,"./locales/it/dashboard.json":hy,"./locales/it/detail.json":my,"./locales/it/gospel.json":by,"./locales/it/grid.json":$y,"./locales/it/legend.json":yy,"./locales/it/messages.json":_y,"./locales/it/options.json":vy,"./locales/it/popup.json":ky,"./locales/it/prayerLaps.json":wy,"./locales/it/regions.json":xy,"./locales/it/search.json":Ly,"./locales/it/studio.json":Sy,"./locales/it/tabs.json":Ay,"./locales/it/vision.json":Py,"./locales/pt/allPeopleGroups.json":Cy,"./locales/pt/aria.json":Ey,"./locales/pt/buttons.json":Ty,"./locales/pt/connectivity.json":Ny,"./locales/pt/controls.json":My,"./locales/pt/dashboard.json":Ry,"./locales/pt/detail.json":Fy,"./locales/pt/gospel.json":Iy,"./locales/pt/grid.json":Oy,"./locales/pt/legend.json":Dy,"./locales/pt/messages.json":By,"./locales/pt/options.json":Gy,"./locales/pt/popup.json":jy,"./locales/pt/prayerLaps.json":Uy,"./locales/pt/regions.json":zy,"./locales/pt/search.json":Hy,"./locales/pt/studio.json":Vy,"./locales/pt/tabs.json":Ky,"./locales/pt/vision.json":qy,"./locales/ro/allPeopleGroups.json":Wy,"./locales/ro/aria.json":Yy,"./locales/ro/buttons.json":Xy,"./locales/ro/connectivity.json":Zy,"./locales/ro/controls.json":Jy,"./locales/ro/dashboard.json":Qy,"./locales/ro/detail.json":e_,"./locales/ro/gospel.json":t_,"./locales/ro/grid.json":o_,"./locales/ro/legend.json":n_,"./locales/ro/messages.json":a_,"./locales/ro/options.json":s_,"./locales/ro/popup.json":r_,"./locales/ro/prayerLaps.json":i_,"./locales/ro/regions.json":l_,"./locales/ro/search.json":c_,"./locales/ro/studio.json":u_,"./locales/ro/tabs.json":p_,"./locales/ro/vision.json":d_,"./locales/ru/allPeopleGroups.json":g_,"./locales/ru/aria.json":f_,"./locales/ru/buttons.json":h_,"./locales/ru/connectivity.json":m_,"./locales/ru/controls.json":b_,"./locales/ru/dashboard.json":$_,"./locales/ru/detail.json":y_,"./locales/ru/gospel.json":__,"./locales/ru/grid.json":v_,"./locales/ru/legend.json":k_,"./locales/ru/messages.json":w_,"./locales/ru/options.json":x_,"./locales/ru/popup.json":L_,"./locales/ru/prayerLaps.json":S_,"./locales/ru/regions.json":A_,"./locales/ru/search.json":P_,"./locales/ru/studio.json":C_,"./locales/ru/tabs.json":E_,"./locales/ru/vision.json":T_,"./locales/zh/allPeopleGroups.json":N_,"./locales/zh/aria.json":M_,"./locales/zh/buttons.json":R_,"./locales/zh/connectivity.json":F_,"./locales/zh/controls.json":I_,"./locales/zh/dashboard.json":O_,"./locales/zh/detail.json":D_,"./locales/zh/gospel.json":B_,"./locales/zh/grid.json":G_,"./locales/zh/legend.json":j_,"./locales/zh/messages.json":U_,"./locales/zh/options.json":z_,"./locales/zh/popup.json":H_,"./locales/zh/prayerLaps.json":V_,"./locales/zh/regions.json":K_,"./locales/zh/search.json":q_,"./locales/zh/studio.json":W_,"./locales/zh/tabs.json":Y_,"./locales/zh/vision.json":X_}),_n={};for(const[e,t]of Object.entries(o1)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;_n[n]??(_n[n]={}),_n[n][a]=t}_n.en;const Ga=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],hd=new Set(["ar"]);function n1(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function md(){var n;const e=n1();if(Ga.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Ga.includes(o)?o:"en"}function a1(){const e=md();try{hd.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const t=Vv({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:_n,missingWarn:!1,fallbackWarn:!1});Re(t.global.locale,n=>$d(n),{immediate:!0});const o=t.install.bind(t);return t.install=(n,...a)=>{const s=o(n,...a);return n.provide("appI18n",t),s},t}const bd="__DOXA_PAGE_LOCALE";function $d(e){const t=String(e||"").split("-")[0].toLowerCase();if(Ga.includes(t))try{typeof window<"u"&&(window[bd]=t)}catch{}}function s1(){try{return typeof window<"u"&&window[bd]||""}catch{return""}}function ja(e,t){const o=a=>{let s=_n[a];for(const r of String(e).split(".")){if(!s||typeof s!="object")return;s=s[r]}return typeof s=="string"?s:void 0},n=t||s1()||md();return o(n)??o("en")}function wt(e,t){const o=t||r1(e);$o(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function r1(e){let t=0;for(let o=0;ot[C]||C,n=()=>!1;try{const C=bt();o=C.t,n=C.te}catch{}const a=Ne("uiStore",null),s=Ne("profileConfig",null),r=oe(()=>(a==null?void 0:a.theme)==="dark"),i=oe(()=>{var G;const C=(G=s==null?void 0:s.value)==null?void 0:G.pinHintLabel;if(C)return C;const S="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?o("messages.pinHint.tapDot"):S}catch{return S}}),l=he(!1),c=he(null);let u=null,d=null,f=null,A=null,v=null,b=null,_=[],$=null,h=null;function m(){l.value=!1}function w(C,S){var H;let G=C==null?void 0:C.parentElement;for(let J=0;G&&J<12;J++,G=G.parentElement){if(G===S||(H=G.classList)!=null&&H.contains("profile-loader"))return null;let U="";try{U=getComputedStyle(G).position}catch{}if(U&&U!=="static"){const D=G.getBoundingClientRect();if(D.height>=120&&D.width>=160)return G}}return null}function p(C){var G;const S=(G=A==null?void 0:A.querySelector)==null?void 0:G.call(A,".legend-mobile-sheet");if(!S)return 1/0;if(v&&b!==S){try{v.disconnect()}catch{}v=null}if(!v&&typeof ResizeObserver<"u")try{v=new ResizeObserver(()=>P()),v.observe(S),b=S}catch{v=null}try{const H=S.getBoundingClientRect();return!(H.height>16)||!(H.width>16)||C.right<=H.left||H.right<=C.left?1/0:H.top}catch{return 1/0}}function P(){const C=c.value;if(C)try{C.style.removeProperty("--pin-hint-lift");const S=C.getBoundingClientRect();if(!S.height)return;const G=Math.min(window.innerHeight,p(S)),H=Math.round(S.bottom-G);H>0&&C.style.setProperty("--pin-hint-lift",H+8+"px")}catch{}}function g(C){const S=c.value;if(!S||!(C!=null&&C.querySelector))return;let G=0;try{const J=C.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(J){const U=J.getBoundingClientRect(),D=S.parentElement,L=D?D.getBoundingClientRect():null;if(G=L?Math.max(U.height||0,L.bottom-U.top):U.height||0,h!==J&&typeof ResizeObserver<"u"){if(f)try{f.disconnect()}catch{}h=J,f=new ResizeObserver(()=>g(C)),f.observe(J)}}}catch{}const H=Math.min(Math.max(Math.ceil(G)||20,20),72);S.style.setProperty("--pin-hint-attrib-clear",H+"px"),P()}return $o(()=>{var H,J,U;const C=ko(),S=(U=(J=(H=C==null?void 0:C.proxy)==null?void 0:H.$el)==null?void 0:J.getRootNode)==null?void 0:U.call(J);if(!S||typeof S.querySelector!="function")return;A=S;let G=0;u=setInterval(()=>{G++;const D=S.querySelector("canvas");D?(clearInterval(u),u=null,l.value=!0,It(()=>{const L=w(D,S),y=c.value;if(L&&y&&y.parentElement!==L)try{L.appendChild(y),d=L}catch{}g(S),P(),_.push(setTimeout(P,1200),setTimeout(P,3e3),setTimeout(P,6e3));try{const M=c.value&&c.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if($)try{$.disconnect()}catch{}$=new ResizeObserver(()=>P()),$.observe(M)}}catch{}})):G>40&&(clearInterval(u),u=null)},300)}),Xt(()=>{var C;if(u&&clearInterval(u),f){try{f.disconnect()}catch{}f=null}if(h=null,$){try{$.disconnect()}catch{}$=null}if(v){try{v.disconnect()}catch{}v=null}b=null;for(const S of _)clearTimeout(S);if(_=[],A=null,d&&((C=c.value)==null?void 0:C.parentElement)===d)try{d.removeChild(c.value)}catch{}d=null}),wt(` .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; @@ -71,7 +71,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(C,S)=>l.value?(ae(),pe("div",{key:0,ref_key:"hintEl",ref:c,class:Re(["pin-hint",{dark:r.value}]),role:"status"},[M("span",i1,[S[0]||(S[0]=M("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Pt(" "+ye(i.value)+" ",1),M("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Le("",!0)}},tr="mapbox://styles/mapbox/standard",c1=tr,u1=tr,p1=!1,yd={lightPreset:"night",theme:"default"},d1={lightPreset:"day",theme:"monochrome"};function g1(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function f1(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let s="dark";function r($){return g1($)}function i($,h){$!=="light"&&$!=="dark"||(s=$,h&&b(h))}function l(){return{...s==="light"?d1:yd}}function c(){return tr}function u(){return{basemap:l()}}function d($,h){try{return typeof $.getConfigProperty=="function"?$.getConfigProperty("basemap",h):void 0}catch{return}}function f($){return!!$&&typeof $.setConfigProperty=="function"&&typeof $.getConfigProperty=="function"}function A($,h=!1){if(!f($))return!1;const m=l();let w=!1;try{for(const[p,P]of Object.entries(m))!h&&d($,p)===P||($.setConfigProperty("basemap",p,P),w=!0)}catch(p){console.warn("[useMapTheme] setConfigProperty failed:",p)}return w}function v($){if(!o.has($)&&(o.add($),!!f($)))try{$.on("style.load",()=>A($)),$.on("styledata",()=>A($))}catch{}}function b($){if(!$)return;if(v($),A($)&&!t){t=!0;try{$.once("idle",()=>{t=!1,A($,!0)})}catch{t=!1}}}function _($){e.toggleTheme(),b($)}return{setLook:i,lookFor:r,STANDARD_STYLE:tr,LIGHT_STYLE:c1,DARK_STYLE:u1,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:b,swapTheme:_}}let h1=0;const m1=yi("ui",{state:()=>({_storeInstanceId:++h1,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:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),b1=yi("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",clusteringMode:"off",clusterPinOpacity:.6,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 s=t.getCenter();s&&(a=[s.lng,s.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)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},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()}}}),$1=yi("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]=In({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]=In({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}}}),vn={_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}}},y1=".profile-loader[data-v-ccbcaedb]{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-ccbcaedb]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",nn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},_1=["dir"],v1={key:0,class:"profile-error"},k1={key:1,class:"profile-error"},w1=nn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var P;const o=e,n=Ne("profileConfig",null),a=oe(()=>{var C;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const S=(C=n==null?void 0:n.value)==null?void 0:C.assetsBase;typeof S=="string"&&S&&(g.assetsBase=S)}return g}),s=oe(()=>{var g;return((g=a.value)==null?void 0:g.profile)||null}),r=nb(),i=oe(()=>{var C;const g=(C=a.value)==null?void 0:C.tk;return typeof g=="string"&&g?g:r.value||""});Me(()=>{var g;return(g=a.value)==null?void 0:g.tk},g=>{typeof g=="string"&&g&&Qu(g)},{immediate:!0});const l=oe(()=>{var g;return((g=a.value)==null?void 0:g.dataSource)||vn.activeSource||"doxa-csv"}),c=oe(()=>{var g;return((g=a.value)==null?void 0:g.colorSet)||"default"}),u=oe(()=>!1),d=oe(()=>{var g;return((g=a.value)==null?void 0:g.pinHint)!==!1}),f=oe(()=>{var C,S;const g=(((C=a.value)==null?void 0:C.locale)||((S=a.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Ga.includes(g)?g:""}),A=Ne("appI18n",null);dh(()=>{f.value&&(A&&(A.global.locale.value=f.value),$d(f.value))});const v=oe(()=>{var g,C;return f.value||((C=(g=A==null?void 0:A.global)==null?void 0:g.locale)==null?void 0:C.value)||"en"}),b=oe(()=>hd.has(v.value)?"rtl":"ltr"),_=oe(()=>{var g;return((g=a.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=Ne("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const h=oe(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return $[g]?Vs($[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});vt("mapboxToken",i),vt("dataSource",l),vt("colorSet",c),vt("profileConfig",a),vt("instanceId",_),vt("lang",v);const m=m1(),w=b1(),p=$1();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((P=m.setTheme)==null||P.call(m,g))}catch{}return vt("uiStore",m),vt("mapStore",w),vt("dataStore",p),(g,C)=>(ae(),pe("div",{class:"profile-loader",dir:b.value},[a.value?h.value?(ae(),et(qc(h.value),{key:2})):(ae(),pe("div",k1,[M("p",null,[C[1]||(C[1]=Pt("⚠️ Profile ",-1)),M("strong",null,'"'+ye(s.value)+'"',1),C[2]||(C[2]=Pt(" not found.",-1))])])):(ae(),pe("div",v1,[...C[0]||(C[0]=[M("p",null,[Pt("⚠️ "),M("strong",null,"doxa-map"),Pt(": missing or invalid "),M("code",null,"profile-config"),Pt(" prop.")],-1),M("p",null,[Pt("Example: "),M("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),h.value&&u.value?(ae(),et(qc(ge(null)),{key:3})):Le("",!0),h.value&&d.value?(ae(),et(l1,{key:4})):Le("",!0)],8,_1))}},[["styles",[y1]],["__scopeId","data-v-ccbcaedb"]]),_d="adoptionStatus",zo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ji=zo,Ui={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},x1=Ui;function vd(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)?zo.hasAdoption:zo.notAdopted}function zi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],zo.hasAdoption,["==",t,1],zo.hasAdoption,zo.notAdopted]}const kd=zi,L1=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ji,ADOPTION_LABELS:x1,LABELS:Ui,PALETTE:zo,PROPERTY_KEY:_d,applyColor:zi,buildColorExpression:kd,default:{name:"Adoption Progress",propertyKey:_d,palette:zo,colors:zo,labels:Ui,getColor:vd,applyColor:zi,buildColorExpression:kd},getColor:vd},Symbol.toStringTag,{value:"Module"})),wd="engagementStatus",Ho={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Hi=Ho,Vi={notEngaged:"Unengaged",hasEngagement:"Engaged"},S1=Vi;function xd(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Ho.hasEngagement:Ho.notEngaged}function Ki({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Ho.hasEngagement,["==",t,1],Ho.hasEngagement,Ho.notEngaged]}const Ld=Ki,A1=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Hi,ENGAGEMENT_LABELS:S1,LABELS:Vi,PALETTE:Ho,PROPERTY_KEY:wd,applyColor:Ki,buildColorExpression:Ld,default:{name:"Engagement Progress",propertyKey:wd,palette:Ho,colors:Ho,labels:Vi,getColor:xd,applyColor:Ki,buildColorExpression:Ld},getColor:xd},Symbol.toStringTag,{value:"Module"})),qi="languageFamily",P1="#000000",an={"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=an;function co(e){return an[e]||P1}const C1=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(an))t[e(o)]=o;return t})(),E1={"tai-kadai":"Kra-Dai",none:"Unknown"};function or(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return E1[o]||C1[o]||t}function Ad(e){var t;return co(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Wi(){const e=["match",["get",qi]];return Object.entries(an).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Pd=Wi,T1=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Sd,PALETTE:an,PROPERTY_KEY:qi,applyColor:Wi,buildColorExpression:Pd,canonicalFamilyName:or,default:{name:"Language Family",propertyKey:qi,palette:an,colors:an,getColor:Ad,applyColor:Wi,buildColorExpression:Pd,getLanguageFamilyColor:co,canonicalFamilyName:or},defaultFamilyColor:"#95a5a6",getColor:Ad,getLanguageFamilyColor:co,languageFamilyColors:an},Symbol.toStringTag,{value:"Module"})),Cd="peoplePraying",Lo=144,sn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kn=sn,Yi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},N1=Yi;function nr(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>=Lo?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Xi(e){return sn[nr(e)]}function Ed(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 Td(e){return nr(e)==="fullPrayer"}function Nd(e){return Xi(e)}function Zi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Lo],sn.fullPrayer,[">",t,0],sn.hasPrayer,sn.noPrayer]}const Rd=Zi,R1=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Lo,LABELS:Yi,PALETTE:sn,PRAYER_COLORS:kn,PRAYER_LABELS:N1,PROPERTY_KEY:Cd,applyColor:Zi,buildColorExpression:Rd,checkHasFullPrayer:Td,checkHasPrayer:Ed,default:{name:"Prayer Progress",propertyKey:Cd,palette:sn,colors:sn,labels:Yi,threshold:Lo,getColor:Nd,applyColor:Zi,buildColorExpression:Rd,getPrayerLevel:nr,getPrayerColor:Xi,checkHasPrayer:Ed,checkHasFullPrayer:Td},getColor:Nd,getPrayerColor:Xi,getPrayerLevel:nr},Symbol.toStringTag,{value:"Module"})),Md="religion",Ji="#94a3b8",Jt={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},qt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ua(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Jt[t]?t:"U"}function Fd(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 qt[Ua(t)]||Ji}function Qi(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",qt.C,"M",qt.M,"H",qt.H,"B",qt.B,"E",qt.E,"J",qt.J,"S",qt.S,"N",qt.N,"O",qt.O,Ji]}const Id=Qi,M1=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:qt,PROPERTY_KEY:Md,RELIGION_FAMILIES:Jt,applyColor:Qi,buildColorExpression:Id,default:{name:"Religion",propertyKey:Md,palette:qt,families:Jt,getColor:Fd,applyColor:Qi,buildColorExpression:Id,fallback:Ji},getColor:Fd,getReligionFamily:Ua},Symbol.toStringTag,{value:"Module"})),Od="region",el="#6d766e",Dd={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"},za={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},tl=Object.keys(za);function Bd(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 za[t]||el}function ol(){const e=["match",["coalesce",["get","region"],""]];for(const t of tl)e.push(t,za[t]);return e.push(el),e}const Gd=ol,F1=Object.assign({"./adoption.js":L1,"./engagement.js":A1,"./language-family.js":T1,"./prayer-progress.js":R1,"./religion.js":M1,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:za,PROPERTY_KEY:Od,REGION_ORDER:tl,WAGF_REGIONS:Dd,applyColor:ol,buildColorExpression:Gd,default:{name:"WAGF Region",propertyKey:Od,palette:za,regions:Dd,order:tl,getColor:Bd,applyColor:ol,buildColorExpression:Gd,fallback:el},getColor:Bd},Symbol.toStringTag,{value:"Module"}))}),I1=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),O1=e=>e.replace(/-/g,"_").toUpperCase(),Jn={...{STATUS:"status",CUSTOM:"custom"}},nl={};function jd(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=I1(o);Jn[O1(o)]=a,nl[a]=n}}jd(F1);function D1(e){e&&jd(e)}function So(e){return nl[e]||nl[Jn.LANGUAGE_FAMILY]}function B1(e,t={}){return So(e).applyColor(t)}const G1=Object.assign({"./research-map.vue":()=>oo(()=>Promise.resolve().then(()=>RA),void 0)});if(D1(Object.assign({"./src/colors/affinity-block.js":uf,"./src/colors/doxa-region.js":gf,"./src/colors/resource.js":mf})),typeof window<"u"&&((Vg=window.mapboxgl)!=null&&Vg.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 j1(){return jm(w1,{configureApp(e){e.use(Xm());const t=a1();e.use(t),e.provide("appI18n",t),e.provide("profileModules",G1)}})}const U1=j1();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",U1));const z1="rgba(120, 128, 134, 0.28)",Ud="36px",zd=()=>{};function H1(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return zd;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return zd;const a=h=>h.classList.contains("map-scroll-edge--left");for(const h of n)h.style.background=`linear-gradient(${a(h)?"to right":"to left"}, ${z1} ${Ud}, transparent ${Ud})`,h.style.opacity="0",h.style.transition="opacity 0.16s ease",h.style.userSelect="none",h.style.webkitUserSelect="none";const s=h=>{h.style.opacity="1"},r=h=>{h.style.opacity="0"},i=()=>n.find(h=>!a(h))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const h of n)l.has(h)||r(h)},f=()=>{const h=i();h&&(s(h),u&&clearTimeout(u),u=setTimeout(d,250))},A=()=>f(),v=h=>{if(!(h.touches&&h.touches.length===1))return;const m=h.target;m&&m.classList&&m.classList.contains("map-scroll-edge")||f()},b=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",A,{passive:!0}),e.addEventListener("touchmove",v,{passive:!0}),e.addEventListener("touchend",b,{passive:!0}),e.addEventListener("touchcancel",b,{passive:!0});const _=()=>{c||f()};typeof window<"u"&&window.addEventListener("scroll",_,{passive:!0});const $=[];for(const h of n){const m=()=>{l.add(h),s(h)},w=()=>{l.delete(h),r(h)},p=()=>{c=!0,s(h)},P=()=>{c=!1,r(h)};h.addEventListener("mouseenter",m),h.addEventListener("mouseleave",w),h.addEventListener("touchstart",p,{passive:!0}),h.addEventListener("touchend",P,{passive:!0}),$.push(()=>{h.removeEventListener("mouseenter",m),h.removeEventListener("mouseleave",w),h.removeEventListener("touchstart",p),h.removeEventListener("touchend",P)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",A),e.removeEventListener("touchmove",v),e.removeEventListener("touchend",b),e.removeEventListener("touchcancel",b),typeof window<"u"&&window.removeEventListener("scroll",_);for(const m of $)m();for(const m of n)r(m)}}const V1=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 K1(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=V1[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function q1(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const W1=["mapbox","maplibre"],Hd="mapbox";function Y1(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Vd(e){const t=Y1(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,s=String(o||n||a||Hd).toLowerCase().trim();return W1.includes(s)?s:Hd}function X1(e){return e==="maplibre"?"MapLibre":"Mapbox"}function Kd(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function ar(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function Ao(e,t="circle"){return Kd(e)?{[`${t}-emissive-strength`]:1}:{}}const qd={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function Z1(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function J1(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(Z1(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(qd.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(qd.mapbox,null,!0);o=!0}catch{}return o}const Q1=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,Wd=new WeakMap;function ek(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Yd(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!ek(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=Wd.get(e);a||(a=new Map,Wd.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!Q1.test(l))continue;a.set(r.id,i)}const c=o==="en"?a.get(r.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const Qn={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 Xd(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const tk=Qn.mapbox.css,ok="https://tiles.openfreemap.org/styles/liberty",nk="https://tiles.openfreemap.org/styles/fiord";function al(e){var o;const t=((o=Qn[e])==null?void 0:o.global)||Qn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function ak(e){const t=Qn[e]||Qn.mapbox;if(al(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(al(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 s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function sk(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function rk(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?nk:ok}const ik=85.0511,sl=-2,lk=0,ck=-60;function Zd(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function uk(e,t,o,n){if(!e||e<=0||!t||t<=0)return lk;const a=Math.log2(e/512),s=Zd(n)-Zd(ik),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(sl,Math.min(i,(o??18)-1))}function pk({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:d=18,pitch:f=0,bearing:A=0,renderWorldCopies:v=!0,showEdgeBorders:b=!0,southCutoff:_=ck,maxBounds:$=void 0}){const h=$a(null),m=he(!1);let w=null,p=null,P=null,g=null;try{g=Ne("profileConfig",null)}catch{}a=a||Vd(g);const C=a==="maplibre";let S=null;try{S=Ne("lang",null)}catch{}const G=()=>{const U=S&&typeof S=="object"&&"value"in S?S.value:S;if(typeof U=="string"&&U)return U;const D=g&&typeof g=="object"&&"value"in g?g.value:g;if(D&&(D.locale||D.lang))return String(D.locale||D.lang);try{const L=new URLSearchParams(location.search);return L.get("lang")||L.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function H(){var $e;const U=K1(o,a),D=U.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const L=()=>!e.value;if(await ak(a),L())return;const y=al(a);if(!y){console.error(`[useMapInstance] ${C?"maplibregl":"mapboxgl"} is not available. Add the ${C?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(J1(y),!C){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await sk(e.value,C?Qn.maplibre.css:tk),L()||(await new Promise(ne=>requestAnimationFrame(ne)),L()))return;const R=e.value,z=R.clientWidth,K=R.clientHeight;if(z===0||K===0){console.error(`[useMapInstance] Container has ZERO dimensions (${z}×${K}). Map will be invisible. Check that parent elements have CSS sizing.`);let ne=R.parentElement,ee=0;for(;ne&&ee<5;)ne=ne.parentElement,ee++}const Q=t;C||(y.accessToken=Q);const ie=()=>typeof window<"u"&&window.innerWidth>=1024,j=(ne,ee)=>{if(u)return typeof c=="number"?c:sl;if(!ie())return sl;const de=uk(ne,ee,d,_);return typeof c=="number"?Math.max(c,de):de},be=j(R.clientWidth,R.clientHeight),xe=U.lightPreset||(()=>{var ne;try{const ee=typeof n=="function"?n():n;return(ne=ee==null?void 0:ee.basemap)==null?void 0:ne.lightPreset}catch{return}})();if(C){h.value=new y.Map({container:e.value,style:rk(D,xe),center:s,zoom:r,minZoom:be,maxZoom:d,pitch:f,bearing:A,dragRotate:!1,renderWorldCopies:v,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Xd(h.value);try{e.value.__doxaMap=h.value}catch{}}else{const ne=typeof n=="function"?n():n;h.value=new y.Map({accessToken:Q,container:e.value,style:D,...ne?{config:ne}:{},center:s,zoom:r,minZoom:be,maxZoom:d,pitch:f,bearing:A,dragRotate:!1,touchPitch:!1,renderWorldCopies:v,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Xd(h.value);try{e.value.__doxaMap=h.value}catch{}}try{let ne=!1;h.value.on("error",ee=>{var T,F;const de=((T=ee==null?void 0:ee.error)==null?void 0:T.status)??(ee==null?void 0:ee.status),Pe=String(((F=ee==null?void 0:ee.error)==null?void 0:F.url)||(ee==null?void 0:ee.sourceId)||"");de!==401&&de!==403||ne||(ne=!0,console.error(`[doxa-maps] Mapbox returned ${de} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Pe?` First failing request: ${Pe.slice(0,120)}`:"")))})}catch{}try{h.value.touchZoomRotate.disableRotation()}catch{}P=H1((($e=e.value)==null?void 0:$e.parentElement)||null,{enabled:b});let fe=be,ke=null;w=()=>{const ne=h.value;if(!ne)return;const ee=j(R.clientWidth,R.clientHeight);ee!==fe&&(fe=ee,ne.setMinZoom(ee)),ne.getZoom(){ke=null;const de=h.value;if(!de)return;const Pe=j(R.clientWidth,R.clientHeight);if(de.getZoom(){ke&&(clearTimeout(ke),ke=null)},h.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),h.value.on("style.load",()=>{if(h.value&&Yd(h.value,G()),U.paint&&h.value){const ne=q1(h.value,U.paint);console.info("[useMapInstance] style paint applied ("+a+"):",ne.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var ne;(ne=h.value)==null||ne.resize(),h.value&&h.value.setMinZoom(j(R.clientWidth,R.clientHeight)),m.value=!0})})}function J(){if(h.value){if(w&&(h.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),p){try{p()}catch{}p=null}P&&(P(),P=null),h.value.remove(),h.value=null,m.value=!1}}if(S&&typeof S=="object"&&"value"in S)try{Me(S,()=>{h.value&&m.value&&Yd(h.value,G())})}catch{}return{map:h,isMapReady:m,initializeMap:H,destroy:J}}const dk=Tn&&Tn.tagName.toUpperCase()==="SCRIPT"&&Tn.src||new URL("doxa-research-map.js",document.baseURI).href,wn=e=>String(e||"").trim().replace(/\/+$/,"");function Jd(){try{const t=String(dk||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function gk(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return wn(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return wn(o)}return wn(Jd()||"")}function Qd(e){const t=wn("")||wn(Jd()||"");if(t)try{const o=typeof document<"u"?document.baseURI:void 0;return wn(new URL(t+"/assets",o).href)}catch{return wn(t+"/assets")}return"./assets"}function fk({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=gk(n),l=r.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 hk={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},eg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function mk(e){return hk[e]||null}function rl(e="standard"){return eg.circleRadius[e]||eg.circleRadius.standard}function tg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Ne("uiStore"),{t:r,locale:i}=bt(),l=he([]);function c(m){const w=n(m.languageFamily),p="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let P=m.imageUrl;(!P||P.includes("NoImageAvailable"))&&(P=p);const g=(m.name||"U")[0].toUpperCase(),C=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],S=g.charCodeAt(0)%C.length;return` +`,"pin-hint"),(C,S)=>l.value?(ae(),pe("div",{key:0,ref_key:"hintEl",ref:c,class:Me(["pin-hint",{dark:r.value}]),role:"status"},[R("span",i1,[S[0]||(S[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Pt(" "+ye(i.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Le("",!0)}},tr="mapbox://styles/mapbox/standard",c1=tr,u1=tr,p1=!1,yd={lightPreset:"night",theme:"default"},d1={lightPreset:"day",theme:"monochrome"};function g1(e){return e?/affinity|region|language/i.test(String(e))?"light":"dark":null}function f1(e){let t=!1;const o=new WeakSet;function n(){return!1}function a(){return n()?"night":"day"}let s="dark";function r($){return g1($)}function i($,h){$!=="light"&&$!=="dark"||(s=$,h&&b(h))}function l(){return{...s==="light"?d1:yd}}function c(){return tr}function u(){return{basemap:l()}}function d($,h){try{return typeof $.getConfigProperty=="function"?$.getConfigProperty("basemap",h):void 0}catch{return}}function f($){return!!$&&typeof $.setConfigProperty=="function"&&typeof $.getConfigProperty=="function"}function A($,h=!1){if(!f($))return!1;const m=l();let w=!1;try{for(const[p,P]of Object.entries(m))!h&&d($,p)===P||($.setConfigProperty("basemap",p,P),w=!0)}catch(p){console.warn("[useMapTheme] setConfigProperty failed:",p)}return w}function v($){if(!o.has($)&&(o.add($),!!f($)))try{$.on("style.load",()=>A($)),$.on("styledata",()=>A($))}catch{}}function b($){if(!$)return;if(v($),A($)&&!t){t=!0;try{$.once("idle",()=>{t=!1,A($,!0)})}catch{t=!1}}}function _($){e.toggleTheme(),b($)}return{setLook:i,lookFor:r,STANDARD_STYLE:tr,LIGHT_STYLE:c1,DARK_STYLE:u1,isDarkTheme:n,lightPreset:a,basemapConfig:l,bootStyle:c,bootConfig:u,applyTheme:b,swapTheme:_}}let h1=0;const m1=yi("ui",{state:()=>({_storeInstanceId:++h1,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:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),b1=yi("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",clusteringMode:"off",clusterPinOpacity:.6,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 s=t.getCenter();s&&(a=[s.lng,s.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)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},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()}}}),$1=yi("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]=In({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]=In({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}}}),vn={_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}}},y1=".profile-loader[data-v-ccbcaedb]{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-ccbcaedb]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",nn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},_1=["dir"],v1={key:0,class:"profile-error"},k1={key:1,class:"profile-error"},w1=nn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var P;const o=e,n=Ne("profileConfig",null),a=oe(()=>{var C;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const S=(C=n==null?void 0:n.value)==null?void 0:C.assetsBase;typeof S=="string"&&S&&(g.assetsBase=S)}return g}),s=oe(()=>{var g;return((g=a.value)==null?void 0:g.profile)||null}),r=nb(),i=oe(()=>{var C;const g=(C=a.value)==null?void 0:C.tk;return typeof g=="string"&&g?g:r.value||""});Re(()=>{var g;return(g=a.value)==null?void 0:g.tk},g=>{typeof g=="string"&&g&&Qu(g)},{immediate:!0});const l=oe(()=>{var g;return((g=a.value)==null?void 0:g.dataSource)||vn.activeSource||"doxa-csv"}),c=oe(()=>{var g;return((g=a.value)==null?void 0:g.colorSet)||"default"}),u=oe(()=>!1),d=oe(()=>{var g;return((g=a.value)==null?void 0:g.pinHint)!==!1}),f=oe(()=>{var C,S;const g=(((C=a.value)==null?void 0:C.locale)||((S=a.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return Ga.includes(g)?g:""}),A=Ne("appI18n",null);dh(()=>{f.value&&(A&&(A.global.locale.value=f.value),$d(f.value))});const v=oe(()=>{var g,C;return f.value||((C=(g=A==null?void 0:A.global)==null?void 0:g.locale)==null?void 0:C.value)||"en"}),b=oe(()=>hd.has(v.value)?"rtl":"ltr"),_=oe(()=>{var g;return((g=a.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=Ne("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const h=oe(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return $[g]?Vs($[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});vt("mapboxToken",i),vt("dataSource",l),vt("colorSet",c),vt("profileConfig",a),vt("instanceId",_),vt("lang",v);const m=m1(),w=b1(),p=$1();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((P=m.setTheme)==null||P.call(m,g))}catch{}return vt("uiStore",m),vt("mapStore",w),vt("dataStore",p),(g,C)=>(ae(),pe("div",{class:"profile-loader",dir:b.value},[a.value?h.value?(ae(),et(qc(h.value),{key:2})):(ae(),pe("div",k1,[R("p",null,[C[1]||(C[1]=Pt("⚠️ Profile ",-1)),R("strong",null,'"'+ye(s.value)+'"',1),C[2]||(C[2]=Pt(" not found.",-1))])])):(ae(),pe("div",v1,[...C[0]||(C[0]=[R("p",null,[Pt("⚠️ "),R("strong",null,"doxa-map"),Pt(": missing or invalid "),R("code",null,"profile-config"),Pt(" prop.")],-1),R("p",null,[Pt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),h.value&&u.value?(ae(),et(qc(ge(null)),{key:3})):Le("",!0),h.value&&d.value?(ae(),et(l1,{key:4})):Le("",!0)],8,_1))}},[["styles",[y1]],["__scopeId","data-v-ccbcaedb"]]),_d="adoptionStatus",zo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ji=zo,Ui={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},x1=Ui;function vd(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)?zo.hasAdoption:zo.notAdopted}function zi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],zo.hasAdoption,["==",t,1],zo.hasAdoption,zo.notAdopted]}const kd=zi,L1=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ji,ADOPTION_LABELS:x1,LABELS:Ui,PALETTE:zo,PROPERTY_KEY:_d,applyColor:zi,buildColorExpression:kd,default:{name:"Adoption Progress",propertyKey:_d,palette:zo,colors:zo,labels:Ui,getColor:vd,applyColor:zi,buildColorExpression:kd},getColor:vd},Symbol.toStringTag,{value:"Module"})),wd="engagementStatus",Ho={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Hi=Ho,Vi={notEngaged:"Unengaged",hasEngagement:"Engaged"},S1=Vi;function xd(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Ho.hasEngagement:Ho.notEngaged}function Ki({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Ho.hasEngagement,["==",t,1],Ho.hasEngagement,Ho.notEngaged]}const Ld=Ki,A1=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Hi,ENGAGEMENT_LABELS:S1,LABELS:Vi,PALETTE:Ho,PROPERTY_KEY:wd,applyColor:Ki,buildColorExpression:Ld,default:{name:"Engagement Progress",propertyKey:wd,palette:Ho,colors:Ho,labels:Vi,getColor:xd,applyColor:Ki,buildColorExpression:Ld},getColor:xd},Symbol.toStringTag,{value:"Module"})),qi="languageFamily",P1="#000000",an={"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=an;function co(e){return an[e]||P1}const C1=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(an))t[e(o)]=o;return t})(),E1={"tai-kadai":"Kra-Dai",none:"Unknown"};function or(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return E1[o]||C1[o]||t}function Ad(e){var t;return co(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Wi(){const e=["match",["get",qi]];return Object.entries(an).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Pd=Wi,T1=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Sd,PALETTE:an,PROPERTY_KEY:qi,applyColor:Wi,buildColorExpression:Pd,canonicalFamilyName:or,default:{name:"Language Family",propertyKey:qi,palette:an,colors:an,getColor:Ad,applyColor:Wi,buildColorExpression:Pd,getLanguageFamilyColor:co,canonicalFamilyName:or},defaultFamilyColor:"#95a5a6",getColor:Ad,getLanguageFamilyColor:co,languageFamilyColors:an},Symbol.toStringTag,{value:"Module"})),Cd="peoplePraying",Lo=144,sn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kn=sn,Yi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},N1=Yi;function nr(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>=Lo?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Xi(e){return sn[nr(e)]}function Ed(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 Td(e){return nr(e)==="fullPrayer"}function Nd(e){return Xi(e)}function Zi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Lo],sn.fullPrayer,[">",t,0],sn.hasPrayer,sn.noPrayer]}const Md=Zi,M1=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Lo,LABELS:Yi,PALETTE:sn,PRAYER_COLORS:kn,PRAYER_LABELS:N1,PROPERTY_KEY:Cd,applyColor:Zi,buildColorExpression:Md,checkHasFullPrayer:Td,checkHasPrayer:Ed,default:{name:"Prayer Progress",propertyKey:Cd,palette:sn,colors:sn,labels:Yi,threshold:Lo,getColor:Nd,applyColor:Zi,buildColorExpression:Md,getPrayerLevel:nr,getPrayerColor:Xi,checkHasPrayer:Ed,checkHasFullPrayer:Td},getColor:Nd,getPrayerColor:Xi,getPrayerLevel:nr},Symbol.toStringTag,{value:"Module"})),Rd="religion",Ji="#94a3b8",Jt={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},qt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ua(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Jt[t]?t:"U"}function Fd(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 qt[Ua(t)]||Ji}function Qi(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",qt.C,"M",qt.M,"H",qt.H,"B",qt.B,"E",qt.E,"J",qt.J,"S",qt.S,"N",qt.N,"O",qt.O,Ji]}const Id=Qi,R1=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:qt,PROPERTY_KEY:Rd,RELIGION_FAMILIES:Jt,applyColor:Qi,buildColorExpression:Id,default:{name:"Religion",propertyKey:Rd,palette:qt,families:Jt,getColor:Fd,applyColor:Qi,buildColorExpression:Id,fallback:Ji},getColor:Fd,getReligionFamily:Ua},Symbol.toStringTag,{value:"Module"})),Od="region",el="#6d766e",Dd={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"},za={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},tl=Object.keys(za);function Bd(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 za[t]||el}function ol(){const e=["match",["coalesce",["get","region"],""]];for(const t of tl)e.push(t,za[t]);return e.push(el),e}const Gd=ol,F1=Object.assign({"./adoption.js":L1,"./engagement.js":A1,"./language-family.js":T1,"./prayer-progress.js":M1,"./religion.js":R1,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:za,PROPERTY_KEY:Od,REGION_ORDER:tl,WAGF_REGIONS:Dd,applyColor:ol,buildColorExpression:Gd,default:{name:"WAGF Region",propertyKey:Od,palette:za,regions:Dd,order:tl,getColor:Bd,applyColor:ol,buildColorExpression:Gd,fallback:el},getColor:Bd},Symbol.toStringTag,{value:"Module"}))}),I1=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),O1=e=>e.replace(/-/g,"_").toUpperCase(),Jn={...{STATUS:"status",CUSTOM:"custom"}},nl={};function jd(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=I1(o);Jn[O1(o)]=a,nl[a]=n}}jd(F1);function D1(e){e&&jd(e)}function So(e){return nl[e]||nl[Jn.LANGUAGE_FAMILY]}function B1(e,t={}){return So(e).applyColor(t)}const G1=Object.assign({"./research-map.vue":()=>oo(()=>Promise.resolve().then(()=>MA),void 0)});if(D1(Object.assign({"./src/colors/affinity-block.js":uf,"./src/colors/doxa-region.js":gf,"./src/colors/resource.js":mf})),typeof window<"u"&&((Vg=window.mapboxgl)!=null&&Vg.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 j1(){return jm(w1,{configureApp(e){e.use(Xm());const t=a1();e.use(t),e.provide("appI18n",t),e.provide("profileModules",G1)}})}const U1=j1();typeof customElements<"u"&&(customElements.get("doxa-research-map")||customElements.define("doxa-research-map",U1));const z1="rgba(120, 128, 134, 0.28)",Ud="36px",zd=()=>{};function H1(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return zd;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return zd;const a=h=>h.classList.contains("map-scroll-edge--left");for(const h of n)h.style.background=`linear-gradient(${a(h)?"to right":"to left"}, ${z1} ${Ud}, transparent ${Ud})`,h.style.opacity="0",h.style.transition="opacity 0.16s ease",h.style.userSelect="none",h.style.webkitUserSelect="none";const s=h=>{h.style.opacity="1"},r=h=>{h.style.opacity="0"},i=()=>n.find(h=>!a(h))||null,l=new Set;let c=!1,u=null;const d=()=>{for(const h of n)l.has(h)||r(h)},f=()=>{const h=i();h&&(s(h),u&&clearTimeout(u),u=setTimeout(d,250))},A=()=>f(),v=h=>{if(!(h.touches&&h.touches.length===1))return;const m=h.target;m&&m.classList&&m.classList.contains("map-scroll-edge")||f()},b=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",A,{passive:!0}),e.addEventListener("touchmove",v,{passive:!0}),e.addEventListener("touchend",b,{passive:!0}),e.addEventListener("touchcancel",b,{passive:!0});const _=()=>{c||f()};typeof window<"u"&&window.addEventListener("scroll",_,{passive:!0});const $=[];for(const h of n){const m=()=>{l.add(h),s(h)},w=()=>{l.delete(h),r(h)},p=()=>{c=!0,s(h)},P=()=>{c=!1,r(h)};h.addEventListener("mouseenter",m),h.addEventListener("mouseleave",w),h.addEventListener("touchstart",p,{passive:!0}),h.addEventListener("touchend",P,{passive:!0}),$.push(()=>{h.removeEventListener("mouseenter",m),h.removeEventListener("mouseleave",w),h.removeEventListener("touchstart",p),h.removeEventListener("touchend",P)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",A),e.removeEventListener("touchmove",v),e.removeEventListener("touchend",b),e.removeEventListener("touchcancel",b),typeof window<"u"&&window.removeEventListener("scroll",_);for(const m of $)m();for(const m of n)r(m)}}const V1=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 K1(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=V1[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function q1(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const W1=["mapbox","maplibre"],Hd="mapbox";function Y1(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Vd(e){const t=Y1(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,s=String(o||n||a||Hd).toLowerCase().trim();return W1.includes(s)?s:Hd}function X1(e){return e==="maplibre"?"MapLibre":"Mapbox"}function Kd(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function ar(e){if(typeof window>"u")return;const t=window.maplibregl,o=window.mapboxgl;return t&&t.Map&&e instanceof t.Map?t:o&&o.Map&&e instanceof o.Map?o:o||t}function Ao(e,t="circle"){return Kd(e)?{[`${t}-emissive-strength`]:1}:{}}const qd={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function Z1(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function J1(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(Z1(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(qd.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(qd.mapbox,null,!0);o=!0}catch{}return o}const Q1=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,Wd=new WeakMap;function ek(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Yd(e,t){if(!e||!t)return 0;const o=String(t).split("-")[0].toLowerCase();try{if(!ek(e))return typeof e.setLanguage=="function"&&e.setLanguage(o),0;const n=e.getStyle&&e.getStyle();if(!n||!Array.isArray(n.layers))return 0;let a=Wd.get(e);a||(a=new Map,Wd.set(e,a));let s=0;for(const r of n.layers){if(r.type!=="symbol"||!r.layout||r.layout["text-field"]==null)continue;const i=r.layout["text-field"],l=JSON.stringify(i);if(l.startsWith('["coalesce",["get","name:')){if(!a.has(r.id))continue}else{if(!Q1.test(l))continue;a.set(r.id,i)}const c=o==="en"?a.get(r.id):["coalesce",["get","name:"+o],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),s++}return s}catch{return 0}}const Qn={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 Xd(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const tk=Qn.mapbox.css,ok="https://tiles.openfreemap.org/styles/liberty",nk="https://tiles.openfreemap.org/styles/fiord";function al(e){var o;const t=((o=Qn[e])==null?void 0:o.global)||Qn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function ak(e){const t=Qn[e]||Qn.mapbox;if(al(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(al(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 s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function sk(e,t){if(!e)return;const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),o.prepend(s)}),n(2e3)])}function rk(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?nk:ok}const ik=85.0511,sl=-2,lk=0,ck=-60;function Zd(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function uk(e,t,o,n){if(!e||e<=0||!t||t<=0)return lk;const a=Math.log2(e/512),s=Zd(n)-Zd(ik),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(sl,Math.min(i,(o??18)-1))}function pk({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:u=!1,maxZoom:d=18,pitch:f=0,bearing:A=0,renderWorldCopies:v=!0,showEdgeBorders:b=!0,southCutoff:_=ck,maxBounds:$=void 0}){const h=$a(null),m=he(!1);let w=null,p=null,P=null,g=null;try{g=Ne("profileConfig",null)}catch{}a=a||Vd(g);const C=a==="maplibre";let S=null;try{S=Ne("lang",null)}catch{}const G=()=>{const U=S&&typeof S=="object"&&"value"in S?S.value:S;if(typeof U=="string"&&U)return U;const D=g&&typeof g=="object"&&"value"in g?g.value:g;if(D&&(D.locale||D.lang))return String(D.locale||D.lang);try{const L=new URLSearchParams(location.search);return L.get("lang")||L.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function H(){var $e;const U=K1(o,a),D=U.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const L=()=>!e.value;if(await ak(a),L())return;const y=al(a);if(!y){console.error(`[useMapInstance] ${C?"maplibregl":"mapboxgl"} is not available. Add the ${C?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(J1(y),!C){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}if(await sk(e.value,C?Qn.maplibre.css:tk),L()||(await new Promise(ne=>requestAnimationFrame(ne)),L()))return;const M=e.value,z=M.clientWidth,K=M.clientHeight;if(z===0||K===0){console.error(`[useMapInstance] Container has ZERO dimensions (${z}×${K}). Map will be invisible. Check that parent elements have CSS sizing.`);let ne=M.parentElement,ee=0;for(;ne&&ee<5;)ne=ne.parentElement,ee++}const Q=t;C||(y.accessToken=Q);const ie=()=>typeof window<"u"&&window.innerWidth>=1024,j=(ne,ee)=>{if(u)return typeof c=="number"?c:sl;if(!ie())return sl;const de=uk(ne,ee,d,_);return typeof c=="number"?Math.max(c,de):de},be=j(M.clientWidth,M.clientHeight),xe=U.lightPreset||(()=>{var ne;try{const ee=typeof n=="function"?n():n;return(ne=ee==null?void 0:ee.basemap)==null?void 0:ne.lightPreset}catch{return}})();if(C){h.value=new y.Map({container:e.value,style:rk(D,xe),center:s,zoom:r,minZoom:be,maxZoom:d,pitch:f,bearing:A,dragRotate:!1,renderWorldCopies:v,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Xd(h.value);try{e.value.__doxaMap=h.value}catch{}}else{const ne=typeof n=="function"?n():n;h.value=new y.Map({accessToken:Q,container:e.value,style:D,...ne?{config:ne}:{},center:s,zoom:r,minZoom:be,maxZoom:d,pitch:f,bearing:A,dragRotate:!1,touchPitch:!1,renderWorldCopies:v,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Xd(h.value);try{e.value.__doxaMap=h.value}catch{}}try{let ne=!1;h.value.on("error",ee=>{var T,F;const de=((T=ee==null?void 0:ee.error)==null?void 0:T.status)??(ee==null?void 0:ee.status),Pe=String(((F=ee==null?void 0:ee.error)==null?void 0:F.url)||(ee==null?void 0:ee.sourceId)||"");de!==401&&de!==403||ne||(ne=!0,console.error(`[doxa-maps] Mapbox returned ${de} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Pe?` First failing request: ${Pe.slice(0,120)}`:"")))})}catch{}try{h.value.touchZoomRotate.disableRotation()}catch{}P=H1((($e=e.value)==null?void 0:$e.parentElement)||null,{enabled:b});let fe=be,ke=null;w=()=>{const ne=h.value;if(!ne)return;const ee=j(M.clientWidth,M.clientHeight);ee!==fe&&(fe=ee,ne.setMinZoom(ee)),ne.getZoom(){ke=null;const de=h.value;if(!de)return;const Pe=j(M.clientWidth,M.clientHeight);if(de.getZoom(){ke&&(clearTimeout(ke),ke=null)},h.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),h.value.on("style.load",()=>{if(h.value&&Yd(h.value,G()),U.paint&&h.value){const ne=q1(h.value,U.paint);console.info("[useMapInstance] style paint applied ("+a+"):",ne.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var ne;(ne=h.value)==null||ne.resize(),h.value&&h.value.setMinZoom(j(M.clientWidth,M.clientHeight)),m.value=!0})})}function J(){if(h.value){if(w&&(h.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),p){try{p()}catch{}p=null}P&&(P(),P=null),h.value.remove(),h.value=null,m.value=!1}}if(S&&typeof S=="object"&&"value"in S)try{Re(S,()=>{h.value&&m.value&&Yd(h.value,G())})}catch{}return{map:h,isMapReady:m,initializeMap:H,destroy:J}}const dk=Tn&&Tn.tagName.toUpperCase()==="SCRIPT"&&Tn.src||new URL("doxa-research-map.js",document.baseURI).href,wn=e=>String(e||"").trim().replace(/\/+$/,"");function Jd(){try{const t=String(dk||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function gk(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return wn(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return wn(o)}return wn(Jd()||"")}function Qd(e){const t=wn("")||wn(Jd()||"");if(t)try{const o=typeof document<"u"?document.baseURI:void 0;return wn(new URL(t+"/assets",o).href)}catch{return wn(t+"/assets")}return"./assets"}function fk({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const r=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(r){if(/^https?:\/\//i.test(r))return r;if(r.startsWith("/"))return a?window.location.origin+r:r;const i=gk(n),l=r.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 hk={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},eg={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function mk(e){return hk[e]||null}function rl(e="standard"){return eg.circleRadius[e]||eg.circleRadius.standard}function tg(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Ne("uiStore"),{t:r,locale:i}=bt(),l=he([]);function c(m){const w=n(m.languageFamily),p="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let P=m.imageUrl;(!P||P.includes("NoImageAvailable"))&&(P=p);const g=(m.name||"U")[0].toUpperCase(),C=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],S=g.charCodeAt(0)%C.length;return`
${G}

- `}function d(m){const w=t();if(!w)return;const p=m||"language-family-pins";if(!w.getLayer(p))return;const P=g=>{try{const C=g.features[0],S=C.properties,G=C.geometry.coordinates.slice();for(;Math.abs(g.lngLat.lng-G[0])>180;)G[0]+=g.lngLat.lng>G[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(C),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(ar(w)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(G).setHTML(c(S)).addTo(w)}catch(C){console.error(` [${o}] Pin click handler error:`,C)}};w.on("click",p,P),l.value.push({event:"click",layer:p,handler:P})}function f(){const m=t();if(!m)return;const w="regions-fill";if(!m.getLayer(w))return;const p=P=>{const g=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const C of g)if(m.getLayer(C)){const S=m.queryRenderedFeatures(P.point,{layers:[C]});if(S&&S.length>0)return}if(P.features&&P.features.length>0){const C=P.features[0].properties;new(ar(m)).Popup().setLngLat(P.lngLat).setHTML(u(C)).addTo(m)}};m.on("click",w,p),l.value.push({event:"click",layer:w,handler:p})}function A(){const m=t();if(!m)return;const w="clusters";if(!m.getLayer(w))return;const p=P=>{const g=m.queryRenderedFeatures(P.point,{layers:[w]});if(!g.length)return;const C=g[0].properties.cluster_id,S=g[0].source;m.getSource(S).getClusterExpansionZoom(C,(G,H)=>{G||m.easeTo({center:g[0].geometry.coordinates,zoom:H})})};m.on("click",w,p),l.value.push({event:"click",layer:w,handler:p})}function v(m){const w=t();if(!w||!w.getLayer(m))return;const p=()=>{w.getCanvas().style.cursor="pointer"},P=()=>{w.getCanvas().style.cursor=""};w.on("mouseenter",m,p),w.on("mouseleave",m,P),l.value.push({event:"mouseenter",layer:m,handler:p}),l.value.push({event:"mouseleave",layer:m,handler:P})}function b(){d(),v("language-family-pins"),d("language-family-pins-hitbox"),v("language-family-pins-hitbox"),A(),v("clusters")}function _(){f(),v("regions-fill")}function $(){const m=t();m&&(m.getLayer("language-family-pins")&&b(),m.getLayer("regions-fill")&&_(),m.getLayer("people-groups-pins")&&(d(),v("people-groups-pins")))}function h(){const m=t();if(m){for(const{event:w,layer:p,handler:P}of l.value)try{m.off(w,p,P)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:b,attachRegionEvents:_,attachPinClickHandler:d,attachRegionClickHandler:f,attachClusterClickHandler:A,attachCursorHandlers:v,detachAllEventHandlers:h,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Ye={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"},il=[">",["to-number",["get","peoplePraying"],0],0],ll={0:.25,8:.4,14:.5},ea={0:.1,8:.18,14:.22},ta={0:1.2,8:1.6,14:2},og=["interpolate",["linear"],["zoom"],0,["case",il,ll[0],ea[0]],8,["case",il,ll[8],ea[8]],14,["case",il,ll[14],ea[14]]],bk=["interpolate",["linear"],["zoom"],0,ta[0],8,ta[8],14,ta[14]],ng=["==",["to-number",["get","peoplePraying"],0],0],$k={prayer:[ng],prayerProgress:[ng],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function yk(e){const t=$k[e]||[];if(!t.length)return bk;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,ea[0],ta[0]],8,["case",o,ea[8],ta[8]],14,["case",o,ea[14],ta[14]]]}const _k=[[/ sign language$/i,"Sign Language"]];function vk(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Ye[a])return Ye[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(Ye[s])return Ye[s]}}if(Ye[t])return Ye[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Ye[n])return Ye[n];for(const[a,s]of _k)if(a.test(t))return s;return null}function kk(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=()=>{const ne=t();return ne?Ke(ne):null},r=tg({getMap:s,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=he({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=he({});function c(ne,ee="languageFamily"){const de=s();if(!de||!(ne!=null&&ne.length))return;const Pe=B1(ee),T=ne.map(O=>{var ue,te,k,x,B,X,me,ce,Z,le,Ce,Te,qe,nt,Qe,V,se,ve,Se;return{type:"Feature",properties:{uniqueId:O.id||O.uniqueId,slug:O.slug||((ue=O._normalized)==null?void 0:ue.slug)||"",rop3:O.rop3||O.peopleGroupId,peopleId3:O.peopleId3||"",name:O.name,language:O.language,languageFamily:O.languageFamily||((te=O._normalized)==null?void 0:te.languageFamily)||vk(O.language)||"Unknown",affinityBlock:O.affinityBlock||O.affbloc||O.Affbloc||((k=O._normalized)==null?void 0:k.affinityBlock)||"Unknown",affinityBlockLabel:O.affinityBlockLabel||((x=O._normalized)==null?void 0:x.affinityBlockLabel)||"",cluster:O.cluster||((B=O._normalized)==null?void 0:B.cluster)||"",clusterLabel:O.clusterLabel||((X=O._normalized)==null?void 0:X.clusterLabel)||"",peopleGroup:O.peopleGroup||((me=O._normalized)==null?void 0:me.peopleGroup)||"",peopleGroupLabel:O.peopleGroupLabel||((ce=O._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:O.doxaRegion||((Z=O._normalized)==null?void 0:Z.doxaRegion)||"Unknown",wagfBlock:O.wagfBlock||((le=O._normalized)==null?void 0:le.wagfBlock)||"",wagfBlockLabel:O.wagfBlockLabel||((Ce=O._normalized)==null?void 0:Ce.wagfBlockLabel)||"",wagfRegionLabel:O.wagfRegionLabel||((Te=O._normalized)==null?void 0:Te.wagfRegionLabel)||"",country:O.country,countryIso:O.countryIso,countryIsoLabel:O.countryIsoLabel,countryName:O.countryName,religion:O.religion,religionCode:O.religionCode,religionLabel:O.religionLabel,religionName:O.religionName,population:O.population,status:O.status,description:O.description||"",imageUrl:O.imageUrl||"",peoplePraying:Number(O.peoplePraying??((qe=O._normalized)==null?void 0:qe.peoplePraying)??0),engagementStatus:O.engagementStatus===!0||O.engagementStatus===1||!1,adoptionStatus:O.adoptionStatus===!0||O.adoptionStatus===1||!1,bible:O.bible||((nt=O._normalized)==null?void 0:nt.bible)||"Not Available",jesusFilm:O.jesusFilm||((Qe=O._normalized)==null?void 0:Qe.jesusFilm)||"Not Available",radio:O.radio||((V=O._normalized)==null?void 0:V.radio)||"Not Available",gospel:O.gospel||((se=O._normalized)==null?void 0:se.gospel)||"Not Available",audio:O.audio||((ve=O._normalized)==null?void 0:ve.audio)||"Not Available",stories:O.stories||((Se=O._normalized)==null?void 0:Se.stories)||"Not Available",lng:parseFloat(O.longitude||O.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(O.longitude||O.lng),parseFloat(O.latitude||O.lat)]}}}).filter(O=>!isNaN(O.geometry.coordinates[0])&&!isNaN(O.geometry.coordinates[1])),F=.04,I=O=>`${O.geometry.coordinates[0]},${O.geometry.coordinates[1]}`,W=new Map;for(const O of T){const ue=I(O);W.has(ue)||W.set(ue,[]),W.get(ue).push(O)}for(const O of W.values()){if(O.length<2)continue;const[ue,te]=O[0].geometry.coordinates,k=O.length;for(let x=0;x",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),de.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":rl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function u(ne,ee="doxa-regions"){const de=s();if(!de)return;de.getLayer("regions-fill")&&de.removeLayer("regions-fill"),de.getLayer("regions-border")&&de.removeLayer("regions-border"),de.getSource("regions")&&de.removeSource("regions");const Pe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},T="#cccccc",F=ne&&ne.isoToRegion?ne.isoToRegion:{},I=[],W={};for(const[te,k]of Object.entries(F)){const x=Pe[String(k).toLowerCase()];x&&I.push(te,x),W[k]||(W[k]=[]),W[k].push(te)}l.value=W;const Y=I.length?["match",["get","iso_3166_1_alpha_3"],...I,T]:T,O=de.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":de.getLayer("language-family-pins")?"language-family-pins":void 0,ue=(()=>{var te,k,x;try{return!!((x=(k=(te=de.getContainer)==null?void 0:te.call(de))==null?void 0:k.classList)!=null&&x.contains("maplibregl-map"))}catch{return!1}})();ue?(de.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Qd()}/boundaries/world-adm0.geojson`).then(te=>te.json()).then(te=>{for(const x of te.features||[])x.properties&&x.properties.iso3&&(x.properties.iso_3166_1_alpha_3=x.properties.iso3);const k=de.getSource("regions");k&&k.setData(te)}).catch(te=>console.warn("[map-layers] region boundaries failed to load",te))):de.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),de.addLayer({id:"regions-fill",type:"fill",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":Y,"fill-opacity":ee==="none"?.1:.7,"fill-antialias":!0,...Ao(de,"fill"),"fill-opacity-transition":{duration:300}}},O),de.addLayer({id:"regions-border",type:"line",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"line-color":Y,"line-width":1,"line-opacity":.9,...Ao(de,"line")}},O),i.value.regions=!0,r.attachRegionEvents()}function d(ne,ee){const de=s();if(!de||!ne||!(ee!=null&&ee.length))return;f();const Pe=ee.filter(Y=>{var ue;return(Y.languageFamily||((ue=Y._normalized)==null?void 0:ue.languageFamily)||"Unknown")===ne});if(Pe.length<2)return;const T=n(ne),F=[],I=15,W=[...Pe].sort((Y,O)=>(Y.longitude||Y.lng)-(O.longitude||O.lng));for(let Y=0;Y=",["get","peoplePraying"],Lo],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const z=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function K(ne,ee){const de=["interpolate",["linear"],["zoom"]];for(let Pe=0;Pe",["get","peoplePraying"],0],de=R();if(!C.every(T=>ne.getLayer(T))){for(const T of C)if(ne.getLayer(T))try{ne.removeLayer(T)}catch{}ne.addLayer({id:p,type:"circle",source:"language-families",filter:ee,paint:{"circle-radius":K(z,1),"circle-color":de,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...Ao(ne)}},"language-family-pins");for(const T of g)ne.addLayer({id:T,type:"circle",source:"language-families",filter:ee,paint:{"circle-radius":K(z,1),"circle-radius-transition":D,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":de,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":D,...Ao(ne)}},"language-family-pins")}}function ie(){const ne=s();if(ne)for(const ee of C)ne.getLayer(ee)&&ne.removeLayer(ee)}function j(ne){const ee=s();if(!ee)return;const de=[">",["get","peoplePraying"],0],Pe=ne?["all",de,ne]:de;for(const T of C)if(ee.getLayer(T))try{ee.setFilter(T,Pe)}catch{}}function be(){const ne=s();if(ne){if(Q(),h&&(cancelAnimationFrame(h),h=null),m=!0,ne.getLayer("language-family-pins"))try{ne.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Lo],1,[">",["get","peoplePraying"],0],1,3])}catch{}fe(ne),xe()}}function xe(){h&&(cancelAnimationFrame(h),h=null);const ne=++w;let ee=performance.now(),de=-1/0;function Pe(T){if(!m||ne!==w)return;const F=s();if(!F||!C.some(W=>F.getLayer(W))){h=null;return}if(T-de"u")return;const ee=typeof ne.getContainer=="function"?ne.getContainer():null;if(ee)try{y=new IntersectionObserver(de=>{for(const Pe of de)L=Pe.isIntersecting},{threshold:0}),y.observe(ee)}catch{y=null,L=!0}}function ke(){if(y){try{y.disconnect()}catch{}y=null}L=!0}function $e(){m=!1,h&&(cancelAnimationFrame(h),h=null),ke();try{ie();const ne=s();ne&&ne.getLayer("language-family-pins")&&ne.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:d,removeFamilyConnectionLines:f,updateLayerSource:A,removeLayer:v,hasLayer:b,setPaintProperty:_,mapEvents:r,startPrayerGlow:be,stopPrayerGlow:$e,syncGlowFilter:j,cleanup:$}}const uo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function wk(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(uo==null?void 0:uo.center)||[20,10],defaultZoom:r=uo==null?void 0:uo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(D,L,y={x:150,y:0}){const R=t();if(!R)return D;try{const z=R.getCanvas(),K=z.width,Q=z.height,ie=R.project(D),j=window.devicePixelRatio||1,be=(y.x||0)*j,xe=(y.y||0)*j,fe={x:ie.x-be,y:ie.y-xe},ke=R.unproject(fe);return[ke.lng,ke.lat]}catch{return D}}function c(D,L=[]){const y=t();if(!y)return;let R=null,z=5;const K=L.filter(ie=>ie.languageFamily===D);if(K.length>0){let ie=1/0,j=-1/0,be=1/0,xe=-1/0;if(K.forEach(fe=>{fe.longitude&&fe.latitude&&(ie=Math.min(ie,fe.longitude),j=Math.max(j,fe.longitude),be=Math.min(be,fe.latitude),xe=Math.max(xe,fe.latitude))}),ie!==1/0){R=[(ie+j)/2,(be+xe)/2];const fe=j-ie,ke=xe-be,$e=Math.max(fe,ke);$e>50?z=2:$e>20?z=3:$e>10?z=4:$e>5?z=5:z=6}}if(!R)return;const Q=l(R);y.flyTo({center:Q,zoom:z,...i})}function u(D){const L=t();if(!L)return;let y=null,R=4;const z=mk(D);if(z)y=z.center,R=z.zoom||4;else if(a!=null&&a.features){const Q=a.features.find(ie=>{var j,be;return((j=ie.properties)==null?void 0:j.region)===D||((be=ie.properties)==null?void 0:be.name)===D});Q&&(y=d(Q))}if(!y)return;const K=l(y);L.flyTo({center:K,zoom:R,...i})}function d(D){if(!D||!D.geometry)return null;const{type:L,coordinates:y}=D.geometry;let R=[];if(L==="Polygon"?R=y[0]||[]:L==="MultiPolygon"&&y.forEach(Q=>{R=R.concat(Q[0]||[])}),R.length===0)return null;let z=0,K=0;return R.forEach(Q=>{z+=Q[0],K+=Q[1]}),[z/R.length,K/R.length]}function f(D,L={}){const y=t();if(!y)return;const R={center:D,...i,...L};y.flyTo(R)}function A(D,L){const y=t();if(!y||(D==null?void 0:D.longitude)==null||(D==null?void 0:D.latitude)==null)return;const R=L??Math.min(y.getZoom()+2,8);f([D.longitude,D.latitude],{zoom:R})}function v(D,L={top:40,right:40,bottom:40,left:40},y={}){const R=t();if(!R||!D)return;const z=y.maxZoom??4,K=y.duration??900;R.fitBounds(D,{padding:L,maxZoom:z,duration:K,...i,...y})}function b(){const D=t();D&&D.flyTo({center:s,zoom:r,...i})}const _=80,$=800,h=5,m=5,w=110,p=1.2;function P(D){const L=D.filter(Number.isFinite).slice().sort((T,F)=>T-F),y=L.length;if(!y)return null;let R=-1,z=0;for(let T=0;TR&&(R=I,z=T)}const K=(z+1)%y,Q=new Array(y);for(let T=0;T0&&F((T+180)%360+360)%360-180,ke=fe(be),$e=24,ne=360/$e,ee=new Array($e).fill(0);for(const T of L){let F=Math.floor(((T+180)%360+360)%360/ne);F>=$e&&(F=$e-1),ee[F]++}let de=0;for(let T=1;T<$e;T++)ee[T]>ee[de]&&(de=T);return{center:fe(-180+(de+.5)*ne),minLng:ke,maxLng:ke+(xe-be),span:xe-be}}function g(D){try{const L=D.getContainer&&D.getContainer().clientWidth||0,y=L>0?Math.log2(L/512):p,R=typeof D.getMinZoom=="function"?D.getMinZoom():y;return Math.max(R,y)}catch{return p}}function C(D,L,y,R){D.easeTo({center:[L,(y+R)/2],zoom:g(D),duration:$,essential:!0})}function S(D,L,y){if(y>w)return!0;try{const R=typeof D.cameraForBounds=="function"?D.cameraForBounds(L,{padding:_,maxZoom:h}):null;return R==null?!0:typeof R.zoom=="number"&&R.zoom<=g(D)+.05}catch{return!1}}function G(D,L){if(!Array.isArray(D))return D;switch(D[0]){case"get":return L==null?void 0:L[D[1]];case"literal":return D[1];case"has":return L!=null&&D[1]in L;case"!has":return L==null||!(D[1]in L);case"!":return!G(D[1],L);case"coalesce":{for(let R=1;R2){const K=Number(G(D[2],L));return Number.isFinite(K)?K:0}return NaN}case"to-string":{const R=G(D[1],L);return R==null?"":String(R)}case"to-boolean":return!!G(D[1],L);case"slice":{const R=G(D[1],L),z=G(D[2],L),K=D.length>3?G(D[3],L):void 0;return typeof R!="string"?"":K!=null?R.slice(z,K):R.slice(z)}default:return D}}function H(D,L){if(D===!0)return!0;if(D===!1)return!1;if(!Array.isArray(D))return!!D;const y=D[0];if(y==="all"){for(let R=1;R"||y===">="||y==="<"||y==="<="){const R=typeof D[1]=="string"?L==null?void 0:L[D[1]]:G(D[1],L),z=G(D[2],L);switch(y){case"==":return R===z||R==null&&z==null;case"!=":return!(R===z||R==null&&z==null);case">":return R>z;case">=":return R>=z;case"<":return R{const W=(I==null?void 0:I.properties)||{};return W.region===T||W.name===T||W.id===T});if(F){const I=[];let W=1/0,Y=-1/0;const O=te=>{for(const k of te)Array.isArray(k[0])?O(k):Number.isFinite(k[0])&&Number.isFinite(k[1])&&(I.push(k[0]),k[1]Y&&(Y=k[1]))};(ee=F.geometry)!=null&&ee.coordinates&&O(F.geometry.coordinates);const ue=P(I);if(ue&&Number.isFinite(W)){const te=[[ue.minLng,W],[ue.maxLng,Y]];S(y,te,ue.span)?C(y,ue.center,W,Y):y.fitBounds(te,{padding:_,maxZoom:h,duration:$,essential:!0});return}}}const R=L.sourceId??"language-families";if(!y.getSource(R))return;const z=L.matchExpr??D.filter;if(!z)return;const K=J(y,R);if(!K.length)return;const Q=[];let ie=1/0,j=-1/0,be=0,xe=0,fe=0;const ke=new Set;for(const Pe of K){const T=Pe==null?void 0:Pe.properties;if(!H(z,T))continue;const F=T==null?void 0:T.uniqueId;if(F!=null){if(ke.has(F))continue;ke.add(F)}const I=(de=Pe.geometry)==null?void 0:de.coordinates;if(!Array.isArray(I)||I.length<2)continue;const W=I[0],Y=I[1];!Number.isFinite(W)||!Number.isFinite(Y)||(be===0&&(xe=W,fe=Y),Q.push(W),Yj&&(j=Y),be++)}if(be===0)return;if(be===1){y.flyTo({center:[xe,fe],zoom:m,duration:$,essential:!0});return}const $e=P(Q)||{center:0,minLng:0,maxLng:0,span:0},ne=[[$e.minLng,ie],[$e.maxLng,j]];if(S(y,ne,$e.span)){C(y,$e.center,ie,j);return}try{y.fitBounds(ne,{padding:_,maxZoom:h,duration:$,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:f,flyToCoords:A,fitBounds:v,resetView:b,zoomToLegendRow:U,calculateRegionCenterFromPolygon:d}}const sr="#1a1a1a",Vo="selected-pin-highlight";function xk(e=sr){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function d(m){const w=t();if(!w)return;const p=m||"language-family-pins";if(!w.getLayer(p))return;const P=g=>{try{const C=g.features[0],S=C.properties,G=C.geometry.coordinates.slice();for(;Math.abs(g.lngLat.lng-G[0])>180;)G[0]+=g.lngLat.lng>G[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(C),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(ar(w)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(G).setHTML(c(S)).addTo(w)}catch(C){console.error(` [${o}] Pin click handler error:`,C)}};w.on("click",p,P),l.value.push({event:"click",layer:p,handler:P})}function f(){const m=t();if(!m)return;const w="regions-fill";if(!m.getLayer(w))return;const p=P=>{const g=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const C of g)if(m.getLayer(C)){const S=m.queryRenderedFeatures(P.point,{layers:[C]});if(S&&S.length>0)return}if(P.features&&P.features.length>0){const C=P.features[0].properties;new(ar(m)).Popup().setLngLat(P.lngLat).setHTML(u(C)).addTo(m)}};m.on("click",w,p),l.value.push({event:"click",layer:w,handler:p})}function A(){const m=t();if(!m)return;const w="clusters";if(!m.getLayer(w))return;const p=P=>{const g=m.queryRenderedFeatures(P.point,{layers:[w]});if(!g.length)return;const C=g[0].properties.cluster_id,S=g[0].source;m.getSource(S).getClusterExpansionZoom(C,(G,H)=>{G||m.easeTo({center:g[0].geometry.coordinates,zoom:H})})};m.on("click",w,p),l.value.push({event:"click",layer:w,handler:p})}function v(m){const w=t();if(!w||!w.getLayer(m))return;const p=()=>{w.getCanvas().style.cursor="pointer"},P=()=>{w.getCanvas().style.cursor=""};w.on("mouseenter",m,p),w.on("mouseleave",m,P),l.value.push({event:"mouseenter",layer:m,handler:p}),l.value.push({event:"mouseleave",layer:m,handler:P})}function b(){d(),v("language-family-pins"),d("language-family-pins-hitbox"),v("language-family-pins-hitbox"),A(),v("clusters")}function _(){f(),v("regions-fill")}function $(){const m=t();m&&(m.getLayer("language-family-pins")&&b(),m.getLayer("regions-fill")&&_(),m.getLayer("people-groups-pins")&&(d(),v("people-groups-pins")))}function h(){const m=t();if(m){for(const{event:w,layer:p,handler:P}of l.value)try{m.off(w,p,P)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:b,attachRegionEvents:_,attachPinClickHandler:d,attachRegionClickHandler:f,attachClusterClickHandler:A,attachCursorHandlers:v,detachAllEventHandlers:h,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Ye={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"},il=[">",["to-number",["get","peoplePraying"],0],0],ll={0:.25,8:.4,14:.5},ea={0:.1,8:.18,14:.22},ta={0:1.2,8:1.6,14:2},og=["interpolate",["linear"],["zoom"],0,["case",il,ll[0],ea[0]],8,["case",il,ll[8],ea[8]],14,["case",il,ll[14],ea[14]]],bk=["interpolate",["linear"],["zoom"],0,ta[0],8,ta[8],14,ta[14]],ng=["==",["to-number",["get","peoplePraying"],0],0],$k={prayer:[ng],prayerProgress:[ng],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function yk(e){const t=$k[e]||[];if(!t.length)return bk;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,ea[0],ta[0]],8,["case",o,ea[8],ta[8]],14,["case",o,ea[14],ta[14]]]}const _k=[[/ sign language$/i,"Sign Language"]];function vk(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Ye[a])return Ye[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(Ye[s])return Ye[s]}}if(Ye[t])return Ye[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Ye[n])return Ye[n];for(const[a,s]of _k)if(a.test(t))return s;return null}function kk(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=()=>{const ne=t();return ne?Ke(ne):null},r=tg({getMap:s,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=he({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=he({});function c(ne,ee="languageFamily"){const de=s();if(!de||!(ne!=null&&ne.length))return;const Pe=B1(ee),T=ne.map(O=>{var ue,te,k,x,B,X,me,ce,Z,le,Ce,Te,qe,nt,Qe,V,se,ve,Se;return{type:"Feature",properties:{uniqueId:O.id||O.uniqueId,slug:O.slug||((ue=O._normalized)==null?void 0:ue.slug)||"",rop3:O.rop3||O.peopleGroupId,peopleId3:O.peopleId3||"",name:O.name,language:O.language,languageFamily:O.languageFamily||((te=O._normalized)==null?void 0:te.languageFamily)||vk(O.language)||"Unknown",affinityBlock:O.affinityBlock||O.affbloc||O.Affbloc||((k=O._normalized)==null?void 0:k.affinityBlock)||"Unknown",affinityBlockLabel:O.affinityBlockLabel||((x=O._normalized)==null?void 0:x.affinityBlockLabel)||"",cluster:O.cluster||((B=O._normalized)==null?void 0:B.cluster)||"",clusterLabel:O.clusterLabel||((X=O._normalized)==null?void 0:X.clusterLabel)||"",peopleGroup:O.peopleGroup||((me=O._normalized)==null?void 0:me.peopleGroup)||"",peopleGroupLabel:O.peopleGroupLabel||((ce=O._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:O.doxaRegion||((Z=O._normalized)==null?void 0:Z.doxaRegion)||"Unknown",wagfBlock:O.wagfBlock||((le=O._normalized)==null?void 0:le.wagfBlock)||"",wagfBlockLabel:O.wagfBlockLabel||((Ce=O._normalized)==null?void 0:Ce.wagfBlockLabel)||"",wagfRegionLabel:O.wagfRegionLabel||((Te=O._normalized)==null?void 0:Te.wagfRegionLabel)||"",country:O.country,countryIso:O.countryIso,countryIsoLabel:O.countryIsoLabel,countryName:O.countryName,religion:O.religion,religionCode:O.religionCode,religionLabel:O.religionLabel,religionName:O.religionName,population:O.population,status:O.status,description:O.description||"",imageUrl:O.imageUrl||"",peoplePraying:Number(O.peoplePraying??((qe=O._normalized)==null?void 0:qe.peoplePraying)??0),engagementStatus:O.engagementStatus===!0||O.engagementStatus===1||!1,adoptionStatus:O.adoptionStatus===!0||O.adoptionStatus===1||!1,bible:O.bible||((nt=O._normalized)==null?void 0:nt.bible)||"Not Available",jesusFilm:O.jesusFilm||((Qe=O._normalized)==null?void 0:Qe.jesusFilm)||"Not Available",radio:O.radio||((V=O._normalized)==null?void 0:V.radio)||"Not Available",gospel:O.gospel||((se=O._normalized)==null?void 0:se.gospel)||"Not Available",audio:O.audio||((ve=O._normalized)==null?void 0:ve.audio)||"Not Available",stories:O.stories||((Se=O._normalized)==null?void 0:Se.stories)||"Not Available",lng:parseFloat(O.longitude||O.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(O.longitude||O.lng),parseFloat(O.latitude||O.lat)]}}}).filter(O=>!isNaN(O.geometry.coordinates[0])&&!isNaN(O.geometry.coordinates[1])),F=.04,I=O=>`${O.geometry.coordinates[0]},${O.geometry.coordinates[1]}`,W=new Map;for(const O of T){const ue=I(O);W.has(ue)||W.set(ue,[]),W.get(ue).push(O)}for(const O of W.values()){if(O.length<2)continue;const[ue,te]=O[0].geometry.coordinates,k=O.length;for(let x=0;x",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),de.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":rl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function u(ne,ee="doxa-regions"){const de=s();if(!de)return;de.getLayer("regions-fill")&&de.removeLayer("regions-fill"),de.getLayer("regions-border")&&de.removeLayer("regions-border"),de.getSource("regions")&&de.removeSource("regions");const Pe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},T="#cccccc",F=ne&&ne.isoToRegion?ne.isoToRegion:{},I=[],W={};for(const[te,k]of Object.entries(F)){const x=Pe[String(k).toLowerCase()];x&&I.push(te,x),W[k]||(W[k]=[]),W[k].push(te)}l.value=W;const Y=I.length?["match",["get","iso_3166_1_alpha_3"],...I,T]:T,O=de.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":de.getLayer("language-family-pins")?"language-family-pins":void 0,ue=(()=>{var te,k,x;try{return!!((x=(k=(te=de.getContainer)==null?void 0:te.call(de))==null?void 0:k.classList)!=null&&x.contains("maplibregl-map"))}catch{return!1}})();ue?(de.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Qd()}/boundaries/world-adm0.geojson`).then(te=>te.json()).then(te=>{for(const x of te.features||[])x.properties&&x.properties.iso3&&(x.properties.iso_3166_1_alpha_3=x.properties.iso3);const k=de.getSource("regions");k&&k.setData(te)}).catch(te=>console.warn("[map-layers] region boundaries failed to load",te))):de.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),de.addLayer({id:"regions-fill",type:"fill",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":Y,"fill-opacity":ee==="none"?.1:.7,"fill-antialias":!0,...Ao(de,"fill"),"fill-opacity-transition":{duration:300}}},O),de.addLayer({id:"regions-border",type:"line",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"line-color":Y,"line-width":1,"line-opacity":.9,...Ao(de,"line")}},O),i.value.regions=!0,r.attachRegionEvents()}function d(ne,ee){const de=s();if(!de||!ne||!(ee!=null&&ee.length))return;f();const Pe=ee.filter(Y=>{var ue;return(Y.languageFamily||((ue=Y._normalized)==null?void 0:ue.languageFamily)||"Unknown")===ne});if(Pe.length<2)return;const T=n(ne),F=[],I=15,W=[...Pe].sort((Y,O)=>(Y.longitude||Y.lng)-(O.longitude||O.lng));for(let Y=0;Y=",["get","peoplePraying"],Lo],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const z=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function K(ne,ee){const de=["interpolate",["linear"],["zoom"]];for(let Pe=0;Pe",["get","peoplePraying"],0],de=M();if(!C.every(T=>ne.getLayer(T))){for(const T of C)if(ne.getLayer(T))try{ne.removeLayer(T)}catch{}ne.addLayer({id:p,type:"circle",source:"language-families",filter:ee,paint:{"circle-radius":K(z,1),"circle-color":de,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...Ao(ne)}},"language-family-pins");for(const T of g)ne.addLayer({id:T,type:"circle",source:"language-families",filter:ee,paint:{"circle-radius":K(z,1),"circle-radius-transition":D,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":de,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":D,...Ao(ne)}},"language-family-pins")}}function ie(){const ne=s();if(ne)for(const ee of C)ne.getLayer(ee)&&ne.removeLayer(ee)}function j(ne){const ee=s();if(!ee)return;const de=[">",["get","peoplePraying"],0],Pe=ne?["all",de,ne]:de;for(const T of C)if(ee.getLayer(T))try{ee.setFilter(T,Pe)}catch{}}function be(){const ne=s();if(ne){if(Q(),h&&(cancelAnimationFrame(h),h=null),m=!0,ne.getLayer("language-family-pins"))try{ne.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],Lo],1,[">",["get","peoplePraying"],0],1,3])}catch{}fe(ne),xe()}}function xe(){h&&(cancelAnimationFrame(h),h=null);const ne=++w;let ee=performance.now(),de=-1/0;function Pe(T){if(!m||ne!==w)return;const F=s();if(!F||!C.some(W=>F.getLayer(W))){h=null;return}if(T-de"u")return;const ee=typeof ne.getContainer=="function"?ne.getContainer():null;if(ee)try{y=new IntersectionObserver(de=>{for(const Pe of de)L=Pe.isIntersecting},{threshold:0}),y.observe(ee)}catch{y=null,L=!0}}function ke(){if(y){try{y.disconnect()}catch{}y=null}L=!0}function $e(){m=!1,h&&(cancelAnimationFrame(h),h=null),ke();try{ie();const ne=s();ne&&ne.getLayer("language-family-pins")&&ne.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:u,addFamilyConnectionLines:d,removeFamilyConnectionLines:f,updateLayerSource:A,removeLayer:v,hasLayer:b,setPaintProperty:_,mapEvents:r,startPrayerGlow:be,stopPrayerGlow:$e,syncGlowFilter:j,cleanup:$}}const uo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function wk(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(uo==null?void 0:uo.center)||[20,10],defaultZoom:r=uo==null?void 0:uo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(D,L,y={x:150,y:0}){const M=t();if(!M)return D;try{const z=M.getCanvas(),K=z.width,Q=z.height,ie=M.project(D),j=window.devicePixelRatio||1,be=(y.x||0)*j,xe=(y.y||0)*j,fe={x:ie.x-be,y:ie.y-xe},ke=M.unproject(fe);return[ke.lng,ke.lat]}catch{return D}}function c(D,L=[]){const y=t();if(!y)return;let M=null,z=5;const K=L.filter(ie=>ie.languageFamily===D);if(K.length>0){let ie=1/0,j=-1/0,be=1/0,xe=-1/0;if(K.forEach(fe=>{fe.longitude&&fe.latitude&&(ie=Math.min(ie,fe.longitude),j=Math.max(j,fe.longitude),be=Math.min(be,fe.latitude),xe=Math.max(xe,fe.latitude))}),ie!==1/0){M=[(ie+j)/2,(be+xe)/2];const fe=j-ie,ke=xe-be,$e=Math.max(fe,ke);$e>50?z=2:$e>20?z=3:$e>10?z=4:$e>5?z=5:z=6}}if(!M)return;const Q=l(M);y.flyTo({center:Q,zoom:z,...i})}function u(D){const L=t();if(!L)return;let y=null,M=4;const z=mk(D);if(z)y=z.center,M=z.zoom||4;else if(a!=null&&a.features){const Q=a.features.find(ie=>{var j,be;return((j=ie.properties)==null?void 0:j.region)===D||((be=ie.properties)==null?void 0:be.name)===D});Q&&(y=d(Q))}if(!y)return;const K=l(y);L.flyTo({center:K,zoom:M,...i})}function d(D){if(!D||!D.geometry)return null;const{type:L,coordinates:y}=D.geometry;let M=[];if(L==="Polygon"?M=y[0]||[]:L==="MultiPolygon"&&y.forEach(Q=>{M=M.concat(Q[0]||[])}),M.length===0)return null;let z=0,K=0;return M.forEach(Q=>{z+=Q[0],K+=Q[1]}),[z/M.length,K/M.length]}function f(D,L={}){const y=t();if(!y)return;const M={center:D,...i,...L};y.flyTo(M)}function A(D,L){const y=t();if(!y||(D==null?void 0:D.longitude)==null||(D==null?void 0:D.latitude)==null)return;const M=L??Math.min(y.getZoom()+2,8);f([D.longitude,D.latitude],{zoom:M})}function v(D,L={top:40,right:40,bottom:40,left:40},y={}){const M=t();if(!M||!D)return;const z=y.maxZoom??4,K=y.duration??900;M.fitBounds(D,{padding:L,maxZoom:z,duration:K,...i,...y})}function b(){const D=t();D&&D.flyTo({center:s,zoom:r,...i})}const _=80,$=800,h=5,m=5,w=110,p=1.2;function P(D){const L=D.filter(Number.isFinite).slice().sort((T,F)=>T-F),y=L.length;if(!y)return null;let M=-1,z=0;for(let T=0;TM&&(M=I,z=T)}const K=(z+1)%y,Q=new Array(y);for(let T=0;T0&&F((T+180)%360+360)%360-180,ke=fe(be),$e=24,ne=360/$e,ee=new Array($e).fill(0);for(const T of L){let F=Math.floor(((T+180)%360+360)%360/ne);F>=$e&&(F=$e-1),ee[F]++}let de=0;for(let T=1;T<$e;T++)ee[T]>ee[de]&&(de=T);return{center:fe(-180+(de+.5)*ne),minLng:ke,maxLng:ke+(xe-be),span:xe-be}}function g(D){try{const L=D.getContainer&&D.getContainer().clientWidth||0,y=L>0?Math.log2(L/512):p,M=typeof D.getMinZoom=="function"?D.getMinZoom():y;return Math.max(M,y)}catch{return p}}function C(D,L,y,M){D.easeTo({center:[L,(y+M)/2],zoom:g(D),duration:$,essential:!0})}function S(D,L,y){if(y>w)return!0;try{const M=typeof D.cameraForBounds=="function"?D.cameraForBounds(L,{padding:_,maxZoom:h}):null;return M==null?!0:typeof M.zoom=="number"&&M.zoom<=g(D)+.05}catch{return!1}}function G(D,L){if(!Array.isArray(D))return D;switch(D[0]){case"get":return L==null?void 0:L[D[1]];case"literal":return D[1];case"has":return L!=null&&D[1]in L;case"!has":return L==null||!(D[1]in L);case"!":return!G(D[1],L);case"coalesce":{for(let M=1;M2){const K=Number(G(D[2],L));return Number.isFinite(K)?K:0}return NaN}case"to-string":{const M=G(D[1],L);return M==null?"":String(M)}case"to-boolean":return!!G(D[1],L);case"slice":{const M=G(D[1],L),z=G(D[2],L),K=D.length>3?G(D[3],L):void 0;return typeof M!="string"?"":K!=null?M.slice(z,K):M.slice(z)}default:return D}}function H(D,L){if(D===!0)return!0;if(D===!1)return!1;if(!Array.isArray(D))return!!D;const y=D[0];if(y==="all"){for(let M=1;M"||y===">="||y==="<"||y==="<="){const M=typeof D[1]=="string"?L==null?void 0:L[D[1]]:G(D[1],L),z=G(D[2],L);switch(y){case"==":return M===z||M==null&&z==null;case"!=":return!(M===z||M==null&&z==null);case">":return M>z;case">=":return M>=z;case"<":return M{const W=(I==null?void 0:I.properties)||{};return W.region===T||W.name===T||W.id===T});if(F){const I=[];let W=1/0,Y=-1/0;const O=te=>{for(const k of te)Array.isArray(k[0])?O(k):Number.isFinite(k[0])&&Number.isFinite(k[1])&&(I.push(k[0]),k[1]Y&&(Y=k[1]))};(ee=F.geometry)!=null&&ee.coordinates&&O(F.geometry.coordinates);const ue=P(I);if(ue&&Number.isFinite(W)){const te=[[ue.minLng,W],[ue.maxLng,Y]];S(y,te,ue.span)?C(y,ue.center,W,Y):y.fitBounds(te,{padding:_,maxZoom:h,duration:$,essential:!0});return}}}const M=L.sourceId??"language-families";if(!y.getSource(M))return;const z=L.matchExpr??D.filter;if(!z)return;const K=J(y,M);if(!K.length)return;const Q=[];let ie=1/0,j=-1/0,be=0,xe=0,fe=0;const ke=new Set;for(const Pe of K){const T=Pe==null?void 0:Pe.properties;if(!H(z,T))continue;const F=T==null?void 0:T.uniqueId;if(F!=null){if(ke.has(F))continue;ke.add(F)}const I=(de=Pe.geometry)==null?void 0:de.coordinates;if(!Array.isArray(I)||I.length<2)continue;const W=I[0],Y=I[1];!Number.isFinite(W)||!Number.isFinite(Y)||(be===0&&(xe=W,fe=Y),Q.push(W),Yj&&(j=Y),be++)}if(be===0)return;if(be===1){y.flyTo({center:[xe,fe],zoom:m,duration:$,essential:!0});return}const $e=P(Q)||{center:0,minLng:0,maxLng:0,span:0},ne=[[$e.minLng,ie],[$e.maxLng,j]];if(S(y,ne,$e.span)){C(y,$e.center,ie,j);return}try{y.fitBounds(ne,{padding:_,maxZoom:h,duration:$,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:f,flyToCoords:A,fitBounds:v,resetView:b,zoomToLegendRow:U,calculateRegionCenterFromPolygon:d}}const sr="#1a1a1a",Vo="selected-pin-highlight";function xk(e=sr){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` ${Mo(n(P))}`,{autoprint:!0}),i(P,w)}async function k(S,{columns:P,title:w}={}){if(o())return;const g="List";r(S,g,"fetch","fetching records",30);try{const h=await u(S),b=P||[{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"}],x=b.map(_=>`${Mo(_.head)}`).join("")+'✓',E=h.map(_=>""+b.map(F=>{const j=_[F.key]??_[`${F.key}_label`]??"—",H=F.num&&Number.isFinite(Number(j))?Number(j).toLocaleString(a()):j;return`${Mo(H)}`}).join("")+'□').join("");r(S,g,"render",`laying out ${h.length} rows`,70);const y=w||`${n(S)} — ${h.length}`;hn(`${Mo(y)}

${Mo(y)}

${h.length} entries · pray for them by name

${x}${E}
`,{autoprint:!0}),i(S,g)}catch(h){l(S,g,h)}}async function T(S){if(o())return;const P="Card Deck";r(S,P,"fetch","fetching records",30);try{const w=await u(S),[{createCardRenderer:g},h]=await Promise.all([dt(()=>Promise.resolve().then(()=>cc),void 0),e.strings?e.strings():dt(()=>Promise.resolve().then(()=>kc),void 0).then(x=>x.default||x)]);r(S,P,"render",`laying out ${w.length} cards`,70);const b=g({strings:h,lang:a(),stock:s()});hn(b.buildDeck(S,w),{autoprint:!0}),i(S,P)}catch(w){l(S,P,w)}}async function A(S,{mapSvg:P=""}={}){if(o())return;const w="Prayer Packet";r(S,w,"fetch","fetching people groups",30);try{const g=await u(S),[{createPacketRenderer:h},b]=await Promise.all([dt(()=>Promise.resolve().then(()=>Ty),void 0),e.strings?e.strings():dt(()=>Promise.resolve().then(()=>kc),void 0).then(y=>y.default||y)]),x=h({strings:b,lang:a()}),E=new Map(g.filter(y=>y.image_url).map(y=>[y.slug,y.image_url]));r(S,w,"render",`printing ${g.length} people groups`,70),hn(x.buildPacket(S,g,E,P),{autoprint:!0}),i(S,w)}catch(g){l(S,w,g)}}return{exportState:t,dismiss:c,printPoster:f,printList:k,printCardDeck:T,printPacket:A}}function db(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 Ql(e){const t=pe(null),o=zo({position:"fixed",inset:"0"}),n=()=>{var u,f;const s=t.value;if(!s)return;const r=db(s),i=s.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((f=i==null?void 0:i.documentElement)==null?void 0:f.clientHeight)||0;o.value={position:"fixed",top:`${-r.y}px`,left:`${-r.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};ot(e,s=>{s&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),Jt(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const gb={class:"wall-h"},hb={key:0,class:"wall-tag"},fb=["innerHTML"],$b={class:"sec-name"},mb={class:"sec-count"},_b={key:1,class:"perrow"},bb=["for"],yb=["id"],vb=["value"],kb=["data-list-id"],wb=["aria-label","onClick"],Pb={class:"hcount"},Lb={class:"hlabel"},xb={class:"main"},Sb={key:0,class:"ph is-soon"},Ab={class:"ph-label"},Eb={key:0,class:"ph-count"},Rb={class:"ph-soon"},Tb=["src","alt","role","tabindex","title","onClick","onKeydown","onError"],Cb={key:2,class:"ph"},Nb={class:"ph-label"},Ob={key:0,class:"ph-count"},Mb={class:"tape pfs"},Fb=["onClick"],Ib=["onClick"],Db=["aria-expanded","onClick"],Gb=["aria-label"],Ub=["onClick"],Bb={class:"modal",role:"dialog","aria-live":"polite"},jb={class:"modal-kind"},zb={class:"modal-title"},Vb={class:"modal-err"},Hb={class:"modal-soon"},Wb={class:"bar"},qb={class:"modal-phase"},Kb={class:"modal-hint"},ec=2,tc=5,oc=2,nc="doxa-maps:poster-wall:per-row",Xb=210,Yb={__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=pe(a()??(t.columns||oc));ot(()=>t.columns,I=>{a()==null&&(o.value=I||oc)}),ot(o,I=>{Number.isFinite(I)&&I>=ec&&I<=tc&&s(I)});const n=[2,3,4,5];function a(){try{const I=window.localStorage.getItem(nc),W=Number(I);return Number.isFinite(W)&&W>=ec&&W<=tc?W:null}catch{return null}}function s(I){try{window.localStorage.setItem(nc,String(I))}catch{}}const r=pe(typeof window<"u"?window.innerWidth:1280);if(typeof window<"u"){const I=()=>{r.value=window.innerWidth};window.addEventListener("resize",I),Jt(()=>window.removeEventListener("resize",I))}const i=re(()=>{if(!(o.value>0))return{};const I=Math.max(0,r.value-36),W=Math.max(1,Math.floor(I/Xb));return{gridTemplateColumns:`repeat(${Math.min(o.value,W)}, minmax(0, 1fr))`}}),l=re(()=>t.itemNounPlural||`${t.itemNoun}s`),c=re(()=>String(t.assetsBase||"./assets").replace(/\/+$/,"")),u=re(()=>{const I=String(Yl()||"").replace(/\/+$/,"");return I?`${I}/assets`:""}),f=pe({}),$=I=>`${f.value[I]?u.value:c.value}/previews/${I}.webp`;function k(I){const W=u.value;if(!f.value[I]&&W&&W!==c.value){f.value={...f.value,[I]:1};return}h.value={...h.value,[I]:!0}}const T=re(()=>{const I=new Map;for(const W of t.items||[]){if(!W||!W.id)continue;const Z=t.groupBy(W)||"Other";I.has(Z)||I.set(Z,[]),I.get(Z).push(W)}return[...I.entries()].map(([W,Z])=>({name:W,items:Z.slice().sort((q,_e)=>(_e.count||0)-(q.count||0)),total:Z.reduce((q,_e)=>q+(_e.count||0),0)})).sort((W,Z)=>Z.total-W.total)}),A=re(()=>{const I={};for(const W of T.value)I[W.name]=!!t.collapsedBy(W);return I}),S=pe({}),P=I=>t.collapsible?I in S.value?!!S.value[I]:!!A.value[I]:!1,w=I=>{S.value={...S.value,[I]:!P(I)}},g=pe(null),h=pe({});function b(I){const W=g.value===I.id;g.value=W?null:I.id,window.dispatchEvent(new CustomEvent(t.eventName,{detail:{instanceId:t.instanceId,listId:W?null:I.id,label:W?null:I.label}}))}const x=pe(null),{scrimRef:E,scrimStyle:y}=Ql(x);async function _(I){if(x.value)return;const W=t.unsupported(I);if(W){x.value={label:I.label,kind:"Poster",phase:"soon",message:W,pct:0};return}x.value={label:I.label,kind:"Poster",phase:"fetch",message:"fetching poster",pct:20};try{let Z=null;try{Z=await fetch(`${c.value}/posters/${I.id}.webp`)}catch{}if(!Z||!Z.ok){x.value={...x.value,phase:"render",message:"generating the poster",pct:45};const q=await fetch(`${c.value}/posters/${I.id}.html`);if(!q.ok)throw new Error(`poster not found (${q.status})`);const{rasterPoster:_e,looksRendered:m}=await dt(async()=>{const{rasterPoster:v,looksRendered:O}=await Promise.resolve().then(()=>ac);return{rasterPoster:v,looksRendered:O}},void 0),L=await _e(await q.text(),{scale:2});if(!await m(L))throw new Error("the generated poster rendered blank");await ie(L,I);return}await ie(await Z.blob(),I)}catch(Z){x.value={label:I.label,kind:"Poster",phase:"error",message:String((Z==null?void 0:Z.message)||Z).slice(0,140),pct:0}}}const F=I=>String(I).split(".").pop().replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^./,W=>W.toUpperCase());let j=I=>F(I),H="en";try{const I=dn();j=I.t,H=I.locale}catch{}const C=pe(t.cardStock),K=pe([]);t.cardStocks&&dt(async()=>{const{STOCK:I}=await Promise.resolve().then(()=>cc);return{STOCK:I}},void 0).then(({STOCK:I})=>{var Z;const W=Array.isArray(t.cardStocks)?t.cardStocks:Object.keys(I);K.value=W.filter(q=>I[q]).map(q=>({id:q,label:I[q].label})),K.value.some(q=>q.id===C.value)||(C.value=((Z=K.value[0])==null?void 0:Z.id)||t.cardStock)}).catch(()=>{});const oe=pb({state:x,records:t.records?I=>t.records(I):null,lang:()=>{const I=H&&(H.value??H);return typeof I=="string"&&I||"en"},stock:()=>C.value,label:I=>(I==null?void 0:I.label)||(I==null?void 0:I.id)||""}),J=re(()=>typeof t.records=="function"),se=re(()=>t.previewAction==="print"),de=pe(null);function We(I,W){var q,_e,m;de.value=de.value===I?null:I;const Z=(_e=(q=W==null?void 0:W.currentTarget)==null?void 0:q.closest)==null?void 0:_e.call(q,".pfs");Z&&((m=Z.parentElement)==null||m.style.setProperty("--pstocks-gap",`${Z.offsetHeight}px`))}function rt(I,W){C.value=W,de.value=null,oe.printCardDeck(I)}function ne(I){if(!J.value){x.value={label:I.label,kind:"Prayer List",phase:"soon",message:t.prayerListSoonMessage,pct:0};return}oe.printList(I)}async function ie(I,W){if(t.posterAction==="print"){x.value={...x.value,phase:"save",message:"opening the print dialog",pct:80};const{openPrintFrame:Z}=await dt(async()=>{const{openPrintFrame:_e}=await Promise.resolve().then(()=>ub);return{openPrintFrame:_e}},void 0),q=URL.createObjectURL(I);fe.push(q),Z(''+Pe(`${t.downloadPrefix} — ${W.label||W.id}`)+`${Pe(W.label||W.id)}`,{autoprint:!0})}else x.value={...x.value,phase:"save",message:"saving",pct:80},ve(I,`${t.downloadPrefix}-${W.id}-poster.webp`);x.value={...x.value,phase:"done",message:t.posterAction==="print"?"print dialog opened":"saved",pct:100},setTimeout(()=>{x.value=null},900)}const fe=[];Jt(()=>{for(const I of fe.splice(0))try{URL.revokeObjectURL(I)}catch{}});const Pe=I=>String(I??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""");function ve(I,W){const Z=document.createElement("a");Z.href=URL.createObjectURL(I),Z.download=W,document.body.appendChild(Z),Z.click(),Z.remove(),setTimeout(()=>URL.revokeObjectURL(Z.href),4e3)}function Me(){x.value=null}return Oo(`.wall{--wall-pad-top:22px;position:absolute;inset:0;overflow-y:auto;padding:var(--wall-pad-top) 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.wall.is-dark{background:#0a1410;color:#e5e7eb}.wall--embedded{--wall-pad-top:0px;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:56px 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{--card-pad-top:24px;--tape-overlap:16px;position:relative;background:#fff;border:1px solid #e3e6ea;border-radius:3px;padding:var(--card-pad-top) 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:calc(var(--card-pad-top,24px) - var(--tape-overlap,16px));transform:translateX(-50%);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:calc(100% - var(--tape-overlap,16px));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:normal;overflow-wrap:break-word;text-align:center;line-height:1.2}.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}.pstocks{top:100%;margin-top:calc(var(--pstocks-gap,20px) / 2);width:92%;max-width:92%;box-sizing:border-box;padding:3px;border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:3px;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10);cursor:default}.is-dark .pstocks{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}.pbtn-deck[aria-expanded="true"]{color:#10b981}.pbtn-deck::before{content:"\\25B8";display:inline-block;margin-right:3px;font-size:8px;transition:transform .15s}.pbtn-deck[aria-expanded="true"]::before{transform:rotate(90deg)}.pstock{flex:0 1 auto;min-width:0;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 5px;cursor:pointer;line-height:1.25;white-space:normal;overflow-wrap:break-word}.pstock:hover{border-color:#10b981;color:#10b981}.pstock.is-on{border-color:#10b981;color:#0b7a5b;background:rgba(16,185,129,.10)}@media (pointer:coarse){.pbtn{min-height:24px}.pstock{min-height:24px}.tape-h{min-height:24px}}.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::before{content:"";position:absolute;left:-20px;right:-20px;bottom:100%;height:var(--wall-pad-top,0px);background:inherit;pointer-events:none}.wall--embedded .sec-head::before{display:none}.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{--banner-pad-top:24px;--banner-pad-bottom:24px;position:relative;aspect-ratio:1/1;border:1px solid #dfe3e7;overflow:visible;padding:var(--banner-pad-top) 10px var(--banner-pad-bottom);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"),(I,W)=>(ee(),ae("div",{class:Ge(["wall",{"is-dark":e.isDark,"wall--embedded":e.embedded}])},[G("h2",gb,Q(e.heading),1),e.tag?(ee(),ae("div",hb,Q(e.tag),1)):Ae("",!0),e.intro?(ee(),ae("p",{key:1,class:"wall-sub",innerHTML:e.intro},null,8,fb)):Ae("",!0),(ee(!0),ae(we,null,nt(T.value,Z=>(ee(),ae("section",{key:Z.name,class:"sec"},[e.sectionHeads?(ee(),po(Fs(e.collapsible?"button":"div"),{key:0,class:Ge(["sec-head",{"is-toggle":e.collapsible,"is-shut":e.collapsible&&P(Z.name)}]),type:e.collapsible?"button":null,"aria-expanded":e.collapsible?String(!P(Z.name)):null,onClick:q=>e.collapsible&&w(Z.name)},{default:fr(()=>[e.collapsible?(ee(),ae("span",{key:0,class:Ge(["sec-caret",{"is-open":!P(Z.name)}])},"▶",2)):Ae("",!0),G("h3",$b,Q(Z.name),1),G("span",mb,Q(Z.total.toLocaleString())+" people groups · "+Q(Z.items.length)+" "+Q(Z.items.length===1?e.itemNoun:l.value),1)]),_:2},1032,["class","type","aria-expanded","onClick"])):Ae("",!0),e.columnsControl&&!P(Z.name)?(ee(),ae("div",_b,[G("label",{class:"perrow__label",for:`perrow-${e.instanceId}-${Z.name}`},Q(ze(j)("buttons.postersPerRow")),9,bb),Ts(G("select",{id:`perrow-${e.instanceId}-${Z.name}`,class:"perrow__select","onUpdate:modelValue":W[0]||(W[0]=q=>o.value=q)},[(ee(),ae(we,null,nt(n,q=>G("option",{key:q,value:q},Q(q),9,vb)),64))],8,yb),[[qp,o.value,void 0,{number:!0}]])])):Ae("",!0),Ts(G("div",{class:"grid",style:qt(i.value)},[(ee(!0),ae(we,null,nt(Z.items,q=>(ee(),ae("div",{key:q.id,class:Ge(["card",{"is-last":g.value===q.id}]),"data-list-id":q.id},[G("button",{type:"button",class:"tape tape-h","aria-label":ze(j)("buttons.showOnMapAria",{label:q.label}),onClick:_e=>b(q)},[G("span",Pb,Q(q.count)+" "+Q(e.unit),1),W[2]||(W[2]=G("span",{class:"hsep"},"·",-1)),G("span",Lb,Q(ze(j)("buttons.showOnMap")),1)],8,wb),G("div",xb,[e.unsupported(q)?(ee(),ae("div",Sb,[G("div",Ab,Q(q.label),1),q.count?(ee(),ae("div",Eb,Q(q.count.toLocaleString())+" people groups",1)):Ae("",!0),G("div",Rb,Q(e.unsupported(q)),1)])):h.value[q.id]?(ee(),ae("div",Cb,[G("div",Nb,Q(q.label),1),q.count?(ee(),ae("div",Ob,Q(q.count.toLocaleString())+" people groups",1)):Ae("",!0),W[3]||(W[3]=G("div",{class:"ph-note"},"preview unavailable",-1))])):(ee(),ae("img",{key:1,class:Ge(["img",{"is-clickable":se.value}]),src:$(q.id),alt:se.value?`${q.label} — prayer poster (click to preview and print)`:`${q.label} — prayer poster`,loading:"lazy",decoding:"async",role:se.value?"button":null,tabindex:se.value?0:null,title:se.value?ze(j)("buttons.previewPrintPoster",{label:q.label}):null,onClick:_e=>se.value&&_(q),onKeydown:[vi(Lo(_e=>se.value&&_(q),["prevent"]),["enter"]),vi(Lo(_e=>se.value&&_(q),["prevent"]),["space"])],onError:_e=>k(q.id)},null,42,Tb)),G("fieldset",Mb,[G("legend",null,Q(ze(j)("buttons.printOptions")),1),e.hidePrayerListWhenSoon&&!J.value?Ae("",!0):(ee(),ae("button",{key:0,type:"button",class:"pbtn",onClick:_e=>ne(q)},Q(ze(j)("buttons.prayerList")),9,Fb)),G("button",{type:"button",class:"pbtn",onClick:_e=>_(q)},Q(ze(j)("buttons.posterMap")),9,Ib),J.value?(ee(),ae("button",{key:1,type:"button",class:"pbtn pbtn-deck","aria-expanded":String(de.value===q.id),onClick:Lo(_e=>We(q.id,_e),["stop"])},Q(ze(j)("buttons.cardDeck")),9,Db)):Ae("",!0)]),J.value&&K.value.length&&de.value===q.id?(ee(),ae("div",{key:3,class:"tape pstocks",role:"group","aria-label":ze(j)("buttons.cardStockAria")},[(ee(!0),ae(we,null,nt(K.value,_e=>(ee(),ae("button",{key:_e.id,type:"button",class:Ge(["pstock",{"is-on":C.value===_e.id}]),onClick:Lo(m=>rt(q,_e.id),["stop"])},Q(_e.label),11,Ub))),128))],8,Gb)):Ae("",!0)])],10,kb))),128))],4),[[ui,!P(Z.name)]])]))),128)),x.value?(ee(),ae("div",{key:2,ref_key:"scrimRef",ref:E,style:qt(ze(y)),class:"modal-scrim",onClick:W[1]||(W[1]=Lo(Z=>x.value.phase==="error"&&Me(),["self"]))},[G("div",Bb,[G("div",jb,Q(x.value.kind),1),G("div",zb,Q(x.value.label),1),x.value.phase==="error"?(ee(),ae(we,{key:0},[G("div",Vb,Q(x.value.message),1),G("button",{type:"button",class:"modal-btn",onClick:Me},Q(ze(j)("buttons.close")),1)],64)):x.value.phase==="soon"?(ee(),ae(we,{key:1},[G("div",Hb,Q(x.value.message),1),G("button",{type:"button",class:"modal-btn",onClick:Me},Q(ze(j)("buttons.close")),1)],64)):(ee(),ae(we,{key:2},[G("div",Wb,[G("div",{class:"bar-fill",style:qt({width:x.value.pct+"%"})},null,4)]),G("div",qb,Q(x.value.message),1),G("div",Kb,Q(ze(j)("buttons.renderingLocal")),1)],64))])],4)):Ae("",!0)],2))}},Jb="A printable sheet for each population centre where unengaged people groups live — named from a cited gazetteer, never inferred.",Zb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"city-poster-wall",setup(e){const t=Ze("profileConfig",pe(null)),o=re(()=>{var l;return((l=t.value)==null?void 0:l.isDark)===!0}),n=re(()=>us(t.value)),a=pe([]);Yt(async()=>{try{const l=await fetch(`${n.value}/tables/key-cities.json`);l.ok&&(a.value=(await l.json()).rows||[])}catch{}});const s=re(()=>a.value.filter(l=>l.poster_id).map(l=>({id:l.poster_id,label:l.place_name,count:l.people_group_count,region:l.region,bbox:null}))),r=l=>l.region||"Other",i=l=>l.total<20;return(l,c)=>(ee(),po(Yb,{items:s.value,"group-by":r,"is-dark":o.value,"assets-base":n.value,"event-name":"doxa-key-cities:show-on-map",heading:"Key City Posters",tag:"Prayer Mobilization",intro:Jb,unit:"UPG","item-noun":"city","item-noun-plural":"cities",collapsible:!0,"collapsed-by":i,"prayer-list-soon-message":"Coming soon — a prayer list for each city, naming every unengaged people group in it.","download-prefix":"doxa-city"},null,8,["items","is-dark","assets-base"]))}}},Symbol.toStringTag,{value:"Module"})),Qb={class:"dt-head"},ey={class:"dt-title"},ty={class:"dt-count"},oy={key:0,class:"dt-grain"},ny={class:"dt-actions"},sy={key:0,class:"dt-err"},ay={class:"dt-wrap"},ry={class:"dt-hint"},iy={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},ly={class:"dt-sheet-head"},cy={class:"dt-dl"},uy=["href"],py={key:1},dy={key:2},gy={key:2,class:"dt-caveats"},hy={class:"dt-cav-k"},fy={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=e,n=t,a=pe(!1),s=pe(null),{scrimRef:r,scrimStyle:i}=Ql(s),l=pe(null),c=zo(null),u=pe(null),f=pe(!1),$=re(()=>String(o.assetsBase||"./assets").replace(/\/+$/,"")),k=re(()=>{var _;return((_=o.table)==null?void 0:_.meta)||{}}),T=re(()=>{var _;return(((_=o.table)==null?void 0:_.rows)||[]).length}),A=re(()=>Object.entries(k.value).filter(([_,F])=>typeof F=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(_)).map(([_,F])=>({key:_.replace(/_/g," "),text:F})));let S=null;function P(){return window.Tabulator?Promise.resolve(window.Tabulator):S||(S=new Promise((_,F)=>{const j=document.createElement("script");j.src=`${$.value}/vendor/tabulator/tabulator.min.js`,j.onload=()=>_(window.Tabulator),j.onerror=()=>F(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(j)}),S)}async function w(_){if(!(!_||_.querySelector("style[data-tabulator]")))try{const F=await fetch(`${$.value}/vendor/tabulator/tabulator.min.css`);if(!F.ok)return;const j=document.createElement("style");j.setAttribute("data-tabulator",""),j.textContent=await F.text(),_.appendChild(j)}catch{}}function g(_){var C,K;if(!l.value)return;a.value=typeof window<"u"&&window.innerWidth<700;const F=((C=o.table)==null?void 0:C.columns)||[],H=(a.value?F.slice(0,3):F).map((oe,J)=>({title:oe.title,field:oe.field,headerFilter:oe.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:oe.type==="number"?"number":oe.type==="boolean"?"boolean":"string",formatter:oe.type==="boolean"?"tickCross":void 0,.../_url$/.test(oe.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!a.value&&J{s.value=J.getData(),n("row-click",J.getData())}),c.value.on("tableBuilt",()=>{f.value=!0})}const h=_=>{var F,j;return((j=(((F=o.table)==null?void 0:F.columns)||[]).find(H=>H.field===_))==null?void 0:j.title)||_.replace(/_/g," ")},b=_=>typeof _=="string"&&_.includes(", ")&&_.length>40?_.split(", "):null,x=_=>typeof _=="string"&&/^https?:\/\//.test(_),E=re(()=>s.value?Object.entries(s.value).filter(([,_])=>_!==""&&_!==null&&_!==void 0):[]);function y(_){var F;try{(F=c.value)==null||F.download(_,`${(k.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${_}`)}catch(j){u.value=String(j.message||j)}}return Yt(async()=>{var _,F;try{await w((F=(_=l.value)==null?void 0:_.getRootNode)==null?void 0:F.call(_)),g(await P())}catch(j){u.value=String(j.message||j)}}),Jt(()=>{var _;try{(_=c.value)==null||_.destroy()}catch{}}),ot(()=>o.table,()=>{var _,F;try{(F=c.value)==null||F.replaceData(((_=o.table)==null?void 0:_.rows)||[])}catch{}}),Oo(".dt .tabulator{border:1px solid #d1d4cd;background:#fff;font-size:14px}.dt .tabulator .tabulator-header{background:#f3f3f1;border-bottom:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col{background:#f3f3f1;border-right:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover{background:#e9ebe6}.dt .tabulator .tabulator-col-title{color:#3b463d;font-weight:700}.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d;padding:3px 6px}.dt .tabulator .tabulator-row{background:#fff;color:#3b463d;border-bottom:1px solid #e6e8e3}.dt .tabulator .tabulator-row.tabulator-row-even{background:#faf9f7}.dt .tabulator .tabulator-row:hover{background:#e9ebe6}.dt .tabulator .tabulator-row .tabulator-cell{border-right:1px solid #e6e8e3;color:#3b463d}.dt .tabulator .tabulator-row .tabulator-cell a{color:#4a7a52;font-weight:600}.dt .tabulator .tabulator-footer{background:#f3f3f1;border-top:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator label{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page{border:1px solid #d1d4cd;background:#fff;color:#3b463d;border-radius:5px}.dt .tabulator .tabulator-footer .tabulator-page.active{background:#92b195;border-color:#92b195;color:#fff}.dt .tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#e9ebe6;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page:disabled{opacity:.45}.dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(_,F)=>{var j,H;return ee(),ae("div",{class:Ge(["dt",{"is-dark":e.isDark}])},[G("div",Qb,[G("h3",ey,Q(k.value.title||"Data"),1),G("span",ty,Q(T.value.toLocaleString())+" rows",1),k.value.grain?(ee(),ae("span",oy,"· "+Q(k.value.grain),1)):Ae("",!0),G("span",ny,[G("button",{type:"button",class:"dt-btn",onClick:F[0]||(F[0]=C=>y("csv"))},"CSV"),G("button",{type:"button",class:"dt-btn",onClick:F[1]||(F[1]=C=>y("json"))},"JSON")])]),u.value?(ee(),ae("div",sy,Q(u.value),1)):Ae("",!0),G("div",ay,[G("div",{ref_key:"host",ref:l},null,512)]),G("p",ry,"Tap any row for its full detail"+Q(a.value?"":" — every field, including the lists the table flattens")+".",1),s.value?(ee(),ae("div",{key:1,ref_key:"scrimRef",ref:r,style:qt(ze(i)),class:"dt-scrim",onClick:F[3]||(F[3]=Lo(C=>s.value=null,["self"]))},[G("div",iy,[G("div",ly,[G("strong",null,Q(s.value[(H=(((j=e.table)==null?void 0:j.columns)||[])[0])==null?void 0:H.field]||"Detail"),1),G("button",{type:"button",class:"dt-close",onClick:F[2]||(F[2]=C=>s.value=null)},"Close")]),G("dl",cy,[(ee(!0),ae(we,null,nt(E.value,([C,K])=>(ee(),ae(we,{key:C},[G("dt",null,Q(h(C)),1),G("dd",null,[x(K)?(ee(),ae("a",{key:0,href:K,target:"_blank",rel:"noopener"},Q(K),9,uy)):b(K)?(ee(),ae("ul",py,[(ee(!0),ae(we,null,nt(b(K),(oe,J)=>(ee(),ae("li",{key:J},Q(oe),1))),128))])):(ee(),ae("span",dy,Q(K===!0?"yes":K===!1?"no":K),1))])],64))),128))])])],4)):Ae("",!0),A.value.length?(ee(),ae("div",gy,[(ee(!0),ae(we,null,nt(A.value,C=>(ee(),ae("div",{key:C.key},[G("span",hy,Q(C.key)+":",1),De(" "+Q(C.text),1)]))),128))])):Ae("",!0)],2)}}},$y={class:"ct-tabs"},my=["onClick"],_y={key:0,class:"ct-n"},by={key:0,class:"ct-err"},yy={key:1,class:"ct-load"},vy=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Ze("profileConfig",pe(null)),o=re(()=>{var $;return(($=t.value)==null?void 0:$.isDark)===!0}),n=re(()=>us(t.value)),a=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"langcity",label:"Languages Here",file:"languages-per-city"},{id:"languages",label:"By Country",file:"languages-by-country"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],s=pe("cities"),r=re(()=>a.find($=>$.id===s.value)||a[0]),i=pe({}),l=pe(!1),c=pe(null);async function u($){if(!i.value[$]){l.value=!0,c.value=null;try{const k=await fetch(`${n.value}/tables/${$}.json`);if(!k.ok)throw new Error(`table not found (${k.status})`);i.value={...i.value,[$]:await k.json()}}catch(k){c.value=String(k.message||k)}finally{l.value=!1}}}ot(r,$=>$&&u($.file),{immediate:!0});const f=re(()=>{var $;return i.value[($=r.value)==null?void 0:$.file]||null});return Oo(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-keycities-tables"),($,k)=>(ee(),ae("div",{class:Ge(["ct",{"is-dark":o.value}])},[k[0]||(k[0]=G("h2",{class:"ct-h"},"Key Cities Data",-1)),k[1]||(k[1]=G("p",{class:"ct-sub"}," Every located centre, the languages spoken there, and the channels that reach them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),G("div",$y,[(ee(),ae(we,null,nt(a,T=>G("button",{key:T.id,type:"button",class:Ge(["ct-tab",{on:s.value===T.id}]),onClick:A=>s.value=T.id},[De(Q(T.label),1),i.value[T.file]?(ee(),ae("span",_y,Q((i.value[T.file].rows||[]).length.toLocaleString()),1)):Ae("",!0)],10,my)),64))]),c.value?(ee(),ae("div",by,Q(c.value),1)):f.value?(ee(),po(fy,{key:r.value.id,table:f.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(ee(),ae("div",yy,"Loading "+Q(r.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}));function sc(e){const t=(e.match(//)||[])[0];if(!t)throw new Error("poster HTML contains no ");const n=((e.match(/`}const xa={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"}},lc=96;function Sy({strings:e,lang:t="en",stock:o="poker",siteBase:n="https://pray.doxa.life"}={}){const a=e.en,s=e[t]||{},r=w=>s[w]!==void 0?s[w]:a[w],i=w=>String(w??"").replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),l=(w,g)=>{const h=w[`${g}_label`];if(h)return String(h);const b=w[g];return b&&typeof b=="object"?String(b.label??b.value??""):b==null?"":String(b)},c=w=>Number.isFinite(Number(w))?Number(w).toLocaleString(t):"—",u=xa[o]||xa.poker,f=Math.round(u.w*lc),$=Math.round(u.h*lc),k=u.side===!0,T=w=>t==="en"?`${n}/${w}`:`${n}/${t}/${w}`;function A(){return` +`,"pin-hint"),(y,_)=>l.value?(ee(),ae("div",{key:0,ref_key:"hintEl",ref:c,class:Ge(["pin-hint",{dark:r.value}]),role:"status"},[G("span",$_,[_[0]||(_[0]=G("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),De(" "+Q(i.value)+" ",1),G("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):Ae("",!0)}};let __=0;const b_=ea("ui",{state:()=>({_storeInstanceId:++__,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:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),y_=ea("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",clusteringMode:"off",clusterPinOpacity:.6,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 s=t.getCenter();s&&(a=[s.lng,s.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)},setClusteringMode(e){["off","mapbox","mst","network"].includes(e)&&(this.clusteringMode=e,this.showClusters=e!=="off")},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()}}}),v_=ea("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]=_o({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]=_o({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}}}),k_={activeSource:"pray-tools"},w_=".profile-loader[data-v-ccbcaedb]{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-ccbcaedb]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",x_=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},P_=["dir"],L_={key:0,class:"profile-error"},S_={key:1,class:"profile-error"},A_=x_({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var L;const o=e,n=Ze("profileConfig",null),a=re(()=>{var y;if(!o.profileConfig)return null;let E;try{E=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(E&&E.assetsBase===void 0){const _=(y=n==null?void 0:n.value)==null?void 0:y.assetsBase;typeof _=="string"&&_&&(E.assetsBase=_)}return E}),s=re(()=>{var E;return((E=a.value)==null?void 0:E.profile)||null}),r=cd(),i=re(()=>{var y;const E=(y=a.value)==null?void 0:y.tk;return typeof E=="string"&&E?E:r.value||""});ot(()=>{var E;return(E=a.value)==null?void 0:E.tk},E=>{typeof E=="string"&&E&&Ci(E)},{immediate:!0});const l=re(()=>{var E;return((E=a.value)==null?void 0:E.dataSource)||k_.activeSource}),c=re(()=>{var E;return((E=a.value)==null?void 0:E.colorSet)||"default"}),u=re(()=>!1),f=re(()=>{var E;return((E=a.value)==null?void 0:E.pinHint)!==!1}),$=re(()=>{var y,_;const E=(((y=a.value)==null?void 0:y.locale)||((_=a.value)==null?void 0:_.lang)||"").split("-")[0].toLowerCase();return cs.includes(E)?E:""}),k=Ze("appI18n",null);vu(()=>{$.value&&(k&&(k.global.locale.value=$.value),Xl($.value))});const T=re(()=>{var E,y;return $.value||((y=(E=k==null?void 0:k.global)==null?void 0:E.locale)==null?void 0:y.value)||"en"}),A=re(()=>Kl.has(T.value)?"rtl":"ltr"),S=re(()=>{var E;return((E=a.value)==null?void 0:E.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),x=Ze("profileModules",null);if(!x)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const w=re(()=>{if(!s.value)return null;const E=`./${s.value}.vue`;return x[E]?ud(x[E]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(x)),null)});St("mapboxToken",i),St("dataSource",l),St("colorSet",c),St("profileConfig",a),St("instanceId",S),St("lang",T);const g=b_(),h=y_(),b=v_();try{const E=typeof localStorage<"u"?localStorage.getItem("theme"):null;E&&((L=g.setTheme)==null||L.call(g,E))}catch{}return St("uiStore",g),St("mapStore",h),St("dataStore",b),(E,y)=>(ee(),ae("div",{class:"profile-loader",dir:A.value},[a.value?w.value?(ee(),po(Fs(w.value),{key:2})):(ee(),ae("div",S_,[G("p",null,[y[1]||(y[1]=De("⚠️ Profile ",-1)),G("strong",null,'"'+Q(s.value)+'"',1),y[2]||(y[2]=De(" not found.",-1))])])):(ee(),ae("div",L_,[...y[0]||(y[0]=[G("p",null,[De("⚠️ "),G("strong",null,"doxa-map"),De(": missing or invalid "),G("code",null,"profile-config"),De(" prop.")],-1),G("p",null,[De("Example: "),G("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),w.value&&u.value?(ee(),po(Fs(ze(null)),{key:3})):Ae("",!0),w.value&&f.value?(ee(),po(m_,{key:4})):Ae("",!0)],8,P_))}},[["styles",[w_]],["__scopeId","data-v-ccbcaedb"]]),E_=Object.assign({"./cities-list.vue":()=>dt(()=>Promise.resolve().then(()=>z_),void 0),"./cities-map.vue":()=>dt(()=>Promise.resolve().then(()=>cb),void 0),"./city-poster-wall.vue":()=>dt(()=>Promise.resolve().then(()=>Zb),void 0),"./data-tables.vue":()=>dt(()=>Promise.resolve().then(()=>vy),void 0)});function R_(){return Hp(A_,{configureApp(e){e.use(od()),e.use(g_()),e.provide("profileModules",E_)}})}const T_=R_();typeof customElements<"u"&&(customElements.get("key-cities-map")||customElements.define("key-cities-map",T_));const C_=ds&&ds.tagName.toUpperCase()==="SCRIPT"&&ds.src||new URL("key-cities.js",document.baseURI).href,gn=e=>String(e||"").trim().replace(/\/+$/,"");function Yl(){try{const t=String(C_||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function us(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=gn(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=gn((e==null?void 0:e.treeBase)||"")||gn(Yl()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return gn(new URL(o+"/assets",n).href)}catch{return gn(o+"/assets")}return"./assets"}const N_={class:"kc-sub"},M_={key:0,class:"caveat"},O_={class:"kc-tabs"},F_=["onClick"],I_=["onClick"],D_={class:"sec-name"},G_={class:"sec-meta"},U_={class:"r-meta"},B_={class:"r-num"},j_={class:"caveat"},z_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"cities-list",setup(e){const t=Ze("profileConfig",pe(null)),o=re(()=>{var x;return((x=t.value)==null?void 0:x.isDark)===!0}),n=re(()=>us(t.value)),a=pe({rows:[]}),s=pe(null);Yt(async()=>{try{const x=await fetch(`${n.value}/tables/key-cities.json`);if(!x.ok)throw new Error(`table not found (${x.status})`);a.value=await x.json()}catch(x){s.value=String(x.message||x)}});const r=re(()=>a.value.rows||[]),i=re(()=>r.value.filter(x=>x.named)),l=pe("named"),c=[{id:"named",label:"Named population centres"},{id:"multi",label:"Multi-group clusters"},{id:"all",label:"All locations"}],u=re(()=>l.value==="named"?i.value:l.value==="multi"?r.value.filter(x=>x.is_population_centre):r.value),f=re(()=>{const x=new Map;for(const w of u.value){const g=w.region||"Other";x.has(g)||x.set(g,[]),x.get(g).push(w)}return[...x.entries()].map(([w,g])=>({name:w,items:g.slice().sort((h,b)=>b.people_group_count-h.people_group_count),groups:g.reduce((h,b)=>h+b.people_group_count,0)})).sort((w,g)=>g.groups-w.groups)}),$=pe({}),k=x=>!!$.value[x],T=x=>{$.value={...$.value,[x]:!$.value[x]}},A=x=>(Number(x)||0).toLocaleString();Mo(".kc{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.kc.is-dark{background:#0a1410;color:#e5e7eb}.kc-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.kc-sub{margin:0 auto 14px;max-width:660px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.78}.kc-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.kc-tab{font:600 12px inherit;padding:6px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.kc-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:9px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:700}.r-unnamed{font-weight:600;opacity:.55;font-style:italic}.r-meta{font-size:11px;opacity:.66;margin-top:2px;line-height:1.45}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.caveat{max-width:1080px;margin:16px auto 0;padding:12px 14px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.65;opacity:.85}.is-dark .caveat{background:rgba(255,255,255,.06)}","doxa-key-cities");const S=x=>x==="yes"?"ok":x==="partial"?"mid":x==="no"?"low":"unk";return(x,w)=>(ee(),ae("div",{class:Ge(["kc",{"is-dark":o.value}])},[w[12]||(w[12]=G("h2",{class:"kc-h"},"Key Cities",-1)),G("p",N_," Where the unengaged people groups live — "+Q(A(i.value.length))+" population centres named from a cited gazetteer, across "+Q(A(r.value.length))+" located clusters. ",1),s.value?(ee(),ae("div",M_,Q(s.value),1)):Ae("",!0),G("div",O_,[(ee(),ae(we,null,nt(c,g=>G("button",{key:g.id,type:"button",class:Ge(["kc-tab",{on:l.value===g.id}]),onClick:h=>l.value=g.id},Q(g.label),11,F_)),64))]),(ee(!0),ae(we,null,nt(f.value,g=>(ee(),ae("section",{key:g.name,class:"sec"},[G("button",{type:"button",class:"sec-head",onClick:h=>T(g.name)},[G("span",{class:Ge(["sec-caret",{open:!k(g.name)}])},"▶",2),G("h3",D_,Q(g.name),1),G("span",G_,Q(g.items.length)+" locations · "+Q(A(g.groups))+" people groups ",1)],8,I_),Ts(G("div",null,[(ee(!0),ae(we,null,nt(g.items,h=>(ee(),ae("div",{key:h.lat+","+h.lng,class:"row"},[G("div",null,[G("div",{class:Ge(h.place_name?"r-name":"r-unnamed")},Q(h.place_name||`unnamed location — ${h.lat}, ${h.lng}`),3),G("div",U_,[De(Q(h.country),1),h.admin_state?(ee(),ae(we,{key:0},[De(" · "+Q(h.admin_state),1)],64)):Ae("",!0),De(" · "+Q(h.people_group_count)+" group"+Q(h.people_group_count===1?"":"s")+" ",1),h.languages?(ee(),ae(we,{key:1},[De(" · "+Q(h.languages.split(", ").slice(0,3).join(", ")),1)],64)):Ae("",!0)])]),G("div",B_,Q(A(h.upg_population)),1),G("span",{class:Ge(["pill",S(h.country_internet_access)])},Q(h.country_internet_pct!=null?h.country_internet_pct+"%":"unknown"),3)]))),128))],512),[[ui,!k(g.name)]])]))),128)),G("div",j_,[w[0]||(w[0]=G("b",null,"What a row is.",-1)),w[1]||(w[1]=De(" A cluster of people-group centroids within ~25km — ",-1)),w[2]||(w[2]=G("b",null,"not",-1)),De(" a municipal boundary. Pins mark where a people group is centred, not a settlement, so clusters are never named by inference: the "+Q(A(i.value.length))+" multi-group centres were resolved by ",1),w[3]||(w[3]=G("b",null,"Nominatim/OpenStreetMap",-1)),w[4]||(w[4]=De(" (ODbL, cited per row) and the rest stay unnamed rather than guessed. ",-1)),w[5]||(w[5]=G("br",null,null,-1)),w[6]||(w[6]=G("br",null,null,-1)),w[7]||(w[7]=G("b",null,"Internet figures are NATIONAL",-1)),w[8]||(w[8]=De(", shown as context. Per-city connectivity is not publicly available at this scale, and a national figure must not be read as a city measurement. ",-1)),w[9]||(w[9]=G("br",null,null,-1)),w[10]||(w[10]=G("br",null,null,-1)),w[11]||(w[11]=De(" This page carries people-group locations and connectivity only — no church, believer or meeting-point data, by design. ",-1))])],2))}}},Symbol.toStringTag,{value:"Module"})),Jl={regular:"Noto Sans Regular",medium:"Noto Sans Bold",bold:"Noto Sans Bold"};function V_(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function H_(e,{weight:t="regular",mapbox:o}={}){return V_(e)?{"text-font":[Jl[t]||Jl.regular]}:Array.isArray(o)&&o.length?{"text-font":o}:{}}const ka={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function W_(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:o=!0,basemap:n=!0}=t,a=document.createElement("div");a.className="doxa-attribution mapboxgl-ctrl",a.style.cssText=["font:11px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif","background:rgba(255,255,255,.82)","color:#3a4048","padding:2px 6px","border-radius:3px 0 0 0","pointer-events:auto","max-width:min(92vw,420px)"].join(";");const s=[];o&&s.push(ka.boundaries),n&&(s.push(ka.mapbox),s.push(ka.osm)),a.innerHTML=s.map(i=>`${i.label}`).join(" · ");const r={onAdd:()=>a,onRemove:()=>{a.parentNode&&a.parentNode.removeChild(a)},getDefaultPosition:()=>"bottom-right"};return e.addControl(r,"bottom-right"),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]));const Zl={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",maplibre:"https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-rtl-text@0.3.0/dist/mapbox-gl-rtl-text.js"};function q_(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function K_(e){if(typeof window>"u")return!1;const t=e?[e]:[window.maplibregl,window.mapboxgl].filter(Boolean);let o=!1;for(const n of t)if(!(!n||!n.setRTLTextPlugin))try{if(q_(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const a=n.setRTLTextPlugin(Zl.maplibre,!0);a&&a.catch&&a.catch(()=>{})}else n.setRTLTextPlugin(Zl.mapbox,null,!0);o=!0}catch{}return o}const wa={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 xa(e){var o;const t=(o=wa[e])==null?void 0:o.global;return typeof window<"u"?window[t]:void 0}async function X_(e){const t=wa[e]||wa.mapbox;if(xa(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(xa(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 s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}const Y_={class:"gm-legend"},J_={class:"gm-keys"},Z_={key:0,class:"gm-err"},Q_={key:1,class:"gm-sheet"},eb={class:"gm-sh-head"},tb={class:"gm-sh-name"},ob={class:"gm-stat"},nb={key:0,class:"gm-stat"},sb={class:"gm-stat"},ab={class:"gm-stat"},rb={class:"gm-stat"},ib={key:1,class:"gm-list"},lb={key:2,class:"gm-list"},cb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"cities-map",setup(e){const t=Ze("profileConfig",pe(null)),o=re(()=>{var g;return((g=t.value)==null?void 0:g.isDark)===!0}),n=re(()=>{var g;return((g=t.value)==null?void 0:g.tk)||window.DOXA_TOKEN||""}),a=re(()=>us(t.value)),s=pe(null),r=zo(null),i=pe([]),l=pe(null),c=pe(null),u=[{id:"named",label:"named centre",color:"#0b7a5b"},{id:"multi",label:"multi-group",color:"#e07a2b"},{id:"single",label:"single group",color:"#9aa2ad"}],f=re(()=>i.value.filter(g=>Number.isFinite(g.lat)&&Number.isFinite(g.lng))),$=pe([]),k=re(()=>$.value.filter(g=>Number.isFinite(Number(g.lat))&&Number.isFinite(Number(g.lng))));async function T(){const g=await fetch(`${a.value}/tables/key-cities.json`);if(!g.ok)throw new Error(`key-cities table not found (${g.status})`);i.value=(await g.json()).rows||[];try{const h=await fetch(`${a.value}/tables/key-cities-admin-n.json`);h.ok&&($.value=(await h.json()).rows||[])}catch{}}function A(g){const h={type:"FeatureCollection",features:f.value.map(b=>({type:"Feature",properties:{name:b.place_name||"",band:b.named?"named":b.is_population_centre?"multi":"single",groups:b.people_group_count,_row:JSON.stringify({place_name:b.place_name,country:b.country,admin_state:b.admin_state,people_group_count:b.people_group_count,people_groups:b.people_groups,languages:b.languages,upg_population:b.upg_population,lat:b.lat,lng:b.lng,named:b.named,country_internet_pct:b.country_internet_pct,poster_id:b.poster_id})},geometry:{type:"Point",coordinates:[b.lng,b.lat]}}))};if(g.getSource("kc-src")){g.getSource("kc-src").setData(h);return}g.addSource("kc-src",{type:"geojson",data:h}),g.addLayer({id:"kc-pts",type:"circle",source:"kc-src",paint:{"circle-radius":["interpolate",["linear"],["get","groups"],1,3.5,5,6,14,11],"circle-color":["match",["get","band"],"named","#0b7a5b","multi","#e07a2b","#9aa2ad"],"circle-opacity":.85,"circle-stroke-width":1,"circle-stroke-color":"rgba(255,255,255,0.85)"}}),g.addLayer({id:"kc-hit",type:"circle",source:"kc-src",paint:{"circle-radius":14,"circle-opacity":0}}),g.on("click","kc-hit",b=>{var E,y,_;const L=(_=(y=(E=b.features)==null?void 0:E[0])==null?void 0:y.properties)==null?void 0:_._row;if(L)try{l.value=JSON.parse(L)}catch{}}),g.on("mouseenter","kc-hit",()=>{g.getCanvas().style.cursor="pointer"}),w(g),g.on("mouseleave","kc-hit",()=>{g.getCanvas().style.cursor=""})}Yt(async()=>{try{await X_("mapbox")}catch{}const g=xa("mapbox");if(!g||!s.value){c.value="mapbox-gl not loaded";return}K_(g);try{await T();const h=new g.Map({container:s.value,style:o.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11",accessToken:n.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});r.value=_o(h),W_(h,{boundaries:!0}),h.once("load",()=>A(h))}catch(h){c.value=String(h.message||h)}}),Jt(()=>{var g;try{(g=r.value)==null||g.remove()}catch{}});const S=g=>(Number(g)||0).toLocaleString();function x(g,h,b){if(g.hasImage&&g.hasImage(h))return;const L=44,E=document.createElement("canvas");E.width=L,E.height=L;const y=E.getContext("2d"),_=L/2,F=L/2,j=L*.44,H=j*.42;y.beginPath();for(let K=0;K<10;K++){const oe=K%2===0?j:H,J=Math.PI/5*K-Math.PI/2,se=_+oe*Math.cos(J),de=F+oe*Math.sin(J);K===0?y.moveTo(se,de):y.lineTo(se,de)}y.closePath(),y.fillStyle=b,y.fill(),y.lineWidth=2.4,y.strokeStyle="rgba(255,255,255,0.95)",y.stroke();const C=y.getImageData(0,0,L,L);g.addImage(h,{width:L,height:L,data:new Uint8Array(C.data.buffer)})}function w(g){if(!k.value.length)return;x(g,"city-star","#b8860b");const h={type:"FeatureCollection",features:k.value.map(b=>({type:"Feature",properties:{name:b.place_name||"",tier:b.key_tier||"candidate",groups:Number(b.people_group_count)||0,_row:JSON.stringify({place_name:b.place_name,country:b.country,admin_state:b.admin_n,admin_n_level:b.admin_n_level,key_tier:b.key_tier,people_group_count:b.people_group_count,people_groups:b.people_groups,languages:b.languages,upg_population:b.upg_population,lat:b.lat,lng:b.lng,verification_tier:b.verification_tier,verification_meaning:b.verification_meaning})},geometry:{type:"Point",coordinates:[Number(b.lng),Number(b.lat)]}}))};if(g.getSource("kc-star-src")){g.getSource("kc-star-src").setData(h);return}g.addSource("kc-star-src",{type:"geojson",data:h}),g.addLayer({id:"kc-stars",type:"symbol",source:"kc-star-src",layout:{"icon-image":"city-star","icon-size":["match",["get","tier"],"key-high",.55,"key",.44,.34],"icon-allow-overlap":!0,"text-field":["case",["==",["get","tier"],"key-high"],["get","name"],""],...H_(g),"text-size":11,"text-offset":[0,1.25],"text-anchor":"top","text-optional":!0},paint:{"text-color":"#5b4708","text-halo-color":"rgba(255,255,255,0.92)","text-halo-width":1.4}}),g.on("click","kc-stars",b=>{var E,y,_;const L=(_=(y=(E=b.features)==null?void 0:E[0])==null?void 0:y.properties)==null?void 0:_._row;if(L)try{l.value=JSON.parse(L)}catch{}}),g.on("mouseenter","kc-stars",()=>{g.getCanvas().style.cursor="pointer"})}return Mo(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-cities-map"),(g,h)=>(ee(),ae("div",{class:Ge(["gm",{"is-dark":o.value}])},[G("div",{ref_key:"mapEl",ref:s,class:"gm-map"},null,512),G("div",Y_,[h[1]||(h[1]=G("div",{class:"gm-title"},"Where the unengaged people groups live",-1)),G("div",J_,[(ee(),ae(we,null,nt(u,b=>G("span",{key:b.id,class:"gm-key"},[G("i",{class:"gm-sw",style:qt({background:b.color})},null,4),De(Q(b.label),1)])),64))]),h[2]||(h[2]=G("div",{class:"gm-caveat"}," A point is a cluster of people-group centroids within ~25km, not a municipal boundary. Named points come from a cited gazetteer. ",-1))]),c.value?(ee(),ae("div",Z_,Q(c.value),1)):Ae("",!0),l.value?(ee(),ae("div",Q_,[G("div",eb,[G("span",tb,Q(l.value.place_name||`unnamed location — ${l.value.lat}, ${l.value.lng}`),1),G("button",{type:"button",class:"gm-x",onClick:h[0]||(h[0]=b=>l.value=null)},"Close")]),G("div",ob,[h[3]||(h[3]=G("span",null,"Country",-1)),G("b",null,Q(l.value.country),1)]),l.value.admin_state?(ee(),ae("div",nb,[h[4]||(h[4]=G("span",null,"Admin area",-1)),G("b",null,Q(l.value.admin_state),1)])):Ae("",!0),G("div",sb,[h[5]||(h[5]=G("span",null,"People groups",-1)),G("b",null,Q(S(l.value.people_group_count)),1)]),G("div",ab,[h[6]||(h[6]=G("span",null,"UPG population",-1)),G("b",null,Q(S(l.value.upg_population)),1)]),G("div",rb,[h[7]||(h[7]=G("span",null,"Country internet",-1)),G("b",null,Q(l.value.country_internet_pct!=null?l.value.country_internet_pct+"%":"unknown"),1)]),l.value.people_groups?(ee(),ae("div",ib,[h[8]||(h[8]=G("div",{class:"gm-list-h"},"People groups here",-1)),G("ul",null,[(ee(!0),ae(we,null,nt(String(l.value.people_groups).split(", "),(b,L)=>(ee(),ae("li",{key:L},Q(b),1))),128))])])):Ae("",!0),l.value.languages?(ee(),ae("div",lb,[h[9]||(h[9]=G("div",{class:"gm-list-h"},"Languages",-1)),G("ul",null,[(ee(!0),ae(we,null,nt(String(l.value.languages).split(", "),(b,L)=>(ee(),ae("li",{key:L},Q(b),1))),128))])])):Ae("",!0),h[10]||(h[10]=G("p",{class:"gm-note"}," A cluster of people-group centroids within ~25km, not a municipal boundary. Named points come from a cited gazetteer (Nominatim/OSM); unnamed ones show coordinates rather than an invented placename. Internet figures are NATIONAL. ",-1))])):Ae("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function hn(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('\n\n" + "script": "\n\n\n\n" }, "bundle": "all-people-groups" } @@ -105,7 +105,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "dx-maps/cities-internet/cities-internet.js", - "integrity": "sha384-A7F+7kkpa817LzMqVrmtf/TS8oEmvSHhwdaPdwuemqwqM8GpAUcYOsJYlZqgg/uk", + "integrity": "sha384-jkrJWbef5XPxi2A+PaYKTgBdqhrEywKnf7cu79jBnPWvWXKq1ZpvLpHE76t8UrBl", "elements": [ "cities-internet-map" ], @@ -121,7 +121,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -135,7 +135,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -149,7 +149,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -215,7 +215,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "dx-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-Mx03ys3XIk0Ud2XgCBsjIUXS3K39uYVoTzyL0aLM4v6fK5Z96qM/1RvPRYLFX+dm", + "integrity": "sha384-rRF96zozigk0kwJ6SwT1E2hyz91Mdu82TdfNYZP2pMIl86JsFV1byXVeuInovv9Y", "elements": [ "dashboard-plus-grid" ], @@ -235,7 +235,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -259,7 +259,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "dx-maps/demo-map/demo-map.js", - "integrity": "sha384-0QkAa5btkKIZXv/ZrJD9Vy+aKrN/7z8Z3ANJ4vp1FMLkJlAmis+4C/QnyQCWnGZQ", + "integrity": "sha384-eDEEjMUKyS9mdHQaSWs6Mo0DHN1/L8pKjP0Sj7OsKbItuG4llT2Gqgqv3lsQFIYY", "elements": [ "demo-map" ], @@ -275,7 +275,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -354,7 +354,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "dx-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-8oSfXN7Ip0HtislzNvhSn1mj70iNb0SppJQyAy2bMJcXOPMtio0XAZTeHvt3mPTk", + "integrity": "sha384-kDISqZ68KPqGSSeZ/0KPpDJ3sJxD5Ofvt8vpM6UBH+Wk6aMN9HpLdFffcROohnvp", "elements": [ "doxa-research-map" ], @@ -370,7 +370,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -396,7 +396,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "dx-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-jm/DWI3rfwUenqQguZQLdL3nA+slTheQVnanWU9gSETB6d/9ydAO6DMuGmajE8wq", + "integrity": "sha384-neTEDYc5/AdceWk1DeczgpgSiWKW844/GiY1PUxHhvez2JHeU/vns9WWssYVFZUV", "elements": [ "doxa-map", "doxa-simple-map" @@ -413,7 +413,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -721,7 +721,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "dx-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-/HjujasjABs8IvhifW5gi3VKRq6UcJ9SSHchdil3OYtB+M22hqw+mjPIUgDF1SHw", + "integrity": "sha384-xgdLahzRlK34KRMAVlfVTF6rzzlEWBnEnlCV7VOJRB3aS2op71JNBkR8ObQje49+", "elements": [ "people-groups-grid" ], @@ -737,7 +737,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -837,7 +837,7 @@ "bundle": "pplr-data-maps", "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "output": "dx-maps/pplr-data-maps/pplr-data-maps.js", - "integrity": "sha384-Iv6gWnCd/nBkag6OGhbZJFwRO/6Mx3QCtXAZEagX6DrzH86tOvmeVZzKWda3W4PA", + "integrity": "sha384-J56PaV2hedWYwo3MoLaVph0ITqCNRb+j7+xS4C9TEKG3wa+FMg2KmJRN+UfMbXCk", "elements": [ "pplr-data-maps" ], @@ -853,7 +853,7 @@ "scriptUrl": "./pplr-data-maps/pplr-data-maps.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "pplr-data-maps" } @@ -863,7 +863,7 @@ "bundle": "prayer-walk-planner", "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js", - "integrity": "sha384-IfQd9n4p6yr7OJQRrPy09Nxveopcg8zI+4cGvBeSiaYSAesQklfhyA3aAv0KH80T", + "integrity": "sha384-ouqzKWsU1HZgAWpi5z/RbyiVwAeaG6pXcYHia/Wo71KZDYgVgY1YwyRwvyC/Yg03", "elements": [ "prayer-walk-planner" ], @@ -879,7 +879,7 @@ "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] @@ -945,7 +945,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "dx-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-IMh+g194GGaawK13RJMb8kzP0ubQZQ6DWr1ezLntVU8311cGGfYB2Dzb3qyoxd/n", + "integrity": "sha384-GsBGCy2M1ZnE7Xximx1HpGih2povZWx98661bjzLdaH6pnrTEhZj/PoPDuQ2gfJ5", "elements": [ "research-dashboard-map" ], @@ -961,7 +961,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "bundle": "research-dashboard" } @@ -1059,7 +1059,7 @@ "bundle": "upg-neighbor", "scriptUrl": "./upg-neighbor/upg-neighbor.js", "output": "dx-maps/upg-neighbor/upg-neighbor.js", - "integrity": "sha384-5C4fE8cJI7g8Lwv6/w5qta1Bx7ZU0E64770pgXzT8YhIARHrJ3hDgdoh5RFcTOVU", + "integrity": "sha384-goKuqQMIENa1TuMGuijSvU/guu9gQZpSsnFysIQcLXkB+3yP7H2vb9exV/hg/f4s", "elements": [ "upg-neighbor" ], @@ -1075,7 +1075,7 @@ "scriptUrl": "./upg-neighbor/upg-neighbor.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" }, "instances": [ { @@ -1157,7 +1157,7 @@ "bundle": "wall-of-people-groups", "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js", - "integrity": "sha384-kz+tZW2mij4v9kmXna6fn1J3daDzoXa4Ut2xT3jkET+60AFDjIOLpeAUdONy3w6Q", + "integrity": "sha384-N+wmMp3zGW3Q71RWgz67L9f9ctH96WOdtMwcJNycHm9DGOrlVVzHMlpYhCbHXEg5", "elements": [ "wall-of-people-groups" ], @@ -1173,7 +1173,7 @@ "scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "wall-of-people-groups" } diff --git a/public/dx-maps/people-groups-grid/people-groups-grid.js b/public/dx-maps/people-groups-grid/people-groups-grid.js index 20d13a872..3fe255b62 100644 --- a/public/dx-maps/people-groups-grid/people-groups-grid.js +++ b/public/dx-maps/people-groups-grid/people-groups-grid.js @@ -1,38 +1,38 @@ -(function(){"use strict";var Fn=typeof document<"u"?document.currentScript:null;/** +(function(){"use strict";var In=typeof document<"u"?document.currentScript:null;/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Mn(e){const o=Object.create(null);for(const t of e.split(","))o[t]=1;return t=>t in o}const $e={},ot=[],po=()=>{},Vs=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Kt=e=>e.startsWith("onUpdate:"),we=Object.assign,Dn=(e,o)=>{const t=e.indexOf(o);t>-1&&e.splice(t,1)},Bi=Object.prototype.hasOwnProperty,le=(e,o)=>Bi.call(e,o),K=Array.isArray,Do=e=>_t(e)==="[object Map]",Xt=e=>_t(e)==="[object Set]",zs=e=>_t(e)==="[object Date]",Y=e=>typeof e=="function",he=e=>typeof e=="string",go=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",qs=e=>(ue(e)||Y(e))&&Y(e.then)&&Y(e.catch),Hs=Object.prototype.toString,_t=e=>Hs.call(e),Vi=e=>_t(e).slice(8,-1),Yt=e=>_t(e)==="[object Object]",Gn=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ht=Mn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Zt=e=>{const o=Object.create(null);return t=>o[t]||(o[t]=e(t))},zi=/-\w/g,qe=Zt(e=>e.replace(zi,o=>o.slice(1).toUpperCase())),qi=/\B([A-Z])/g,Ze=Zt(e=>e.replace(qi,"-$1").toLowerCase()),Ws=Zt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Un=Zt(e=>e?`on${Ws(e)}`:""),$o=(e,o)=>!Object.is(e,o),jn=(e,...o)=>{for(let t=0;t{Object.defineProperty(e,o,{configurable:!0,enumerable:!1,writable:n,value:t})},Hi=e=>{const o=parseFloat(e);return isNaN(o)?e:o},Xs=e=>{const o=he(e)?Number(e):NaN;return isNaN(o)?e:o};let Ys;const Jt=()=>Ys||(Ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function tt(e){if(K(e)){const o={};for(let t=0;t{if(t){const n=t.split(Ki);n.length>1&&(o[n[0].trim()]=n[1].trim())}}),o}function Qt(e){let o="";if(he(e))o=e;else if(K(e))for(let t=0;t!!(e&&e.__v_isRef===!0),Ae=e=>he(e)?e:e==null?"":K(e)||ue(e)&&(e.toString===Hs||!Y(e.toString))?Qs(e)?Ae(e.value):JSON.stringify(e,ea,2):String(e),ea=(e,o)=>Qs(o)?ea(e,o.value):Do(o)?{[`Map(${o.size})`]:[...o.entries()].reduce((t,[n,s],a)=>(t[Bn(n,a)+" =>"]=s,t),{})}:Xt(o)?{[`Set(${o.size})`]:[...o.values()].map(t=>Bn(t))}:go(o)?Bn(o):ue(o)&&!K(o)&&!Yt(o)?String(o):o,Bn=(e,o="")=>{var t;return go(e)?`Symbol(${(t=e.description)!=null?t:o})`:e};/** +**/function Fn(e){const o=Object.create(null);for(const t of e.split(","))o[t]=1;return t=>t in o}const $e={},ot=[],po=()=>{},zs=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Kt=e=>e.startsWith("onUpdate:"),we=Object.assign,Dn=(e,o)=>{const t=e.indexOf(o);t>-1&&e.splice(t,1)},Bi=Object.prototype.hasOwnProperty,le=(e,o)=>Bi.call(e,o),K=Array.isArray,Do=e=>_t(e)==="[object Map]",Xt=e=>_t(e)==="[object Set]",Vs=e=>_t(e)==="[object Date]",Y=e=>typeof e=="function",he=e=>typeof e=="string",go=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",qs=e=>(ue(e)||Y(e))&&Y(e.then)&&Y(e.catch),Hs=Object.prototype.toString,_t=e=>Hs.call(e),zi=e=>_t(e).slice(8,-1),Yt=e=>_t(e)==="[object Object]",Gn=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ht=Fn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Zt=e=>{const o=Object.create(null);return t=>o[t]||(o[t]=e(t))},Vi=/-\w/g,qe=Zt(e=>e.replace(Vi,o=>o.slice(1).toUpperCase())),qi=/\B([A-Z])/g,Ze=Zt(e=>e.replace(qi,"-$1").toLowerCase()),Ws=Zt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Un=Zt(e=>e?`on${Ws(e)}`:""),$o=(e,o)=>!Object.is(e,o),jn=(e,...o)=>{for(let t=0;t{Object.defineProperty(e,o,{configurable:!0,enumerable:!1,writable:n,value:t})},Hi=e=>{const o=parseFloat(e);return isNaN(o)?e:o},Xs=e=>{const o=he(e)?Number(e):NaN;return isNaN(o)?e:o};let Ys;const Jt=()=>Ys||(Ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function tt(e){if(K(e)){const o={};for(let t=0;t{if(t){const n=t.split(Ki);n.length>1&&(o[n[0].trim()]=n[1].trim())}}),o}function Qt(e){let o="";if(he(e))o=e;else if(K(e))for(let t=0;t!!(e&&e.__v_isRef===!0),Ae=e=>he(e)?e:e==null?"":K(e)||ue(e)&&(e.toString===Hs||!Y(e.toString))?Qs(e)?Ae(e.value):JSON.stringify(e,ea,2):String(e),ea=(e,o)=>Qs(o)?ea(e,o.value):Do(o)?{[`Map(${o.size})`]:[...o.entries()].reduce((t,[n,s],a)=>(t[Bn(n,a)+" =>"]=s,t),{})}:Xt(o)?{[`Set(${o.size})`]:[...o.values()].map(t=>Bn(t))}:go(o)?Bn(o):ue(o)&&!K(o)&&!Yt(o)?String(o):o,Bn=(e,o="")=>{var t;return go(e)?`Symbol(${(t=e.description)!=null?t:o})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Re;class Qi{constructor(o=!1){this.detached=o,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!o&&Re&&(Re.active?(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let o,t;if(this.scopes){const n=this.scopes.slice();for(o=0,t=n.length;o0&&--this._on===0){if(Re===this)Re=this.prevScope;else{let o=Re;for(;o;){if(o.prevScope===this){o.prevScope=this.prevScope;break}o=o.prevScope}}this.prevScope=void 0}}stop(o){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(bt){let o=bt;for(bt=void 0;o;){const t=o.next;o.next=void 0,o.flags&=-9,o=t}}let e;for(;mt;){let o=mt;for(mt=void 0;o;){const t=o.next;if(o.next=void 0,o.flags&=-9,o.flags&1)try{o.trigger()}catch(n){e||(e=n)}o=t}}if(e)throw e}function sa(e){for(let o=e.deps;o;o=o.nextDep)o.version=-1,o.prevActiveLink=o.dep.activeLink,o.dep.activeLink=o}function aa(e){let o,t=e.depsTail,n=t;for(;n;){const s=n.prevDep;n.version===-1?(n===t&&(t=s),Wn(n),ol(n)):o=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=o,e.depsTail=t}function Hn(e){for(let o=e.deps;o;o=o.nextDep)if(o.dep.version!==o.version||o.dep.computed&&(ra(o.dep.computed)||o.dep.version!==o.version))return!0;return!!e._dirty}function ra(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yt)||(e.globalVersion=yt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hn(e))))return;e.flags|=2;const o=e.dep,t=fe,n=so;fe=e,so=!0;try{sa(e);const s=e.fn(e._value);(o.version===0||$o(s,e._value))&&(e.flags|=128,e._value=s,o.version++)}catch(s){throw o.version++,s}finally{fe=t,so=n,aa(e),e.flags&=-3}}function Wn(e,o=!1){const{dep:t,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),t.subs===e&&(t.subs=n,!n&&t.computed)){t.computed.flags&=-5;for(let a=t.computed.deps;a;a=a.nextDep)Wn(a,!0)}!o&&!--t.sc&&t.map&&t.map.delete(t.key)}function ol(e){const{prevDep:o,nextDep:t}=e;o&&(o.nextDep=t,e.prevDep=void 0),t&&(t.prevDep=o,e.nextDep=void 0)}let so=!0;const ia=[];function fo(){ia.push(so),so=!1}function _o(){const e=ia.pop();so=e===void 0?!0:e}function la(e){const{cleanup:o}=e;if(e.cleanup=void 0,o){const t=fe;fe=void 0;try{o()}finally{fe=t}}}let yt=0;class tl{constructor(o,t){this.sub=o,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Kn{constructor(o){this.computed=o,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(o){if(!fe||!so||fe===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==fe)t=this.activeLink=new tl(fe,this),fe.deps?(t.prevDep=fe.depsTail,fe.depsTail.nextDep=t,fe.depsTail=t):fe.deps=fe.depsTail=t,ca(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const n=t.nextDep;n.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=n),t.prevDep=fe.depsTail,t.nextDep=void 0,fe.depsTail.nextDep=t,fe.depsTail=t,fe.deps===t&&(fe.deps=n)}return t}trigger(o){this.version++,yt++,this.notify(o)}notify(o){zn();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{qn()}}}function ca(e){if(e.dep.sc++,e.sub.flags&4){const o=e.dep.computed;if(o&&!e.dep.subs){o.flags|=20;for(let n=o.deps;n;n=n.nextDep)ca(n)}const t=e.dep.subs;t!==e&&(e.prevSub=t,t&&(t.nextSub=e)),e.dep.subs=e}}const Xn=new WeakMap,Ho=Symbol(""),Yn=Symbol(""),vt=Symbol("");function Me(e,o,t){if(so&&fe){let n=Xn.get(e);n||Xn.set(e,n=new Map);let s=n.get(t);s||(n.set(t,s=new Kn),s.map=n,s.key=t),s.track()}}function Ao(e,o,t,n,s,a){const r=Xn.get(e);if(!r){yt++;return}const i=l=>{l&&l.trigger()};if(zn(),o==="clear")r.forEach(i);else{const l=K(e),c=l&&Gn(t);if(l&&t==="length"){const g=Number(n);r.forEach((h,y)=>{(y==="length"||y===vt||!go(y)&&y>=g)&&i(h)})}else switch((t!==void 0||r.has(void 0))&&i(r.get(t)),c&&i(r.get(vt)),o){case"add":l?c&&i(r.get("length")):(i(r.get(Ho)),Do(e)&&i(r.get(Yn)));break;case"delete":l||(i(r.get(Ho)),Do(e)&&i(r.get(Yn)));break;case"set":Do(e)&&i(r.get(Ho));break}}qn()}function nt(e){const o=ae(e);return o===e?o:(Me(o,"iterate",vt),Je(e)?o:o.map(ao))}function on(e){return Me(e=ae(e),"iterate",vt),e}function ho(e,o){return Po(e)?st(Wo(e)?ao(o):o):ao(o)}const nl={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>ho(this,e))},concat(...e){return nt(this).concat(...e.map(o=>K(o)?nt(o):o))},entries(){return Zn(this,"entries",e=>(e[1]=ho(this,e[1]),e))},every(e,o){return So(this,"every",e,o,void 0,arguments)},filter(e,o){return So(this,"filter",e,o,t=>t.map(n=>ho(this,n)),arguments)},find(e,o){return So(this,"find",e,o,t=>ho(this,t),arguments)},findIndex(e,o){return So(this,"findIndex",e,o,void 0,arguments)},findLast(e,o){return So(this,"findLast",e,o,t=>ho(this,t),arguments)},findLastIndex(e,o){return So(this,"findLastIndex",e,o,void 0,arguments)},forEach(e,o){return So(this,"forEach",e,o,void 0,arguments)},includes(...e){return Jn(this,"includes",e)},indexOf(...e){return Jn(this,"indexOf",e)},join(e){return nt(this).join(e)},lastIndexOf(...e){return Jn(this,"lastIndexOf",e)},map(e,o){return So(this,"map",e,o,void 0,arguments)},pop(){return kt(this,"pop")},push(...e){return kt(this,"push",e)},reduce(e,...o){return ua(this,"reduce",e,o)},reduceRight(e,...o){return ua(this,"reduceRight",e,o)},shift(){return kt(this,"shift")},some(e,o){return So(this,"some",e,o,void 0,arguments)},splice(...e){return kt(this,"splice",e)},toReversed(){return nt(this).toReversed()},toSorted(e){return nt(this).toSorted(e)},toSpliced(...e){return nt(this).toSpliced(...e)},unshift(...e){return kt(this,"unshift",e)},values(){return Zn(this,"values",e=>ho(this,e))}};function Zn(e,o,t){const n=on(e),s=n[o]();return n!==e&&!Je(e)&&(s._next=s.next,s.next=()=>{const a=s._next();return a.done||(a.value=t(a.value)),a}),s}const sl=Array.prototype;function So(e,o,t,n,s,a){const r=on(e),i=r!==e&&!Je(e),l=r[o];if(l!==sl[o]){const h=l.apply(e,a);return i?ao(h):h}let c=t;r!==e&&(i?c=function(h,y){return t.call(this,ho(e,h),y,e)}:t.length>2&&(c=function(h,y){return t.call(this,h,y,e)}));const g=l.call(r,c,n);return i&&s?s(g):g}function ua(e,o,t,n){const s=on(e),a=s!==e&&!Je(e);let r=t,i=!1;s!==e&&(a?(i=n.length===0,r=function(c,g,h){return i&&(i=!1,c=ho(e,c)),t.call(this,c,ho(e,g),h,e)}):t.length>3&&(r=function(c,g,h){return t.call(this,c,g,h,e)}));const l=s[o](r,...n);return i?ho(e,l):l}function Jn(e,o,t){const n=ae(e);Me(n,"iterate",vt);const s=n[o](...t);return(s===-1||s===!1)&&ts(t[0])?(t[0]=ae(t[0]),n[o](...t)):s}function kt(e,o,t=[]){fo(),zn();const n=ae(e)[o].apply(e,t);return qn(),_o(),n}const al=Mn("__proto__,__v_isRef,__isVue"),pa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(go));function rl(e){go(e)||(e=String(e));const o=ae(this);return Me(o,"has",e),o.hasOwnProperty(e)}class ga{constructor(o=!1,t=!1){this._isReadonly=o,this._isShallow=t}get(o,t,n){if(t==="__v_skip")return o.__v_skip;const s=this._isReadonly,a=this._isShallow;if(t==="__v_isReactive")return!s;if(t==="__v_isReadonly")return s;if(t==="__v_isShallow")return a;if(t==="__v_raw")return n===(s?a?ma:ha:a?_a:fa).get(o)||Object.getPrototypeOf(o)===Object.getPrototypeOf(n)?o:void 0;const r=K(o);if(!s){let l;if(r&&(l=nl[t]))return l;if(t==="hasOwnProperty")return rl}const i=Reflect.get(o,t,Oe(o)?o:n);if((go(t)?pa.has(t):al(t))||(s||Me(o,"get",t),a))return i;if(Oe(i)){const l=r&&Gn(t)?i:i.value;return s&&ue(l)?os(l):l}return ue(i)?s?os(i):es(i):i}}class da extends ga{constructor(o=!1){super(!1,o)}set(o,t,n,s){let a=o[t];const r=K(o)&&Gn(t);if(!this._isShallow){const c=Po(a);if(!Je(n)&&!Po(n)&&(a=ae(a),n=ae(n)),!r&&Oe(a)&&!Oe(n))return c||(a.value=n),!0}const i=r?Number(t)e,tn=e=>Reflect.getPrototypeOf(e);function pl(e,o,t){return function(...n){const s=this.__v_raw,a=ae(s),r=Do(a),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...n),g=t?Qn:o?st:ao;return!o&&Me(a,"iterate",l?Yn:Ho),we(Object.create(c),{next(){const{value:h,done:y}=c.next();return y?{value:h,done:y}:{value:i?[g(h[0]),g(h[1])]:g(h),done:y}}})}}function nn(e){return function(...o){return e==="delete"?!1:e==="clear"?void 0:this}}function gl(e,o){const t={get(s){const a=this.__v_raw,r=ae(a),i=ae(s);e||($o(s,i)&&Me(r,"get",s),Me(r,"get",i));const{has:l}=tn(r),c=o?Qn:e?st:ao;if(l.call(r,s))return c(a.get(s));if(l.call(r,i))return c(a.get(i));a!==r&&a.get(s)},get size(){const s=this.__v_raw;return!e&&Me(ae(s),"iterate",Ho),s.size},has(s){const a=this.__v_raw,r=ae(a),i=ae(s);return e||($o(s,i)&&Me(r,"has",s),Me(r,"has",i)),s===i?a.has(s):a.has(s)||a.has(i)},forEach(s,a){const r=this,i=r.__v_raw,l=ae(i),c=o?Qn:e?st:ao;return!e&&Me(l,"iterate",Ho),i.forEach((g,h)=>s.call(a,c(g),c(h),r))}};return we(t,e?{add:nn("add"),set:nn("set"),delete:nn("delete"),clear:nn("clear")}:{add(s){const a=ae(this),r=tn(a),i=ae(s),l=!o&&!Je(s)&&!Po(s)?i:s;return r.has.call(a,l)||$o(s,l)&&r.has.call(a,s)||$o(i,l)&&r.has.call(a,i)||(a.add(l),Ao(a,"add",l,l)),this},set(s,a){!o&&!Je(a)&&!Po(a)&&(a=ae(a));const r=ae(this),{has:i,get:l}=tn(r);let c=i.call(r,s);c||(s=ae(s),c=i.call(r,s));const g=l.call(r,s);return r.set(s,a),c?$o(a,g)&&Ao(r,"set",s,a):Ao(r,"add",s,a),this},delete(s){const a=ae(this),{has:r,get:i}=tn(a);let l=r.call(a,s);l||(s=ae(s),l=r.call(a,s)),i&&i.call(a,s);const c=a.delete(s);return l&&Ao(a,"delete",s,void 0),c},clear(){const s=ae(this),a=s.size!==0,r=s.clear();return a&&Ao(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{t[s]=pl(s,e,o)}),t}function sn(e,o){const t=gl(e,o);return(n,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(le(t,s)&&s in n?t:n,s,a)}const dl={get:sn(!1,!1)},$l={get:sn(!1,!0)},fl={get:sn(!0,!1)},_l={get:sn(!0,!0)},fa=new WeakMap,_a=new WeakMap,ha=new WeakMap,ma=new WeakMap;function hl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function es(e){return Po(e)?e:an(e,!1,il,dl,fa)}function ml(e){return an(e,!1,cl,$l,_a)}function os(e){return an(e,!0,ll,fl,ha)}function md(e){return an(e,!0,ul,_l,ma)}function an(e,o,t,n,s){if(!ue(e)||e.__v_raw&&!(o&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=s.get(e);if(a)return a;const r=hl(Vi(e));if(r===0)return e;const i=new Proxy(e,r===2?n:t);return s.set(e,i),i}function Wo(e){return Po(e)?Wo(e.__v_raw):!!(e&&e.__v_isReactive)}function Po(e){return!!(e&&e.__v_isReadonly)}function Je(e){return!!(e&&e.__v_isShallow)}function ts(e){return e?!!e.__v_raw:!1}function ae(e){const o=e&&e.__v_raw;return o?ae(o):e}function bl(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const ao=e=>ue(e)?es(e):e,st=e=>ue(e)?os(e):e;function Oe(e){return e?e.__v_isRef===!0:!1}function ke(e){return ya(e,!1)}function ba(e){return ya(e,!0)}function ya(e,o){return Oe(e)?e:new yl(e,o)}class yl{constructor(o,t){this.dep=new Kn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?o:ae(o),this._value=t?o:ao(o),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(o){const t=this._rawValue,n=this.__v_isShallow||Je(o)||Po(o);o=n?o:ae(o),$o(o,t)&&(this._rawValue=o,this._value=n?o:ao(o),this.dep.trigger())}}function Lt(e){return Oe(e)?e.value:e}const vl={get:(e,o,t)=>o==="__v_raw"?e:Lt(Reflect.get(e,o,t)),set:(e,o,t,n)=>{const s=e[o];return Oe(s)&&!Oe(t)?(s.value=t,!0):Reflect.set(e,o,t,n)}};function va(e){return Wo(e)?e:new Proxy(e,vl)}class kl{constructor(o,t,n){this.fn=o,this.setter=t,this._value=void 0,this.dep=new Kn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return na(this,!0),!0}get value(){const o=this.dep.track();return ra(this),o&&(o.version=this.dep.version),this._value}set value(o){this.setter&&this.setter(o)}}function Ll(e,o,t=!1){let n,s;return Y(e)?n=e:(n=e.get,s=e.set),new kl(n,s,t)}const rn={},ln=new WeakMap;let Ko;function wl(e,o=!1,t=Ko){if(t){let n=ln.get(t);n||ln.set(t,n=[]),n.push(e)}}function Al(e,o,t=$e){const{immediate:n,deep:s,once:a,scheduler:r,augmentJob:i,call:l}=t,c=v=>s?v:Je(v)||s===!1||s===0?Go(v,1):Go(v);let g,h,y,S,I=!1,x=!1;if(Oe(e)?(h=()=>e.value,I=Je(e)):Wo(e)?(h=()=>c(e),I=!0):K(e)?(x=!0,I=e.some(v=>Wo(v)||Je(v)),h=()=>e.map(v=>{if(Oe(v))return v.value;if(Wo(v))return c(v);if(Y(v))return l?l(v,2):v()})):Y(e)?o?h=l?()=>l(e,2):e:h=()=>{if(y){fo();try{y()}finally{_o()}}const v=Ko;Ko=g;try{return l?l(e,3,[S]):e(S)}finally{Ko=v}}:h=po,o&&s){const v=h,E=s===!0?1/0:s;h=()=>Go(v(),E)}const M=el(),F=()=>{g.stop(),M&&M.active&&Dn(M.effects,g)};if(a&&o){const v=o;o=(...E)=>{const C=v(...E);return F(),C}}let G=x?new Array(e.length).fill(rn):rn;const k=v=>{if(!(!(g.flags&1)||!g.dirty&&!v))if(o){const E=g.run();if(v||s||I||(x?E.some((C,T)=>$o(C,G[T])):$o(E,G))){y&&y();const C=Ko;Ko=g;try{const T=[E,G===rn?void 0:x&&G[0]===rn?[]:G,S];G=E,l?l(o,3,T):o(...T)}finally{Ko=C}}}else g.run()};return i&&i(k),g=new oa(h),g.scheduler=r?()=>r(k,!1):k,S=v=>wl(v,!1,g),y=g.onStop=()=>{const v=ln.get(g);if(v){if(l)l(v,4);else for(const E of v)E();ln.delete(g)}},o?n?k(!0):G=g.run():r?r(k.bind(null,!0),!0):g.run(),F.pause=g.pause.bind(g),F.resume=g.resume.bind(g),F.stop=F,F}function Go(e,o=1/0,t){if(o<=0||!ue(e)||e.__v_skip||(t=t||new Map,(t.get(e)||0)>=o))return e;if(t.set(e,o),o--,Oe(e))Go(e.value,o,t);else if(K(e))for(let n=0;n{Go(n,o,t)});else if(Yt(e)){for(const n in e)Go(e[n],o,t);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Go(e[n],o,t)}return e}/** +**/let Re;class Qi{constructor(o=!1){this.detached=o,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!o&&Re&&(Re.active?(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let o,t;if(this.scopes){const n=this.scopes.slice();for(o=0,t=n.length;o0&&--this._on===0){if(Re===this)Re=this.prevScope;else{let o=Re;for(;o;){if(o.prevScope===this){o.prevScope=this.prevScope;break}o=o.prevScope}}this.prevScope=void 0}}stop(o){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(bt){let o=bt;for(bt=void 0;o;){const t=o.next;o.next=void 0,o.flags&=-9,o=t}}let e;for(;mt;){let o=mt;for(mt=void 0;o;){const t=o.next;if(o.next=void 0,o.flags&=-9,o.flags&1)try{o.trigger()}catch(n){e||(e=n)}o=t}}if(e)throw e}function sa(e){for(let o=e.deps;o;o=o.nextDep)o.version=-1,o.prevActiveLink=o.dep.activeLink,o.dep.activeLink=o}function aa(e){let o,t=e.depsTail,n=t;for(;n;){const s=n.prevDep;n.version===-1?(n===t&&(t=s),Wn(n),ol(n)):o=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=o,e.depsTail=t}function Hn(e){for(let o=e.deps;o;o=o.nextDep)if(o.dep.version!==o.version||o.dep.computed&&(ra(o.dep.computed)||o.dep.version!==o.version))return!0;return!!e._dirty}function ra(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yt)||(e.globalVersion=yt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hn(e))))return;e.flags|=2;const o=e.dep,t=fe,n=so;fe=e,so=!0;try{sa(e);const s=e.fn(e._value);(o.version===0||$o(s,e._value))&&(e.flags|=128,e._value=s,o.version++)}catch(s){throw o.version++,s}finally{fe=t,so=n,aa(e),e.flags&=-3}}function Wn(e,o=!1){const{dep:t,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),t.subs===e&&(t.subs=n,!n&&t.computed)){t.computed.flags&=-5;for(let a=t.computed.deps;a;a=a.nextDep)Wn(a,!0)}!o&&!--t.sc&&t.map&&t.map.delete(t.key)}function ol(e){const{prevDep:o,nextDep:t}=e;o&&(o.nextDep=t,e.prevDep=void 0),t&&(t.prevDep=o,e.nextDep=void 0)}let so=!0;const ia=[];function fo(){ia.push(so),so=!1}function _o(){const e=ia.pop();so=e===void 0?!0:e}function la(e){const{cleanup:o}=e;if(e.cleanup=void 0,o){const t=fe;fe=void 0;try{o()}finally{fe=t}}}let yt=0;class tl{constructor(o,t){this.sub=o,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Kn{constructor(o){this.computed=o,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(o){if(!fe||!so||fe===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==fe)t=this.activeLink=new tl(fe,this),fe.deps?(t.prevDep=fe.depsTail,fe.depsTail.nextDep=t,fe.depsTail=t):fe.deps=fe.depsTail=t,ca(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const n=t.nextDep;n.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=n),t.prevDep=fe.depsTail,t.nextDep=void 0,fe.depsTail.nextDep=t,fe.depsTail=t,fe.deps===t&&(fe.deps=n)}return t}trigger(o){this.version++,yt++,this.notify(o)}notify(o){Vn();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{qn()}}}function ca(e){if(e.dep.sc++,e.sub.flags&4){const o=e.dep.computed;if(o&&!e.dep.subs){o.flags|=20;for(let n=o.deps;n;n=n.nextDep)ca(n)}const t=e.dep.subs;t!==e&&(e.prevSub=t,t&&(t.nextSub=e)),e.dep.subs=e}}const Xn=new WeakMap,Ho=Symbol(""),Yn=Symbol(""),vt=Symbol("");function Fe(e,o,t){if(so&&fe){let n=Xn.get(e);n||Xn.set(e,n=new Map);let s=n.get(t);s||(n.set(t,s=new Kn),s.map=n,s.key=t),s.track()}}function Ao(e,o,t,n,s,a){const r=Xn.get(e);if(!r){yt++;return}const i=l=>{l&&l.trigger()};if(Vn(),o==="clear")r.forEach(i);else{const l=K(e),c=l&&Gn(t);if(l&&t==="length"){const g=Number(n);r.forEach((h,y)=>{(y==="length"||y===vt||!go(y)&&y>=g)&&i(h)})}else switch((t!==void 0||r.has(void 0))&&i(r.get(t)),c&&i(r.get(vt)),o){case"add":l?c&&i(r.get("length")):(i(r.get(Ho)),Do(e)&&i(r.get(Yn)));break;case"delete":l||(i(r.get(Ho)),Do(e)&&i(r.get(Yn)));break;case"set":Do(e)&&i(r.get(Ho));break}}qn()}function nt(e){const o=ae(e);return o===e?o:(Fe(o,"iterate",vt),Je(e)?o:o.map(ao))}function on(e){return Fe(e=ae(e),"iterate",vt),e}function ho(e,o){return Po(e)?st(Wo(e)?ao(o):o):ao(o)}const nl={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,e=>ho(this,e))},concat(...e){return nt(this).concat(...e.map(o=>K(o)?nt(o):o))},entries(){return Zn(this,"entries",e=>(e[1]=ho(this,e[1]),e))},every(e,o){return So(this,"every",e,o,void 0,arguments)},filter(e,o){return So(this,"filter",e,o,t=>t.map(n=>ho(this,n)),arguments)},find(e,o){return So(this,"find",e,o,t=>ho(this,t),arguments)},findIndex(e,o){return So(this,"findIndex",e,o,void 0,arguments)},findLast(e,o){return So(this,"findLast",e,o,t=>ho(this,t),arguments)},findLastIndex(e,o){return So(this,"findLastIndex",e,o,void 0,arguments)},forEach(e,o){return So(this,"forEach",e,o,void 0,arguments)},includes(...e){return Jn(this,"includes",e)},indexOf(...e){return Jn(this,"indexOf",e)},join(e){return nt(this).join(e)},lastIndexOf(...e){return Jn(this,"lastIndexOf",e)},map(e,o){return So(this,"map",e,o,void 0,arguments)},pop(){return kt(this,"pop")},push(...e){return kt(this,"push",e)},reduce(e,...o){return ua(this,"reduce",e,o)},reduceRight(e,...o){return ua(this,"reduceRight",e,o)},shift(){return kt(this,"shift")},some(e,o){return So(this,"some",e,o,void 0,arguments)},splice(...e){return kt(this,"splice",e)},toReversed(){return nt(this).toReversed()},toSorted(e){return nt(this).toSorted(e)},toSpliced(...e){return nt(this).toSpliced(...e)},unshift(...e){return kt(this,"unshift",e)},values(){return Zn(this,"values",e=>ho(this,e))}};function Zn(e,o,t){const n=on(e),s=n[o]();return n!==e&&!Je(e)&&(s._next=s.next,s.next=()=>{const a=s._next();return a.done||(a.value=t(a.value)),a}),s}const sl=Array.prototype;function So(e,o,t,n,s,a){const r=on(e),i=r!==e&&!Je(e),l=r[o];if(l!==sl[o]){const h=l.apply(e,a);return i?ao(h):h}let c=t;r!==e&&(i?c=function(h,y){return t.call(this,ho(e,h),y,e)}:t.length>2&&(c=function(h,y){return t.call(this,h,y,e)}));const g=l.call(r,c,n);return i&&s?s(g):g}function ua(e,o,t,n){const s=on(e),a=s!==e&&!Je(e);let r=t,i=!1;s!==e&&(a?(i=n.length===0,r=function(c,g,h){return i&&(i=!1,c=ho(e,c)),t.call(this,c,ho(e,g),h,e)}):t.length>3&&(r=function(c,g,h){return t.call(this,c,g,h,e)}));const l=s[o](r,...n);return i?ho(e,l):l}function Jn(e,o,t){const n=ae(e);Fe(n,"iterate",vt);const s=n[o](...t);return(s===-1||s===!1)&&ts(t[0])?(t[0]=ae(t[0]),n[o](...t)):s}function kt(e,o,t=[]){fo(),Vn();const n=ae(e)[o].apply(e,t);return qn(),_o(),n}const al=Fn("__proto__,__v_isRef,__isVue"),pa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(go));function rl(e){go(e)||(e=String(e));const o=ae(this);return Fe(o,"has",e),o.hasOwnProperty(e)}class ga{constructor(o=!1,t=!1){this._isReadonly=o,this._isShallow=t}get(o,t,n){if(t==="__v_skip")return o.__v_skip;const s=this._isReadonly,a=this._isShallow;if(t==="__v_isReactive")return!s;if(t==="__v_isReadonly")return s;if(t==="__v_isShallow")return a;if(t==="__v_raw")return n===(s?a?ma:ha:a?_a:fa).get(o)||Object.getPrototypeOf(o)===Object.getPrototypeOf(n)?o:void 0;const r=K(o);if(!s){let l;if(r&&(l=nl[t]))return l;if(t==="hasOwnProperty")return rl}const i=Reflect.get(o,t,Oe(o)?o:n);if((go(t)?pa.has(t):al(t))||(s||Fe(o,"get",t),a))return i;if(Oe(i)){const l=r&&Gn(t)?i:i.value;return s&&ue(l)?os(l):l}return ue(i)?s?os(i):es(i):i}}class da extends ga{constructor(o=!1){super(!1,o)}set(o,t,n,s){let a=o[t];const r=K(o)&&Gn(t);if(!this._isShallow){const c=Po(a);if(!Je(n)&&!Po(n)&&(a=ae(a),n=ae(n)),!r&&Oe(a)&&!Oe(n))return c||(a.value=n),!0}const i=r?Number(t)e,tn=e=>Reflect.getPrototypeOf(e);function pl(e,o,t){return function(...n){const s=this.__v_raw,a=ae(s),r=Do(a),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...n),g=t?Qn:o?st:ao;return!o&&Fe(a,"iterate",l?Yn:Ho),we(Object.create(c),{next(){const{value:h,done:y}=c.next();return y?{value:h,done:y}:{value:i?[g(h[0]),g(h[1])]:g(h),done:y}}})}}function nn(e){return function(...o){return e==="delete"?!1:e==="clear"?void 0:this}}function gl(e,o){const t={get(s){const a=this.__v_raw,r=ae(a),i=ae(s);e||($o(s,i)&&Fe(r,"get",s),Fe(r,"get",i));const{has:l}=tn(r),c=o?Qn:e?st:ao;if(l.call(r,s))return c(a.get(s));if(l.call(r,i))return c(a.get(i));a!==r&&a.get(s)},get size(){const s=this.__v_raw;return!e&&Fe(ae(s),"iterate",Ho),s.size},has(s){const a=this.__v_raw,r=ae(a),i=ae(s);return e||($o(s,i)&&Fe(r,"has",s),Fe(r,"has",i)),s===i?a.has(s):a.has(s)||a.has(i)},forEach(s,a){const r=this,i=r.__v_raw,l=ae(i),c=o?Qn:e?st:ao;return!e&&Fe(l,"iterate",Ho),i.forEach((g,h)=>s.call(a,c(g),c(h),r))}};return we(t,e?{add:nn("add"),set:nn("set"),delete:nn("delete"),clear:nn("clear")}:{add(s){const a=ae(this),r=tn(a),i=ae(s),l=!o&&!Je(s)&&!Po(s)?i:s;return r.has.call(a,l)||$o(s,l)&&r.has.call(a,s)||$o(i,l)&&r.has.call(a,i)||(a.add(l),Ao(a,"add",l,l)),this},set(s,a){!o&&!Je(a)&&!Po(a)&&(a=ae(a));const r=ae(this),{has:i,get:l}=tn(r);let c=i.call(r,s);c||(s=ae(s),c=i.call(r,s));const g=l.call(r,s);return r.set(s,a),c?$o(a,g)&&Ao(r,"set",s,a):Ao(r,"add",s,a),this},delete(s){const a=ae(this),{has:r,get:i}=tn(a);let l=r.call(a,s);l||(s=ae(s),l=r.call(a,s)),i&&i.call(a,s);const c=a.delete(s);return l&&Ao(a,"delete",s,void 0),c},clear(){const s=ae(this),a=s.size!==0,r=s.clear();return a&&Ao(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{t[s]=pl(s,e,o)}),t}function sn(e,o){const t=gl(e,o);return(n,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(le(t,s)&&s in n?t:n,s,a)}const dl={get:sn(!1,!1)},$l={get:sn(!1,!0)},fl={get:sn(!0,!1)},_l={get:sn(!0,!0)},fa=new WeakMap,_a=new WeakMap,ha=new WeakMap,ma=new WeakMap;function hl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function es(e){return Po(e)?e:an(e,!1,il,dl,fa)}function ml(e){return an(e,!1,cl,$l,_a)}function os(e){return an(e,!0,ll,fl,ha)}function md(e){return an(e,!0,ul,_l,ma)}function an(e,o,t,n,s){if(!ue(e)||e.__v_raw&&!(o&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=s.get(e);if(a)return a;const r=hl(zi(e));if(r===0)return e;const i=new Proxy(e,r===2?n:t);return s.set(e,i),i}function Wo(e){return Po(e)?Wo(e.__v_raw):!!(e&&e.__v_isReactive)}function Po(e){return!!(e&&e.__v_isReadonly)}function Je(e){return!!(e&&e.__v_isShallow)}function ts(e){return e?!!e.__v_raw:!1}function ae(e){const o=e&&e.__v_raw;return o?ae(o):e}function bl(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const ao=e=>ue(e)?es(e):e,st=e=>ue(e)?os(e):e;function Oe(e){return e?e.__v_isRef===!0:!1}function ke(e){return ya(e,!1)}function ba(e){return ya(e,!0)}function ya(e,o){return Oe(e)?e:new yl(e,o)}class yl{constructor(o,t){this.dep=new Kn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?o:ae(o),this._value=t?o:ao(o),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(o){const t=this._rawValue,n=this.__v_isShallow||Je(o)||Po(o);o=n?o:ae(o),$o(o,t)&&(this._rawValue=o,this._value=n?o:ao(o),this.dep.trigger())}}function Lt(e){return Oe(e)?e.value:e}const vl={get:(e,o,t)=>o==="__v_raw"?e:Lt(Reflect.get(e,o,t)),set:(e,o,t,n)=>{const s=e[o];return Oe(s)&&!Oe(t)?(s.value=t,!0):Reflect.set(e,o,t,n)}};function va(e){return Wo(e)?e:new Proxy(e,vl)}class kl{constructor(o,t,n){this.fn=o,this.setter=t,this._value=void 0,this.dep=new Kn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return na(this,!0),!0}get value(){const o=this.dep.track();return ra(this),o&&(o.version=this.dep.version),this._value}set value(o){this.setter&&this.setter(o)}}function Ll(e,o,t=!1){let n,s;return Y(e)?n=e:(n=e.get,s=e.set),new kl(n,s,t)}const rn={},ln=new WeakMap;let Ko;function wl(e,o=!1,t=Ko){if(t){let n=ln.get(t);n||ln.set(t,n=[]),n.push(e)}}function Al(e,o,t=$e){const{immediate:n,deep:s,once:a,scheduler:r,augmentJob:i,call:l}=t,c=v=>s?v:Je(v)||s===!1||s===0?Go(v,1):Go(v);let g,h,y,S,M=!1,x=!1;if(Oe(e)?(h=()=>e.value,M=Je(e)):Wo(e)?(h=()=>c(e),M=!0):K(e)?(x=!0,M=e.some(v=>Wo(v)||Je(v)),h=()=>e.map(v=>{if(Oe(v))return v.value;if(Wo(v))return c(v);if(Y(v))return l?l(v,2):v()})):Y(e)?o?h=l?()=>l(e,2):e:h=()=>{if(y){fo();try{y()}finally{_o()}}const v=Ko;Ko=g;try{return l?l(e,3,[S]):e(S)}finally{Ko=v}}:h=po,o&&s){const v=h,N=s===!0?1/0:s;h=()=>Go(v(),N)}const F=el(),I=()=>{g.stop(),F&&F.active&&Dn(F.effects,g)};if(a&&o){const v=o;o=(...N)=>{const E=v(...N);return I(),E}}let G=x?new Array(e.length).fill(rn):rn;const k=v=>{if(!(!(g.flags&1)||!g.dirty&&!v))if(o){const N=g.run();if(v||s||M||(x?N.some((E,C)=>$o(E,G[C])):$o(N,G))){y&&y();const E=Ko;Ko=g;try{const C=[N,G===rn?void 0:x&&G[0]===rn?[]:G,S];G=N,l?l(o,3,C):o(...C)}finally{Ko=E}}}else g.run()};return i&&i(k),g=new oa(h),g.scheduler=r?()=>r(k,!1):k,S=v=>wl(v,!1,g),y=g.onStop=()=>{const v=ln.get(g);if(v){if(l)l(v,4);else for(const N of v)N();ln.delete(g)}},o?n?k(!0):G=g.run():r?r(k.bind(null,!0),!0):g.run(),I.pause=g.pause.bind(g),I.resume=g.resume.bind(g),I.stop=I,I}function Go(e,o=1/0,t){if(o<=0||!ue(e)||e.__v_skip||(t=t||new Map,(t.get(e)||0)>=o))return e;if(t.set(e,o),o--,Oe(e))Go(e.value,o,t);else if(K(e))for(let n=0;n{Go(n,o,t)});else if(Yt(e)){for(const n in e)Go(e[n],o,t);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Go(e[n],o,t)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const wt=[];let ns=!1;function bd(e,...o){if(ns)return;ns=!0,fo();const t=wt.length?wt[wt.length-1].component:null,n=t&&t.appContext.config.warnHandler,s=Sl();if(n)at(n,t,11,[e+o.map(a=>{var r,i;return(i=(r=a.toString)==null?void 0:r.call(a))!=null?i:JSON.stringify(a)}).join(""),t&&t.proxy,s.map(({vnode:a})=>`at <${_r(t,a.type)}>`).join(` `),s]);else{const a=[`[Vue warn]: ${e}`,...o];s.length&&a.push(` `,...Pl(s)),console.warn(...a)}_o(),ns=!1}function Sl(){let e=wt[wt.length-1];if(!e)return[];const o=[];for(;e;){const t=o[0];t&&t.vnode===e?t.recurseCount++:o.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return o}function Pl(e){const o=[];return e.forEach((t,n)=>{o.push(...n===0?[]:[` -`],...xl(t))}),o}function xl({vnode:e,recurseCount:o}){const t=o>0?`... (${o} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${_r(e.component,e.type,n)}`,a=">"+t;return e.props?[s,...El(e.props),a]:[s+a]}function El(e){const o=[],t=Object.keys(e);return t.slice(0,3).forEach(n=>{o.push(...ka(n,e[n]))}),t.length>3&&o.push(" ..."),o}function ka(e,o,t){return he(o)?(o=JSON.stringify(o),t?o:[`${e}=${o}`]):typeof o=="number"||typeof o=="boolean"||o==null?t?o:[`${e}=${o}`]:Oe(o)?(o=ka(e,ae(o.value),!0),t?o:[`${e}=Ref<`,o,">"]):Y(o)?[`${e}=fn${o.name?`<${o.name}>`:""}`]:(o=ae(o),t?o:[`${e}=`,o])}function at(e,o,t,n){try{return n?e(...n):e()}catch(s){cn(s,o,t)}}function ro(e,o,t,n){if(Y(e)){const s=at(e,o,t,n);return s&&qs(s)&&s.catch(a=>{cn(a,o,t)}),s}if(K(e)){const s=[];for(let a=0;a>>1,s=Ge[n],a=At(s);a=At(t)?Ge.push(e):Ge.splice(Tl(o),0,e),e.flags|=1,wa()}}function wa(){un||(un=La.then(Pa))}function Nl(e){if(!K(e))Uo&&e.id===-1?Uo.splice(it+1,0,e):e.flags&1||(rt.push(e),e.flags|=1);else for(let o=0;oAt(t)-At(n));if(rt.length=0,Uo){for(let t=0;te.id==null?e.flags&2?-1:1/0:e.id;function Pa(e){try{for(mo=0;mo{n._d&&yn(-1);const a=gn(o),r=Zo.length;let i;try{i=e(...s)}finally{for(let l=Zo.length;l>r;l--)cr();gn(a),n._d&&yn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Xo(e,o,t,n){const s=e.dirs,a=o&&o.dirs;for(let r=0;r1)return t&&Y(o)?o.call(n&&n.proxy):o}}const Il=Symbol.for("v-scx"),Fl=()=>St(Il);function xo(e,o,t){return Ea(e,o,t)}function Ea(e,o,t=$e){const{immediate:n,deep:s,flush:a,once:r}=t,i=we({},t),l=o&&n||!o&&a!=="post";let c;if(Mt){if(a==="sync"){const S=Fl();c=S.__watcherHandles||(S.__watcherHandles=[])}else if(!l){const S=()=>{};return S.stop=po,S.resume=po,S.pause=po,S}}const g=je;i.call=(S,I,x)=>ro(S,g,I,x);let h=!1;a==="post"?i.scheduler=S=>{He(S,g&&g.suspense)}:a!=="sync"&&(h=!0,i.scheduler=(S,I)=>{I?S():ss(S)}),i.augmentJob=S=>{o&&(S.flags|=4),h&&(S.flags|=2,g&&(S.id=g.uid,S.i=g))};const y=Al(e,o,i);return Mt&&(c?c.push(y):l&&y()),y}function Ml(e,o,t){const n=this.proxy,s=he(e)?e.includes(".")?Ca(n,e):()=>n[e]:e.bind(n,n);let a;Y(o)?a=o:(a=o.handler,t=o);const r=Ft(this),i=Ea(s,a.bind(n),t);return r(),i}function Ca(e,o){const t=o.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,as=Symbol("_leaveCb");function Gl(e){let o=e[0];if(e.length>1){for(const t of e)if(t.type!==Co){o=t;break}}return o}function Ta(e){if(!is(e))return dn(e.type)&&e.children?Gl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:o,children:t}=e;if(t){if(o&16)return t[0];if(o&32&&Y(t.default))return t.default()}}function rs(e,o){if(e.shapeFlag&6&&e.component){e.transition=o;const t=e.component.subTree;rs(dn(t.type)&&Ta(t)||t,o)}else e.shapeFlag&128?(e.ssContent.transition=o.clone(e.ssContent),e.ssFallback.transition=o.clone(e.ssFallback)):e.transition=o}function $n(e,o){return Y(e)?we({name:e.name},o,{setup:e}):e}function Na(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ra(e,o){let t;return!!((t=Object.getOwnPropertyDescriptor(e,o))&&!t.configurable)}const fn=new WeakMap;function Pt(e,o,t,n,s=!1){if(K(e)){e.forEach((x,M)=>Pt(x,o&&(K(o)?o[M]:o),t,n,s));return}if(xt(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pt(e,o,t,n.component.subTree);return}const a=n.shapeFlag&4?bs(n.component):n.el,r=s?null:a,{i,r:l}=e,c=o&&o.r,g=i.refs===$e?i.refs={}:i.refs,h=i.setupState,y=ae(h),S=h===$e?Vs:x=>Ra(g,x)?!1:le(y,x),I=(x,M)=>!(M&&Ra(g,M));if(c!=null&&c!==l){if(Oa(o),he(c))g[c]=null,S(c)&&(h[c]=null);else if(Oe(c)){const x=o;I(c,x.k)&&(c.value=null),x.k&&(g[x.k]=null)}}if(Y(l))at(l,i,12,[r,g]);else{const x=he(l),M=Oe(l);if(x||M){const F=()=>{if(e.f){const G=x?S(l)?h[l]:g[l]:I()||!e.k?l.value:g[e.k];if(s)K(G)&&Dn(G,a);else if(K(G))G.includes(a)||G.push(a);else if(x)g[l]=[a],S(l)&&(h[l]=g[l]);else{const k=[a];I(l,e.k)&&(l.value=k),e.k&&(g[e.k]=k)}}else x?(g[l]=r,S(l)&&(h[l]=r)):M&&(I(l,e.k)&&(l.value=r),e.k&&(g[e.k]=r))};if(r){const G=()=>{F(),fn.delete(e)};G.id=-1,fn.set(e,G),He(G,t)}else Oa(e),F()}}}function Oa(e){const o=fn.get(e);o&&(o.flags|=8,fn.delete(e))}Jt().requestIdleCallback,Jt().cancelIdleCallback;const xt=e=>!!e.type.__asyncLoader,is=e=>e.type.__isKeepAlive;function Ul(e,o){Ia(e,"a",o)}function jl(e,o){Ia(e,"da",o)}function Ia(e,o,t=je){const n=e.__wdc||(e.__wdc=()=>{let s=t;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(_n(o,n,t),t){let s=t.parent;for(;s&&s.parent;)is(s.parent.vnode)&&Bl(n,o,t,s),s=s.parent}}function Bl(e,o,t,n){const s=_n(o,e,n,!0);cs(()=>{Dn(n[o],s)},t)}function _n(e,o,t=je,n=!1){if(t){const s=t[e]||(t[e]=[]),a=o.__weh||(o.__weh=(...r)=>{fo();const i=Ft(t),l=ro(o,t,e,r);return i(),_o(),l});return n?s.unshift(a):s.push(a),a}}const Eo=e=>(o,t=je)=>{(!Mt||e==="sp")&&_n(e,(...n)=>o(...n),t)},Fa=Eo("bm"),ls=Eo("m"),Vl=Eo("bu"),zl=Eo("u"),Ma=Eo("bum"),cs=Eo("um"),ql=Eo("sp"),Hl=Eo("rtg"),Wl=Eo("rtc");function Kl(e,o=je){_n("ec",e,o)}const Xl=Symbol.for("v-ndc");function hn(e,o,t,n){let s;const a=t,r=K(e);if(r||he(e)){const i=r&&Wo(e);let l=!1,c=!1;i&&(l=!Je(e),c=Po(e),e=on(e)),s=new Array(e.length);for(let g=0,h=e.length;go(i,l,void 0,a));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;le?dr(e)?bs(e):us(e.parent):null,Et=we(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=>us(e.parent),$root:e=>us(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ja(e),$forceUpdate:e=>e.f||(e.f=()=>{ss(e.update)}),$nextTick:e=>e.n||(e.n=pn.bind(e.proxy)),$watch:e=>Ml.bind(e)}),ps=(e,o)=>e!==$e&&!e.__isScriptSetup&&le(e,o),Yl={get({_:e},o){if(o==="__v_skip")return!0;const{ctx:t,setupState:n,data:s,props:a,accessCache:r,type:i,appContext:l}=e;if(o[0]!=="$"){const y=r[o];if(y!==void 0)switch(y){case 1:return n[o];case 2:return s[o];case 4:return t[o];case 3:return a[o]}else{if(ps(n,o))return r[o]=1,n[o];if(s!==$e&&le(s,o))return r[o]=2,s[o];if(le(a,o))return r[o]=3,a[o];if(t!==$e&&le(t,o))return r[o]=4,t[o];gs&&(r[o]=0)}}const c=Et[o];let g,h;if(c)return o==="$attrs"&&Me(e.attrs,"get",""),c(e);if((g=i.__cssModules)&&(g=g[o]))return g;if(t!==$e&&le(t,o))return r[o]=4,t[o];if(h=l.config.globalProperties,le(h,o))return h[o]},set({_:e},o,t){const{data:n,setupState:s,ctx:a}=e;return ps(s,o)?(s[o]=t,!0):n!==$e&&le(n,o)?(n[o]=t,!0):le(e.props,o)||o[0]==="$"&&o.slice(1)in e?!1:(a[o]=t,!0)},has({_:{data:e,setupState:o,accessCache:t,ctx:n,appContext:s,props:a,type:r}},i){let l;return!!(t[i]||e!==$e&&i[0]!=="$"&&le(e,i)||ps(o,i)||le(a,i)||le(n,i)||le(Et,i)||le(s.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,o,t){return t.get!=null?e._.accessCache[o]=0:le(t,"value")&&this.set(e,o,t.value,null),Reflect.defineProperty(e,o,t)}};function Da(e){return K(e)?e.reduce((o,t)=>(o[t]=null,o),{}):e}let gs=!0;function Zl(e){const o=ja(e),t=e.proxy,n=e.ctx;gs=!1,o.beforeCreate&&Ga(o.beforeCreate,e,"bc");const{data:s,computed:a,methods:r,watch:i,provide:l,inject:c,created:g,beforeMount:h,mounted:y,beforeUpdate:S,updated:I,activated:x,deactivated:M,beforeDestroy:F,beforeUnmount:G,destroyed:k,unmounted:v,render:E,renderTracked:C,renderTriggered:T,errorCaptured:B,serverPrefetch:j,expose:Z,inheritAttrs:q,components:V,directives:X,filters:xe}=o;if(c&&Jl(c,n,null),r)for(const J in r){const oe=r[J];Y(oe)&&(n[J]=oe.bind(t))}if(s){const J=s.call(t,t);ue(J)&&(e.data=es(J))}if(gs=!0,a)for(const J in a){const oe=a[J],be=Y(oe)?oe.bind(t,t):Y(oe.get)?oe.get.bind(t,t):po,Fe=!Y(oe)&&Y(oe.set)?oe.set.bind(t):po,ge=ce({get:be,set:Fe});Object.defineProperty(n,J,{enumerable:!0,configurable:!0,get:()=>ge.value,set:ye=>ge.value=ye})}if(i)for(const J in i)Ua(i[J],n,t,J);if(l){const J=Y(l)?l.call(t):l;Reflect.ownKeys(J).forEach(oe=>{Ol(oe,J[oe])})}g&&Ga(g,e,"c");function ne(J,oe){K(oe)?oe.forEach(be=>J(be.bind(t))):oe&&J(oe.bind(t))}if(ne(Fa,h),ne(ls,y),ne(Vl,S),ne(zl,I),ne(Ul,x),ne(jl,M),ne(Kl,B),ne(Wl,C),ne(Hl,T),ne(Ma,G),ne(cs,v),ne(ql,j),K(Z))if(Z.length){const J=e.exposed||(e.exposed={});Z.forEach(oe=>{Object.defineProperty(J,oe,{get:()=>t[oe],set:be=>t[oe]=be,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===po&&(e.render=E),q!=null&&(e.inheritAttrs=q),V&&(e.components=V),X&&(e.directives=X),j&&Na(e)}function Jl(e,o,t=po){K(e)&&(e=ds(e));for(const n in e){const s=e[n];let a;ue(s)?"default"in s?a=St(s.from||n,s.default,!0):a=St(s.from||n):a=St(s),Oe(a)?Object.defineProperty(o,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:r=>a.value=r}):o[n]=a}}function Ga(e,o,t){ro(K(e)?e.map(n=>n.bind(o.proxy)):e.bind(o.proxy),o,t)}function Ua(e,o,t,n){let s=n.includes(".")?Ca(t,n):()=>t[n];if(he(e)){const a=o[e];Y(a)&&xo(s,a)}else if(Y(e))xo(s,e.bind(t));else if(ue(e))if(K(e))e.forEach(a=>Ua(a,o,t,n));else{const a=Y(e.handler)?e.handler.bind(t):o[e.handler];Y(a)&&xo(s,a,e)}}function ja(e){const o=e.type,{mixins:t,extends:n}=o,{mixins:s,optionsCache:a,config:{optionMergeStrategies:r}}=e.appContext,i=a.get(o);let l;return i?l=i:!s.length&&!t&&!n?l=o:(l={},s.length&&s.forEach(c=>mn(l,c,r,!0)),mn(l,o,r)),ue(o)&&a.set(o,l),l}function mn(e,o,t,n=!1){const{mixins:s,extends:a}=o;a&&mn(e,a,t,!0),s&&s.forEach(r=>mn(e,r,t,!0));for(const r in o)if(!(n&&r==="expose")){const i=Ql[r]||t&&t[r];e[r]=i?i(e[r],o[r]):o[r]}return e}const Ql={data:Ba,props:Va,emits:Va,methods:Ct,computed:Ct,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Ct,directives:Ct,watch:oc,provide:Ba,inject:ec};function Ba(e,o){return o?e?function(){return we(Y(e)?e.call(this,this):e,Y(o)?o.call(this,this):o)}:o:e}function ec(e,o){return Ct(ds(e),ds(o))}function ds(e){if(K(e)){const o={};for(let t=0;to==="modelValue"||o==="model-value"?e.modelModifiers:e[`${o}Modifiers`]||e[`${qe(o)}Modifiers`]||e[`${Ze(o)}Modifiers`];function ac(e,o,...t){if(e.isUnmounted)return;const n=e.vnode.props||$e;let s=t;const a=o.startsWith("update:"),r=a&&sc(n,o.slice(7));r&&(r.trim&&(s=t.map(g=>he(g)?g.trim():g)),r.number&&(s=s.map(Hi)));let i,l=n[i=Un(o)]||n[i=Un(qe(o))];!l&&a&&(l=n[i=Un(Ze(o))]),l&&ro(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ro(c,e,6,s)}}const rc=new WeakMap;function qa(e,o,t=!1){const n=t?rc:o.emitsCache,s=n.get(e);if(s!==void 0)return s;const a=e.emits;let r={},i=!1;if(!Y(e)){const l=c=>{const g=qa(c,o,!0);g&&(i=!0,we(r,g))};!t&&o.mixins.length&&o.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(ue(e)&&n.set(e,null),null):(K(a)?a.forEach(l=>r[l]=null):we(r,a),ue(e)&&n.set(e,r),r)}function bn(e,o){return!e||!Wt(o)?!1:(o=o.slice(2),o=o==="Once"?o:o.replace(/Once$/,""),le(e,o[0].toLowerCase()+o.slice(1))||le(e,Ze(o))||le(e,o))}function yd(){}function Ha(e){const{type:o,vnode:t,proxy:n,withProxy:s,propsOptions:[a],slots:r,attrs:i,emit:l,render:c,renderCache:g,props:h,data:y,setupState:S,ctx:I,inheritAttrs:x}=e,M=gn(e);let F,G;try{if(t.shapeFlag&4){const v=s||n,E=v;F=yo(c.call(E,v,g,h,S,y,I)),G=i}else{const v=o;F=yo(v.length>1?v(h,{attrs:i,slots:r,emit:l}):v(h,null)),G=o.props?i:ic(i)}}catch(v){Zo.length=0,cn(v,e,1),F=Se(Co)}let k=F;if(G&&x!==!1){const v=Object.keys(G),{shapeFlag:E}=k;v.length&&E&7&&(a&&v.some(Kt)&&(G=lc(G,a)),k=ct(k,G,!1,!0))}if(t.dirs&&(k=ct(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(t.dirs):t.dirs),t.transition){const v=dn(k.type)&&Ta(k)||k;rs(v,t.transition)}return F=k,gn(M),F}const ic=e=>{let o;for(const t in e)(t==="class"||t==="style"||Wt(t))&&((o||(o={}))[t]=e[t]);return o},lc=(e,o)=>{const t={};for(const n in e)(!Kt(n)||!(n.slice(9)in o))&&(t[n]=e[n]);return t};function cc(e,o,t){const{props:n,children:s,component:a}=e,{props:r,children:i,patchFlag:l}=o,c=a.emitsOptions;if(o.dirs||o.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return n?Wa(n,r,c):!!r;if(l&8){const g=o.dynamicProps;for(let h=0;hObject.create(Xa),Za=e=>Object.getPrototypeOf(e)===Xa;function pc(e,o,t,n=!1){const s={},a=Ya();e.propsDefaults=Object.create(null),Ja(e,o,s,a);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);t?e.props=n?s:ml(s):e.type.props?e.props=s:e.props=a,e.attrs=a}function gc(e,o,t,n){const{props:s,attrs:a,vnode:{patchFlag:r}}=e,i=ae(s),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const g=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[y,S]=Qa(h,o,!0);we(r,y),S&&i.push(...S)};!t&&o.mixins.length&&o.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!a&&!l)return ue(e)&&n.set(e,ot),ot;if(K(a))for(let g=0;ge==="_"||e==="_ctx"||e==="$stable",_s=e=>K(e)?e.map(yo):[yo(e)],$c=(e,o,t)=>{if(o._n)return o;const n=Rl((...s)=>_s(o(...s)),t);return n._c=!1,n},or=(e,o,t)=>{const n=e._ctx;for(const s in e){if(fs(s))continue;const a=e[s];if(Y(a))o[s]=$c(s,a,n);else if(a!=null){const r=_s(a);o[s]=()=>r}}},tr=(e,o)=>{const t=_s(o);e.slots.default=()=>t},nr=(e,o,t)=>{for(const n in o)(t||!fs(n))&&(e[n]=o[n])},fc=(e,o,t)=>{const n=e.slots=Ya();if(e.vnode.shapeFlag&32){const s=o._;s?(nr(n,o,t),t&&Ks(n,"_",s,!0)):or(o,n)}else o&&tr(e,o)},_c=(e,o,t)=>{const{vnode:n,slots:s}=e;let a=!0,r=$e;if(n.shapeFlag&32){const i=o._;i?t&&i===1?a=!1:nr(s,o,t):(a=!o.$stable,or(o,s)),r=o}else o&&(tr(e,o),r={default:1});if(a)for(const i in s)!fs(i)&&r[i]==null&&delete s[i]},He=vc;function hc(e){return mc(e)}function mc(e,o){const t=Jt();t.__VUE__=!0;const{insert:n,remove:s,patchProp:a,createElement:r,createText:i,createComment:l,setText:c,setElementText:g,parentNode:h,nextSibling:y,setScopeId:S=po,insertStaticContent:I}=e,x=($,m,_,P=null,R=null,N=null,U=void 0,D=null,u=!!m.dynamicChildren)=>{if($===m)return;$&&!Rt($,m)&&(P=oo($),ye($,R,N,!0),$=null),m.patchFlag===-2&&(u=!1,m.dynamicChildren=null);const{type:p,ref:d,shapeFlag:f}=m;switch(p){case Tt:M($,m,_,P);break;case Co:F($,m,_,P);break;case ms:$==null&&G(m,_,P,U);break;case Ce:V($,m,_,P,R,N,U,D,u);break;default:f&1?E($,m,_,P,R,N,U,D,u):f&6?X($,m,_,P,R,N,U,D,u):(f&64||f&128)&&p.process($,m,_,P,R,N,U,D,u,ze)}d!=null&&R?Pt(d,$&&$.ref,N,m||$,!m):d==null&&$&&$.ref!=null&&Pt($.ref,null,N,$,!0)},M=($,m,_,P)=>{if($==null)n(m.el=i(m.children),_,P);else{const R=m.el=$.el;m.children!==$.children&&c(R,m.children)}},F=($,m,_,P)=>{$==null?n(m.el=l(m.children||""),_,P):m.el=$.el},G=($,m,_,P)=>{[$.el,$.anchor]=I($.children,m,_,P,$.el,$.anchor)},k=({el:$,anchor:m},_,P)=>{let R;for(;$&&$!==m;)R=y($),n($,_,P),$=R;n(m,_,P)},v=({el:$,anchor:m})=>{let _;for(;$&&$!==m;)_=y($),s($),$=_;s(m)},E=($,m,_,P,R,N,U,D,u)=>{if(m.type==="svg"?U="svg":m.type==="math"&&(U="mathml"),$==null)C(m,_,P,R,N,U,D,u);else{const p=$.el&&$.el._isVueCE?$.el:null;try{p&&p._beginPatch(),j($,m,R,N,U,D,u)}finally{p&&p._endPatch()}}},C=($,m,_,P,R,N,U,D)=>{let u,p;const{props:d,shapeFlag:f,transition:w,dirs:A}=$;if(u=$.el=r($.type,N,d&&d.is,d),f&8?g(u,$.children):f&16&&B($.children,u,null,P,R,hs($,N),U,D),A&&Xo($,null,P,"created"),T(u,$,$.scopeId,U,P),d){for(const L in d)L!=="value"&&!ht(L)&&a(u,L,null,d[L],N,P);"value"in d&&a(u,"value",null,d.value,N),(p=d.onVnodeBeforeMount)&&vo(p,P,$)}A&&Xo($,null,P,"beforeMount");const b=bc(R,w);b&&w.beforeEnter(u),n(u,m,_),((p=d&&d.onVnodeMounted)||b||A)&&He(()=>{try{p&&vo(p,P,$),b&&w.enter(u),A&&Xo($,null,P,"mounted")}finally{}},R)},T=($,m,_,P,R)=>{if(_&&S($,_),P)for(let N=0;N{for(let p=u;p<$.length;p++){const d=$[p]=D?No($[p]):yo($[p]);x(null,d,m,_,P,R,N,U,D)}},j=($,m,_,P,R,N,U)=>{const D=m.el=$.el;let{patchFlag:u,dynamicChildren:p,dirs:d}=m;u|=$.patchFlag&16;const f=$.props||$e,w=m.props||$e;let A;if(_&&Yo(_,!1),(A=w.onVnodeBeforeUpdate)&&vo(A,_,m,$),d&&Xo(m,$,_,"beforeUpdate"),_&&Yo(_,!0),p&&(!$.dynamicChildren||$.dynamicChildren.length!==p.length)&&(u=0,U=!1,p=null),(f.innerHTML&&w.innerHTML==null||f.textContent&&w.textContent==null)&&g(D,""),p?Z($.dynamicChildren,p,D,_,P,hs(m,R),N):U||oe($,m,D,null,_,P,hs(m,R),N,!1),u>0){if(u&16)q(D,f,w,_,R);else if(u&2&&f.class!==w.class&&a(D,"class",null,w.class,R),u&4&&a(D,"style",f.style,w.style,R),u&8){const b=m.dynamicProps;for(let L=0;L{A&&vo(A,_,m,$),d&&Xo(m,$,_,"updated")},P)},Z=($,m,_,P,R,N,U)=>{for(let D=0;D{if(m!==_){if(m!==$e)for(const N in m)!ht(N)&&!(N in _)&&a($,N,m[N],null,R,P);for(const N in _){if(ht(N))continue;const U=_[N],D=m[N];U!==D&&N!=="value"&&a($,N,D,U,R,P)}"value"in _&&a($,"value",m.value,_.value,R)}},V=($,m,_,P,R,N,U,D,u)=>{const p=m.el=$?$.el:i(""),d=m.anchor=$?$.anchor:i("");let{patchFlag:f,dynamicChildren:w,slotScopeIds:A}=m;A&&(D=D?D.concat(A):A),$==null?(n(p,_,P),n(d,_,P),B(m.children||[],_,d,R,N,U,D,u)):f>0&&f&64&&w&&$.dynamicChildren&&$.dynamicChildren.length===w.length?(Z($.dynamicChildren,w,_,R,N,U,D),(m.key!=null||R&&m===R.subTree)&&sr($,m,!0)):oe($,m,_,d,R,N,U,D,u)},X=($,m,_,P,R,N,U,D,u)=>{m.slotScopeIds=D,$==null?m.shapeFlag&512?R.ctx.activate(m,_,P,U,u):xe(m,_,P,R,N,U,u):Ne($,m,u)},xe=($,m,_,P,R,N,U)=>{const D=$.component=xc($,P,R);if(is($)&&(D.ctx.renderer=ze),Ec(D,!1,U),D.asyncDep){if(R&&R.registerDep(D,ne,U),!$.el){const u=D.subTree=Se(Co);F(null,u,m,_),$.placeholder=u.el}}else ne(D,$,m,_,R,N,U)},Ne=($,m,_)=>{const P=m.component=$.component;if(cc($,m,_))if(P.asyncDep&&!P.asyncResolved){J(P,m,_);return}else P.next=m,P.update();else m.el=$.el,P.vnode=m},ne=($,m,_,P,R,N,U)=>{const D=()=>{if($.isMounted){let{next:f,bu:w,u:A,parent:b,vnode:L}=$;{const _e=ar($);if(_e){f&&(f.el=L.el,J($,f,U)),_e.asyncDep.then(()=>{He(()=>{$.isUnmounted||p()},R)});return}}let O=f,H;Yo($,!1),f?(f.el=L.el,J($,f,U)):f=L,w&&jn(w),(H=f.props&&f.props.onVnodeBeforeUpdate)&&vo(H,b,f,L),Yo($,!0);const se=Ha($),ve=$.subTree;$.subTree=se,x(ve,se,h(ve.el),oo(ve),$,R,N),f.el=se.el,O===null&&uc($,se.el),A&&He(A,R),(H=f.props&&f.props.onVnodeUpdated)&&He(()=>vo(H,b,f,L),R)}else{let f;const{el:w,props:A}=m,{bm:b,m:L,parent:O,root:H,type:se}=$,ve=xt(m);Yo($,!1),b&&jn(b),!ve&&(f=A&&A.onVnodeBeforeMount)&&vo(f,O,m),Yo($,!0);{H.ce&&H.ce._hasShadowRoot()&&H.ce._injectChildStyle(se,$.parent?$.parent.type:void 0);const _e=$.subTree=Ha($);x(null,_e,_,P,$,R,N),m.el=_e.el}if(L&&He(L,R),!ve&&(f=A&&A.onVnodeMounted)){const _e=m;He(()=>vo(f,O,_e),R)}(m.shapeFlag&256||O&&xt(O.vnode)&&O.vnode.shapeFlag&256)&&$.a&&He($.a,R),$.isMounted=!0,m=_=P=null}};$.scope.on();const u=$.effect=new oa(D);$.scope.off();const p=$.update=u.run.bind(u),d=$.job=u.runIfDirty.bind(u);d.i=$,d.id=$.uid,u.scheduler=()=>ss(d),Yo($,!0),p()},J=($,m,_)=>{m.component=$;const P=$.vnode.props;$.vnode=m,$.next=null,gc($,m.props,P,_),_c($,m.children,_),fo(),Aa($),_o()},oe=($,m,_,P,R,N,U,D,u=!1)=>{const p=$&&$.children,d=$?$.shapeFlag:0,f=m.children,{patchFlag:w,shapeFlag:A}=m;if(w>0){if(w&128){Fe(p,f,_,P,R,N,U,D,u);return}else if(w&256){be(p,f,_,P,R,N,U,D,u);return}}A&8?(d&16&&Ve(p,R,N),f!==p&&g(_,f)):d&16?A&16?Fe(p,f,_,P,R,N,U,D,u):Ve(p,R,N,!0):(d&8&&g(_,""),A&16&&B(f,_,P,R,N,U,D,u))},be=($,m,_,P,R,N,U,D,u)=>{$=$||ot,m=m||ot;const p=$.length,d=m.length,f=Math.min(p,d);let w;for(w=0;wd?Ve($,R,N,!0,!1,f):B(m,_,P,R,N,U,D,u,f)},Fe=($,m,_,P,R,N,U,D,u)=>{let p=0;const d=m.length;let f=$.length-1,w=d-1;for(;p<=f&&p<=w;){const A=$[p],b=m[p]=u?No(m[p]):yo(m[p]);if(Rt(A,b))x(A,b,_,null,R,N,U,D,u);else break;p++}for(;p<=f&&p<=w;){const A=$[f],b=m[w]=u?No(m[w]):yo(m[w]);if(Rt(A,b))x(A,b,_,null,R,N,U,D,u);else break;f--,w--}if(p>f){if(p<=w){const A=w+1,b=Aw)for(;p<=f;)ye($[p],R,N,!0),p++;else{const A=p,b=p,L=new Map;for(p=b;p<=w;p++){const Le=m[p]=u?No(m[p]):yo(m[p]);Le.key!=null&&L.set(Le.key,p)}let O,H=0;const se=w-b+1;let ve=!1,_e=0;const to=new Array(se);for(p=0;p=se){ye(Le,R,N,!0);continue}let Ke;if(Le.key!=null)Ke=L.get(Le.key);else for(O=b;O<=w;O++)if(to[O-b]===0&&Rt(Le,m[O])){Ke=O;break}Ke===void 0?ye(Le,R,N,!0):(to[Ke-b]=p+1,Ke>=_e?_e=Ke:ve=!0,x(Le,m[Ke],_,null,R,N,U,D,u),H++)}const no=ve?yc(to):ot;for(O=no.length-1,p=se-1;p>=0;p--){const Le=b+p,Ke=m[Le],Ht=m[Le+1],ft=Le+1{const{el:N,type:U,transition:D,children:u,shapeFlag:p}=$;if(p&6){ge($.component.subTree,m,_,P);return}if(p&128){$.suspense.move(m,_,P);return}if(p&64){U.move($,m,_,ze);return}if(U===Ce){n(N,m,_);for(let f=0;fD.enter(N),R));else{const{leave:f,delayLeave:w,afterLeave:A}=D,b=()=>{$.ctx.isUnmounted?s(N):n(N,m,_)},L=()=>{const O=N._isLeaving||!!N[as];N._isLeaving&&N[as](!0),D.persisted&&!O?b():f(N,()=>{b(),A&&A()})};w?w(N,b,L):L()}else n(N,m,_)},ye=($,m,_,P=!1,R=!1)=>{const{type:N,props:U,ref:D,children:u,dynamicChildren:p,shapeFlag:d,patchFlag:f,dirs:w,cacheIndex:A,memo:b}=$;if(f===-2&&(R=!1),D!=null&&(fo(),Pt(D,null,_,$,!0),_o()),A!=null&&(m.renderCache[A]=void 0),d&256){m.ctx.deactivate($);return}const L=d&1&&w,O=!xt($);let H;if(O&&(H=U&&U.onVnodeBeforeUnmount)&&vo(H,m,$),d&6)Ye($.component,_,P);else{if(d&128){$.suspense.unmount(_,P);return}L&&Xo($,null,m,"beforeUnmount"),d&64?$.type.remove($,m,_,ze,P):p&&!p.hasOnce&&(N!==Ce||f>0&&f&64)?Ve(p,m,_,!1,!0):(N===Ce&&f&384||!R&&d&16)&&Ve(u,m,_),P&&eo($)}const se=b!=null&&A==null;(O&&(H=U&&U.onVnodeUnmounted)||L||se)&&He(()=>{H&&vo(H,m,$),L&&Xo($,null,m,"unmounted"),se&&($.el=null)},_)},eo=$=>{const{type:m,el:_,anchor:P,transition:R}=$;if(m===Ce){Ee(_,P);return}if(m===ms){v($);return}const N=()=>{s(_),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if($.shapeFlag&1&&R&&!R.persisted){const{leave:U,delayLeave:D}=R,u=()=>U(_,N);D?D($.el,N,u):u()}else N()},Ee=($,m)=>{let _;for(;$!==m;)_=y($),s($),$=_;s(m)},Ye=($,m,_)=>{const{bum:P,scope:R,job:N,subTree:U,um:D,m:u,a:p}=$;rr(u),rr(p),P&&jn(P),R.stop(),N&&(N.flags|=8,ye(U,$,m,_)),D&&He(D,m),He(()=>{$.isUnmounted=!0},m)},Ve=($,m,_,P=!1,R=!1,N=0)=>{for(let U=N;U<$.length;U++)ye($[U],m,_,P,R)},oo=$=>{if($.shapeFlag&6)return oo($.component.subTree);if($.shapeFlag&128)return $.suspense.next();const m=y($.anchor||$.el),_=m&&m[Dl];return _?y(_):m};let uo=!1;const wo=($,m,_)=>{let P;$==null?m._vnode&&(ye(m._vnode,null,null,!0),P=m._vnode.component):x(m._vnode||null,$,m,null,null,null,_),m._vnode=$,uo||(uo=!0,Aa(P),Sa(),uo=!1)},ze={p:x,um:ye,m:ge,r:eo,mt:xe,mc:B,pc:oe,pbc:Z,n:oo,o:e};return{render:wo,hydrate:void 0,createApp:nc(wo)}}function hs({type:e,props:o},t){return t==="svg"&&e==="foreignObject"||t==="mathml"&&e==="annotation-xml"&&o&&o.encoding&&o.encoding.includes("html")?void 0:t}function Yo({effect:e,job:o},t){t?(e.flags|=32,o.flags|=4):(e.flags&=-33,o.flags&=-5)}function bc(e,o){return(!e||e&&!e.pendingBranch)&&o&&!o.persisted}function sr(e,o,t=!1){const n=e.children,s=o.children;if(K(n)&&K(s))for(let a=0;a>1,e[t[i]]0&&(o[n]=t[a-1]),t[a]=n)}}for(a=t.length,r=t[a-1];a-- >0;)t[a]=r,r=o[r];return t}function ar(e){const o=e.subTree.component;if(o)return o.asyncDep&&!o.asyncResolved?o:ar(o)}function rr(e){if(e)for(let o=0;oe.__isSuspense;function vc(e,o){o&&o.pendingBranch?K(e)?o.effects.push(...e):o.effects.push(e):Nl(e)}const Ce=Symbol.for("v-fgt"),Tt=Symbol.for("v-txt"),Co=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Zo=[];let Xe=null;function Q(e=!1){Zo.push(Xe=e?null:[])}function cr(){Zo.pop(),Xe=Zo[Zo.length-1]||null}let Nt=1;function yn(e,o=!1){Nt+=e,e<0&&Xe&&o&&(Xe.hasOnce=!0)}function ur(e){return e.dynamicChildren=Nt>0?Xe||ot:null,cr(),Nt>0&&Xe&&Xe.push(e),e}function te(e,o,t,n,s,a){return ur(re(e,o,t,n,s,a,!0))}function kc(e,o,t,n,s){return ur(Se(e,o,t,n,s,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function Rt(e,o){return e.type===o.type&&e.key===o.key}const pr=({key:e})=>e??null,kn=({ref:e,ref_key:o,ref_for:t})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||Oe(e)||Y(e)?{i:bo,r:e,k:o,f:!!t}:e:null);function re(e,o=null,t=null,n=0,s=null,a=e===Ce?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:o,key:o&&pr(o),ref:o&&kn(o),scopeId:xa,slotScopeIds:null,children:t,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:a,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:bo};return i?(Ln(l,t),a&128&&e.normalize(l)):t&&(l.shapeFlag|=he(t)?8:16),Nt>0&&!r&&Xe&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&Xe.push(l),l}const Se=Lc;function Lc(e,o=null,t=null,n=0,s=null,a=!1){if((!e||e===Xl)&&(e=Co),vn(e)){const i=ct(e,o,!0);return t&&Ln(i,t),Nt>0&&!a&&Xe&&(i.shapeFlag&6?Xe[Xe.indexOf(e)]=i:Xe.push(i)),i.patchFlag=-2,i}if(Fc(e)&&(e=e.__vccOpts),o){o=wc(o);let{class:i,style:l}=o;i&&!he(i)&&(o.class=Qt(i)),ue(l)&&(ts(l)&&!K(l)&&(l=we({},l)),o.style=tt(l))}const r=he(e)?1:lr(e)?128:dn(e)?64:ue(e)?4:Y(e)?2:0;return re(e,o,t,n,s,r,a,!0)}function wc(e){return e?ts(e)||Za(e)?we({},e):e:null}function ct(e,o,t=!1,n=!1){const{props:s,ref:a,patchFlag:r,children:i,transition:l}=e,c=o?Ac(s||{},o):s,g={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&pr(c),ref:o&&o.ref?t&&a?K(a)?a.concat(kn(o)):[a,kn(o)]:kn(o):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:o&&e.type!==Ce?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ct(e.ssContent),ssFallback:e.ssFallback&&ct(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&rs(g,l.clone(g)),g}function To(e=" ",o=0){return Se(Tt,null,e,o)}function Ie(e="",o=!1){return o?(Q(),kc(Co,null,e)):Se(Co,null,e)}function yo(e){return e==null||typeof e=="boolean"?Se(Co):K(e)?Se(Ce,null,e.slice()):vn(e)?No(e):Se(Tt,null,String(e))}function No(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ct(e)}function Ln(e,o){let t=0;const{shapeFlag:n}=e;if(o==null)o=null;else if(K(o))t=16;else if(typeof o=="object")if(n&65){const s=o.default;s&&(s._c&&(s._d=!1),Ln(e,s()),s._c&&(s._d=!0));return}else{t=32;const s=o._;!s&&!Za(o)?o._ctx=bo:s===3&&bo&&(bo.slots._===1?o._=1:(o._=2,e.patchFlag|=1024))}else if(Y(o)){if(n&65){Ln(e,{default:o});return}o={default:o,_ctx:bo},t=32}else o=String(o),n&64?(t=16,o=[To(o)]):t=8;e.children=o,e.shapeFlag|=t}function Ac(...e){const o={};for(let t=0;tje||bo;let wn,It;{const e=Jt(),o=(t,n)=>{let s;return(s=e[t])||(s=e[t]=[]),s.push(n),a=>{s.length>1?s.forEach(r=>r(a)):s[0](a)}};wn=o("__VUE_INSTANCE_SETTERS__",t=>je=t),It=o("__VUE_SSR_SETTERS__",t=>Mt=t)}const Ft=e=>{const o=je;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(o)}},gr=()=>{je&&je.scope.off(),wn(null)};function dr(e){return e.vnode.shapeFlag&4}let Mt=!1;function Ec(e,o=!1,t=!1){o&&It(o);const{props:n,children:s}=e.vnode,a=dr(e);pc(e,n,a,o),fc(e,s,t||o);const r=a?Cc(e,o):void 0;return o&&It(!1),r}function Cc(e,o){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yl);const{setup:n}=t;if(n){fo();const s=e.setupContext=n.length>1?Nc(e):null,a=Ft(e),r=at(n,e,0,[e.props,s]),i=qs(r);if(_o(),a(),(i||e.sp)&&!xt(e)&&Na(e),i){if(r.then(gr,gr),o)return r.then(l=>{It(!0);try{$r(e,l,o)}finally{It(!1)}}).catch(l=>{cn(l,e,0)});e.asyncDep=r}else $r(e,r)}else fr(e)}function $r(e,o,t){Y(o)?e.type.__ssrInlineRender?e.ssrRender=o:e.render=o:ue(o)&&(e.setupState=va(o)),fr(e)}function fr(e,o,t){const n=e.type;e.render||(e.render=n.render||po);{const s=Ft(e);fo();try{Zl(e)}finally{_o(),s()}}}const Tc={get(e,o){return Me(e,"get",""),e[o]}};function Nc(e){const o=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Tc),slots:e.slots,emit:e.emit,expose:o}}function bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(va(bl(e.exposed)),{get(o,t){if(t in o)return o[t];if(t in Et)return Et[t](e)},has(o,t){return t in o||t in Et}})):e.proxy}const Rc=/(?:^|[-_])\w/g,Oc=e=>e.replace(Rc,o=>o.toUpperCase()).replace(/[-_]/g,"");function Ic(e,o=!0){return Y(e)?e.displayName||e.name:e.name||o&&e.__name}function _r(e,o,t=!1){let n=Ic(o);if(!n&&o.__file){const s=o.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=a=>{for(const r in a)if(a[r]===o)return r};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?Oc(n):t?"App":"Anonymous"}function Fc(e){return Y(e)&&"__vccOpts"in e}const ce=(e,o)=>Ll(e,o,Mt);function hr(e,o,t){try{yn(-1);const n=arguments.length;return n===2?ue(o)&&!K(o)?vn(o)?Se(e,null,[o]):Se(e,o):Se(e,null,o):(n>3?t=Array.prototype.slice.call(arguments,2):n===3&&vn(t)&&(t=[t]),Se(e,o,t))}finally{yn(1)}}const Mc="3.5.42";/** +`],...xl(t))}),o}function xl({vnode:e,recurseCount:o}){const t=o>0?`... (${o} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${_r(e.component,e.type,n)}`,a=">"+t;return e.props?[s,...Nl(e.props),a]:[s+a]}function Nl(e){const o=[],t=Object.keys(e);return t.slice(0,3).forEach(n=>{o.push(...ka(n,e[n]))}),t.length>3&&o.push(" ..."),o}function ka(e,o,t){return he(o)?(o=JSON.stringify(o),t?o:[`${e}=${o}`]):typeof o=="number"||typeof o=="boolean"||o==null?t?o:[`${e}=${o}`]:Oe(o)?(o=ka(e,ae(o.value),!0),t?o:[`${e}=Ref<`,o,">"]):Y(o)?[`${e}=fn${o.name?`<${o.name}>`:""}`]:(o=ae(o),t?o:[`${e}=`,o])}function at(e,o,t,n){try{return n?e(...n):e()}catch(s){cn(s,o,t)}}function ro(e,o,t,n){if(Y(e)){const s=at(e,o,t,n);return s&&qs(s)&&s.catch(a=>{cn(a,o,t)}),s}if(K(e)){const s=[];for(let a=0;a>>1,s=Ge[n],a=At(s);a=At(t)?Ge.push(e):Ge.splice(Cl(o),0,e),e.flags|=1,wa()}}function wa(){un||(un=La.then(Pa))}function Tl(e){if(!K(e))Uo&&e.id===-1?Uo.splice(it+1,0,e):e.flags&1||(rt.push(e),e.flags|=1);else for(let o=0;oAt(t)-At(n));if(rt.length=0,Uo){for(let t=0;te.id==null?e.flags&2?-1:1/0:e.id;function Pa(e){try{for(mo=0;mo{n._d&&yn(-1);const a=gn(o),r=Zo.length;let i;try{i=e(...s)}finally{for(let l=Zo.length;l>r;l--)cr();gn(a),n._d&&yn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Xo(e,o,t,n){const s=e.dirs,a=o&&o.dirs;for(let r=0;r1)return t&&Y(o)?o.call(n&&n.proxy):o}}const Ml=Symbol.for("v-scx"),Il=()=>St(Ml);function xo(e,o,t){return Na(e,o,t)}function Na(e,o,t=$e){const{immediate:n,deep:s,flush:a,once:r}=t,i=we({},t),l=o&&n||!o&&a!=="post";let c;if(Ft){if(a==="sync"){const S=Il();c=S.__watcherHandles||(S.__watcherHandles=[])}else if(!l){const S=()=>{};return S.stop=po,S.resume=po,S.pause=po,S}}const g=je;i.call=(S,M,x)=>ro(S,g,M,x);let h=!1;a==="post"?i.scheduler=S=>{He(S,g&&g.suspense)}:a!=="sync"&&(h=!0,i.scheduler=(S,M)=>{M?S():ss(S)}),i.augmentJob=S=>{o&&(S.flags|=4),h&&(S.flags|=2,g&&(S.id=g.uid,S.i=g))};const y=Al(e,o,i);return Ft&&(c?c.push(y):l&&y()),y}function Fl(e,o,t){const n=this.proxy,s=he(e)?e.includes(".")?Ea(n,e):()=>n[e]:e.bind(n,n);let a;Y(o)?a=o:(a=o.handler,t=o);const r=It(this),i=Na(s,a.bind(n),t);return r(),i}function Ea(e,o){const t=o.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,as=Symbol("_leaveCb");function Gl(e){let o=e[0];if(e.length>1){for(const t of e)if(t.type!==Eo){o=t;break}}return o}function Ca(e){if(!is(e))return dn(e.type)&&e.children?Gl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:o,children:t}=e;if(t){if(o&16)return t[0];if(o&32&&Y(t.default))return t.default()}}function rs(e,o){if(e.shapeFlag&6&&e.component){e.transition=o;const t=e.component.subTree;rs(dn(t.type)&&Ca(t)||t,o)}else e.shapeFlag&128?(e.ssContent.transition=o.clone(e.ssContent),e.ssFallback.transition=o.clone(e.ssFallback)):e.transition=o}function $n(e,o){return Y(e)?we({name:e.name},o,{setup:e}):e}function Ta(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ra(e,o){let t;return!!((t=Object.getOwnPropertyDescriptor(e,o))&&!t.configurable)}const fn=new WeakMap;function Pt(e,o,t,n,s=!1){if(K(e)){e.forEach((x,F)=>Pt(x,o&&(K(o)?o[F]:o),t,n,s));return}if(xt(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pt(e,o,t,n.component.subTree);return}const a=n.shapeFlag&4?bs(n.component):n.el,r=s?null:a,{i,r:l}=e,c=o&&o.r,g=i.refs===$e?i.refs={}:i.refs,h=i.setupState,y=ae(h),S=h===$e?zs:x=>Ra(g,x)?!1:le(y,x),M=(x,F)=>!(F&&Ra(g,F));if(c!=null&&c!==l){if(Oa(o),he(c))g[c]=null,S(c)&&(h[c]=null);else if(Oe(c)){const x=o;M(c,x.k)&&(c.value=null),x.k&&(g[x.k]=null)}}if(Y(l))at(l,i,12,[r,g]);else{const x=he(l),F=Oe(l);if(x||F){const I=()=>{if(e.f){const G=x?S(l)?h[l]:g[l]:M()||!e.k?l.value:g[e.k];if(s)K(G)&&Dn(G,a);else if(K(G))G.includes(a)||G.push(a);else if(x)g[l]=[a],S(l)&&(h[l]=g[l]);else{const k=[a];M(l,e.k)&&(l.value=k),e.k&&(g[e.k]=k)}}else x?(g[l]=r,S(l)&&(h[l]=r)):F&&(M(l,e.k)&&(l.value=r),e.k&&(g[e.k]=r))};if(r){const G=()=>{I(),fn.delete(e)};G.id=-1,fn.set(e,G),He(G,t)}else Oa(e),I()}}}function Oa(e){const o=fn.get(e);o&&(o.flags|=8,fn.delete(e))}Jt().requestIdleCallback,Jt().cancelIdleCallback;const xt=e=>!!e.type.__asyncLoader,is=e=>e.type.__isKeepAlive;function Ul(e,o){Ma(e,"a",o)}function jl(e,o){Ma(e,"da",o)}function Ma(e,o,t=je){const n=e.__wdc||(e.__wdc=()=>{let s=t;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(_n(o,n,t),t){let s=t.parent;for(;s&&s.parent;)is(s.parent.vnode)&&Bl(n,o,t,s),s=s.parent}}function Bl(e,o,t,n){const s=_n(o,e,n,!0);cs(()=>{Dn(n[o],s)},t)}function _n(e,o,t=je,n=!1){if(t){const s=t[e]||(t[e]=[]),a=o.__weh||(o.__weh=(...r)=>{fo();const i=It(t),l=ro(o,t,e,r);return i(),_o(),l});return n?s.unshift(a):s.push(a),a}}const No=e=>(o,t=je)=>{(!Ft||e==="sp")&&_n(e,(...n)=>o(...n),t)},Ia=No("bm"),ls=No("m"),zl=No("bu"),Vl=No("u"),Fa=No("bum"),cs=No("um"),ql=No("sp"),Hl=No("rtg"),Wl=No("rtc");function Kl(e,o=je){_n("ec",e,o)}const Xl=Symbol.for("v-ndc");function hn(e,o,t,n){let s;const a=t,r=K(e);if(r||he(e)){const i=r&&Wo(e);let l=!1,c=!1;i&&(l=!Je(e),c=Po(e),e=on(e)),s=new Array(e.length);for(let g=0,h=e.length;go(i,l,void 0,a));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;le?dr(e)?bs(e):us(e.parent):null,Nt=we(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=>us(e.parent),$root:e=>us(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ja(e),$forceUpdate:e=>e.f||(e.f=()=>{ss(e.update)}),$nextTick:e=>e.n||(e.n=pn.bind(e.proxy)),$watch:e=>Fl.bind(e)}),ps=(e,o)=>e!==$e&&!e.__isScriptSetup&&le(e,o),Yl={get({_:e},o){if(o==="__v_skip")return!0;const{ctx:t,setupState:n,data:s,props:a,accessCache:r,type:i,appContext:l}=e;if(o[0]!=="$"){const y=r[o];if(y!==void 0)switch(y){case 1:return n[o];case 2:return s[o];case 4:return t[o];case 3:return a[o]}else{if(ps(n,o))return r[o]=1,n[o];if(s!==$e&&le(s,o))return r[o]=2,s[o];if(le(a,o))return r[o]=3,a[o];if(t!==$e&&le(t,o))return r[o]=4,t[o];gs&&(r[o]=0)}}const c=Nt[o];let g,h;if(c)return o==="$attrs"&&Fe(e.attrs,"get",""),c(e);if((g=i.__cssModules)&&(g=g[o]))return g;if(t!==$e&&le(t,o))return r[o]=4,t[o];if(h=l.config.globalProperties,le(h,o))return h[o]},set({_:e},o,t){const{data:n,setupState:s,ctx:a}=e;return ps(s,o)?(s[o]=t,!0):n!==$e&&le(n,o)?(n[o]=t,!0):le(e.props,o)||o[0]==="$"&&o.slice(1)in e?!1:(a[o]=t,!0)},has({_:{data:e,setupState:o,accessCache:t,ctx:n,appContext:s,props:a,type:r}},i){let l;return!!(t[i]||e!==$e&&i[0]!=="$"&&le(e,i)||ps(o,i)||le(a,i)||le(n,i)||le(Nt,i)||le(s.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,o,t){return t.get!=null?e._.accessCache[o]=0:le(t,"value")&&this.set(e,o,t.value,null),Reflect.defineProperty(e,o,t)}};function Da(e){return K(e)?e.reduce((o,t)=>(o[t]=null,o),{}):e}let gs=!0;function Zl(e){const o=ja(e),t=e.proxy,n=e.ctx;gs=!1,o.beforeCreate&&Ga(o.beforeCreate,e,"bc");const{data:s,computed:a,methods:r,watch:i,provide:l,inject:c,created:g,beforeMount:h,mounted:y,beforeUpdate:S,updated:M,activated:x,deactivated:F,beforeDestroy:I,beforeUnmount:G,destroyed:k,unmounted:v,render:N,renderTracked:E,renderTriggered:C,errorCaptured:B,serverPrefetch:j,expose:Z,inheritAttrs:q,components:z,directives:X,filters:xe}=o;if(c&&Jl(c,n,null),r)for(const J in r){const oe=r[J];Y(oe)&&(n[J]=oe.bind(t))}if(s){const J=s.call(t,t);ue(J)&&(e.data=es(J))}if(gs=!0,a)for(const J in a){const oe=a[J],be=Y(oe)?oe.bind(t,t):Y(oe.get)?oe.get.bind(t,t):po,Ie=!Y(oe)&&Y(oe.set)?oe.set.bind(t):po,ge=ce({get:be,set:Ie});Object.defineProperty(n,J,{enumerable:!0,configurable:!0,get:()=>ge.value,set:ye=>ge.value=ye})}if(i)for(const J in i)Ua(i[J],n,t,J);if(l){const J=Y(l)?l.call(t):l;Reflect.ownKeys(J).forEach(oe=>{Ol(oe,J[oe])})}g&&Ga(g,e,"c");function ne(J,oe){K(oe)?oe.forEach(be=>J(be.bind(t))):oe&&J(oe.bind(t))}if(ne(Ia,h),ne(ls,y),ne(zl,S),ne(Vl,M),ne(Ul,x),ne(jl,F),ne(Kl,B),ne(Wl,E),ne(Hl,C),ne(Fa,G),ne(cs,v),ne(ql,j),K(Z))if(Z.length){const J=e.exposed||(e.exposed={});Z.forEach(oe=>{Object.defineProperty(J,oe,{get:()=>t[oe],set:be=>t[oe]=be,enumerable:!0})})}else e.exposed||(e.exposed={});N&&e.render===po&&(e.render=N),q!=null&&(e.inheritAttrs=q),z&&(e.components=z),X&&(e.directives=X),j&&Ta(e)}function Jl(e,o,t=po){K(e)&&(e=ds(e));for(const n in e){const s=e[n];let a;ue(s)?"default"in s?a=St(s.from||n,s.default,!0):a=St(s.from||n):a=St(s),Oe(a)?Object.defineProperty(o,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:r=>a.value=r}):o[n]=a}}function Ga(e,o,t){ro(K(e)?e.map(n=>n.bind(o.proxy)):e.bind(o.proxy),o,t)}function Ua(e,o,t,n){let s=n.includes(".")?Ea(t,n):()=>t[n];if(he(e)){const a=o[e];Y(a)&&xo(s,a)}else if(Y(e))xo(s,e.bind(t));else if(ue(e))if(K(e))e.forEach(a=>Ua(a,o,t,n));else{const a=Y(e.handler)?e.handler.bind(t):o[e.handler];Y(a)&&xo(s,a,e)}}function ja(e){const o=e.type,{mixins:t,extends:n}=o,{mixins:s,optionsCache:a,config:{optionMergeStrategies:r}}=e.appContext,i=a.get(o);let l;return i?l=i:!s.length&&!t&&!n?l=o:(l={},s.length&&s.forEach(c=>mn(l,c,r,!0)),mn(l,o,r)),ue(o)&&a.set(o,l),l}function mn(e,o,t,n=!1){const{mixins:s,extends:a}=o;a&&mn(e,a,t,!0),s&&s.forEach(r=>mn(e,r,t,!0));for(const r in o)if(!(n&&r==="expose")){const i=Ql[r]||t&&t[r];e[r]=i?i(e[r],o[r]):o[r]}return e}const Ql={data:Ba,props:za,emits:za,methods:Et,computed:Et,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Et,directives:Et,watch:oc,provide:Ba,inject:ec};function Ba(e,o){return o?e?function(){return we(Y(e)?e.call(this,this):e,Y(o)?o.call(this,this):o)}:o:e}function ec(e,o){return Et(ds(e),ds(o))}function ds(e){if(K(e)){const o={};for(let t=0;to==="modelValue"||o==="model-value"?e.modelModifiers:e[`${o}Modifiers`]||e[`${qe(o)}Modifiers`]||e[`${Ze(o)}Modifiers`];function ac(e,o,...t){if(e.isUnmounted)return;const n=e.vnode.props||$e;let s=t;const a=o.startsWith("update:"),r=a&&sc(n,o.slice(7));r&&(r.trim&&(s=t.map(g=>he(g)?g.trim():g)),r.number&&(s=s.map(Hi)));let i,l=n[i=Un(o)]||n[i=Un(qe(o))];!l&&a&&(l=n[i=Un(Ze(o))]),l&&ro(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,ro(c,e,6,s)}}const rc=new WeakMap;function qa(e,o,t=!1){const n=t?rc:o.emitsCache,s=n.get(e);if(s!==void 0)return s;const a=e.emits;let r={},i=!1;if(!Y(e)){const l=c=>{const g=qa(c,o,!0);g&&(i=!0,we(r,g))};!t&&o.mixins.length&&o.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?(ue(e)&&n.set(e,null),null):(K(a)?a.forEach(l=>r[l]=null):we(r,a),ue(e)&&n.set(e,r),r)}function bn(e,o){return!e||!Wt(o)?!1:(o=o.slice(2),o=o==="Once"?o:o.replace(/Once$/,""),le(e,o[0].toLowerCase()+o.slice(1))||le(e,Ze(o))||le(e,o))}function yd(){}function Ha(e){const{type:o,vnode:t,proxy:n,withProxy:s,propsOptions:[a],slots:r,attrs:i,emit:l,render:c,renderCache:g,props:h,data:y,setupState:S,ctx:M,inheritAttrs:x}=e,F=gn(e);let I,G;try{if(t.shapeFlag&4){const v=s||n,N=v;I=yo(c.call(N,v,g,h,S,y,M)),G=i}else{const v=o;I=yo(v.length>1?v(h,{attrs:i,slots:r,emit:l}):v(h,null)),G=o.props?i:ic(i)}}catch(v){Zo.length=0,cn(v,e,1),I=Se(Eo)}let k=I;if(G&&x!==!1){const v=Object.keys(G),{shapeFlag:N}=k;v.length&&N&7&&(a&&v.some(Kt)&&(G=lc(G,a)),k=ct(k,G,!1,!0))}if(t.dirs&&(k=ct(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(t.dirs):t.dirs),t.transition){const v=dn(k.type)&&Ca(k)||k;rs(v,t.transition)}return I=k,gn(F),I}const ic=e=>{let o;for(const t in e)(t==="class"||t==="style"||Wt(t))&&((o||(o={}))[t]=e[t]);return o},lc=(e,o)=>{const t={};for(const n in e)(!Kt(n)||!(n.slice(9)in o))&&(t[n]=e[n]);return t};function cc(e,o,t){const{props:n,children:s,component:a}=e,{props:r,children:i,patchFlag:l}=o,c=a.emitsOptions;if(o.dirs||o.transition)return!0;if(t&&l>=0){if(l&1024)return!0;if(l&16)return n?Wa(n,r,c):!!r;if(l&8){const g=o.dynamicProps;for(let h=0;hObject.create(Xa),Za=e=>Object.getPrototypeOf(e)===Xa;function pc(e,o,t,n=!1){const s={},a=Ya();e.propsDefaults=Object.create(null),Ja(e,o,s,a);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);t?e.props=n?s:ml(s):e.type.props?e.props=s:e.props=a,e.attrs=a}function gc(e,o,t,n){const{props:s,attrs:a,vnode:{patchFlag:r}}=e,i=ae(s),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const g=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[y,S]=Qa(h,o,!0);we(r,y),S&&i.push(...S)};!t&&o.mixins.length&&o.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!a&&!l)return ue(e)&&n.set(e,ot),ot;if(K(a))for(let g=0;ge==="_"||e==="_ctx"||e==="$stable",_s=e=>K(e)?e.map(yo):[yo(e)],$c=(e,o,t)=>{if(o._n)return o;const n=Rl((...s)=>_s(o(...s)),t);return n._c=!1,n},or=(e,o,t)=>{const n=e._ctx;for(const s in e){if(fs(s))continue;const a=e[s];if(Y(a))o[s]=$c(s,a,n);else if(a!=null){const r=_s(a);o[s]=()=>r}}},tr=(e,o)=>{const t=_s(o);e.slots.default=()=>t},nr=(e,o,t)=>{for(const n in o)(t||!fs(n))&&(e[n]=o[n])},fc=(e,o,t)=>{const n=e.slots=Ya();if(e.vnode.shapeFlag&32){const s=o._;s?(nr(n,o,t),t&&Ks(n,"_",s,!0)):or(o,n)}else o&&tr(e,o)},_c=(e,o,t)=>{const{vnode:n,slots:s}=e;let a=!0,r=$e;if(n.shapeFlag&32){const i=o._;i?t&&i===1?a=!1:nr(s,o,t):(a=!o.$stable,or(o,s)),r=o}else o&&(tr(e,o),r={default:1});if(a)for(const i in s)!fs(i)&&r[i]==null&&delete s[i]},He=vc;function hc(e){return mc(e)}function mc(e,o){const t=Jt();t.__VUE__=!0;const{insert:n,remove:s,patchProp:a,createElement:r,createText:i,createComment:l,setText:c,setElementText:g,parentNode:h,nextSibling:y,setScopeId:S=po,insertStaticContent:M}=e,x=($,m,_,P=null,R=null,T=null,U=void 0,D=null,u=!!m.dynamicChildren)=>{if($===m)return;$&&!Rt($,m)&&(P=oo($),ye($,R,T,!0),$=null),m.patchFlag===-2&&(u=!1,m.dynamicChildren=null);const{type:p,ref:d,shapeFlag:f}=m;switch(p){case Ct:F($,m,_,P);break;case Eo:I($,m,_,P);break;case ms:$==null&&G(m,_,P,U);break;case Ee:z($,m,_,P,R,T,U,D,u);break;default:f&1?N($,m,_,P,R,T,U,D,u):f&6?X($,m,_,P,R,T,U,D,u):(f&64||f&128)&&p.process($,m,_,P,R,T,U,D,u,Ve)}d!=null&&R?Pt(d,$&&$.ref,T,m||$,!m):d==null&&$&&$.ref!=null&&Pt($.ref,null,T,$,!0)},F=($,m,_,P)=>{if($==null)n(m.el=i(m.children),_,P);else{const R=m.el=$.el;m.children!==$.children&&c(R,m.children)}},I=($,m,_,P)=>{$==null?n(m.el=l(m.children||""),_,P):m.el=$.el},G=($,m,_,P)=>{[$.el,$.anchor]=M($.children,m,_,P,$.el,$.anchor)},k=({el:$,anchor:m},_,P)=>{let R;for(;$&&$!==m;)R=y($),n($,_,P),$=R;n(m,_,P)},v=({el:$,anchor:m})=>{let _;for(;$&&$!==m;)_=y($),s($),$=_;s(m)},N=($,m,_,P,R,T,U,D,u)=>{if(m.type==="svg"?U="svg":m.type==="math"&&(U="mathml"),$==null)E(m,_,P,R,T,U,D,u);else{const p=$.el&&$.el._isVueCE?$.el:null;try{p&&p._beginPatch(),j($,m,R,T,U,D,u)}finally{p&&p._endPatch()}}},E=($,m,_,P,R,T,U,D)=>{let u,p;const{props:d,shapeFlag:f,transition:w,dirs:A}=$;if(u=$.el=r($.type,T,d&&d.is,d),f&8?g(u,$.children):f&16&&B($.children,u,null,P,R,hs($,T),U,D),A&&Xo($,null,P,"created"),C(u,$,$.scopeId,U,P),d){for(const L in d)L!=="value"&&!ht(L)&&a(u,L,null,d[L],T,P);"value"in d&&a(u,"value",null,d.value,T),(p=d.onVnodeBeforeMount)&&vo(p,P,$)}A&&Xo($,null,P,"beforeMount");const b=bc(R,w);b&&w.beforeEnter(u),n(u,m,_),((p=d&&d.onVnodeMounted)||b||A)&&He(()=>{try{p&&vo(p,P,$),b&&w.enter(u),A&&Xo($,null,P,"mounted")}finally{}},R)},C=($,m,_,P,R)=>{if(_&&S($,_),P)for(let T=0;T{for(let p=u;p<$.length;p++){const d=$[p]=D?To($[p]):yo($[p]);x(null,d,m,_,P,R,T,U,D)}},j=($,m,_,P,R,T,U)=>{const D=m.el=$.el;let{patchFlag:u,dynamicChildren:p,dirs:d}=m;u|=$.patchFlag&16;const f=$.props||$e,w=m.props||$e;let A;if(_&&Yo(_,!1),(A=w.onVnodeBeforeUpdate)&&vo(A,_,m,$),d&&Xo(m,$,_,"beforeUpdate"),_&&Yo(_,!0),p&&(!$.dynamicChildren||$.dynamicChildren.length!==p.length)&&(u=0,U=!1,p=null),(f.innerHTML&&w.innerHTML==null||f.textContent&&w.textContent==null)&&g(D,""),p?Z($.dynamicChildren,p,D,_,P,hs(m,R),T):U||oe($,m,D,null,_,P,hs(m,R),T,!1),u>0){if(u&16)q(D,f,w,_,R);else if(u&2&&f.class!==w.class&&a(D,"class",null,w.class,R),u&4&&a(D,"style",f.style,w.style,R),u&8){const b=m.dynamicProps;for(let L=0;L{A&&vo(A,_,m,$),d&&Xo(m,$,_,"updated")},P)},Z=($,m,_,P,R,T,U)=>{for(let D=0;D{if(m!==_){if(m!==$e)for(const T in m)!ht(T)&&!(T in _)&&a($,T,m[T],null,R,P);for(const T in _){if(ht(T))continue;const U=_[T],D=m[T];U!==D&&T!=="value"&&a($,T,D,U,R,P)}"value"in _&&a($,"value",m.value,_.value,R)}},z=($,m,_,P,R,T,U,D,u)=>{const p=m.el=$?$.el:i(""),d=m.anchor=$?$.anchor:i("");let{patchFlag:f,dynamicChildren:w,slotScopeIds:A}=m;A&&(D=D?D.concat(A):A),$==null?(n(p,_,P),n(d,_,P),B(m.children||[],_,d,R,T,U,D,u)):f>0&&f&64&&w&&$.dynamicChildren&&$.dynamicChildren.length===w.length?(Z($.dynamicChildren,w,_,R,T,U,D),(m.key!=null||R&&m===R.subTree)&&sr($,m,!0)):oe($,m,_,d,R,T,U,D,u)},X=($,m,_,P,R,T,U,D,u)=>{m.slotScopeIds=D,$==null?m.shapeFlag&512?R.ctx.activate(m,_,P,U,u):xe(m,_,P,R,T,U,u):Te($,m,u)},xe=($,m,_,P,R,T,U)=>{const D=$.component=xc($,P,R);if(is($)&&(D.ctx.renderer=Ve),Nc(D,!1,U),D.asyncDep){if(R&&R.registerDep(D,ne,U),!$.el){const u=D.subTree=Se(Eo);I(null,u,m,_),$.placeholder=u.el}}else ne(D,$,m,_,R,T,U)},Te=($,m,_)=>{const P=m.component=$.component;if(cc($,m,_))if(P.asyncDep&&!P.asyncResolved){J(P,m,_);return}else P.next=m,P.update();else m.el=$.el,P.vnode=m},ne=($,m,_,P,R,T,U)=>{const D=()=>{if($.isMounted){let{next:f,bu:w,u:A,parent:b,vnode:L}=$;{const _e=ar($);if(_e){f&&(f.el=L.el,J($,f,U)),_e.asyncDep.then(()=>{He(()=>{$.isUnmounted||p()},R)});return}}let O=f,H;Yo($,!1),f?(f.el=L.el,J($,f,U)):f=L,w&&jn(w),(H=f.props&&f.props.onVnodeBeforeUpdate)&&vo(H,b,f,L),Yo($,!0);const se=Ha($),ve=$.subTree;$.subTree=se,x(ve,se,h(ve.el),oo(ve),$,R,T),f.el=se.el,O===null&&uc($,se.el),A&&He(A,R),(H=f.props&&f.props.onVnodeUpdated)&&He(()=>vo(H,b,f,L),R)}else{let f;const{el:w,props:A}=m,{bm:b,m:L,parent:O,root:H,type:se}=$,ve=xt(m);Yo($,!1),b&&jn(b),!ve&&(f=A&&A.onVnodeBeforeMount)&&vo(f,O,m),Yo($,!0);{H.ce&&H.ce._hasShadowRoot()&&H.ce._injectChildStyle(se,$.parent?$.parent.type:void 0);const _e=$.subTree=Ha($);x(null,_e,_,P,$,R,T),m.el=_e.el}if(L&&He(L,R),!ve&&(f=A&&A.onVnodeMounted)){const _e=m;He(()=>vo(f,O,_e),R)}(m.shapeFlag&256||O&&xt(O.vnode)&&O.vnode.shapeFlag&256)&&$.a&&He($.a,R),$.isMounted=!0,m=_=P=null}};$.scope.on();const u=$.effect=new oa(D);$.scope.off();const p=$.update=u.run.bind(u),d=$.job=u.runIfDirty.bind(u);d.i=$,d.id=$.uid,u.scheduler=()=>ss(d),Yo($,!0),p()},J=($,m,_)=>{m.component=$;const P=$.vnode.props;$.vnode=m,$.next=null,gc($,m.props,P,_),_c($,m.children,_),fo(),Aa($),_o()},oe=($,m,_,P,R,T,U,D,u=!1)=>{const p=$&&$.children,d=$?$.shapeFlag:0,f=m.children,{patchFlag:w,shapeFlag:A}=m;if(w>0){if(w&128){Ie(p,f,_,P,R,T,U,D,u);return}else if(w&256){be(p,f,_,P,R,T,U,D,u);return}}A&8?(d&16&&ze(p,R,T),f!==p&&g(_,f)):d&16?A&16?Ie(p,f,_,P,R,T,U,D,u):ze(p,R,T,!0):(d&8&&g(_,""),A&16&&B(f,_,P,R,T,U,D,u))},be=($,m,_,P,R,T,U,D,u)=>{$=$||ot,m=m||ot;const p=$.length,d=m.length,f=Math.min(p,d);let w;for(w=0;wd?ze($,R,T,!0,!1,f):B(m,_,P,R,T,U,D,u,f)},Ie=($,m,_,P,R,T,U,D,u)=>{let p=0;const d=m.length;let f=$.length-1,w=d-1;for(;p<=f&&p<=w;){const A=$[p],b=m[p]=u?To(m[p]):yo(m[p]);if(Rt(A,b))x(A,b,_,null,R,T,U,D,u);else break;p++}for(;p<=f&&p<=w;){const A=$[f],b=m[w]=u?To(m[w]):yo(m[w]);if(Rt(A,b))x(A,b,_,null,R,T,U,D,u);else break;f--,w--}if(p>f){if(p<=w){const A=w+1,b=Aw)for(;p<=f;)ye($[p],R,T,!0),p++;else{const A=p,b=p,L=new Map;for(p=b;p<=w;p++){const Le=m[p]=u?To(m[p]):yo(m[p]);Le.key!=null&&L.set(Le.key,p)}let O,H=0;const se=w-b+1;let ve=!1,_e=0;const to=new Array(se);for(p=0;p=se){ye(Le,R,T,!0);continue}let Ke;if(Le.key!=null)Ke=L.get(Le.key);else for(O=b;O<=w;O++)if(to[O-b]===0&&Rt(Le,m[O])){Ke=O;break}Ke===void 0?ye(Le,R,T,!0):(to[Ke-b]=p+1,Ke>=_e?_e=Ke:ve=!0,x(Le,m[Ke],_,null,R,T,U,D,u),H++)}const no=ve?yc(to):ot;for(O=no.length-1,p=se-1;p>=0;p--){const Le=b+p,Ke=m[Le],Ht=m[Le+1],ft=Le+1{const{el:T,type:U,transition:D,children:u,shapeFlag:p}=$;if(p&6){ge($.component.subTree,m,_,P);return}if(p&128){$.suspense.move(m,_,P);return}if(p&64){U.move($,m,_,Ve);return}if(U===Ee){n(T,m,_);for(let f=0;fD.enter(T),R));else{const{leave:f,delayLeave:w,afterLeave:A}=D,b=()=>{$.ctx.isUnmounted?s(T):n(T,m,_)},L=()=>{const O=T._isLeaving||!!T[as];T._isLeaving&&T[as](!0),D.persisted&&!O?b():f(T,()=>{b(),A&&A()})};w?w(T,b,L):L()}else n(T,m,_)},ye=($,m,_,P=!1,R=!1)=>{const{type:T,props:U,ref:D,children:u,dynamicChildren:p,shapeFlag:d,patchFlag:f,dirs:w,cacheIndex:A,memo:b}=$;if(f===-2&&(R=!1),D!=null&&(fo(),Pt(D,null,_,$,!0),_o()),A!=null&&(m.renderCache[A]=void 0),d&256){m.ctx.deactivate($);return}const L=d&1&&w,O=!xt($);let H;if(O&&(H=U&&U.onVnodeBeforeUnmount)&&vo(H,m,$),d&6)Ye($.component,_,P);else{if(d&128){$.suspense.unmount(_,P);return}L&&Xo($,null,m,"beforeUnmount"),d&64?$.type.remove($,m,_,Ve,P):p&&!p.hasOnce&&(T!==Ee||f>0&&f&64)?ze(p,m,_,!1,!0):(T===Ee&&f&384||!R&&d&16)&&ze(u,m,_),P&&eo($)}const se=b!=null&&A==null;(O&&(H=U&&U.onVnodeUnmounted)||L||se)&&He(()=>{H&&vo(H,m,$),L&&Xo($,null,m,"unmounted"),se&&($.el=null)},_)},eo=$=>{const{type:m,el:_,anchor:P,transition:R}=$;if(m===Ee){Ne(_,P);return}if(m===ms){v($);return}const T=()=>{s(_),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if($.shapeFlag&1&&R&&!R.persisted){const{leave:U,delayLeave:D}=R,u=()=>U(_,T);D?D($.el,T,u):u()}else T()},Ne=($,m)=>{let _;for(;$!==m;)_=y($),s($),$=_;s(m)},Ye=($,m,_)=>{const{bum:P,scope:R,job:T,subTree:U,um:D,m:u,a:p}=$;rr(u),rr(p),P&&jn(P),R.stop(),T&&(T.flags|=8,ye(U,$,m,_)),D&&He(D,m),He(()=>{$.isUnmounted=!0},m)},ze=($,m,_,P=!1,R=!1,T=0)=>{for(let U=T;U<$.length;U++)ye($[U],m,_,P,R)},oo=$=>{if($.shapeFlag&6)return oo($.component.subTree);if($.shapeFlag&128)return $.suspense.next();const m=y($.anchor||$.el),_=m&&m[Dl];return _?y(_):m};let uo=!1;const wo=($,m,_)=>{let P;$==null?m._vnode&&(ye(m._vnode,null,null,!0),P=m._vnode.component):x(m._vnode||null,$,m,null,null,null,_),m._vnode=$,uo||(uo=!0,Aa(P),Sa(),uo=!1)},Ve={p:x,um:ye,m:ge,r:eo,mt:xe,mc:B,pc:oe,pbc:Z,n:oo,o:e};return{render:wo,hydrate:void 0,createApp:nc(wo)}}function hs({type:e,props:o},t){return t==="svg"&&e==="foreignObject"||t==="mathml"&&e==="annotation-xml"&&o&&o.encoding&&o.encoding.includes("html")?void 0:t}function Yo({effect:e,job:o},t){t?(e.flags|=32,o.flags|=4):(e.flags&=-33,o.flags&=-5)}function bc(e,o){return(!e||e&&!e.pendingBranch)&&o&&!o.persisted}function sr(e,o,t=!1){const n=e.children,s=o.children;if(K(n)&&K(s))for(let a=0;a>1,e[t[i]]0&&(o[n]=t[a-1]),t[a]=n)}}for(a=t.length,r=t[a-1];a-- >0;)t[a]=r,r=o[r];return t}function ar(e){const o=e.subTree.component;if(o)return o.asyncDep&&!o.asyncResolved?o:ar(o)}function rr(e){if(e)for(let o=0;oe.__isSuspense;function vc(e,o){o&&o.pendingBranch?K(e)?o.effects.push(...e):o.effects.push(e):Tl(e)}const Ee=Symbol.for("v-fgt"),Ct=Symbol.for("v-txt"),Eo=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Zo=[];let Xe=null;function Q(e=!1){Zo.push(Xe=e?null:[])}function cr(){Zo.pop(),Xe=Zo[Zo.length-1]||null}let Tt=1;function yn(e,o=!1){Tt+=e,e<0&&Xe&&o&&(Xe.hasOnce=!0)}function ur(e){return e.dynamicChildren=Tt>0?Xe||ot:null,cr(),Tt>0&&Xe&&Xe.push(e),e}function te(e,o,t,n,s,a){return ur(re(e,o,t,n,s,a,!0))}function kc(e,o,t,n,s){return ur(Se(e,o,t,n,s,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function Rt(e,o){return e.type===o.type&&e.key===o.key}const pr=({key:e})=>e??null,kn=({ref:e,ref_key:o,ref_for:t})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||Oe(e)||Y(e)?{i:bo,r:e,k:o,f:!!t}:e:null);function re(e,o=null,t=null,n=0,s=null,a=e===Ee?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:o,key:o&&pr(o),ref:o&&kn(o),scopeId:xa,slotScopeIds:null,children:t,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:a,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:bo};return i?(Ln(l,t),a&128&&e.normalize(l)):t&&(l.shapeFlag|=he(t)?8:16),Tt>0&&!r&&Xe&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&Xe.push(l),l}const Se=Lc;function Lc(e,o=null,t=null,n=0,s=null,a=!1){if((!e||e===Xl)&&(e=Eo),vn(e)){const i=ct(e,o,!0);return t&&Ln(i,t),Tt>0&&!a&&Xe&&(i.shapeFlag&6?Xe[Xe.indexOf(e)]=i:Xe.push(i)),i.patchFlag=-2,i}if(Ic(e)&&(e=e.__vccOpts),o){o=wc(o);let{class:i,style:l}=o;i&&!he(i)&&(o.class=Qt(i)),ue(l)&&(ts(l)&&!K(l)&&(l=we({},l)),o.style=tt(l))}const r=he(e)?1:lr(e)?128:dn(e)?64:ue(e)?4:Y(e)?2:0;return re(e,o,t,n,s,r,a,!0)}function wc(e){return e?ts(e)||Za(e)?we({},e):e:null}function ct(e,o,t=!1,n=!1){const{props:s,ref:a,patchFlag:r,children:i,transition:l}=e,c=o?Ac(s||{},o):s,g={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&pr(c),ref:o&&o.ref?t&&a?K(a)?a.concat(kn(o)):[a,kn(o)]:kn(o):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:o&&e.type!==Ee?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ct(e.ssContent),ssFallback:e.ssFallback&&ct(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&rs(g,l.clone(g)),g}function Co(e=" ",o=0){return Se(Ct,null,e,o)}function Me(e="",o=!1){return o?(Q(),kc(Eo,null,e)):Se(Eo,null,e)}function yo(e){return e==null||typeof e=="boolean"?Se(Eo):K(e)?Se(Ee,null,e.slice()):vn(e)?To(e):Se(Ct,null,String(e))}function To(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ct(e)}function Ln(e,o){let t=0;const{shapeFlag:n}=e;if(o==null)o=null;else if(K(o))t=16;else if(typeof o=="object")if(n&65){const s=o.default;s&&(s._c&&(s._d=!1),Ln(e,s()),s._c&&(s._d=!0));return}else{t=32;const s=o._;!s&&!Za(o)?o._ctx=bo:s===3&&bo&&(bo.slots._===1?o._=1:(o._=2,e.patchFlag|=1024))}else if(Y(o)){if(n&65){Ln(e,{default:o});return}o={default:o,_ctx:bo},t=32}else o=String(o),n&64?(t=16,o=[Co(o)]):t=8;e.children=o,e.shapeFlag|=t}function Ac(...e){const o={};for(let t=0;tje||bo;let wn,Mt;{const e=Jt(),o=(t,n)=>{let s;return(s=e[t])||(s=e[t]=[]),s.push(n),a=>{s.length>1?s.forEach(r=>r(a)):s[0](a)}};wn=o("__VUE_INSTANCE_SETTERS__",t=>je=t),Mt=o("__VUE_SSR_SETTERS__",t=>Ft=t)}const It=e=>{const o=je;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(o)}},gr=()=>{je&&je.scope.off(),wn(null)};function dr(e){return e.vnode.shapeFlag&4}let Ft=!1;function Nc(e,o=!1,t=!1){o&&Mt(o);const{props:n,children:s}=e.vnode,a=dr(e);pc(e,n,a,o),fc(e,s,t||o);const r=a?Ec(e,o):void 0;return o&&Mt(!1),r}function Ec(e,o){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yl);const{setup:n}=t;if(n){fo();const s=e.setupContext=n.length>1?Tc(e):null,a=It(e),r=at(n,e,0,[e.props,s]),i=qs(r);if(_o(),a(),(i||e.sp)&&!xt(e)&&Ta(e),i){if(r.then(gr,gr),o)return r.then(l=>{Mt(!0);try{$r(e,l,o)}finally{Mt(!1)}}).catch(l=>{cn(l,e,0)});e.asyncDep=r}else $r(e,r)}else fr(e)}function $r(e,o,t){Y(o)?e.type.__ssrInlineRender?e.ssrRender=o:e.render=o:ue(o)&&(e.setupState=va(o)),fr(e)}function fr(e,o,t){const n=e.type;e.render||(e.render=n.render||po);{const s=It(e);fo();try{Zl(e)}finally{_o(),s()}}}const Cc={get(e,o){return Fe(e,"get",""),e[o]}};function Tc(e){const o=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Cc),slots:e.slots,emit:e.emit,expose:o}}function bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(va(bl(e.exposed)),{get(o,t){if(t in o)return o[t];if(t in Nt)return Nt[t](e)},has(o,t){return t in o||t in Nt}})):e.proxy}const Rc=/(?:^|[-_])\w/g,Oc=e=>e.replace(Rc,o=>o.toUpperCase()).replace(/[-_]/g,"");function Mc(e,o=!0){return Y(e)?e.displayName||e.name:e.name||o&&e.__name}function _r(e,o,t=!1){let n=Mc(o);if(!n&&o.__file){const s=o.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=a=>{for(const r in a)if(a[r]===o)return r};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?Oc(n):t?"App":"Anonymous"}function Ic(e){return Y(e)&&"__vccOpts"in e}const ce=(e,o)=>Ll(e,o,Ft);function hr(e,o,t){try{yn(-1);const n=arguments.length;return n===2?ue(o)&&!K(o)?vn(o)?Se(e,null,[o]):Se(e,o):Se(e,null,o):(n>3?t=Array.prototype.slice.call(arguments,2):n===3&&vn(t)&&(t=[t]),Se(e,o,t))}finally{yn(1)}}const Fc="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ys;const mr=typeof window<"u"&&window.trustedTypes;if(mr)try{ys=mr.createPolicy("vue",{createHTML:e=>e})}catch{}const br=ys?e=>ys.createHTML(e):e=>e,Dc="http://www.w3.org/2000/svg",Gc="http://www.w3.org/1998/Math/MathML",Ro=typeof document<"u"?document:null,yr=Ro&&Ro.createElement("template"),Uc={insert:(e,o,t)=>{o.insertBefore(e,t||null)},remove:e=>{const o=e.parentNode;o&&o.removeChild(e)},createElement:(e,o,t,n)=>{const s=o==="svg"?Ro.createElementNS(Dc,e):o==="mathml"?Ro.createElementNS(Gc,e):t?Ro.createElement(e,{is:t}):Ro.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Ro.createTextNode(e),createComment:e=>Ro.createComment(e),setText:(e,o)=>{e.nodeValue=o},setElementText:(e,o)=>{e.textContent=o},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ro.querySelector(e),setScopeId(e,o){e.setAttribute(o,"")},insertStaticContent(e,o,t,n,s,a){const r=t?t.previousSibling:o.lastChild;if(s&&(s===a||s.nextSibling))for(;o.insertBefore(s.cloneNode(!0),t),!(s===a||!(s=s.nextSibling)););else{yr.innerHTML=br(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=yr.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}o.insertBefore(i,t)}return[r?r.nextSibling:o.firstChild,t?t.previousSibling:o.lastChild]}},jc=Symbol("_vtc");function Bc(e,o,t){const n=e[jc];n&&(o=(o?[o,...n]:[...n]).join(" ")),o==null?e.removeAttribute("class"):t?e.setAttribute("class",o):e.className=o}const vr=Symbol("_vod"),Vc=Symbol("_vsh"),zc=Symbol(""),qc=/(?:^|;)\s*display\s*:/;function Hc(e,o,t){const n=e.style,s=he(t);let a=!1;if(t&&!s){if(o)if(he(o))for(const r of o.split(";")){const i=r.slice(0,r.indexOf(":")).trim();t[i]==null&&Dt(n,i,"")}else for(const r in o)t[r]==null&&Dt(n,r,"");for(const r in t){r==="display"&&(a=!0);const i=t[r];i!=null?Kc(e,r,!he(o)&&o?o[r]:void 0,i)||Dt(n,r,i):Dt(n,r,"")}}else if(s){if(o!==t){const r=n[zc];r&&(t+=";"+r),n.cssText=t,a=qc.test(t)}}else o&&e.removeAttribute("style");vr in e&&(e[vr]=a?n.display:"",e[Vc]&&(n.display="none"))}const An=/\s*!important$/;function Dt(e,o,t){if(K(t))t.forEach(n=>Dt(e,o,n));else if(t==null&&(t=""),o.startsWith("--"))An.test(t)?e.setProperty(o,t.replace(An,""),"important"):e.setProperty(o,t);else{const n=Wc(e,o);An.test(t)?e.setProperty(Ze(n),t.replace(An,""),"important"):e[n]=t}}const kr=["Webkit","Moz","ms"],vs={};function Wc(e,o){const t=vs[o];if(t)return t;let n=qe(o);if(n!=="filter"&&n in e)return vs[o]=n;n=Ws(n);for(let s=0;sks||(ou.then(()=>ks=0),ks=Date.now());function nu(e,o){const t=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=t.attached)return;const s=t.value;if(K(s)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const r=s.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,su=(e,o,t,n,s,a)=>{const r=s==="svg";o==="class"?Bc(e,n,r):o==="style"?Hc(e,t,n):Wt(o)?Kt(o)||Zc(e,o,t,n,a):(o[0]==="."?(o=o.slice(1),!0):o[0]==="^"?(o=o.slice(1),!1):au(e,o,n,r))?(Ar(e,o,n),!e.tagName.includes("-")&&(o==="value"||o==="checked"||o==="selected")&&wr(e,o,n,r,a,o!=="value")):e._isVueCE&&(ru(e,o)||e._def.__asyncLoader&&(/[A-Z]/.test(o)||!he(n)))?Ar(e,qe(o),n,a,o):(o==="true-value"?e._trueValue=n:o==="false-value"&&(e._falseValue=n),wr(e,o,n,r))};function au(e,o,t,n){if(n)return!!(o==="innerHTML"||o==="textContent"||o in e&&Pr(o)&&Y(t));if(o==="spellcheck"||o==="draggable"||o==="translate"||o==="autocorrect"||o==="sandbox"&&e.tagName==="IFRAME"||o==="form"||o==="list"&&e.tagName==="INPUT"||o==="type"&&e.tagName==="TEXTAREA")return!1;if(o==="width"||o==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pr(o)&&he(t)?!1:o in e}function ru(e,o){const t=e._def.props;if(!t)return!1;const n=qe(o);return Array.isArray(t)?t.some(s=>qe(s)===n):Object.keys(t).some(s=>qe(s)===n)}const xr={};function iu(e,o,t){let n=$n(e,o);Yt(n)&&(n=we({},n,o));class s extends Ls{constructor(r){super(n,r,t)}}return s.def=n,s}const lu=typeof HTMLElement<"u"?HTMLElement:class{};class Ls extends lu{constructor(o,t={},n=Tr){super(),this._def=o,this._props=t,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!==Tr?this._root=this.shadowRoot:o.shadowRoot!==!1?(this.attachShadow(we({},o.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 o=this;for(;o=o&&(o.assignedSlot||o.parentNode||o.host);)if(o instanceof Ls){this._parent=o;break}this._instance||(this._resolved?this._mount(this._def):o&&o._pendingResolve?this._pendingResolve=o._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(o=this._parent){o&&(this._instance.parent=o._instance,this._inheritParentContext(o))}_inheritParentContext(o=this._parent){o&&this._app&&Object.setPrototypeOf(this._app._context.provides,o._instance.provides)}disconnectedCallback(){this._connected=!1,pn(()=>{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(o){for(const t of o)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:a,styles:r}=n;let i;if(a&&!K(a))for(const l in a){const c=a[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Xs(this._props[l])),(i||(i=Object.create(null)))[qe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(n=>{n.configureApp=this._def.configureApp,o(this._def=n,!0)}),this._pendingResolve;o(this._def)}_mount(o){this._app=this._createApp(o),this._inheritParentContext(),o.configureApp&&o.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const n in t)le(this,n)||Object.defineProperty(this,n,{get:()=>Lt(t[n])})}_resolveProps(o){const{props:t}=o,n=K(t)?t:Object.keys(t||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.map(qe))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(a){this._setProp(s,a,!0,!this._patching)}})}_setAttr(o){if(o.startsWith("data-v-"))return;const t=this.hasAttribute(o);let n=t?this.getAttribute(o):xr;const s=qe(o);t&&this._numberProps&&this._numberProps[s]&&(n=Xs(n)),this._setProp(s,n,!1,!0)}_getProp(o){return this._props[o]}_setProp(o,t,n=!0,s=!1){if(t!==this._props[o]&&(this._dirty=!0,t===xr?delete this._props[o]:(this._props[o]=t,o==="key"&&this._app&&(this._app._ceVNode.key=t)),s&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),t===!0?this.setAttribute(Ze(o),""):typeof t=="string"||typeof t=="number"?this.setAttribute(Ze(o),t+""):t||this.removeAttribute(Ze(o)),a&&a.observe(this,{attributes:!0})}}_update(){const o=this._createVNode();this._app&&(o.appContext=this._app._context),uu(o,this._root)}_createVNode(){const o={};this.shadowRoot||(o.onVnodeMounted=o.onVnodeUpdated=this._renderSlots.bind(this));const t=Se(this._def,we(o,this._props));return this._instance||(t.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(a,r)=>{this.dispatchEvent(new CustomEvent(a,Yt(r[0])?we({detail:r},r[0]):{detail:r}))};n.emit=(a,...r)=>{s(a,r),Ze(a)!==a&&s(Ze(a),r)},this._setParent()}),t}_applyStyles(o,t,n){if(!o)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const s=this._nonce,a=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);let i=null;for(let l=o.length-1;l>=0;l--){const c=document.createElement("style");s&&c.setAttribute("nonce",s),c.textContent=o[l],a.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(o){if(!o)return null;const t=this._styleAnchors.get(o);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(o),null)}_getRootStyleInsertionAnchor(o){for(let t=0;t{Cr().render(...e)},Tr=(...e)=>{const o=Cr().createApp(...e),{mount:t}=o;return o.mount=n=>{const s=gu(n);if(!s)return;const a=o._component;!Y(a)&&!a.render&&!a.template&&(a.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=t(s,!1,pu(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},o};function pu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function gu(e){return he(e)?document.querySelector(e):e}function Sn(e,o){if(!o.includes("."))return e==null?void 0:e[o];const[t,...n]=o.split(".");let s=e==null?void 0:e[t];for(const a of n)s=s==null?void 0:s[a];return s}function du(e,o){const t=e.toLowerCase(),n=o.toLowerCase(),s=[];let a=0,r=t.indexOf(n,a);for(;r!==-1;)s.push([r,r+n.length-1]),a=r+n.length,r=t.indexOf(n,a);return s}function $u(e,o,t){const n=e.toLowerCase(),s=o.toLowerCase(),a=s.length;if(!a||!n.length)return null;const r=Math.min(2,Math.floor(t*a));if(r<=0)return null;let i=new Array(n.length+1).fill(0),l=new Array(n.length+1);for(let y=1;y<=a;y++){l[0]=y;for(let S=1;S<=n.length;S++){const I=i[S-1]+(s[y-1]===n[S-1]?0:1);l[S]=Math.min(I,i[S]+1,l[S-1]+1)}[i,l]=[l,i]}let c=1/0,g=-1;for(let y=1;y<=n.length;y++)i[y]r?null:[[Math.max(0,g-a),g-1]]}function fu(e,o,{threshold:t=.4}={}){const n=String(e??"").trim().toLowerCase();if(!n)return[];const s=Math.min(2,Math.floor(t*n.length)),a=[];for(const i of o){if(!i)continue;const l=String(i).toLowerCase();if(Math.abs(l.length-n.length)>s)continue;const c=_u(l,n,s);c<=s&&a.push({value:i,distance:c})}if(!a.length)return[];const r=Math.min(...a.map(i=>i.distance));return a.filter(i=>i.distance===r).map(i=>i.value)}function _u(e,o,t){if(e===o)return 0;let n=Array.from({length:o.length+1},(a,r)=>r);const s=new Array(o.length+1);for(let a=1;a<=e.length;a++){s[0]=a;let r=a;for(let i=1;i<=o.length;i++)s[i]=Math.min(n[i-1]+(e[a-1]===o[i-1]?0:1),n[i]+1,s[i-1]+1),s[i]t)return t+1;for(let i=0;i<=o.length;i++)n[i]=s[i]}return n[o.length]}class hu{constructor(o,t={}){this.list=Array.isArray(o)?o:[],this.keys=t.keys||[],this.threshold=typeof t.threshold=="number"?t.threshold:.4,this.minMatchCharLength=t.minMatchCharLength||1}search(o){const t=String(o||"").trim();if(!t)return this.list.map(c=>({item:c,matches:[]}));if(t.length{const t=e.__vccOpts||e;for(const[n,s]of o)t[n]=s;return t},bu=["value","placeholder","aria-label"],yu=ws({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:o}){const t=e,n=o,s=ce(()=>t.maxWidth?{maxWidth:t.maxWidth}:{});function a(r){const i=r.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(r,i)=>(Q(),te("div",{class:"search-box",style:tt(s.value)},[i[0]||(i[0]=re("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[re("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),re("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),re("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:a},null,40,bu)],4))}},[["styles",[mu]]]);/*! +**/let ys;const mr=typeof window<"u"&&window.trustedTypes;if(mr)try{ys=mr.createPolicy("vue",{createHTML:e=>e})}catch{}const br=ys?e=>ys.createHTML(e):e=>e,Dc="http://www.w3.org/2000/svg",Gc="http://www.w3.org/1998/Math/MathML",Ro=typeof document<"u"?document:null,yr=Ro&&Ro.createElement("template"),Uc={insert:(e,o,t)=>{o.insertBefore(e,t||null)},remove:e=>{const o=e.parentNode;o&&o.removeChild(e)},createElement:(e,o,t,n)=>{const s=o==="svg"?Ro.createElementNS(Dc,e):o==="mathml"?Ro.createElementNS(Gc,e):t?Ro.createElement(e,{is:t}):Ro.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Ro.createTextNode(e),createComment:e=>Ro.createComment(e),setText:(e,o)=>{e.nodeValue=o},setElementText:(e,o)=>{e.textContent=o},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ro.querySelector(e),setScopeId(e,o){e.setAttribute(o,"")},insertStaticContent(e,o,t,n,s,a){const r=t?t.previousSibling:o.lastChild;if(s&&(s===a||s.nextSibling))for(;o.insertBefore(s.cloneNode(!0),t),!(s===a||!(s=s.nextSibling)););else{yr.innerHTML=br(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=yr.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}o.insertBefore(i,t)}return[r?r.nextSibling:o.firstChild,t?t.previousSibling:o.lastChild]}},jc=Symbol("_vtc");function Bc(e,o,t){const n=e[jc];n&&(o=(o?[o,...n]:[...n]).join(" ")),o==null?e.removeAttribute("class"):t?e.setAttribute("class",o):e.className=o}const vr=Symbol("_vod"),zc=Symbol("_vsh"),Vc=Symbol(""),qc=/(?:^|;)\s*display\s*:/;function Hc(e,o,t){const n=e.style,s=he(t);let a=!1;if(t&&!s){if(o)if(he(o))for(const r of o.split(";")){const i=r.slice(0,r.indexOf(":")).trim();t[i]==null&&Dt(n,i,"")}else for(const r in o)t[r]==null&&Dt(n,r,"");for(const r in t){r==="display"&&(a=!0);const i=t[r];i!=null?Kc(e,r,!he(o)&&o?o[r]:void 0,i)||Dt(n,r,i):Dt(n,r,"")}}else if(s){if(o!==t){const r=n[Vc];r&&(t+=";"+r),n.cssText=t,a=qc.test(t)}}else o&&e.removeAttribute("style");vr in e&&(e[vr]=a?n.display:"",e[zc]&&(n.display="none"))}const An=/\s*!important$/;function Dt(e,o,t){if(K(t))t.forEach(n=>Dt(e,o,n));else if(t==null&&(t=""),o.startsWith("--"))An.test(t)?e.setProperty(o,t.replace(An,""),"important"):e.setProperty(o,t);else{const n=Wc(e,o);An.test(t)?e.setProperty(Ze(n),t.replace(An,""),"important"):e[n]=t}}const kr=["Webkit","Moz","ms"],vs={};function Wc(e,o){const t=vs[o];if(t)return t;let n=qe(o);if(n!=="filter"&&n in e)return vs[o]=n;n=Ws(n);for(let s=0;sks||(ou.then(()=>ks=0),ks=Date.now());function nu(e,o){const t=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=t.attached)return;const s=t.value;if(K(s)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const r=s.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,su=(e,o,t,n,s,a)=>{const r=s==="svg";o==="class"?Bc(e,n,r):o==="style"?Hc(e,t,n):Wt(o)?Kt(o)||Zc(e,o,t,n,a):(o[0]==="."?(o=o.slice(1),!0):o[0]==="^"?(o=o.slice(1),!1):au(e,o,n,r))?(Ar(e,o,n),!e.tagName.includes("-")&&(o==="value"||o==="checked"||o==="selected")&&wr(e,o,n,r,a,o!=="value")):e._isVueCE&&(ru(e,o)||e._def.__asyncLoader&&(/[A-Z]/.test(o)||!he(n)))?Ar(e,qe(o),n,a,o):(o==="true-value"?e._trueValue=n:o==="false-value"&&(e._falseValue=n),wr(e,o,n,r))};function au(e,o,t,n){if(n)return!!(o==="innerHTML"||o==="textContent"||o in e&&Pr(o)&&Y(t));if(o==="spellcheck"||o==="draggable"||o==="translate"||o==="autocorrect"||o==="sandbox"&&e.tagName==="IFRAME"||o==="form"||o==="list"&&e.tagName==="INPUT"||o==="type"&&e.tagName==="TEXTAREA")return!1;if(o==="width"||o==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pr(o)&&he(t)?!1:o in e}function ru(e,o){const t=e._def.props;if(!t)return!1;const n=qe(o);return Array.isArray(t)?t.some(s=>qe(s)===n):Object.keys(t).some(s=>qe(s)===n)}const xr={};function iu(e,o,t){let n=$n(e,o);Yt(n)&&(n=we({},n,o));class s extends Ls{constructor(r){super(n,r,t)}}return s.def=n,s}const lu=typeof HTMLElement<"u"?HTMLElement:class{};class Ls extends lu{constructor(o,t={},n=Cr){super(),this._def=o,this._props=t,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!==Cr?this._root=this.shadowRoot:o.shadowRoot!==!1?(this.attachShadow(we({},o.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 o=this;for(;o=o&&(o.assignedSlot||o.parentNode||o.host);)if(o instanceof Ls){this._parent=o;break}this._instance||(this._resolved?this._mount(this._def):o&&o._pendingResolve?this._pendingResolve=o._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(o=this._parent){o&&(this._instance.parent=o._instance,this._inheritParentContext(o))}_inheritParentContext(o=this._parent){o&&this._app&&Object.setPrototypeOf(this._app._context.provides,o._instance.provides)}disconnectedCallback(){this._connected=!1,pn(()=>{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(o){for(const t of o)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:a,styles:r}=n;let i;if(a&&!K(a))for(const l in a){const c=a[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Xs(this._props[l])),(i||(i=Object.create(null)))[qe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(n=>{n.configureApp=this._def.configureApp,o(this._def=n,!0)}),this._pendingResolve;o(this._def)}_mount(o){this._app=this._createApp(o),this._inheritParentContext(),o.configureApp&&o.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const n in t)le(this,n)||Object.defineProperty(this,n,{get:()=>Lt(t[n])})}_resolveProps(o){const{props:t}=o,n=K(t)?t:Object.keys(t||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.map(qe))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(a){this._setProp(s,a,!0,!this._patching)}})}_setAttr(o){if(o.startsWith("data-v-"))return;const t=this.hasAttribute(o);let n=t?this.getAttribute(o):xr;const s=qe(o);t&&this._numberProps&&this._numberProps[s]&&(n=Xs(n)),this._setProp(s,n,!1,!0)}_getProp(o){return this._props[o]}_setProp(o,t,n=!0,s=!1){if(t!==this._props[o]&&(this._dirty=!0,t===xr?delete this._props[o]:(this._props[o]=t,o==="key"&&this._app&&(this._app._ceVNode.key=t)),s&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),t===!0?this.setAttribute(Ze(o),""):typeof t=="string"||typeof t=="number"?this.setAttribute(Ze(o),t+""):t||this.removeAttribute(Ze(o)),a&&a.observe(this,{attributes:!0})}}_update(){const o=this._createVNode();this._app&&(o.appContext=this._app._context),uu(o,this._root)}_createVNode(){const o={};this.shadowRoot||(o.onVnodeMounted=o.onVnodeUpdated=this._renderSlots.bind(this));const t=Se(this._def,we(o,this._props));return this._instance||(t.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(a,r)=>{this.dispatchEvent(new CustomEvent(a,Yt(r[0])?we({detail:r},r[0]):{detail:r}))};n.emit=(a,...r)=>{s(a,r),Ze(a)!==a&&s(Ze(a),r)},this._setParent()}),t}_applyStyles(o,t,n){if(!o)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const s=this._nonce,a=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);let i=null;for(let l=o.length-1;l>=0;l--){const c=document.createElement("style");s&&c.setAttribute("nonce",s),c.textContent=o[l],a.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(o){if(!o)return null;const t=this._styleAnchors.get(o);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(o),null)}_getRootStyleInsertionAnchor(o){for(let t=0;t{Er().render(...e)},Cr=(...e)=>{const o=Er().createApp(...e),{mount:t}=o;return o.mount=n=>{const s=gu(n);if(!s)return;const a=o._component;!Y(a)&&!a.render&&!a.template&&(a.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=t(s,!1,pu(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},o};function pu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function gu(e){return he(e)?document.querySelector(e):e}function Sn(e,o){if(!o.includes("."))return e==null?void 0:e[o];const[t,...n]=o.split(".");let s=e==null?void 0:e[t];for(const a of n)s=s==null?void 0:s[a];return s}function du(e,o){const t=e.toLowerCase(),n=o.toLowerCase(),s=[];let a=0,r=t.indexOf(n,a);for(;r!==-1;)s.push([r,r+n.length-1]),a=r+n.length,r=t.indexOf(n,a);return s}function $u(e,o,t){const n=e.toLowerCase(),s=o.toLowerCase(),a=s.length;if(!a||!n.length)return null;const r=Math.min(2,Math.floor(t*a));if(r<=0)return null;let i=new Array(n.length+1).fill(0),l=new Array(n.length+1);for(let y=1;y<=a;y++){l[0]=y;for(let S=1;S<=n.length;S++){const M=i[S-1]+(s[y-1]===n[S-1]?0:1);l[S]=Math.min(M,i[S]+1,l[S-1]+1)}[i,l]=[l,i]}let c=1/0,g=-1;for(let y=1;y<=n.length;y++)i[y]r?null:[[Math.max(0,g-a),g-1]]}function fu(e,o,{threshold:t=.4}={}){const n=String(e??"").trim().toLowerCase();if(!n)return[];const s=Math.min(2,Math.floor(t*n.length)),a=[];for(const i of o){if(!i)continue;const l=String(i).toLowerCase();if(Math.abs(l.length-n.length)>s)continue;const c=_u(l,n,s);c<=s&&a.push({value:i,distance:c})}if(!a.length)return[];const r=Math.min(...a.map(i=>i.distance));return a.filter(i=>i.distance===r).map(i=>i.value)}function _u(e,o,t){if(e===o)return 0;let n=Array.from({length:o.length+1},(a,r)=>r);const s=new Array(o.length+1);for(let a=1;a<=e.length;a++){s[0]=a;let r=a;for(let i=1;i<=o.length;i++)s[i]=Math.min(n[i-1]+(e[a-1]===o[i-1]?0:1),n[i]+1,s[i-1]+1),s[i]t)return t+1;for(let i=0;i<=o.length;i++)n[i]=s[i]}return n[o.length]}class hu{constructor(o,t={}){this.list=Array.isArray(o)?o:[],this.keys=t.keys||[],this.threshold=typeof t.threshold=="number"?t.threshold:.4,this.minMatchCharLength=t.minMatchCharLength||1}search(o){const t=String(o||"").trim();if(!t)return this.list.map(c=>({item:c,matches:[]}));if(t.length{const t=e.__vccOpts||e;for(const[n,s]of o)t[n]=s;return t},bu=["value","placeholder","aria-label"],yu=ws({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:o}){const t=e,n=o,s=ce(()=>t.maxWidth?{maxWidth:t.maxWidth}:{});function a(r){const i=r.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(r,i)=>(Q(),te("div",{class:"search-box",style:tt(s.value)},[i[0]||(i[0]=re("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[re("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),re("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),re("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:a},null,40,bu)],4))}},[["styles",[mu]]]);/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function vu(e,o){typeof console<"u"&&(console.warn("[intlify] "+e),o&&console.warn(o.stack))}const Nr=typeof window<"u",Jo=(e,o=!1)=>o?Symbol.for(e):Symbol(e),ku=(e,o,t)=>Lu({l:e,k:o,s:t}),Lu=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),wu=e=>Mr(e)==="[object Date]",ut=e=>Mr(e)==="[object RegExp]",Pn=e=>ee(e)&&Object.keys(e).length===0,De=Object.assign,Au=Object.create,pe=(e=null)=>Au(e);let Rr;const Oo=()=>Rr||(Rr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:pe());function Or(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ir(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Su(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,s,a)=>`${s}="${Ir(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,s,a)=>`${s}='${Ir(a)}'`),/\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 Pu=Object.prototype.hasOwnProperty;function io(e,o){return Pu.call(e,o)}const Pe=Array.isArray,me=e=>typeof e=="function",z=e=>typeof e=="string",de=e=>typeof e=="boolean",ie=e=>e!==null&&typeof e=="object",xu=e=>ie(e)&&me(e.then)&&me(e.catch),Fr=Object.prototype.toString,Mr=e=>Fr.call(e),ee=e=>{if(!ie(e))return!1;const o=Object.getPrototypeOf(e);return o===null||o.constructor===Object},Eu=e=>e==null?"":Pe(e)||ee(e)&&e.toString===Fr?JSON.stringify(e,null,2):String(e);function Cu(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}function xn(e){let o=e;return()=>++o}const En=e=>!ie(e)||Pe(e);function Cn(e,o){if(En(e)||En(o))throw new Error("Invalid value");const t=[{src:e,des:o}];for(;t.length;){const{src:n,des:s}=t.pop();Object.keys(n).forEach(a=>{a!=="__proto__"&&(ie(n[a])&&!ie(s[a])&&(s[a]=Array.isArray(n[a])?[]:pe()),En(s[a])||En(n[a])?s[a]=n[a]:t.push({src:n[a],des:s[a]}))})}}/*! + */function vu(e,o){typeof console<"u"&&(console.warn("[intlify] "+e),o&&console.warn(o.stack))}const Tr=typeof window<"u",Jo=(e,o=!1)=>o?Symbol.for(e):Symbol(e),ku=(e,o,t)=>Lu({l:e,k:o,s:t}),Lu=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ce=e=>typeof e=="number"&&isFinite(e),wu=e=>Fr(e)==="[object Date]",ut=e=>Fr(e)==="[object RegExp]",Pn=e=>ee(e)&&Object.keys(e).length===0,De=Object.assign,Au=Object.create,pe=(e=null)=>Au(e);let Rr;const Oo=()=>Rr||(Rr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:pe());function Or(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Mr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Su(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,s,a)=>`${s}="${Mr(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,s,a)=>`${s}='${Mr(a)}'`),/\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 Pu=Object.prototype.hasOwnProperty;function io(e,o){return Pu.call(e,o)}const Pe=Array.isArray,me=e=>typeof e=="function",V=e=>typeof e=="string",de=e=>typeof e=="boolean",ie=e=>e!==null&&typeof e=="object",xu=e=>ie(e)&&me(e.then)&&me(e.catch),Ir=Object.prototype.toString,Fr=e=>Ir.call(e),ee=e=>{if(!ie(e))return!1;const o=Object.getPrototypeOf(e);return o===null||o.constructor===Object},Nu=e=>e==null?"":Pe(e)||ee(e)&&e.toString===Ir?JSON.stringify(e,null,2):String(e);function Eu(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}function xn(e){let o=e;return()=>++o}const Nn=e=>!ie(e)||Pe(e);function En(e,o){if(Nn(e)||Nn(o))throw new Error("Invalid value");const t=[{src:e,des:o}];for(;t.length;){const{src:n,des:s}=t.pop();Object.keys(n).forEach(a=>{a!=="__proto__"&&(ie(n[a])&&!ie(s[a])&&(s[a]=Array.isArray(n[a])?[]:pe()),Nn(s[a])||Nn(n[a])?s[a]=n[a]:t.push({src:n[a],des:s[a]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Tu(e,o,t){return{line:e,column:o,offset:t}}function Tn(e,o,t){return{start:e,end:o}}const Nu=/\{([0-9a-zA-Z]+)\}/g;function Dr(e,...o){return o.length===1&&Ru(o[0])&&(o=o[0]),(!o||!o.hasOwnProperty)&&(o={}),e.replace(Nu,(t,n)=>o.hasOwnProperty(n)?o[n]:"")}const Gr=Object.assign,Ur=e=>typeof e=="string",Ru=e=>e!==null&&typeof e=="object";function jr(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}const As={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Ou={[As.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Iu(e,o,...t){const n=Dr(Ou[e],...t||[]),s={message:String(n),code:e};return o&&(s.location=o),s}const W={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},Fu={[W.EXPECTED_TOKEN]:"Expected token: '{0}'",[W.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[W.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[W.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[W.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[W.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[W.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[W.EMPTY_PLACEHOLDER]:"Empty placeholder",[W.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[W.INVALID_LINKED_FORMAT]:"Invalid linked format",[W.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[W.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[W.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[W.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[W.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[W.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function pt(e,o,t={}){const{domain:n,messages:s,args:a}=t,r=Dr((s||Fu)[e]||"",...a||[]),i=new SyntaxError(String(r));return i.code=e,o&&(i.location=o),i.domain=n,i}function Mu(e){throw e}const Io=" ",Du="\r",Be=` -`,Gu="\u2028",Uu="\u2029";function ju(e){const o=e;let t=0,n=1,s=1,a=0;const r=T=>o[T]===Du&&o[T+1]===Be,i=T=>o[T]===Be,l=T=>o[T]===Uu,c=T=>o[T]===Gu,g=T=>r(T)||i(T)||l(T)||c(T),h=()=>t,y=()=>n,S=()=>s,I=()=>a,x=T=>r(T)||l(T)||c(T)?Be:o[T],M=()=>x(t),F=()=>x(t+a);function G(){return a=0,g(t)&&(n++,s=0),r(t)&&t++,t++,s++,o[t]}function k(){return r(t+a)&&a++,a++,o[t+a]}function v(){t=0,n=1,s=1,a=0}function E(T=0){a=T}function C(){const T=t+a;for(;T!==t;)G();a=0}return{index:h,line:y,column:S,peekOffset:I,charAt:x,currentChar:M,currentPeek:F,next:G,peek:k,reset:v,resetPeek:E,skipToPeek:C}}const jo=void 0,Bu=".",Br="'",Vu="tokenizer";function zu(e,o={}){const t=o.location!==!1,n=ju(e),s=()=>n.index(),a=()=>Tu(n.line(),n.column(),n.index()),r=a(),i=s(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:g}=o;function h(u,p,d,...f){const w=c();if(p.column+=d,p.offset+=d,g){const A=t?Tn(w.startLoc,p):null,b=pt(u,A,{domain:Vu,args:f});g(b)}}function y(u,p,d){u.endLoc=a(),u.currentType=p;const f={type:p};return t&&(f.loc=Tn(u.startLoc,u.endLoc)),d!=null&&(f.value=d),f}const S=u=>y(u,14);function I(u,p){return u.currentChar()===p?(u.next(),p):(h(W.EXPECTED_TOKEN,a(),0,p),"")}function x(u){let p="";for(;u.currentPeek()===Io||u.currentPeek()===Be;)p+=u.currentPeek(),u.peek();return p}function M(u){const p=x(u);return u.skipToPeek(),p}function F(u){if(u===jo)return!1;const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function G(u){if(u===jo)return!1;const p=u.charCodeAt(0);return p>=48&&p<=57}function k(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=F(u.currentPeek());return u.resetPeek(),f}function v(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=u.currentPeek()==="-"?u.peek():u.currentPeek(),w=G(f);return u.resetPeek(),w}function E(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=u.currentPeek()===Br;return u.resetPeek(),f}function C(u,p){const{currentType:d}=p;if(d!==8)return!1;x(u);const f=u.currentPeek()===".";return u.resetPeek(),f}function T(u,p){const{currentType:d}=p;if(d!==9)return!1;x(u);const f=F(u.currentPeek());return u.resetPeek(),f}function B(u,p){const{currentType:d}=p;if(!(d===8||d===12))return!1;x(u);const f=u.currentPeek()===":";return u.resetPeek(),f}function j(u,p){const{currentType:d}=p;if(d!==10)return!1;const f=()=>{const A=u.currentPeek();return A==="{"?F(u.peek()):A==="@"||A==="%"||A==="|"||A===":"||A==="."||A===Io||!A?!1:A===Be?(u.peek(),f()):V(u,!1)},w=f();return u.resetPeek(),w}function Z(u){x(u);const p=u.currentPeek()==="|";return u.resetPeek(),p}function q(u){const p=x(u),d=u.currentPeek()==="%"&&u.peek()==="{";return u.resetPeek(),{isModulo:d,hasSpace:p.length>0}}function V(u,p=!0){const d=(w=!1,A="",b=!1)=>{const L=u.currentPeek();return L==="{"?A==="%"?!1:w:L==="@"||!L?A==="%"?!0:w:L==="%"?(u.peek(),d(w,"%",!0)):L==="|"?A==="%"||b?!0:!(A===Io||A===Be):L===Io?(u.peek(),d(!0,Io,b)):L===Be?(u.peek(),d(!0,Be,b)):!0},f=d();return p&&u.resetPeek(),f}function X(u,p){const d=u.currentChar();return d===jo?jo:p(d)?(u.next(),d):null}function xe(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function Ne(u){return X(u,xe)}function ne(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function J(u){return X(u,ne)}function oe(u){const p=u.charCodeAt(0);return p>=48&&p<=57}function be(u){return X(u,oe)}function Fe(u){const p=u.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ge(u){return X(u,Fe)}function ye(u){let p="",d="";for(;p=be(u);)d+=p;return d}function eo(u){M(u);const p=u.currentChar();return p!=="%"&&h(W.EXPECTED_TOKEN,a(),0,p),u.next(),"%"}function Ee(u){let p="";for(;;){const d=u.currentChar();if(d==="{"||d==="}"||d==="@"||d==="|"||!d)break;if(d==="%")if(V(u))p+=d,u.next();else break;else if(d===Io||d===Be)if(V(u))p+=d,u.next();else{if(Z(u))break;p+=d,u.next()}else p+=d,u.next()}return p}function Ye(u){M(u);let p="",d="";for(;p=J(u);)d+=p;return u.currentChar()===jo&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d}function Ve(u){M(u);let p="";return u.currentChar()==="-"?(u.next(),p+=`-${ye(u)}`):p+=ye(u),u.currentChar()===jo&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),p}function oo(u){return u!==Br&&u!==Be}function uo(u){M(u),I(u,"'");let p="",d="";for(;p=X(u,oo);)p==="\\"?d+=wo(u):d+=p;const f=u.currentChar();return f===Be||f===jo?(h(W.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),f===Be&&(u.next(),I(u,"'")),d):(I(u,"'"),d)}function wo(u){const p=u.currentChar();switch(p){case"\\":case"'":return u.next(),`\\${p}`;case"u":return ze(u,p,4);case"U":return ze(u,p,6);default:return h(W.UNKNOWN_ESCAPE_SEQUENCE,a(),0,p),""}}function ze(u,p,d){I(u,p);let f="";for(let w=0;w{const f=u.currentChar();return f==="{"||f==="%"||f==="@"||f==="|"||f==="("||f===")"||!f||f===Io?d:(d+=f,u.next(),p(d))};return p("")}function P(u){M(u);const p=I(u,"|");return M(u),p}function R(u,p){let d=null;switch(u.currentChar()){case"{":return p.braceNest>=1&&h(W.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),u.next(),d=y(p,2,"{"),M(u),p.braceNest++,d;case"}":return p.braceNest>0&&p.currentType===2&&h(W.EMPTY_PLACEHOLDER,a(),0),u.next(),d=y(p,3,"}"),p.braceNest--,p.braceNest>0&&M(u),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),d;case"@":return p.braceNest>0&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d=N(u,p)||S(p),p.braceNest=0,d;default:{let w=!0,A=!0,b=!0;if(Z(u))return p.braceNest>0&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,d;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return h(W.UNTERMINATED_CLOSING_BRACE,a(),0),p.braceNest=0,U(u,p);if(w=k(u,p))return d=y(p,5,Ye(u)),M(u),d;if(A=v(u,p))return d=y(p,6,Ve(u)),M(u),d;if(b=E(u,p))return d=y(p,7,uo(u)),M(u),d;if(!w&&!A&&!b)return d=y(p,13,$(u)),h(W.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,d.value),M(u),d;break}}return d}function N(u,p){const{currentType:d}=p;let f=null;const w=u.currentChar();switch((d===8||d===9||d===12||d===10)&&(w===Be||w===Io)&&h(W.INVALID_LINKED_FORMAT,a(),0),w){case"@":return u.next(),f=y(p,8,"@"),p.inLinked=!0,f;case".":return M(u),u.next(),y(p,9,".");case":":return M(u),u.next(),y(p,10,":");default:return Z(u)?(f=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,f):C(u,p)||B(u,p)?(M(u),N(u,p)):T(u,p)?(M(u),y(p,12,m(u))):j(u,p)?(M(u),w==="{"?R(u,p)||f:y(p,11,_(u))):(d===8&&h(W.INVALID_LINKED_FORMAT,a(),0),p.braceNest=0,p.inLinked=!1,U(u,p))}}function U(u,p){let d={type:14};if(p.braceNest>0)return R(u,p)||S(p);if(p.inLinked)return N(u,p)||S(p);switch(u.currentChar()){case"{":return R(u,p)||S(p);case"}":return h(W.UNBALANCED_CLOSING_BRACE,a(),0),u.next(),y(p,3,"}");case"@":return N(u,p)||S(p);default:{if(Z(u))return d=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,d;const{isModulo:w,hasSpace:A}=q(u);if(w)return A?y(p,0,Ee(u)):y(p,4,eo(u));if(V(u))return y(p,0,Ee(u));break}}return d}function D(){const{currentType:u,offset:p,startLoc:d,endLoc:f}=l;return l.lastType=u,l.lastOffset=p,l.lastStartLoc=d,l.lastEndLoc=f,l.offset=s(),l.startLoc=a(),n.currentChar()===jo?y(l,14):U(n,l)}return{nextToken:D,currentOffset:s,currentPosition:a,context:c}}const qu="parser",Hu=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wu(e,o,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(o||t,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ku(e={}){const o=e.location!==!1,{onError:t,onWarn:n}=e;function s(k,v,E,C,...T){const B=k.currentPosition();if(B.offset+=C,B.column+=C,t){const j=o?Tn(E,B):null,Z=pt(v,j,{domain:qu,args:T});t(Z)}}function a(k,v,E,C,...T){const B=k.currentPosition();if(B.offset+=C,B.column+=C,n){const j=o?Tn(E,B):null;n(Iu(v,j,T))}}function r(k,v,E){const C={type:k};return o&&(C.start=v,C.end=v,C.loc={start:E,end:E}),C}function i(k,v,E,C){o&&(k.end=v,k.loc&&(k.loc.end=E))}function l(k,v){const E=k.context(),C=r(3,E.offset,E.startLoc);return C.value=v,i(C,k.currentOffset(),k.currentPosition()),C}function c(k,v){const E=k.context(),{lastOffset:C,lastStartLoc:T}=E,B=r(5,C,T);return B.index=parseInt(v,10),k.nextToken(),i(B,k.currentOffset(),k.currentPosition()),B}function g(k,v,E){const C=k.context(),{lastOffset:T,lastStartLoc:B}=C,j=r(4,T,B);return j.key=v,E===!0&&(j.modulo=!0),k.nextToken(),i(j,k.currentOffset(),k.currentPosition()),j}function h(k,v){const E=k.context(),{lastOffset:C,lastStartLoc:T}=E,B=r(9,C,T);return B.value=v.replace(Hu,Wu),k.nextToken(),i(B,k.currentOffset(),k.currentPosition()),B}function y(k){const v=k.nextToken(),E=k.context(),{lastOffset:C,lastStartLoc:T}=E,B=r(8,C,T);return v.type!==12?(s(k,W.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),B.value="",i(B,C,T),{nextConsumeToken:v,node:B}):(v.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,lo(v)),B.value=v.value||"",i(B,k.currentOffset(),k.currentPosition()),{node:B})}function S(k,v){const E=k.context(),C=r(7,E.offset,E.startLoc);return C.value=v,i(C,k.currentOffset(),k.currentPosition()),C}function I(k){const v=k.context(),E=r(6,v.offset,v.startLoc);let C=k.nextToken();if(C.type===9){const T=y(k);E.modifier=T.node,C=T.nextConsumeToken||k.nextToken()}switch(C.type!==10&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(C)),C=k.nextToken(),C.type===2&&(C=k.nextToken()),C.type){case 11:C.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(C)),E.key=S(k,C.value||"");break;case 5:C.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(C)),E.key=g(k,C.value||"");break;case 6:C.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(C)),E.key=c(k,C.value||"");break;case 7:C.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(C)),E.key=h(k,C.value||"");break;default:{s(k,W.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const T=k.context(),B=r(7,T.offset,T.startLoc);return B.value="",i(B,T.offset,T.startLoc),E.key=B,i(E,T.offset,T.startLoc),{nextConsumeToken:C,node:E}}}return i(E,k.currentOffset(),k.currentPosition()),{node:E}}function x(k){const v=k.context(),E=v.currentType===1?k.currentOffset():v.offset,C=v.currentType===1?v.endLoc:v.startLoc,T=r(2,E,C);T.items=[];let B=null,j=null;do{const V=B||k.nextToken();switch(B=null,V.type){case 0:V.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(V)),T.items.push(l(k,V.value||""));break;case 6:V.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(V)),T.items.push(c(k,V.value||""));break;case 4:j=!0;break;case 5:V.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(V)),T.items.push(g(k,V.value||"",!!j)),j&&(a(k,As.USE_MODULO_SYNTAX,v.lastStartLoc,0,lo(V)),j=null);break;case 7:V.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(V)),T.items.push(h(k,V.value||""));break;case 8:{const X=I(k);T.items.push(X.node),B=X.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const Z=v.currentType===1?v.lastOffset:k.currentOffset(),q=v.currentType===1?v.lastEndLoc:k.currentPosition();return i(T,Z,q),T}function M(k,v,E,C){const T=k.context();let B=C.items.length===0;const j=r(1,v,E);j.cases=[],j.cases.push(C);do{const Z=x(k);B||(B=Z.items.length===0),j.cases.push(Z)}while(T.currentType!==14);return B&&s(k,W.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),i(j,k.currentOffset(),k.currentPosition()),j}function F(k){const v=k.context(),{offset:E,startLoc:C}=v,T=x(k);return v.currentType===14?T:M(k,E,C,T)}function G(k){const v=zu(k,Gr({},e)),E=v.context(),C=r(0,E.offset,E.startLoc);return o&&C.loc&&(C.loc.source=k),C.body=F(v),e.onCacheKey&&(C.cacheKey=e.onCacheKey(k)),E.currentType!==14&&s(v,W.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,k[E.offset]||""),i(C,v.currentOffset(),v.currentPosition()),C}return{parse:G}}function lo(e){if(e.type===14)return"EOF";const o=(e.value||"").replace(/\r?\n/gu,"\\n");return o.length>10?o.slice(0,9)+"…":o}function Xu(e,o={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:a=>(t.helpers.add(a),a)}}function Vr(e,o){for(let t=0;tzr(t)),e}function zr(e){if(e.items.length===1){const o=e.items[0];(o.type===3||o.type===9)&&(e.static=o.value,delete o.value)}else{const o=[];for(let t=0;tr;function l(x,M){r.code+=x}function c(x,M=!0){const F=M?n:"";l(s?F+" ".repeat(x):F)}function g(x=!0){const M=++r.indentLevel;x&&c(M)}function h(x=!0){const M=--r.indentLevel;x&&c(M)}function y(){c(r.indentLevel)}return{context:i,push:l,indent:g,deindent:h,newline:y,helper:x=>`_${x}`,needIndent:()=>r.needIndent}}function op(e,o){const{helper:t}=e;e.push(`${t("linked")}(`),dt(e,o.key),o.modifier?(e.push(", "),dt(e,o.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function tp(e,o){const{helper:t,needIndent:n}=e;e.push(`${t("normalize")}([`),e.indent(n());const s=o.items.length;for(let a=0;a1){e.push(`${t("plural")}([`),e.indent(n());const s=o.cases.length;for(let a=0;a{const t=Ur(o.mode)?o.mode:"normal",n=Ur(o.filename)?o.filename:"message.intl";o.sourceMap;const s=o.breakLineCode!=null?o.breakLineCode:t==="arrow"?";":` + */function Cu(e,o,t){return{line:e,column:o,offset:t}}function Cn(e,o,t){return{start:e,end:o}}const Tu=/\{([0-9a-zA-Z]+)\}/g;function Dr(e,...o){return o.length===1&&Ru(o[0])&&(o=o[0]),(!o||!o.hasOwnProperty)&&(o={}),e.replace(Tu,(t,n)=>o.hasOwnProperty(n)?o[n]:"")}const Gr=Object.assign,Ur=e=>typeof e=="string",Ru=e=>e!==null&&typeof e=="object";function jr(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}const As={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Ou={[As.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Mu(e,o,...t){const n=Dr(Ou[e],...t||[]),s={message:String(n),code:e};return o&&(s.location=o),s}const W={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},Iu={[W.EXPECTED_TOKEN]:"Expected token: '{0}'",[W.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[W.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[W.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[W.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[W.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[W.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[W.EMPTY_PLACEHOLDER]:"Empty placeholder",[W.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[W.INVALID_LINKED_FORMAT]:"Invalid linked format",[W.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[W.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[W.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[W.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[W.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[W.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function pt(e,o,t={}){const{domain:n,messages:s,args:a}=t,r=Dr((s||Iu)[e]||"",...a||[]),i=new SyntaxError(String(r));return i.code=e,o&&(i.location=o),i.domain=n,i}function Fu(e){throw e}const Mo=" ",Du="\r",Be=` +`,Gu="\u2028",Uu="\u2029";function ju(e){const o=e;let t=0,n=1,s=1,a=0;const r=C=>o[C]===Du&&o[C+1]===Be,i=C=>o[C]===Be,l=C=>o[C]===Uu,c=C=>o[C]===Gu,g=C=>r(C)||i(C)||l(C)||c(C),h=()=>t,y=()=>n,S=()=>s,M=()=>a,x=C=>r(C)||l(C)||c(C)?Be:o[C],F=()=>x(t),I=()=>x(t+a);function G(){return a=0,g(t)&&(n++,s=0),r(t)&&t++,t++,s++,o[t]}function k(){return r(t+a)&&a++,a++,o[t+a]}function v(){t=0,n=1,s=1,a=0}function N(C=0){a=C}function E(){const C=t+a;for(;C!==t;)G();a=0}return{index:h,line:y,column:S,peekOffset:M,charAt:x,currentChar:F,currentPeek:I,next:G,peek:k,reset:v,resetPeek:N,skipToPeek:E}}const jo=void 0,Bu=".",Br="'",zu="tokenizer";function Vu(e,o={}){const t=o.location!==!1,n=ju(e),s=()=>n.index(),a=()=>Cu(n.line(),n.column(),n.index()),r=a(),i=s(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:g}=o;function h(u,p,d,...f){const w=c();if(p.column+=d,p.offset+=d,g){const A=t?Cn(w.startLoc,p):null,b=pt(u,A,{domain:zu,args:f});g(b)}}function y(u,p,d){u.endLoc=a(),u.currentType=p;const f={type:p};return t&&(f.loc=Cn(u.startLoc,u.endLoc)),d!=null&&(f.value=d),f}const S=u=>y(u,14);function M(u,p){return u.currentChar()===p?(u.next(),p):(h(W.EXPECTED_TOKEN,a(),0,p),"")}function x(u){let p="";for(;u.currentPeek()===Mo||u.currentPeek()===Be;)p+=u.currentPeek(),u.peek();return p}function F(u){const p=x(u);return u.skipToPeek(),p}function I(u){if(u===jo)return!1;const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function G(u){if(u===jo)return!1;const p=u.charCodeAt(0);return p>=48&&p<=57}function k(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=I(u.currentPeek());return u.resetPeek(),f}function v(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=u.currentPeek()==="-"?u.peek():u.currentPeek(),w=G(f);return u.resetPeek(),w}function N(u,p){const{currentType:d}=p;if(d!==2)return!1;x(u);const f=u.currentPeek()===Br;return u.resetPeek(),f}function E(u,p){const{currentType:d}=p;if(d!==8)return!1;x(u);const f=u.currentPeek()===".";return u.resetPeek(),f}function C(u,p){const{currentType:d}=p;if(d!==9)return!1;x(u);const f=I(u.currentPeek());return u.resetPeek(),f}function B(u,p){const{currentType:d}=p;if(!(d===8||d===12))return!1;x(u);const f=u.currentPeek()===":";return u.resetPeek(),f}function j(u,p){const{currentType:d}=p;if(d!==10)return!1;const f=()=>{const A=u.currentPeek();return A==="{"?I(u.peek()):A==="@"||A==="%"||A==="|"||A===":"||A==="."||A===Mo||!A?!1:A===Be?(u.peek(),f()):z(u,!1)},w=f();return u.resetPeek(),w}function Z(u){x(u);const p=u.currentPeek()==="|";return u.resetPeek(),p}function q(u){const p=x(u),d=u.currentPeek()==="%"&&u.peek()==="{";return u.resetPeek(),{isModulo:d,hasSpace:p.length>0}}function z(u,p=!0){const d=(w=!1,A="",b=!1)=>{const L=u.currentPeek();return L==="{"?A==="%"?!1:w:L==="@"||!L?A==="%"?!0:w:L==="%"?(u.peek(),d(w,"%",!0)):L==="|"?A==="%"||b?!0:!(A===Mo||A===Be):L===Mo?(u.peek(),d(!0,Mo,b)):L===Be?(u.peek(),d(!0,Be,b)):!0},f=d();return p&&u.resetPeek(),f}function X(u,p){const d=u.currentChar();return d===jo?jo:p(d)?(u.next(),d):null}function xe(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function Te(u){return X(u,xe)}function ne(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function J(u){return X(u,ne)}function oe(u){const p=u.charCodeAt(0);return p>=48&&p<=57}function be(u){return X(u,oe)}function Ie(u){const p=u.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ge(u){return X(u,Ie)}function ye(u){let p="",d="";for(;p=be(u);)d+=p;return d}function eo(u){F(u);const p=u.currentChar();return p!=="%"&&h(W.EXPECTED_TOKEN,a(),0,p),u.next(),"%"}function Ne(u){let p="";for(;;){const d=u.currentChar();if(d==="{"||d==="}"||d==="@"||d==="|"||!d)break;if(d==="%")if(z(u))p+=d,u.next();else break;else if(d===Mo||d===Be)if(z(u))p+=d,u.next();else{if(Z(u))break;p+=d,u.next()}else p+=d,u.next()}return p}function Ye(u){F(u);let p="",d="";for(;p=J(u);)d+=p;return u.currentChar()===jo&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d}function ze(u){F(u);let p="";return u.currentChar()==="-"?(u.next(),p+=`-${ye(u)}`):p+=ye(u),u.currentChar()===jo&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),p}function oo(u){return u!==Br&&u!==Be}function uo(u){F(u),M(u,"'");let p="",d="";for(;p=X(u,oo);)p==="\\"?d+=wo(u):d+=p;const f=u.currentChar();return f===Be||f===jo?(h(W.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),f===Be&&(u.next(),M(u,"'")),d):(M(u,"'"),d)}function wo(u){const p=u.currentChar();switch(p){case"\\":case"'":return u.next(),`\\${p}`;case"u":return Ve(u,p,4);case"U":return Ve(u,p,6);default:return h(W.UNKNOWN_ESCAPE_SEQUENCE,a(),0,p),""}}function Ve(u,p,d){M(u,p);let f="";for(let w=0;w{const f=u.currentChar();return f==="{"||f==="%"||f==="@"||f==="|"||f==="("||f===")"||!f||f===Mo?d:(d+=f,u.next(),p(d))};return p("")}function P(u){F(u);const p=M(u,"|");return F(u),p}function R(u,p){let d=null;switch(u.currentChar()){case"{":return p.braceNest>=1&&h(W.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),u.next(),d=y(p,2,"{"),F(u),p.braceNest++,d;case"}":return p.braceNest>0&&p.currentType===2&&h(W.EMPTY_PLACEHOLDER,a(),0),u.next(),d=y(p,3,"}"),p.braceNest--,p.braceNest>0&&F(u),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),d;case"@":return p.braceNest>0&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d=T(u,p)||S(p),p.braceNest=0,d;default:{let w=!0,A=!0,b=!0;if(Z(u))return p.braceNest>0&&h(W.UNTERMINATED_CLOSING_BRACE,a(),0),d=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,d;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return h(W.UNTERMINATED_CLOSING_BRACE,a(),0),p.braceNest=0,U(u,p);if(w=k(u,p))return d=y(p,5,Ye(u)),F(u),d;if(A=v(u,p))return d=y(p,6,ze(u)),F(u),d;if(b=N(u,p))return d=y(p,7,uo(u)),F(u),d;if(!w&&!A&&!b)return d=y(p,13,$(u)),h(W.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,d.value),F(u),d;break}}return d}function T(u,p){const{currentType:d}=p;let f=null;const w=u.currentChar();switch((d===8||d===9||d===12||d===10)&&(w===Be||w===Mo)&&h(W.INVALID_LINKED_FORMAT,a(),0),w){case"@":return u.next(),f=y(p,8,"@"),p.inLinked=!0,f;case".":return F(u),u.next(),y(p,9,".");case":":return F(u),u.next(),y(p,10,":");default:return Z(u)?(f=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,f):E(u,p)||B(u,p)?(F(u),T(u,p)):C(u,p)?(F(u),y(p,12,m(u))):j(u,p)?(F(u),w==="{"?R(u,p)||f:y(p,11,_(u))):(d===8&&h(W.INVALID_LINKED_FORMAT,a(),0),p.braceNest=0,p.inLinked=!1,U(u,p))}}function U(u,p){let d={type:14};if(p.braceNest>0)return R(u,p)||S(p);if(p.inLinked)return T(u,p)||S(p);switch(u.currentChar()){case"{":return R(u,p)||S(p);case"}":return h(W.UNBALANCED_CLOSING_BRACE,a(),0),u.next(),y(p,3,"}");case"@":return T(u,p)||S(p);default:{if(Z(u))return d=y(p,1,P(u)),p.braceNest=0,p.inLinked=!1,d;const{isModulo:w,hasSpace:A}=q(u);if(w)return A?y(p,0,Ne(u)):y(p,4,eo(u));if(z(u))return y(p,0,Ne(u));break}}return d}function D(){const{currentType:u,offset:p,startLoc:d,endLoc:f}=l;return l.lastType=u,l.lastOffset=p,l.lastStartLoc=d,l.lastEndLoc=f,l.offset=s(),l.startLoc=a(),n.currentChar()===jo?y(l,14):U(n,l)}return{nextToken:D,currentOffset:s,currentPosition:a,context:c}}const qu="parser",Hu=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wu(e,o,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(o||t,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ku(e={}){const o=e.location!==!1,{onError:t,onWarn:n}=e;function s(k,v,N,E,...C){const B=k.currentPosition();if(B.offset+=E,B.column+=E,t){const j=o?Cn(N,B):null,Z=pt(v,j,{domain:qu,args:C});t(Z)}}function a(k,v,N,E,...C){const B=k.currentPosition();if(B.offset+=E,B.column+=E,n){const j=o?Cn(N,B):null;n(Mu(v,j,C))}}function r(k,v,N){const E={type:k};return o&&(E.start=v,E.end=v,E.loc={start:N,end:N}),E}function i(k,v,N,E){o&&(k.end=v,k.loc&&(k.loc.end=N))}function l(k,v){const N=k.context(),E=r(3,N.offset,N.startLoc);return E.value=v,i(E,k.currentOffset(),k.currentPosition()),E}function c(k,v){const N=k.context(),{lastOffset:E,lastStartLoc:C}=N,B=r(5,E,C);return B.index=parseInt(v,10),k.nextToken(),i(B,k.currentOffset(),k.currentPosition()),B}function g(k,v,N){const E=k.context(),{lastOffset:C,lastStartLoc:B}=E,j=r(4,C,B);return j.key=v,N===!0&&(j.modulo=!0),k.nextToken(),i(j,k.currentOffset(),k.currentPosition()),j}function h(k,v){const N=k.context(),{lastOffset:E,lastStartLoc:C}=N,B=r(9,E,C);return B.value=v.replace(Hu,Wu),k.nextToken(),i(B,k.currentOffset(),k.currentPosition()),B}function y(k){const v=k.nextToken(),N=k.context(),{lastOffset:E,lastStartLoc:C}=N,B=r(8,E,C);return v.type!==12?(s(k,W.UNEXPECTED_EMPTY_LINKED_MODIFIER,N.lastStartLoc,0),B.value="",i(B,E,C),{nextConsumeToken:v,node:B}):(v.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,lo(v)),B.value=v.value||"",i(B,k.currentOffset(),k.currentPosition()),{node:B})}function S(k,v){const N=k.context(),E=r(7,N.offset,N.startLoc);return E.value=v,i(E,k.currentOffset(),k.currentPosition()),E}function M(k){const v=k.context(),N=r(6,v.offset,v.startLoc);let E=k.nextToken();if(E.type===9){const C=y(k);N.modifier=C.node,E=C.nextConsumeToken||k.nextToken()}switch(E.type!==10&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(E)),E=k.nextToken(),E.type===2&&(E=k.nextToken()),E.type){case 11:E.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(E)),N.key=S(k,E.value||"");break;case 5:E.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(E)),N.key=g(k,E.value||"");break;case 6:E.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(E)),N.key=c(k,E.value||"");break;case 7:E.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(E)),N.key=h(k,E.value||"");break;default:{s(k,W.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const C=k.context(),B=r(7,C.offset,C.startLoc);return B.value="",i(B,C.offset,C.startLoc),N.key=B,i(N,C.offset,C.startLoc),{nextConsumeToken:E,node:N}}}return i(N,k.currentOffset(),k.currentPosition()),{node:N}}function x(k){const v=k.context(),N=v.currentType===1?k.currentOffset():v.offset,E=v.currentType===1?v.endLoc:v.startLoc,C=r(2,N,E);C.items=[];let B=null,j=null;do{const z=B||k.nextToken();switch(B=null,z.type){case 0:z.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(z)),C.items.push(l(k,z.value||""));break;case 6:z.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(z)),C.items.push(c(k,z.value||""));break;case 4:j=!0;break;case 5:z.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(z)),C.items.push(g(k,z.value||"",!!j)),j&&(a(k,As.USE_MODULO_SYNTAX,v.lastStartLoc,0,lo(z)),j=null);break;case 7:z.value==null&&s(k,W.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,lo(z)),C.items.push(h(k,z.value||""));break;case 8:{const X=M(k);C.items.push(X.node),B=X.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const Z=v.currentType===1?v.lastOffset:k.currentOffset(),q=v.currentType===1?v.lastEndLoc:k.currentPosition();return i(C,Z,q),C}function F(k,v,N,E){const C=k.context();let B=E.items.length===0;const j=r(1,v,N);j.cases=[],j.cases.push(E);do{const Z=x(k);B||(B=Z.items.length===0),j.cases.push(Z)}while(C.currentType!==14);return B&&s(k,W.MUST_HAVE_MESSAGES_IN_PLURAL,N,0),i(j,k.currentOffset(),k.currentPosition()),j}function I(k){const v=k.context(),{offset:N,startLoc:E}=v,C=x(k);return v.currentType===14?C:F(k,N,E,C)}function G(k){const v=Vu(k,Gr({},e)),N=v.context(),E=r(0,N.offset,N.startLoc);return o&&E.loc&&(E.loc.source=k),E.body=I(v),e.onCacheKey&&(E.cacheKey=e.onCacheKey(k)),N.currentType!==14&&s(v,W.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,k[N.offset]||""),i(E,v.currentOffset(),v.currentPosition()),E}return{parse:G}}function lo(e){if(e.type===14)return"EOF";const o=(e.value||"").replace(/\r?\n/gu,"\\n");return o.length>10?o.slice(0,9)+"…":o}function Xu(e,o={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:a=>(t.helpers.add(a),a)}}function zr(e,o){for(let t=0;tVr(t)),e}function Vr(e){if(e.items.length===1){const o=e.items[0];(o.type===3||o.type===9)&&(e.static=o.value,delete o.value)}else{const o=[];for(let t=0;tr;function l(x,F){r.code+=x}function c(x,F=!0){const I=F?n:"";l(s?I+" ".repeat(x):I)}function g(x=!0){const F=++r.indentLevel;x&&c(F)}function h(x=!0){const F=--r.indentLevel;x&&c(F)}function y(){c(r.indentLevel)}return{context:i,push:l,indent:g,deindent:h,newline:y,helper:x=>`_${x}`,needIndent:()=>r.needIndent}}function op(e,o){const{helper:t}=e;e.push(`${t("linked")}(`),dt(e,o.key),o.modifier?(e.push(", "),dt(e,o.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function tp(e,o){const{helper:t,needIndent:n}=e;e.push(`${t("normalize")}([`),e.indent(n());const s=o.items.length;for(let a=0;a1){e.push(`${t("plural")}([`),e.indent(n());const s=o.cases.length;for(let a=0;a{const t=Ur(o.mode)?o.mode:"normal",n=Ur(o.filename)?o.filename:"message.intl";o.sourceMap;const s=o.breakLineCode!=null?o.breakLineCode:t==="arrow"?";":` `,a=o.needIndent?o.needIndent:t!=="arrow",r=e.helpers||[],i=ep(e,{filename:n,breakLineCode:s,needIndent:a});i.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(a),r.length>0&&(i.push(`const { ${jr(r.map(g=>`${g}: _${g}`),", ")} } = ctx`),i.newline()),i.push("return "),dt(i,e),i.deindent(a),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function rp(e,o={}){const t=Gr({},o),n=!!t.jit,s=!!t.minify,a=t.optimize==null?!0:t.optimize,i=Ku(t).parse(e);return n?(a&&Zu(i),s&>(i),{ast:i,code:""}):(Yu(i,t),ap(i,t))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ip(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ko(e){return ie(e)&&Ps(e)===0&&(io(e,"b")||io(e,"body"))}const qr=["b","body"];function lp(e){return Bo(e,qr)}const Hr=["c","cases"];function cp(e){return Bo(e,Hr,[])}const Wr=["s","static"];function up(e){return Bo(e,Wr)}const Kr=["i","items"];function pp(e){return Bo(e,Kr,[])}const Xr=["t","type"];function Ps(e){return Bo(e,Xr)}const Yr=["v","value"];function Nn(e,o){const t=Bo(e,Yr);if(t!=null)return t;throw Gt(o)}const Zr=["m","modifier"];function gp(e){return Bo(e,Zr)}const Jr=["k","key"];function dp(e){const o=Bo(e,Jr);if(o)return o;throw Gt(6)}function Bo(e,o,t){for(let n=0;n{r===void 0?r=i:r+=i},y[1]=()=>{r!==void 0&&(o.push(r),r=void 0)},y[2]=()=>{y[0](),s++},y[3]=()=>{if(s>0)s--,n=4,y[0]();else{if(s=0,r===void 0||(r=mp(r),r===!1))return!1;y[1]()}};function S(){const I=e[t+1];if(n===5&&I==="'"||n===6&&I==='"')return t++,i="\\"+I,y[0](),!0}for(;n!==null;)if(t++,a=e[t],!(a==="\\"&&S())){if(l=hp(a),h=Vo[n],c=h[l]||h.l||8,c===8||(n=c[0],c[1]!==void 0&&(g=y[c[1]],g&&(i=a,g()===!1))))return;if(n===7)return o}}const ei=new Map;function yp(e,o){return ie(e)?e[o]:null}function vp(e,o){if(!ie(e))return null;let t=ei.get(o);if(t||(t=bp(o),t&&ei.set(o,t)),!t)return null;const n=t.length;let s=e,a=0;for(;ae,Lp=e=>"",wp="text",Ap=e=>e.length===0?"":Cu(e),Sp=Eu;function oi(e,o){return e=Math.abs(e),o===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Pp(e){const o=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:o:o}function xp(e,o){o.count||(o.count=e),o.n||(o.n=e)}function Ep(e={}){const o=e.locale,t=Pp(e),n=ie(e.pluralRules)&&z(o)&&me(e.pluralRules[o])?e.pluralRules[o]:oi,s=ie(e.pluralRules)&&z(o)&&me(e.pluralRules[o])?oi:void 0,a=F=>F[n(t,F.length,s)],r=e.list||[],i=F=>r[F],l=e.named||pe();Te(e.pluralIndex)&&xp(t,l);const c=F=>l[F];function g(F){const G=me(e.messages)?e.messages(F):ie(e.messages)?e.messages[F]:!1;return G||(e.parent?e.parent.message(F):Lp)}const h=F=>e.modifiers?e.modifiers[F]:kp,y=ee(e.processor)&&me(e.processor.normalize)?e.processor.normalize:Ap,S=ee(e.processor)&&me(e.processor.interpolate)?e.processor.interpolate:Sp,I=ee(e.processor)&&z(e.processor.type)?e.processor.type:wp,M={list:i,named:c,plural:a,linked:(F,...G)=>{const[k,v]=G;let E="text",C="";G.length===1?ie(k)?(C=k.modifier||C,E=k.type||E):z(k)&&(C=k||C):G.length===2&&(z(k)&&(C=k||C),z(v)&&(E=v||E));const T=g(F)(M),B=E==="vnode"&&Pe(T)&&C?T[0]:T;return C?h(C)(B,E):B},message:g,type:I,interpolate:S,normalize:y,values:De(pe(),r,l)};return M}let Ut=null;function Cp(e){Ut=e}function Tp(e,o,t){Ut&&Ut.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:o,meta:t})}const Np=Rp("function:translate");function Rp(e){return o=>Ut&&Ut.emit(e,o)}const Op=As.__EXTEND_POINT__,Qo=xn(Op),Ip={FALLBACK_TO_TRANSLATE:Qo(),CANNOT_FORMAT_NUMBER:Qo(),FALLBACK_TO_NUMBER_FORMAT:Qo(),CANNOT_FORMAT_DATE:Qo(),FALLBACK_TO_DATE_FORMAT:Qo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Qo(),__EXTEND_POINT__:Qo()},ti=W.__EXTEND_POINT__,et=xn(ti),co={INVALID_ARGUMENT:ti,INVALID_DATE_ARGUMENT:et(),INVALID_ISO_DATE_ARGUMENT:et(),NOT_SUPPORT_NON_STRING_MESSAGE:et(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:et(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:et(),NOT_SUPPORT_LOCALE_TYPE:et(),__EXTEND_POINT__:et()};function Lo(e){return pt(e,null,void 0)}function xs(e,o){return o.locale!=null?ni(o.locale):ni(e.locale)}let Es;function ni(e){if(z(e))return e;if(me(e)){if(e.resolvedOnce&&Es!=null)return Es;if(e.constructor.name==="Function"){const o=e();if(xu(o))throw Lo(co.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Es=o}else throw Lo(co.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Lo(co.NOT_SUPPORT_LOCALE_TYPE)}function Fp(e,o,t){return[...new Set([t,...Pe(o)?o:ie(o)?Object.keys(o):z(o)?[o]:[t]])]}function si(e,o,t){const n=z(t)?t:jt,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let a=s.__localeChainCache.get(n);if(!a){a=[];let r=[t];for(;Pe(r);)r=ai(a,r,o);const i=Pe(o)||!ee(o)?o:o.default?o.default:null;r=z(i)?[i]:i,Pe(r)&&ai(a,r,!1),s.__localeChainCache.set(n,a)}return a}function ai(e,o,t){let n=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Up(){return{upper:(e,o)=>o==="text"&&z(e)?e.toUpperCase():o==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,o)=>o==="text"&&z(e)?e.toLowerCase():o==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,o)=>o==="text"&&z(e)?ii(e):o==="vnode"&&ie(e)&&"__v_isVNode"in e?ii(e.children):e}}let li;function ci(e){li=e}let ui;function jp(e){ui=e}let pi;function Bp(e){pi=e}let gi=null;const Vp=e=>{gi=e},zp=()=>gi;let di=null;const $i=e=>{di=e},qp=()=>di;let fi=0;function Hp(e={}){const o=me(e.onWarn)?e.onWarn:vu,t=z(e.version)?e.version:Gp,n=z(e.locale)||me(e.locale)?e.locale:jt,s=me(n)?jt:n,a=Pe(e.fallbackLocale)||ee(e.fallbackLocale)||z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,r=ee(e.messages)?e.messages:Cs(s),i=ee(e.datetimeFormats)?e.datetimeFormats:Cs(s),l=ee(e.numberFormats)?e.numberFormats:Cs(s),c=De(pe(),e.modifiers,Up()),g=e.pluralRules||pe(),h=me(e.missing)?e.missing:null,y=de(e.missingWarn)||ut(e.missingWarn)?e.missingWarn:!0,S=de(e.fallbackWarn)||ut(e.fallbackWarn)?e.fallbackWarn:!0,I=!!e.fallbackFormat,x=!!e.unresolving,M=me(e.postTranslation)?e.postTranslation:null,F=ee(e.processor)?e.processor:null,G=de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,v=me(e.messageCompiler)?e.messageCompiler:li,E=me(e.messageResolver)?e.messageResolver:ui||yp,C=me(e.localeFallbacker)?e.localeFallbacker:pi||Fp,T=ie(e.fallbackContext)?e.fallbackContext:void 0,B=e,j=ie(B.__datetimeFormatters)?B.__datetimeFormatters:new Map,Z=ie(B.__numberFormatters)?B.__numberFormatters:new Map,q=ie(B.__meta)?B.__meta:{};fi++;const V={version:t,cid:fi,locale:n,fallbackLocale:a,messages:r,modifiers:c,pluralRules:g,missing:h,missingWarn:y,fallbackWarn:S,fallbackFormat:I,unresolving:x,postTranslation:M,processor:F,warnHtmlMessage:G,escapeParameter:k,messageCompiler:v,messageResolver:E,localeFallbacker:C,fallbackContext:T,onWarn:o,__meta:q};return V.datetimeFormats=i,V.numberFormats=l,V.__datetimeFormatters=j,V.__numberFormatters=Z,__INTLIFY_PROD_DEVTOOLS__&&Tp(V,t,q),V}const Cs=e=>({[e]:pe()});function Ts(e,o,t,n,s){const{missing:a,onWarn:r}=e;if(a!==null){const i=a(e,t,o,s);return z(i)?i:o}else return o}function Bt(e,o,t){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,t,o)}function Wp(e,o){return e===o?!1:e.split("-")[0]===o.split("-")[0]}function Kp(e,o){const t=o.indexOf(e);if(t===-1)return!1;for(let n=t+1;nXp(t,e)}function Xp(e,o){const t=lp(o);if(t==null)throw Gt(0);if(Ps(t)===1){const a=cp(t);return e.plural(a.reduce((r,i)=>[...r,_i(e,i)],[]))}else return _i(e,t)}function _i(e,o){const t=up(o);if(t!=null)return e.type==="text"?t:e.normalize([t]);{const n=pp(o).reduce((s,a)=>[...s,Rs(e,a)],[]);return e.normalize(n)}}function Rs(e,o){const t=Ps(o);switch(t){case 3:return Nn(o,t);case 9:return Nn(o,t);case 4:{const n=o;if(io(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(io(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gt(t)}case 5:{const n=o;if(io(n,"i")&&Te(n.i))return e.interpolate(e.list(n.i));if(io(n,"index")&&Te(n.index))return e.interpolate(e.list(n.index));throw Gt(t)}case 6:{const n=o,s=gp(n),a=dp(n);return e.linked(Rs(e,a),s?Rs(e,s):void 0,e.type)}case 7:return Nn(o,t);case 8:return Nn(o,t);default:throw new Error(`unhandled node on format message part: ${t}`)}}const hi=e=>e;let $t=pe();function mi(e,o={}){let t=!1;const n=o.onError||Mu;return o.onError=s=>{t=!0,n(s)},{...rp(e,o),detectError:t}}const Yp=(e,o)=>{if(!z(e))throw Lo(co.NOT_SUPPORT_NON_STRING_MESSAGE);{de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||hi)(e),s=$t[n];if(s)return s;const{code:a,detectError:r}=mi(e,o),i=new Function(`return ${a}`)();return r?i:$t[n]=i}};function Zp(e,o){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&z(e)){de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||hi)(e),s=$t[n];if(s)return s;const{ast:a,detectError:r}=mi(e,{...o,location:!1,jit:!0}),i=Ns(a);return r?i:$t[n]=i}else{const t=e.cacheKey;if(t){const n=$t[t];return n||($t[t]=Ns(e))}else return Ns(e)}}const bi=()=>"",Qe=e=>me(e);function yi(e,...o){const{fallbackFormat:t,postTranslation:n,unresolving:s,messageCompiler:a,fallbackLocale:r,messages:i}=e,[l,c]=Os(...o),g=de(c.missingWarn)?c.missingWarn:e.missingWarn,h=de(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,y=de(c.escapeParameter)?c.escapeParameter:e.escapeParameter,S=!!c.resolvedMessage,I=z(c.default)||de(c.default)?de(c.default)?a?l:()=>l:c.default:t?a?l:()=>l:"",x=t||I!=="",M=xs(e,c);y&&Jp(c);let[F,G,k]=S?[l,M,i[M]||pe()]:vi(e,l,M,r,h,g),v=F,E=l;if(!S&&!(z(v)||ko(v)||Qe(v))&&x&&(v=I,E=v),!S&&(!(z(v)||ko(v)||Qe(v))||!z(G)))return s?Rn:l;let C=!1;const T=()=>{C=!0},B=Qe(v)?v:ki(e,l,G,v,E,T);if(C)return v;const j=og(e,G,k,c),Z=Ep(j),q=Qp(e,B,Z);let V=n?n(q,l):q;if(y&&z(V)&&(V=Su(V)),__INTLIFY_PROD_DEVTOOLS__){const X={timestamp:Date.now(),key:z(l)?l:Qe(v)?v.key:"",locale:G||(Qe(v)?v.locale:""),format:z(v)?v:Qe(v)?v.source:"",message:V};X.meta=De({},e.__meta,zp()||{}),Np(X)}return V}function Jp(e){Pe(e.list)?e.list=e.list.map(o=>z(o)?Or(o):o):ie(e.named)&&Object.keys(e.named).forEach(o=>{z(e.named[o])&&(e.named[o]=Or(e.named[o]))})}function vi(e,o,t,n,s,a){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,g=c(e,n,t);let h=pe(),y,S=null;const I="translate";for(let x=0;xn;return c.locale=t,c.key=o,c}const l=r(n,eg(e,t,s,n,i,a));return l.locale=t,l.key=o,l.source=n,l}function Qp(e,o,t){return o(t)}function Os(...e){const[o,t,n]=e,s=pe();if(!z(o)&&!Te(o)&&!Qe(o)&&!ko(o))throw Lo(co.INVALID_ARGUMENT);const a=Te(o)?String(o):(Qe(o),o);return Te(t)?s.plural=t:z(t)?s.default=t:ee(t)&&!Pn(t)?s.named=t:Pe(t)&&(s.list=t),Te(n)?s.plural=n:z(n)?s.default=n:ee(n)&&De(s,n),[a,s]}function eg(e,o,t,n,s,a){return{locale:o,key:t,warnHtmlMessage:s,onError:r=>{throw a&&a(r),r},onCacheKey:r=>ku(o,t,r)}}function og(e,o,t,n){const{modifiers:s,pluralRules:a,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:g}=e,y={locale:o,modifiers:s,pluralRules:a,messages:S=>{let I=r(t,S);if(I==null&&g){const[,,x]=vi(g,S,o,i,l,c);I=r(x,S)}if(z(I)||ko(I)){let x=!1;const F=ki(e,S,o,I,S,()=>{x=!0});return x?bi:F}else return Qe(I)?I:bi}};return e.processor&&(y.processor=e.processor),n.list&&(y.list=n.list),n.named&&(y.named=n.named),Te(n.plural)&&(y.pluralIndex=n.plural),y}function Li(e,...o){const{datetimeFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,g,h]=Is(...o),y=de(g.missingWarn)?g.missingWarn:e.missingWarn;de(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const S=!!g.part,I=xs(e,g),x=r(e,s,I);if(!z(l)||l==="")return new Intl.DateTimeFormat(I,h).format(c);let M={},F,G=null;const k="datetime format";for(let C=0;C{wi.includes(l)?r[l]=t[l]:a[l]=t[l]}),z(n)?a.locale=n:ee(n)&&(r=n),ee(s)&&(r=s),[a.key||"",i,a,r]}function Ai(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function Si(e,...o){const{numberFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,g,h]=Fs(...o),y=de(g.missingWarn)?g.missingWarn:e.missingWarn;de(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const S=!!g.part,I=xs(e,g),x=r(e,s,I);if(!z(l)||l==="")return new Intl.NumberFormat(I,h).format(c);let M={},F,G=null;const k="number format";for(let C=0;C{Pi.includes(l)?r[l]=t[l]:a[l]=t[l]}),z(n)?a.locale=n:ee(n)&&(r=n),ee(s)&&(r=s),[a.key||"",i,a,r]}function xi(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}ip();/*! + */function ip(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ko(e){return ie(e)&&Ps(e)===0&&(io(e,"b")||io(e,"body"))}const qr=["b","body"];function lp(e){return Bo(e,qr)}const Hr=["c","cases"];function cp(e){return Bo(e,Hr,[])}const Wr=["s","static"];function up(e){return Bo(e,Wr)}const Kr=["i","items"];function pp(e){return Bo(e,Kr,[])}const Xr=["t","type"];function Ps(e){return Bo(e,Xr)}const Yr=["v","value"];function Tn(e,o){const t=Bo(e,Yr);if(t!=null)return t;throw Gt(o)}const Zr=["m","modifier"];function gp(e){return Bo(e,Zr)}const Jr=["k","key"];function dp(e){const o=Bo(e,Jr);if(o)return o;throw Gt(6)}function Bo(e,o,t){for(let n=0;n{r===void 0?r=i:r+=i},y[1]=()=>{r!==void 0&&(o.push(r),r=void 0)},y[2]=()=>{y[0](),s++},y[3]=()=>{if(s>0)s--,n=4,y[0]();else{if(s=0,r===void 0||(r=mp(r),r===!1))return!1;y[1]()}};function S(){const M=e[t+1];if(n===5&&M==="'"||n===6&&M==='"')return t++,i="\\"+M,y[0](),!0}for(;n!==null;)if(t++,a=e[t],!(a==="\\"&&S())){if(l=hp(a),h=zo[n],c=h[l]||h.l||8,c===8||(n=c[0],c[1]!==void 0&&(g=y[c[1]],g&&(i=a,g()===!1))))return;if(n===7)return o}}const ei=new Map;function yp(e,o){return ie(e)?e[o]:null}function vp(e,o){if(!ie(e))return null;let t=ei.get(o);if(t||(t=bp(o),t&&ei.set(o,t)),!t)return null;const n=t.length;let s=e,a=0;for(;ae,Lp=e=>"",wp="text",Ap=e=>e.length===0?"":Eu(e),Sp=Nu;function oi(e,o){return e=Math.abs(e),o===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Pp(e){const o=Ce(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ce(e.named.count)||Ce(e.named.n))?Ce(e.named.count)?e.named.count:Ce(e.named.n)?e.named.n:o:o}function xp(e,o){o.count||(o.count=e),o.n||(o.n=e)}function Np(e={}){const o=e.locale,t=Pp(e),n=ie(e.pluralRules)&&V(o)&&me(e.pluralRules[o])?e.pluralRules[o]:oi,s=ie(e.pluralRules)&&V(o)&&me(e.pluralRules[o])?oi:void 0,a=I=>I[n(t,I.length,s)],r=e.list||[],i=I=>r[I],l=e.named||pe();Ce(e.pluralIndex)&&xp(t,l);const c=I=>l[I];function g(I){const G=me(e.messages)?e.messages(I):ie(e.messages)?e.messages[I]:!1;return G||(e.parent?e.parent.message(I):Lp)}const h=I=>e.modifiers?e.modifiers[I]:kp,y=ee(e.processor)&&me(e.processor.normalize)?e.processor.normalize:Ap,S=ee(e.processor)&&me(e.processor.interpolate)?e.processor.interpolate:Sp,M=ee(e.processor)&&V(e.processor.type)?e.processor.type:wp,F={list:i,named:c,plural:a,linked:(I,...G)=>{const[k,v]=G;let N="text",E="";G.length===1?ie(k)?(E=k.modifier||E,N=k.type||N):V(k)&&(E=k||E):G.length===2&&(V(k)&&(E=k||E),V(v)&&(N=v||N));const C=g(I)(F),B=N==="vnode"&&Pe(C)&&E?C[0]:C;return E?h(E)(B,N):B},message:g,type:M,interpolate:S,normalize:y,values:De(pe(),r,l)};return F}let Ut=null;function Ep(e){Ut=e}function Cp(e,o,t){Ut&&Ut.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:o,meta:t})}const Tp=Rp("function:translate");function Rp(e){return o=>Ut&&Ut.emit(e,o)}const Op=As.__EXTEND_POINT__,Qo=xn(Op),Mp={FALLBACK_TO_TRANSLATE:Qo(),CANNOT_FORMAT_NUMBER:Qo(),FALLBACK_TO_NUMBER_FORMAT:Qo(),CANNOT_FORMAT_DATE:Qo(),FALLBACK_TO_DATE_FORMAT:Qo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Qo(),__EXTEND_POINT__:Qo()},ti=W.__EXTEND_POINT__,et=xn(ti),co={INVALID_ARGUMENT:ti,INVALID_DATE_ARGUMENT:et(),INVALID_ISO_DATE_ARGUMENT:et(),NOT_SUPPORT_NON_STRING_MESSAGE:et(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:et(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:et(),NOT_SUPPORT_LOCALE_TYPE:et(),__EXTEND_POINT__:et()};function Lo(e){return pt(e,null,void 0)}function xs(e,o){return o.locale!=null?ni(o.locale):ni(e.locale)}let Ns;function ni(e){if(V(e))return e;if(me(e)){if(e.resolvedOnce&&Ns!=null)return Ns;if(e.constructor.name==="Function"){const o=e();if(xu(o))throw Lo(co.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ns=o}else throw Lo(co.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Lo(co.NOT_SUPPORT_LOCALE_TYPE)}function Ip(e,o,t){return[...new Set([t,...Pe(o)?o:ie(o)?Object.keys(o):V(o)?[o]:[t]])]}function si(e,o,t){const n=V(t)?t:jt,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let a=s.__localeChainCache.get(n);if(!a){a=[];let r=[t];for(;Pe(r);)r=ai(a,r,o);const i=Pe(o)||!ee(o)?o:o.default?o.default:null;r=V(i)?[i]:i,Pe(r)&&ai(a,r,!1),s.__localeChainCache.set(n,a)}return a}function ai(e,o,t){let n=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Up(){return{upper:(e,o)=>o==="text"&&V(e)?e.toUpperCase():o==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,o)=>o==="text"&&V(e)?e.toLowerCase():o==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,o)=>o==="text"&&V(e)?ii(e):o==="vnode"&&ie(e)&&"__v_isVNode"in e?ii(e.children):e}}let li;function ci(e){li=e}let ui;function jp(e){ui=e}let pi;function Bp(e){pi=e}let gi=null;const zp=e=>{gi=e},Vp=()=>gi;let di=null;const $i=e=>{di=e},qp=()=>di;let fi=0;function Hp(e={}){const o=me(e.onWarn)?e.onWarn:vu,t=V(e.version)?e.version:Gp,n=V(e.locale)||me(e.locale)?e.locale:jt,s=me(n)?jt:n,a=Pe(e.fallbackLocale)||ee(e.fallbackLocale)||V(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,r=ee(e.messages)?e.messages:Es(s),i=ee(e.datetimeFormats)?e.datetimeFormats:Es(s),l=ee(e.numberFormats)?e.numberFormats:Es(s),c=De(pe(),e.modifiers,Up()),g=e.pluralRules||pe(),h=me(e.missing)?e.missing:null,y=de(e.missingWarn)||ut(e.missingWarn)?e.missingWarn:!0,S=de(e.fallbackWarn)||ut(e.fallbackWarn)?e.fallbackWarn:!0,M=!!e.fallbackFormat,x=!!e.unresolving,F=me(e.postTranslation)?e.postTranslation:null,I=ee(e.processor)?e.processor:null,G=de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,v=me(e.messageCompiler)?e.messageCompiler:li,N=me(e.messageResolver)?e.messageResolver:ui||yp,E=me(e.localeFallbacker)?e.localeFallbacker:pi||Ip,C=ie(e.fallbackContext)?e.fallbackContext:void 0,B=e,j=ie(B.__datetimeFormatters)?B.__datetimeFormatters:new Map,Z=ie(B.__numberFormatters)?B.__numberFormatters:new Map,q=ie(B.__meta)?B.__meta:{};fi++;const z={version:t,cid:fi,locale:n,fallbackLocale:a,messages:r,modifiers:c,pluralRules:g,missing:h,missingWarn:y,fallbackWarn:S,fallbackFormat:M,unresolving:x,postTranslation:F,processor:I,warnHtmlMessage:G,escapeParameter:k,messageCompiler:v,messageResolver:N,localeFallbacker:E,fallbackContext:C,onWarn:o,__meta:q};return z.datetimeFormats=i,z.numberFormats=l,z.__datetimeFormatters=j,z.__numberFormatters=Z,__INTLIFY_PROD_DEVTOOLS__&&Cp(z,t,q),z}const Es=e=>({[e]:pe()});function Cs(e,o,t,n,s){const{missing:a,onWarn:r}=e;if(a!==null){const i=a(e,t,o,s);return V(i)?i:o}else return o}function Bt(e,o,t){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,t,o)}function Wp(e,o){return e===o?!1:e.split("-")[0]===o.split("-")[0]}function Kp(e,o){const t=o.indexOf(e);if(t===-1)return!1;for(let n=t+1;nXp(t,e)}function Xp(e,o){const t=lp(o);if(t==null)throw Gt(0);if(Ps(t)===1){const a=cp(t);return e.plural(a.reduce((r,i)=>[...r,_i(e,i)],[]))}else return _i(e,t)}function _i(e,o){const t=up(o);if(t!=null)return e.type==="text"?t:e.normalize([t]);{const n=pp(o).reduce((s,a)=>[...s,Rs(e,a)],[]);return e.normalize(n)}}function Rs(e,o){const t=Ps(o);switch(t){case 3:return Tn(o,t);case 9:return Tn(o,t);case 4:{const n=o;if(io(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(io(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gt(t)}case 5:{const n=o;if(io(n,"i")&&Ce(n.i))return e.interpolate(e.list(n.i));if(io(n,"index")&&Ce(n.index))return e.interpolate(e.list(n.index));throw Gt(t)}case 6:{const n=o,s=gp(n),a=dp(n);return e.linked(Rs(e,a),s?Rs(e,s):void 0,e.type)}case 7:return Tn(o,t);case 8:return Tn(o,t);default:throw new Error(`unhandled node on format message part: ${t}`)}}const hi=e=>e;let $t=pe();function mi(e,o={}){let t=!1;const n=o.onError||Fu;return o.onError=s=>{t=!0,n(s)},{...rp(e,o),detectError:t}}const Yp=(e,o)=>{if(!V(e))throw Lo(co.NOT_SUPPORT_NON_STRING_MESSAGE);{de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||hi)(e),s=$t[n];if(s)return s;const{code:a,detectError:r}=mi(e,o),i=new Function(`return ${a}`)();return r?i:$t[n]=i}};function Zp(e,o){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&V(e)){de(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||hi)(e),s=$t[n];if(s)return s;const{ast:a,detectError:r}=mi(e,{...o,location:!1,jit:!0}),i=Ts(a);return r?i:$t[n]=i}else{const t=e.cacheKey;if(t){const n=$t[t];return n||($t[t]=Ts(e))}else return Ts(e)}}const bi=()=>"",Qe=e=>me(e);function yi(e,...o){const{fallbackFormat:t,postTranslation:n,unresolving:s,messageCompiler:a,fallbackLocale:r,messages:i}=e,[l,c]=Os(...o),g=de(c.missingWarn)?c.missingWarn:e.missingWarn,h=de(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,y=de(c.escapeParameter)?c.escapeParameter:e.escapeParameter,S=!!c.resolvedMessage,M=V(c.default)||de(c.default)?de(c.default)?a?l:()=>l:c.default:t?a?l:()=>l:"",x=t||M!=="",F=xs(e,c);y&&Jp(c);let[I,G,k]=S?[l,F,i[F]||pe()]:vi(e,l,F,r,h,g),v=I,N=l;if(!S&&!(V(v)||ko(v)||Qe(v))&&x&&(v=M,N=v),!S&&(!(V(v)||ko(v)||Qe(v))||!V(G)))return s?Rn:l;let E=!1;const C=()=>{E=!0},B=Qe(v)?v:ki(e,l,G,v,N,C);if(E)return v;const j=og(e,G,k,c),Z=Np(j),q=Qp(e,B,Z);let z=n?n(q,l):q;if(y&&V(z)&&(z=Su(z)),__INTLIFY_PROD_DEVTOOLS__){const X={timestamp:Date.now(),key:V(l)?l:Qe(v)?v.key:"",locale:G||(Qe(v)?v.locale:""),format:V(v)?v:Qe(v)?v.source:"",message:z};X.meta=De({},e.__meta,Vp()||{}),Tp(X)}return z}function Jp(e){Pe(e.list)?e.list=e.list.map(o=>V(o)?Or(o):o):ie(e.named)&&Object.keys(e.named).forEach(o=>{V(e.named[o])&&(e.named[o]=Or(e.named[o]))})}function vi(e,o,t,n,s,a){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,g=c(e,n,t);let h=pe(),y,S=null;const M="translate";for(let x=0;xn;return c.locale=t,c.key=o,c}const l=r(n,eg(e,t,s,n,i,a));return l.locale=t,l.key=o,l.source=n,l}function Qp(e,o,t){return o(t)}function Os(...e){const[o,t,n]=e,s=pe();if(!V(o)&&!Ce(o)&&!Qe(o)&&!ko(o))throw Lo(co.INVALID_ARGUMENT);const a=Ce(o)?String(o):(Qe(o),o);return Ce(t)?s.plural=t:V(t)?s.default=t:ee(t)&&!Pn(t)?s.named=t:Pe(t)&&(s.list=t),Ce(n)?s.plural=n:V(n)?s.default=n:ee(n)&&De(s,n),[a,s]}function eg(e,o,t,n,s,a){return{locale:o,key:t,warnHtmlMessage:s,onError:r=>{throw a&&a(r),r},onCacheKey:r=>ku(o,t,r)}}function og(e,o,t,n){const{modifiers:s,pluralRules:a,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:g}=e,y={locale:o,modifiers:s,pluralRules:a,messages:S=>{let M=r(t,S);if(M==null&&g){const[,,x]=vi(g,S,o,i,l,c);M=r(x,S)}if(V(M)||ko(M)){let x=!1;const I=ki(e,S,o,M,S,()=>{x=!0});return x?bi:I}else return Qe(M)?M:bi}};return e.processor&&(y.processor=e.processor),n.list&&(y.list=n.list),n.named&&(y.named=n.named),Ce(n.plural)&&(y.pluralIndex=n.plural),y}function Li(e,...o){const{datetimeFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,g,h]=Ms(...o),y=de(g.missingWarn)?g.missingWarn:e.missingWarn;de(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const S=!!g.part,M=xs(e,g),x=r(e,s,M);if(!V(l)||l==="")return new Intl.DateTimeFormat(M,h).format(c);let F={},I,G=null;const k="datetime format";for(let E=0;E{wi.includes(l)?r[l]=t[l]:a[l]=t[l]}),V(n)?a.locale=n:ee(n)&&(r=n),ee(s)&&(r=s),[a.key||"",i,a,r]}function Ai(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function Si(e,...o){const{numberFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,g,h]=Is(...o),y=de(g.missingWarn)?g.missingWarn:e.missingWarn;de(g.fallbackWarn)?g.fallbackWarn:e.fallbackWarn;const S=!!g.part,M=xs(e,g),x=r(e,s,M);if(!V(l)||l==="")return new Intl.NumberFormat(M,h).format(c);let F={},I,G=null;const k="number format";for(let E=0;E{Pi.includes(l)?r[l]=t[l]:a[l]=t[l]}),V(n)?a.locale=n:ee(n)&&(r=n),ee(s)&&(r=s),[a.key||"",i,a,r]}function xi(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}ip();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const tg="9.14.5";function ng(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Oo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Oo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1)}const sg=Ip.__EXTEND_POINT__,Fo=xn(sg);Fo(),Fo(),Fo(),Fo(),Fo(),Fo(),Fo(),Fo(),Fo();const Ei=co.__EXTEND_POINT__,We=xn(Ei),Mo={UNEXPECTED_RETURN_TYPE:Ei,INVALID_ARGUMENT:We(),MUST_BE_CALL_SETUP_TOP:We(),NOT_INSTALLED:We(),NOT_AVAILABLE_IN_LEGACY_MODE:We(),REQUIRED_VALUE:We(),INVALID_VALUE:We(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:We(),NOT_INSTALLED_WITH_PROVIDE:We(),UNEXPECTED_ERROR:We(),NOT_COMPATIBLE_LEGACY_VUE_I18N:We(),BRIDGE_SUPPORT_VUE_2_ONLY:We(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:We(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:We(),__EXTEND_POINT__:We()};function zo(e,...o){return pt(e,null,void 0)}const Ms=Jo("__translateVNode"),Ds=Jo("__datetimeParts"),Gs=Jo("__numberParts"),ag=Jo("__setPluralRules"),Ci=Jo("__injectWithOption"),Us=Jo("__dispose");function Vt(e){if(!ie(e)||ko(e))return e;for(const o in e)if(io(e,o))if(!o.includes("."))ie(e[o])&&Vt(e[o]);else{const t=o.split("."),n=t.length-1;let s=e,a=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||pe(),Cn(c,r[l])):Cn(c,r)}else z(i)&&Cn(JSON.parse(i),r)}),s==null&&a)for(const i in r)io(r,i)&&Vt(r[i]);return r}function Ti(e){return e.type}function rg(e,o,t){let n=ie(o.messages)?o.messages:pe();"__i18nGlobal"in t&&(n=js(e.locale.value,{messages:n,__i18n:t.__i18nGlobal}));const s=Object.keys(n);s.length&&s.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(ie(o.datetimeFormats)){const a=Object.keys(o.datetimeFormats);a.length&&a.forEach(r=>{e.mergeDateTimeFormat(r,o.datetimeFormats[r])})}if(ie(o.numberFormats)){const a=Object.keys(o.numberFormats);a.length&&a.forEach(r=>{e.mergeNumberFormat(r,o.numberFormats[r])})}}}function Ni(e){return Se(Tt,null,e,0)}const Ri="__INTLIFY_META__",Oi=()=>[],ig=()=>!1;let Ii=0;function Fi(e){return(o,t,n,s)=>e(t,n,Ot()||void 0,s)}const lg=()=>{const e=Ot();let o=null;return e&&(o=Ti(e)[Ri])?{[Ri]:o}:null};function cg(e={},o){const{__root:t,__injectWithOption:n}=e,s=t===void 0,a=e.flatJson,r=Nr?ke:ba,i=!!e.translateExistCompatible;let l=de(e.inheritLocale)?e.inheritLocale:!0;const c=r(t&&l?t.locale.value:z(e.locale)?e.locale:jt),g=r(t&&l?t.fallbackLocale.value:z(e.fallbackLocale)||Pe(e.fallbackLocale)||ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=r(js(c.value,e)),y=r(ee(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),S=r(ee(e.numberFormats)?e.numberFormats:{[c.value]:{}});let I=t?t.missingWarn:de(e.missingWarn)||ut(e.missingWarn)?e.missingWarn:!0,x=t?t.fallbackWarn:de(e.fallbackWarn)||ut(e.fallbackWarn)?e.fallbackWarn:!0,M=t?t.fallbackRoot:de(e.fallbackRoot)?e.fallbackRoot:!0,F=!!e.fallbackFormat,G=me(e.missing)?e.missing:null,k=me(e.missing)?Fi(e.missing):null,v=me(e.postTranslation)?e.postTranslation:null,E=t?t.warnHtmlMessage:de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,C=!!e.escapeParameter;const T=t?t.modifiers:ee(e.modifiers)?e.modifiers:{};let B=e.pluralRules||t&&t.pluralRules,j;j=(()=>{s&&$i(null);const b={version:tg,locale:c.value,fallbackLocale:g.value,messages:h.value,modifiers:T,pluralRules:B,missing:k===null?void 0:k,missingWarn:I,fallbackWarn:x,fallbackFormat:F,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:E,escapeParameter:C,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};b.datetimeFormats=y.value,b.numberFormats=S.value,b.__datetimeFormatters=ee(j)?j.__datetimeFormatters:void 0,b.__numberFormatters=ee(j)?j.__numberFormatters:void 0;const L=Hp(b);return s&&$i(L),L})(),Bt(j,c.value,g.value);function q(){return[c.value,g.value,h.value,y.value,S.value]}const V=ce({get:()=>c.value,set:b=>{c.value=b,j.locale=c.value}}),X=ce({get:()=>g.value,set:b=>{g.value=b,j.fallbackLocale=g.value,Bt(j,c.value,b)}}),xe=ce(()=>h.value),Ne=ce(()=>y.value),ne=ce(()=>S.value);function J(){return me(v)?v:null}function oe(b){v=b,j.postTranslation=b}function be(){return G}function Fe(b){b!==null&&(k=Fi(b)),G=b,j.missing=k}const ge=(b,L,O,H,se,ve)=>{q();let _e;try{__INTLIFY_PROD_DEVTOOLS__,s||(j.fallbackContext=t?qp():void 0),_e=b(j)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(j.fallbackContext=void 0)}if(O!=="translate exists"&&Te(_e)&&_e===Rn||O==="translate exists"&&!_e){const[to,no]=L();return t&&M?H(t):se(to)}else{if(ve(_e))return _e;throw zo(Mo.UNEXPECTED_RETURN_TYPE)}};function ye(...b){return ge(L=>Reflect.apply(yi,null,[L,...b]),()=>Os(...b),"translate",L=>Reflect.apply(L.t,L,[...b]),L=>L,L=>z(L))}function eo(...b){const[L,O,H]=b;if(H&&!ie(H))throw zo(Mo.INVALID_ARGUMENT);return ye(L,O,De({resolvedMessage:!0},H||{}))}function Ee(...b){return ge(L=>Reflect.apply(Li,null,[L,...b]),()=>Is(...b),"datetime format",L=>Reflect.apply(L.d,L,[...b]),()=>ri,L=>z(L))}function Ye(...b){return ge(L=>Reflect.apply(Si,null,[L,...b]),()=>Fs(...b),"number format",L=>Reflect.apply(L.n,L,[...b]),()=>ri,L=>z(L))}function Ve(b){return b.map(L=>z(L)||Te(L)||de(L)?Ni(String(L)):L)}const uo={normalize:Ve,interpolate:b=>b,type:"vnode"};function wo(...b){return ge(L=>{let O;const H=L;try{H.processor=uo,O=Reflect.apply(yi,null,[H,...b])}finally{H.processor=null}return O},()=>Os(...b),"translate",L=>L[Ms](...b),L=>[Ni(L)],L=>Pe(L))}function ze(...b){return ge(L=>Reflect.apply(Si,null,[L,...b]),()=>Fs(...b),"number format",L=>L[Gs](...b),Oi,L=>z(L)||Pe(L))}function qo(...b){return ge(L=>Reflect.apply(Li,null,[L,...b]),()=>Is(...b),"datetime format",L=>L[Ds](...b),Oi,L=>z(L)||Pe(L))}function $(b){B=b,j.pluralRules=B}function m(b,L){return ge(()=>{if(!b)return!1;const O=z(L)?L:c.value,H=R(O),se=j.messageResolver(H,b);return i?se!=null:ko(se)||Qe(se)||z(se)},()=>[b],"translate exists",O=>Reflect.apply(O.te,O,[b,L]),ig,O=>de(O))}function _(b){let L=null;const O=si(j,g.value,c.value);for(let H=0;H{l&&(c.value=b,j.locale=b,Bt(j,c.value,g.value))}),xo(t.fallbackLocale,b=>{l&&(g.value=b,j.fallbackLocale=b,Bt(j,c.value,g.value))}));const A={id:Ii,locale:V,fallbackLocale:X,get inheritLocale(){return l},set inheritLocale(b){l=b,b&&t&&(c.value=t.locale.value,g.value=t.fallbackLocale.value,Bt(j,c.value,g.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:xe,get modifiers(){return T},get pluralRules(){return B||{}},get isGlobal(){return s},get missingWarn(){return I},set missingWarn(b){I=b,j.missingWarn=I},get fallbackWarn(){return x},set fallbackWarn(b){x=b,j.fallbackWarn=x},get fallbackRoot(){return M},set fallbackRoot(b){M=b},get fallbackFormat(){return F},set fallbackFormat(b){F=b,j.fallbackFormat=F},get warnHtmlMessage(){return E},set warnHtmlMessage(b){E=b,j.warnHtmlMessage=b},get escapeParameter(){return C},set escapeParameter(b){C=b,j.escapeParameter=b},t:ye,getLocaleMessage:R,setLocaleMessage:N,mergeLocaleMessage:U,getPostTranslationHandler:J,setPostTranslationHandler:oe,getMissingHandler:be,setMissingHandler:Fe,[ag]:$};return A.datetimeFormats=Ne,A.numberFormats=ne,A.rt=eo,A.te=m,A.tm=P,A.d=Ee,A.n=Ye,A.getDateTimeFormat=D,A.setDateTimeFormat=u,A.mergeDateTimeFormat=p,A.getNumberFormat=d,A.setNumberFormat=f,A.mergeNumberFormat=w,A[Ci]=n,A[Ms]=wo,A[Ds]=qo,A[Gs]=ze,A}const Bs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function ug({slots:e},o){return o.length===1&&o[0]==="default"?(e.default?e.default():[]).reduce((n,s)=>[...n,...s.type===Ce?s.children:[s]],[]):o.reduce((t,n)=>{const s=e[n];return s&&(t[n]=s()),t},pe())}function Mi(e){return Ce}De({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},Bs);function pg(e){return Pe(e)&&!z(e[0])}function Di(e,o,t,n){const{slots:s,attrs:a}=o;return()=>{const r={part:!0};let i=pe();e.locale&&(r.locale=e.locale),z(e.format)?r.key=e.format:ie(e.format)&&(z(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((y,S)=>t.includes(S)?De(pe(),y,{[S]:e.format[S]}):y,pe()));const l=n(e.value,r,i);let c=[r.key];Pe(l)?c=l.map((y,S)=>{const I=s[y.type],x=I?I({[y.type]:y.value,index:S,parts:l}):[y.value];return pg(x)&&(x[0].key=`${y.type}-${S}`),x}):z(l)&&(c=[l]);const g=De(pe(),a),h=z(e.tag)||ie(e.tag)?e.tag:Mi();return hr(h,g,c)}}De({value:{type:Number,required:!0},format:{type:[String,Object]}},Bs),De({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Bs);const gg=Jo("global-vue-i18n");function On(e={}){const o=Ot();if(o==null)throw zo(Mo.MUST_BE_CALL_SETUP_TOP);if(!o.isCE&&o.appContext.app!=null&&!o.appContext.app.__VUE_I18N_SYMBOL__)throw zo(Mo.NOT_INSTALLED);const t=dg(o),n=fg(t),s=Ti(o),a=$g(e,s);if(__VUE_I18N_LEGACY_API__&&t.mode==="legacy"&&!e.__useComponent){if(!t.allowComposition)throw zo(Mo.NOT_AVAILABLE_IN_LEGACY_MODE);return bg(o,a,n,e)}if(a==="global")return rg(n,e,s),n;if(a==="parent"){let l=_g(t,o,e.__useComponent);return l==null&&(l=n),l}const r=t;let i=r.__getInstance(o);if(i==null){const l=De({},e);"__i18n"in s&&(l.__i18n=s.__i18n),n&&(l.__root=n),i=cg(l),r.__composerExtend&&(i[Us]=r.__composerExtend(i)),mg(r,o,i),r.__setInstance(o,i)}return i}function dg(e){{const o=St(e.isCE?gg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!o)throw zo(e.isCE?Mo.NOT_INSTALLED_WITH_PROVIDE:Mo.UNEXPECTED_ERROR);return o}}function $g(e,o){return Pn(e)?"__i18n"in o?"local":"global":e.useScope?e.useScope:"local"}function fg(e){return e.mode==="composition"?e.global:e.global.__composer}function _g(e,o,t=!1){let n=null;const s=o.root;let a=hg(o,t);for(;a!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(a);i!=null&&(n=i.__composer,t&&n&&!n[Ci]&&(n=null))}if(n!=null||s===a)break;a=a.parent}return n}function hg(e,o=!1){return e==null?null:o&&e.vnode.ctx||e.parent}function mg(e,o,t){ls(()=>{},o),cs(()=>{const n=t;e.__deleteInstance(o);const s=n[Us];s&&(s(),delete n[Us])},o)}function bg(e,o,t,n={}){const s=o==="local",a=ba(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw zo(Mo.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=de(n.inheritLocale)?n.inheritLocale:!z(n.locale),i=ke(!s||r?t.locale.value:z(n.locale)?n.locale:jt),l=ke(!s||r?t.fallbackLocale.value:z(n.fallbackLocale)||Pe(n.fallbackLocale)||ee(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ke(js(i.value,n)),g=ke(ee(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),h=ke(ee(n.numberFormats)?n.numberFormats:{[i.value]:{}}),y=s?t.missingWarn:de(n.missingWarn)||ut(n.missingWarn)?n.missingWarn:!0,S=s?t.fallbackWarn:de(n.fallbackWarn)||ut(n.fallbackWarn)?n.fallbackWarn:!0,I=s?t.fallbackRoot:de(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,M=me(n.missing)?n.missing:null,F=me(n.postTranslation)?n.postTranslation:null,G=s?t.warnHtmlMessage:de(n.warnHtmlMessage)?n.warnHtmlMessage:!0,k=!!n.escapeParameter,v=s?t.modifiers:ee(n.modifiers)?n.modifiers:{},E=n.pluralRules||s&&t.pluralRules;function C(){return[i.value,l.value,c.value,g.value,h.value]}const T=ce({get:()=>a.value?a.value.locale.value:i.value,set:_=>{a.value&&(a.value.locale.value=_),i.value=_}}),B=ce({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:_=>{a.value&&(a.value.fallbackLocale.value=_),l.value=_}}),j=ce(()=>a.value?a.value.messages.value:c.value),Z=ce(()=>g.value),q=ce(()=>h.value);function V(){return a.value?a.value.getPostTranslationHandler():F}function X(_){a.value&&a.value.setPostTranslationHandler(_)}function xe(){return a.value?a.value.getMissingHandler():M}function Ne(_){a.value&&a.value.setMissingHandler(_)}function ne(_){return C(),_()}function J(..._){return a.value?ne(()=>Reflect.apply(a.value.t,null,[..._])):ne(()=>"")}function oe(..._){return a.value?Reflect.apply(a.value.rt,null,[..._]):""}function be(..._){return a.value?ne(()=>Reflect.apply(a.value.d,null,[..._])):ne(()=>"")}function Fe(..._){return a.value?ne(()=>Reflect.apply(a.value.n,null,[..._])):ne(()=>"")}function ge(_){return a.value?a.value.tm(_):{}}function ye(_,P){return a.value?a.value.te(_,P):!1}function eo(_){return a.value?a.value.getLocaleMessage(_):{}}function Ee(_,P){a.value&&(a.value.setLocaleMessage(_,P),c.value[_]=P)}function Ye(_,P){a.value&&a.value.mergeLocaleMessage(_,P)}function Ve(_){return a.value?a.value.getDateTimeFormat(_):{}}function oo(_,P){a.value&&(a.value.setDateTimeFormat(_,P),g.value[_]=P)}function uo(_,P){a.value&&a.value.mergeDateTimeFormat(_,P)}function wo(_){return a.value?a.value.getNumberFormat(_):{}}function ze(_,P){a.value&&(a.value.setNumberFormat(_,P),h.value[_]=P)}function qo(_,P){a.value&&a.value.mergeNumberFormat(_,P)}const $={get id(){return a.value?a.value.id:-1},locale:T,fallbackLocale:B,messages:j,datetimeFormats:Z,numberFormats:q,get inheritLocale(){return a.value?a.value.inheritLocale:r},set inheritLocale(_){a.value&&(a.value.inheritLocale=_)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:v},get pluralRules(){return a.value?a.value.pluralRules:E},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:y},set missingWarn(_){a.value&&(a.value.missingWarn=_)},get fallbackWarn(){return a.value?a.value.fallbackWarn:S},set fallbackWarn(_){a.value&&(a.value.missingWarn=_)},get fallbackRoot(){return a.value?a.value.fallbackRoot:I},set fallbackRoot(_){a.value&&(a.value.fallbackRoot=_)},get fallbackFormat(){return a.value?a.value.fallbackFormat:x},set fallbackFormat(_){a.value&&(a.value.fallbackFormat=_)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:G},set warnHtmlMessage(_){a.value&&(a.value.warnHtmlMessage=_)},get escapeParameter(){return a.value?a.value.escapeParameter:k},set escapeParameter(_){a.value&&(a.value.escapeParameter=_)},t:J,getPostTranslationHandler:V,setPostTranslationHandler:X,getMissingHandler:xe,setMissingHandler:Ne,rt:oe,d:be,n:Fe,tm:ge,te:ye,getLocaleMessage:eo,setLocaleMessage:Ee,mergeLocaleMessage:Ye,getDateTimeFormat:Ve,setDateTimeFormat:oo,mergeDateTimeFormat:uo,getNumberFormat:wo,setNumberFormat:ze,mergeNumberFormat:qo};function m(_){_.locale.value=i.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{_.mergeLocaleMessage(P,c.value[P])}),Object.keys(g.value).forEach(P=>{_.mergeDateTimeFormat(P,g.value[P])}),Object.keys(h.value).forEach(P=>{_.mergeNumberFormat(P,h.value[P])}),_.escapeParameter=k,_.fallbackFormat=x,_.fallbackRoot=I,_.fallbackWarn=S,_.missingWarn=y,_.warnHtmlMessage=G}return Fa(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw zo(Mo.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=a.value=e.proxy.$i18n.__composer;o==="global"?(i.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,g.value=_.datetimeFormats.value,h.value=_.numberFormats.value):s&&m(_)}),$}if(ng(),__INTLIFY_JIT_COMPILATION__?ci(Zp):ci(Yp),jp(vp),Bp(si),__INTLIFY_PROD_DEVTOOLS__){const e=Oo();e.__INTLIFY__=!0,Cp(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const yg=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",vg=["data-active","aria-expanded"],kg={class:"filter-dropdown__label"},Lg=["value","placeholder"],wg={class:"filter-dropdown__options"},Ag={key:0,class:"filter-dropdown__no-options"},Sg=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],Pg={class:"filter-dropdown__count"},In=ws({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:o}){const t=e,n={"buttons.clearSelection":"Clear selection","buttons.noOptions":"No options found"};let s=q=>n[q]||q;try{s=On().t}catch{}const a=o,r=ke(!1),i=ke(""),l=ke(-1),c=ke(null),g=ke(null),h=ke(null),y=ke({});function S(q){const V=q.ownerDocument,X=V.createElement("div");X.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(q.parentElement||q.getRootNode().body||V.body).appendChild(X);const Ne=X.getBoundingClientRect();return X.remove(),{x:Ne.left,y:Ne.top}}function I(){const q=h.value;if(!q)return;const V=q.getBoundingClientRect(),X=window.innerWidth,xe=window.innerHeight,Ne=320,ne=4,J=8,be=Math.round(Math.min(Math.max(V.width,240),X-J*2)),Fe=V.right>J&&V.leftX-J?ge=Math.round(Math.max(V.right-be,J)):ge=Math.round(Math.max(V.left,J)):ge=Math.round(Math.min(Math.max(V.left,J),X-be-J));const ye=xe-V.bottom,eo=ye<180&&V.top>ye,Ee=S(q),Ye=Math.round(ge-Ee.x);y.value=eo?{top:"auto",bottom:`${Math.round(xe-V.top+ne+Ee.y)}px`,left:`${Ye}px`,width:`${be}px`,maxHeight:`${Math.round(Math.min(Ne,V.top-ne-J))}px`}:{top:`${Math.round(V.bottom+ne-Ee.y)}px`,bottom:"auto",left:`${Ye}px`,width:`${be}px`,maxHeight:`${Math.round(Math.min(Ne,ye-ne-J))}px`}}function x(){r.value&&I()}const M=ce(()=>{if(!i.value)return t.options;const q=i.value.toLowerCase();return t.options.filter(V=>V.label.toLowerCase().includes(q))}),F=ce(()=>t.options.find(q=>q.value===t.value));function G(q){var X;const V=((X=q.composedPath)==null?void 0:X.call(q))??[];c.value&&!V.includes(c.value)&&E()}function k(){r.value?E():v()}function v(){r.value=!0,i.value="",l.value=-1,I(),document.addEventListener("click",G),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),pn(()=>{var q;I(),(q=g.value)==null||q.focus()})}function E(){r.value=!1,i.value="",l.value=-1,document.removeEventListener("click",G),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function C(q){i.value=q.target.value,l.value=-1}function T(q){const V=M.value;switch(q.key){case"ArrowDown":q.preventDefault(),l.value=Math.min(l.value+1,V.length-1),B();break;case"ArrowUp":q.preventDefault(),l.value=Math.max(l.value-1,0),B();break;case"Enter":{q.preventDefault();const X=V[l.value];X&&j(X);break}case"Escape":q.preventDefault(),E();break}}function B(){pn(()=>{var V;const q=(V=c.value)==null?void 0:V.querySelector(".filter-dropdown__option[data-highlighted]");q==null||q.scrollIntoView({block:"nearest"})})}function j(q){a("filter-change",{name:t.name,value:q.value,label:q.label,type:q.type}),E()}function Z(){a("filter-clear",{name:t.name}),E()}return Ma(()=>{document.removeEventListener("click",G),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(q,V)=>(Q(),te("div",{ref_key:"rootRef",ref:c,class:Qt(["filter-dropdown",{"is-open":r.value}])},[re("button",{ref_key:"triggerRef",ref:h,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:k},[re("span",kg,[F.value?(Q(),te(Ce,{key:0},[To(Ae(e.label)+": ",1),re("strong",null,Ae(F.value.label),1)],64)):(Q(),te(Ce,{key:1},[To(Ae(e.label),1)],64))]),V[0]||(V[0]=re("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[re("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,vg),r.value?(Q(),te("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:tt(y.value)},[re("input",{ref_key:"searchInputRef",ref:g,class:"filter-dropdown__search",type:"text",value:i.value,placeholder:e.placeholder,onInput:C,onKeydown:T},null,40,Lg),e.value?(Q(),te("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:Z},Ae(Lt(s)("buttons.clearSelection")),1)):Ie("",!0),re("div",wg,[M.value.length===0?(Q(),te("div",Ag,Ae(Lt(s)("buttons.noOptions")),1)):(Q(!0),te(Ce,{key:1},hn(M.value,(X,xe)=>(Q(),te("div",{key:X.value,class:"filter-dropdown__option",role:"option","data-highlighted":xe===l.value?"":void 0,"data-selected":X.value===e.value?"":void 0,"aria-selected":X.value===e.value,onClick:Ne=>j(X),onMouseenter:Ne=>l.value=xe},[re("span",null,Ae(X.label),1),re("span",Pg,Ae(X.count),1)],40,Sg))),128))])],4)):Ie("",!0)],2))}},[["styles",[yg]]]),xg=Fn&&Fn.tagName.toUpperCase()==="SCRIPT"&&Fn.src||new URL("people-groups-grid.js",document.baseURI).href,zt=e=>String(e||"").trim().replace(/\/+$/,"");function Eg(){try{const o=String(xg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!o||o[2]!==o[3]?null:o[1]||null}catch{return null}}function Cg(e){const o=e==null?void 0:e.assetsBase;if(typeof o=="string"&&o.trim()){const n=zt(o);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const t=zt((e==null?void 0:e.treeBase)||"")||zt(Eg()||"");if(t)try{const n=typeof document<"u"?document.baseURI:void 0;return zt(new URL(t+"/assets",n).href)}catch{return zt(t+"/assets")}return"./assets"}const Tg=Object.assign({"./locales/ar/allPeopleGroups.json":{title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},"./locales/ar/aria.json":{backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},"./locales/ar/buttons.json":{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:"الملصقات في كل صف"},"./locales/ar/connectivity.json":{title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},"./locales/ar/controls.json":{research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},"./locales/ar/dashboard.json":{bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},"./locales/ar/detail.json":{labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},"./locales/ar/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},"./locales/ar/legend.json":{title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},"./locales/ar/options.json":{clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},"./locales/ar/popup.json":{country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},"./locales/ar/prayerLaps.json":{header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},"./locales/ar/regions.json":{"%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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},"./locales/ar/search.json":{placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},"./locales/ar/studio.json":{title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}"},"./locales/ar/tabs.json":{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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},"./locales/ar/vision.json":{kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},"./locales/de/allPeopleGroups.json":{title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},"./locales/de/aria.json":{backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},"./locales/de/buttons.json":{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"},"./locales/de/connectivity.json":{title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},"./locales/de/controls.json":{research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},"./locales/de/dashboard.json":{bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},"./locales/de/detail.json":{labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},"./locales/de/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},"./locales/de/legend.json":{title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},"./locales/de/options.json":{clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},"./locales/de/popup.json":{country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},"./locales/de/prayerLaps.json":{header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},"./locales/de/regions.json":{"%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."},"./locales/de/search.json":{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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},"./locales/de/studio.json":{title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}"},"./locales/de/tabs.json":{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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},"./locales/de/vision.json":{kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},"./locales/en/allPeopleGroups.json":{title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},"./locales/en/aria.json":{backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},"./locales/en/buttons.json":{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"},"./locales/en/connectivity.json":{title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},"./locales/en/controls.json":{research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},"./locales/en/dashboard.json":{bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},"./locales/en/detail.json":{labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},"./locales/en/gospel.json":{_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},"./locales/en/legend.json":{title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},"./locales/en/options.json":{clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},"./locales/en/popup.json":{country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},"./locales/en/prayerLaps.json":{header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},"./locales/en/regions.json":{"%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."},"./locales/en/search.json":{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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},"./locales/en/studio.json":{title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}"},"./locales/en/tabs.json":{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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},"./locales/en/vision.json":{kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},"./locales/es/allPeopleGroups.json":{title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},"./locales/es/aria.json":{backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},"./locales/es/buttons.json":{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"},"./locales/es/connectivity.json":{title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},"./locales/es/controls.json":{research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},"./locales/es/dashboard.json":{bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},"./locales/es/detail.json":{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."}},"./locales/es/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},"./locales/es/legend.json":{title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},"./locales/es/options.json":{clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},"./locales/es/popup.json":{country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},"./locales/es/prayerLaps.json":{header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},"./locales/es/regions.json":{"%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."},"./locales/es/search.json":{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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},"./locales/es/studio.json":{title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}"},"./locales/es/tabs.json":{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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},"./locales/es/vision.json":{kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},"./locales/fr/allPeopleGroups.json":{title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},"./locales/fr/aria.json":{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"},"./locales/fr/buttons.json":{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"},"./locales/fr/connectivity.json":{title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},"./locales/fr/controls.json":{research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},"./locales/fr/dashboard.json":{bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},"./locales/fr/detail.json":{labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},"./locales/fr/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},"./locales/fr/legend.json":{title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},"./locales/fr/options.json":{clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},"./locales/fr/popup.json":{country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},"./locales/fr/prayerLaps.json":{header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},"./locales/fr/regions.json":{"%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."},"./locales/fr/search.json":{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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},"./locales/fr/studio.json":{title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}"},"./locales/fr/tabs.json":{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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},"./locales/fr/vision.json":{kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},"./locales/hi/allPeopleGroups.json":{title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},"./locales/hi/aria.json":{backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},"./locales/hi/buttons.json":{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:"प्रति पंक्ति पोस्टर"},"./locales/hi/connectivity.json":{title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},"./locales/hi/controls.json":{research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},"./locales/hi/dashboard.json":{bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},"./locales/hi/detail.json":{labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},"./locales/hi/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},"./locales/hi/legend.json":{title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},"./locales/hi/options.json":{clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},"./locales/hi/popup.json":{country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},"./locales/hi/prayerLaps.json":{header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},"./locales/hi/regions.json":{"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},"./locales/hi/search.json":{placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},"./locales/hi/studio.json":{title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}"},"./locales/hi/tabs.json":{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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},"./locales/hi/vision.json":{kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},"./locales/it/allPeopleGroups.json":{title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},"./locales/it/aria.json":{backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},"./locales/it/buttons.json":{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"},"./locales/it/connectivity.json":{title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},"./locales/it/controls.json":{research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},"./locales/it/dashboard.json":{bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},"./locales/it/detail.json":{labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},"./locales/it/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},"./locales/it/legend.json":{title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},"./locales/it/options.json":{clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},"./locales/it/popup.json":{country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},"./locales/it/prayerLaps.json":{header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},"./locales/it/regions.json":{"%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."},"./locales/it/search.json":{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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},"./locales/it/studio.json":{title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}"},"./locales/it/tabs.json":{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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},"./locales/it/vision.json":{kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},"./locales/pt/allPeopleGroups.json":{title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},"./locales/pt/aria.json":{backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},"./locales/pt/buttons.json":{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"},"./locales/pt/connectivity.json":{title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},"./locales/pt/controls.json":{research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},"./locales/pt/dashboard.json":{bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},"./locales/pt/detail.json":{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."}},"./locales/pt/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},"./locales/pt/legend.json":{title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},"./locales/pt/options.json":{clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},"./locales/pt/popup.json":{country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},"./locales/pt/prayerLaps.json":{header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},"./locales/pt/regions.json":{"%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."},"./locales/pt/search.json":{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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},"./locales/pt/studio.json":{title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}"},"./locales/pt/tabs.json":{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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},"./locales/pt/vision.json":{kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},"./locales/ro/allPeopleGroups.json":{title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},"./locales/ro/aria.json":{backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},"./locales/ro/buttons.json":{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"},"./locales/ro/connectivity.json":{title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},"./locales/ro/controls.json":{research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},"./locales/ro/dashboard.json":{bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},"./locales/ro/detail.json":{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ă."}},"./locales/ro/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},"./locales/ro/legend.json":{title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},"./locales/ro/options.json":{clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},"./locales/ro/popup.json":{country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},"./locales/ro/prayerLaps.json":{header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},"./locales/ro/regions.json":{"%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."},"./locales/ro/search.json":{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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},"./locales/ro/studio.json":{title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}"},"./locales/ro/tabs.json":{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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},"./locales/ro/vision.json":{kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},"./locales/ru/allPeopleGroups.json":{title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},"./locales/ru/aria.json":{backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},"./locales/ru/buttons.json":{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:"Плакатов в ряду"},"./locales/ru/connectivity.json":{title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},"./locales/ru/controls.json":{research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},"./locales/ru/dashboard.json":{bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},"./locales/ru/detail.json":{labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},"./locales/ru/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},"./locales/ru/legend.json":{title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},"./locales/ru/options.json":{clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},"./locales/ru/popup.json":{country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},"./locales/ru/prayerLaps.json":{header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},"./locales/ru/regions.json":{"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},"./locales/ru/search.json":{placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},"./locales/ru/studio.json":{title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}"},"./locales/ru/tabs.json":{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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},"./locales/ru/vision.json":{kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},"./locales/zh/allPeopleGroups.json":{title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},"./locales/zh/aria.json":{backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},"./locales/zh/buttons.json":{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:"每行海报数"},"./locales/zh/connectivity.json":{title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},"./locales/zh/controls.json":{research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},"./locales/zh/dashboard.json":{bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},"./locales/zh/detail.json":{labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},"./locales/zh/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},"./locales/zh/legend.json":{title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},"./locales/zh/options.json":{clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},"./locales/zh/popup.json":{country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},"./locales/zh/prayerLaps.json":{header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},"./locales/zh/regions.json":{"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},"./locales/zh/search.json":{placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},"./locales/zh/studio.json":{title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}"},"./locales/zh/tabs.json":{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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},"./locales/zh/vision.json":{kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"}}),qt={};for(const[e,o]of Object.entries(Tg)){const t=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!t)continue;const[,n,s]=t;qt[n]??(qt[n]={}),qt[n][s]=o}const Gi=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Ng(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Rg(){var n;const e=Ng();if(Gi.includes(e))return e;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Gi.includes(t)?t:"en"}const Og="__DOXA_PAGE_LOCALE";function Ig(){try{return typeof window<"u"&&window[Og]||""}catch{return""}}function Fg(e,o){const t=s=>{let a=qt[s];for(const r of String(e).split(".")){if(!a||typeof a!="object")return;a=a[r]}return typeof a=="string"?a:void 0},n=o||Ig()||Rg();return t(n)??t("en")}function Mg(e,o){return String(o||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ui={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Dg={"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"},Gg=(()=>{const e=t=>String(t||"").toLowerCase().trim(),o={};for(const t of Object.keys(Dg))o[e(t)]=t;return o})(),Ug={"tai-kadai":"Kra-Dai",none:"Unknown"};function ji(e){if(!e)return"Unknown";const o=String(e).trim(),t=o.toLowerCase();return Ug[t]||Gg[t]||o}const jg={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Bg=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding-block:18px 8px;min-height:190px}.pgg-search{display:flex;justify-content:center}.pgg-search--repel{gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between;width:100%;max-width:600px;margin-inline:auto}.pgg-search--repel>:first-child{flex:1 1 320px;min-width:0}.pgg-exact{flex:none}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Vg={class:"pgg-root"},zg={key:0,class:"pgg-search pgg-search--repel"},qg=["data-active"],Hg=["aria-expanded"],Wg={key:0,class:"filters__toggle-count"},Kg={key:2,class:"filters__panel"},Xg={key:3,class:"filters__active"},Yg=["onClick"],Zg={class:"pgg-body"},Jg={key:0,class:"repel"},Qg={class:"font-size-sm"},ed={key:1},od={id:"results",class:"grid uupgs-list"},td=["src","alt"],nd={class:"uupg__header"},sd=["innerHTML"],ad={key:0,class:"uupg__country"},rd=["href"],id=["innerHTML"],ld=["innerHTML"],cd=["innerHTML"],ud={key:1,class:"uupg__content"},pd=["href"],gd={key:0,class:"loading"},dd={key:1,class:"pgg-empty pgg-failed",role:"status"},$d={key:2,class:"pgg-empty"},fd=iu(ws(Object.assign({inheritAttrs:!1},{__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},religionFamily:{type:String,default:""},languageFamily:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:o}){const t=e,n=o,s=ce(()=>{if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),a=ce(()=>!h.value&&!y.value?null:{backgroundImage:`url(${Cg(s.value)}/images/worldmap.svg)`,backgroundSize:"60%",backgroundPosition:"top center",backgroundRepeat:"no-repeat"}),r=ce(()=>t.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),i=ce(()=>t.languageCode||s.value.languageCode||""),l=ce(()=>t.researchUrl||s.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),c=ce(()=>{const d={...s.value.t||{},...t.t||{}},f=s.value.locale||s.value.lang||void 0;return new Proxy(d,{get(w,A){if(A in w)return w[A];if(typeof A=="string")return Fg("grid."+A,f)}})}),g=d=>!(d===!1||d==="false"||d==="0"||d===0),h=ce(()=>g(t.showSearch)),y=ce(()=>g(t.showFilters)),S=ce(()=>g(t.showTotal)),I=ke([]),x=ke([]),M=ke(0),F=ke(1),G=ke(!0),k=ke(!1),v=ke(!0),E=ke({}),C=ke(""),T=ke({}),B=ce(()=>h.value?C.value:t.query||""),j=ce(()=>{const d={},f=w=>w;return t.wagfRegion&&(d.wagf_region={value:t.wagfRegion,label:f(t.wagfRegion)}),t.wagfBlock&&(d.wagf_block={value:t.wagfBlock,label:f(t.wagfBlock)}),t.rop1&&(d.rop1={value:t.rop1,label:f(t.rop1)}),t.religion&&(d.religion={value:t.religion,label:f(t.religion)}),t.countryCode&&(d.country_code={value:t.countryCode,label:f(t.countryCode)}),t.primaryLanguage&&(d.primary_language={value:t.primaryLanguage,label:f(t.primaryLanguage)}),t.engagementStatus&&(d.engagement_status={value:t.engagementStatus,label:f(t.engagementStatus)}),t.cluster&&(d.imb_reg_of_people_2={value:t.cluster,label:f(t.cluster)}),t.peopleGroup&&(d.imb_reg_of_people_25={value:t.peopleGroup,label:f(t.peopleGroup)}),t.gospelAccess&&(d.imb_gsec={value:t.gospelAccess,label:f(t.gospelAccess)}),t.religionFamily&&(d.__religion_family={value:t.religionFamily,label:f(t.religionFamily)}),t.languageFamily&&(d.__language_family={value:t.languageFamily,label:f(t.languageFamily)}),d}),Z=ce(()=>y.value?T.value:j.value);xo(()=>t.wagfRegion,d=>{if(!y.value)return;const f=T.value.wagf_region;if(d){if(f&&f.value===d)return;const w=(E.value&&E.value.wagf_region||[]).find(A=>A.value===d);T.value={...T.value,wagf_region:{value:d,label:w&&w.label||d}}}else if(f){const w={...T.value};delete w.wagf_region,T.value=w}}),xo(()=>t.religionFamily,d=>{if(!y.value)return;const f=T.value.__religion_family;if(d){if(f&&Ee(f.value)===Ee(d))return;T.value={...T.value,__religion_family:{value:d,label:d}}}else if(f){const w={...T.value};delete w.__religion_family,T.value=w}}),xo(()=>t.primaryLanguage,d=>{if(!y.value)return;const f=T.value.primary_language;if(d){if(f&&Ee(f.value)===Ee(d))return;T.value={...T.value,primary_language:{value:d,label:d}}}else if(f){const w={...T.value};delete w.primary_language,T.value=w}});const q=ce(()=>Object.values(Z.value||{}).filter(d=>d&&d.value!==""&&d.value!=null).length),V=ce(()=>Object.keys(Z.value).length),X=ce(()=>q.value>0||!!(B.value||"").trim());function xe(d){return d.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ne(d,f=500){let w;return(...A)=>{clearTimeout(w),w=setTimeout(()=>d(...A),f)}}const ne=Ne(()=>{G.value=!0,F.value=1,$()},500);function J(d){C.value=(d==null?void 0:d.value)??"",ne()}function oe(){v.value=!v.value}function be(d){T.value={...T.value,[d.name]:{value:d.value,label:d.label}},F.value=1,$()}function Fe(d){ge(d.name)}function ge(d){const f={...T.value};delete f[d],T.value=f,F.value=1,$()}function ye(){T.value={},F.value=1,$()}function eo(){if(T.value.exact)return ge("exact");T.value={...T.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},F.value=1,$()}const Ee=d=>String(d??"").toLowerCase().replace(/[\s_&-]+/g,""),Ye={__religion_family:d=>{const f=d.religion&&typeof d.religion=="object"?d.religion.value:d.religion,w=String(f||"").charAt(0).toUpperCase(),A=w&&Ui[w]?Ui[w]:"";return A?{value:A,label:A}:null},__language_family:d=>{const f=d.imb_language_family,w=f&&typeof f=="object"?f.label||f.value:f;let A="";if(w)A=ji(w);else{const b=d.primary_language&&typeof d.primary_language=="object"?d.primary_language.value:null,L=b&&jg[b];A=L?ji(L):""}return A?{value:A,label:A}:null}},Ve=(d,f)=>Ye[f]?Ye[f](d):d[f];function oo(d,f){if(!d)return!1;const w=Ee(f==null?void 0:f.value);return w?Ee(d.value)===w||Ee(d.label)===w:!1}function uo(d){let f=d;for(const[w,A]of Object.entries(Z.value))w==="exact"?f=f:f=f.filter(b=>oo(Ve(b,w),A));return f}function wo(){const d=f=>{const w=new Map;for(const A of I.value){const b=A[f];if(!(b!=null&&b.value))continue;const L=w.get(b.value);L?L.count++:w.set(b.value,{label:b.label,count:1})}return Array.from(w.entries()).map(([A,{label:b,count:L}])=>({value:A,label:b,count:L})).sort((A,b)=>A.label.localeCompare(b.label))};E.value={wagf_region:d("wagf_region"),wagf_block:d("wagf_block"),rop1:d("rop1"),religion:d("religion")}}function ze(){const d=Object.keys(E.value),f={};for(const w of d){const A={};for(const[O,H]of Object.entries(Z.value))O!==w&&(A[O]=H);const b=qo(A,I.value),L=new Map;for(const O of b){const H=O[w];H!=null&&H.value&&L.set(H.value,(L.get(H.value)??0)+1)}f[w]=(E.value[w]??[]).map(O=>({...O,count:L.get(O.value)??0}))}E.value=f}function qo(d,f){let w=f;for(const[A,b]of Object.entries(d))A!=="exact"&&(w=w.filter(L=>oo(Ve(L,A),b)));return w}function $(){I.value=I.value.map(L=>(L.matches=[],L.country_label="",L.rop1_label="",L));const f=Object.keys(Z.value).length>0?uo(I.value):I.value,w=B.value;if(!w){x.value=f,M.value=x.value.length,G.value=!1,ze(),P();return}const b=new hu(f,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:Z.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(w);x.value=b.map(L=>{var H;const O={...L.item};if(!L.matches)return O;O.matches=[];for(const se of L.matches){const ve=se.key;if(!ve)continue;let _e="";if(String(ve).includes(".")){const[to,no]=String(ve).split(".");_e=(H=O[to])==null?void 0:H[no]}else _e=O[String(ve)];if(_e&&typeof _e=="string"){let to=0,no="";if(se.indices.forEach((Le,Ke)=>{const Ht=Le[0],ft=Le[1],_d=se.indices.length-1===Ke;no+=xe(_e.slice(to,Ht))+`${xe(_e.slice(Ht,ft+1))}`+(_d?xe(_e.slice(ft+1)):""),to=ft+1}),String(ve).includes("imb_alternate_name"))O.matches.push({key:c.value.alternate_name??"Also known as",label:no});else if(String(ve).includes(".")){const[Le]=String(ve).split("."),Ke={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};Le==="rop1"?O.rop1_label=no:Le==="country_code"?O.country_label=no:Le==="wagf_region"||O.matches.push({key:Ke[Le]??Le,label:no})}else O[String(ve)]=no}}return O}),M.value=x.value.length,G.value=!1,ze(),P()}const m=Ot();function _(){var f,w;const d=((f=m==null?void 0:m.vnode)==null?void 0:f.el)||((w=m==null?void 0:m.proxy)==null?void 0:w.$el);try{const A=d&&d.getRootNode&&d.getRootNode();if(A&&A.host)return A.host}catch{}return d}function P(){const d={query:B.value,activeFilters:Z.value,total:M.value,slugs:x.value.map(w=>w.slug)};n("groups-filtered",d);const f=_();f&&typeof f.dispatchEvent=="function"&&f.dispatchEvent(new CustomEvent("groups-filtered",{detail:d,bubbles:!0,composed:!0}))}function R(){return t.morePerPage>0?M.value>t.perPage+(F.value-1)*t.morePerPage&&!G.value&&x.value.length>0:M.value>F.value*t.perPage&&!G.value&&x.value.length>0}function N(){F.value=F.value+1}const U=ce(()=>t.morePerPage>0?x.value.slice(0,t.perPage+(F.value-1)*t.morePerPage):x.value.slice(0,F.value*t.perPage)),D=ce(()=>R());async function u(){const d=`${r.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec,imb_language_family&lang=${i.value}`;G.value=!0,k.value=!1;try{const f=await fetch(d);if(!f.ok)throw new Error(`HTTP ${f.status}`);const w=await f.json();M.value=w.total,I.value=Array.isArray(w.posts)?w.posts:[],wo(),$()}catch(f){console.error("[people-groups-grid] fetch error:",f),k.value=!0,I.value=[],G.value=!1}}xo(()=>[t.query,j.value,h.value,y.value],()=>{F.value=1,$()});function p(d){const f=new Set;for(const w of I.value||[]){const A=Ve(w,d),b=A&&typeof A=="object"?A.label:A;typeof b=="string"&&b&&f.add(b)}return[...f].sort()}return ls(()=>{const d=_();d&&(d.__vocabulary=p),typeof window<"u"&&(window.__peopleGroupsGridVocabulary=p),u()}),(d,f)=>{var w,A,b,L;return Q(),te("div",Vg,[h.value||y.value?(Q(),te("div",{key:0,id:"filters",class:"filters",style:tt(a.value)},[h.value?(Q(),te("div",zg,[Se(yu,{"model-value":C.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:J},null,8,["model-value","placeholder","aria-label"]),y.value?(Q(),te("button",{key:0,class:"filter-toggle pgg-exact",type:"button","data-active":Z.value.exact?"":void 0,onClick:eo},Ae(c.value.exact_filter||"Exact"),9,qg)):Ie("",!0)])):Ie("",!0),y.value?(Q(),te("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":v.value,onClick:oe},[f[0]||(f[0]=re("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[re("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),To(" "+Ae(v.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),q.value?(Q(),te("span",Wg,Ae(q.value),1)):Ie("",!0),f[1]||(f[1]=re("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[re("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Hg)):Ie("",!0),y.value&&v.value?(Q(),te("div",Kg,[Se(In,{label:c.value.wagf_region||"Region",name:"wagf_region",options:E.value.wagf_region||[],value:((w=Z.value.wagf_region)==null?void 0:w.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Fe},null,8,["label","options","value","placeholder"]),Se(In,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:E.value.wagf_block||[],value:((A=Z.value.wagf_block)==null?void 0:A.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Fe},null,8,["label","options","value","placeholder"]),Se(In,{label:c.value.rop1||"People Group",name:"rop1",options:E.value.rop1||[],value:((b=Z.value.rop1)==null?void 0:b.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Fe},null,8,["label","options","value","placeholder"]),Se(In,{label:c.value.religion||"Religion",name:"religion",options:E.value.religion||[],value:((L=Z.value.religion)==null?void 0:L.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Fe},null,8,["label","options","value","placeholder"])])):Ie("",!0),y.value&&V.value>0?(Q(),te("div",Xg,[(Q(!0),te(Ce,null,hn(Z.value,(O,H)=>(Q(),te("span",{key:H,class:"filter-chip"},[To(Ae(O.label)+" ",1),re("button",{class:"filter-chip__remove",type:"button",onClick:se=>ge(String(H))},"×",8,Yg)]))),128)),re("button",{class:"filters__clear-all",type:"button",onClick:ye},Ae(c.value.clear_all||"Clear All"),1)])):Ie("",!0)],4)):Ie("",!0),re("div",Zg,[S.value||X.value?(Q(),te("div",Jg,[re("div",Qg,[G.value?(Q(),te("span",ed," ")):(Q(),te(Ce,{key:0},[To(Ae(X.value&&!S.value?(c.value.showing||"Showing")+" "+M.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+M.value.toLocaleString("en-US")),1)],64))])])):Ie("",!0),re("div",od,[(Q(!0),te(Ce,null,hn(U.value,O=>(Q(),te("div",{key:O.slug,class:"card uupg__card"},[O.image_url?(Q(),te("img",{key:0,class:"uupg__image",src:O.image_url,alt:O.name},null,8,td)):Ie("",!0),re("div",nd,[re("h3",{class:"uupg__name",innerHTML:O.name},null,8,sd),O.country_code?(Q(),te("p",ad,[re("a",{class:"uupg__country-link",href:`${l.value}../countries/${Lt(Mg)(O.country_code.value,O.country_code.label)}`},[re("span",{innerHTML:O.country_label?O.country_label:O.country_code.label},null,8,id)],8,rd),O.rop1?(Q(),te(Ce,{key:0},[f[2]||(f[2]=To(" (",-1)),re("span",{innerHTML:O.rop1_label?O.rop1_label:O.rop1.label},null,8,ld),f[3]||(f[3]=To(")",-1))],64)):Ie("",!0)])):Ie("",!0),O.matches?(Q(!0),te(Ce,{key:1},hn(O.matches,(H,se)=>(Q(),te("p",{key:se,class:"uupg__match"},[re("strong",null,Ae(H.key),1),f[4]||(f[4]=To(": ",-1)),re("span",{innerHTML:H.label},null,8,cd)]))),128)):Ie("",!0)]),O.location_description?(Q(),te("p",ud,Ae(O.location_description),1)):Ie("",!0),re("a",{class:"uupg__more-button",href:`${l.value}${O.slug}`},Ae(c.value.full_profile||"Full Profile"),9,pd)]))),128)),G.value?(Q(),te("div",gd,Ae(c.value.loading||"Loading…"),1)):k.value?(Q(),te("div",dd,Ae(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):U.value.length?Ie("",!0):(Q(),te("div",$d,Ae(c.value.no_results||"No people groups match this filter."),1))]),D.value?(Q(),te("button",{key:1,class:"pgg-loadmore",type:"button",onClick:N},Ae(c.value.load_more||"Load More"),1)):Ie("",!0)])])}}}),[["styles",[Bg]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",fd))})(); + */const tg="9.14.5";function ng(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Oo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Oo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1)}const sg=Mp.__EXTEND_POINT__,Io=xn(sg);Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io(),Io();const Ni=co.__EXTEND_POINT__,We=xn(Ni),Fo={UNEXPECTED_RETURN_TYPE:Ni,INVALID_ARGUMENT:We(),MUST_BE_CALL_SETUP_TOP:We(),NOT_INSTALLED:We(),NOT_AVAILABLE_IN_LEGACY_MODE:We(),REQUIRED_VALUE:We(),INVALID_VALUE:We(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:We(),NOT_INSTALLED_WITH_PROVIDE:We(),UNEXPECTED_ERROR:We(),NOT_COMPATIBLE_LEGACY_VUE_I18N:We(),BRIDGE_SUPPORT_VUE_2_ONLY:We(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:We(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:We(),__EXTEND_POINT__:We()};function Vo(e,...o){return pt(e,null,void 0)}const Fs=Jo("__translateVNode"),Ds=Jo("__datetimeParts"),Gs=Jo("__numberParts"),ag=Jo("__setPluralRules"),Ei=Jo("__injectWithOption"),Us=Jo("__dispose");function zt(e){if(!ie(e)||ko(e))return e;for(const o in e)if(io(e,o))if(!o.includes("."))ie(e[o])&&zt(e[o]);else{const t=o.split("."),n=t.length-1;let s=e,a=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||pe(),En(c,r[l])):En(c,r)}else V(i)&&En(JSON.parse(i),r)}),s==null&&a)for(const i in r)io(r,i)&&zt(r[i]);return r}function Ci(e){return e.type}function rg(e,o,t){let n=ie(o.messages)?o.messages:pe();"__i18nGlobal"in t&&(n=js(e.locale.value,{messages:n,__i18n:t.__i18nGlobal}));const s=Object.keys(n);s.length&&s.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(ie(o.datetimeFormats)){const a=Object.keys(o.datetimeFormats);a.length&&a.forEach(r=>{e.mergeDateTimeFormat(r,o.datetimeFormats[r])})}if(ie(o.numberFormats)){const a=Object.keys(o.numberFormats);a.length&&a.forEach(r=>{e.mergeNumberFormat(r,o.numberFormats[r])})}}}function Ti(e){return Se(Ct,null,e,0)}const Ri="__INTLIFY_META__",Oi=()=>[],ig=()=>!1;let Mi=0;function Ii(e){return(o,t,n,s)=>e(t,n,Ot()||void 0,s)}const lg=()=>{const e=Ot();let o=null;return e&&(o=Ci(e)[Ri])?{[Ri]:o}:null};function cg(e={},o){const{__root:t,__injectWithOption:n}=e,s=t===void 0,a=e.flatJson,r=Tr?ke:ba,i=!!e.translateExistCompatible;let l=de(e.inheritLocale)?e.inheritLocale:!0;const c=r(t&&l?t.locale.value:V(e.locale)?e.locale:jt),g=r(t&&l?t.fallbackLocale.value:V(e.fallbackLocale)||Pe(e.fallbackLocale)||ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=r(js(c.value,e)),y=r(ee(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),S=r(ee(e.numberFormats)?e.numberFormats:{[c.value]:{}});let M=t?t.missingWarn:de(e.missingWarn)||ut(e.missingWarn)?e.missingWarn:!0,x=t?t.fallbackWarn:de(e.fallbackWarn)||ut(e.fallbackWarn)?e.fallbackWarn:!0,F=t?t.fallbackRoot:de(e.fallbackRoot)?e.fallbackRoot:!0,I=!!e.fallbackFormat,G=me(e.missing)?e.missing:null,k=me(e.missing)?Ii(e.missing):null,v=me(e.postTranslation)?e.postTranslation:null,N=t?t.warnHtmlMessage:de(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter;const C=t?t.modifiers:ee(e.modifiers)?e.modifiers:{};let B=e.pluralRules||t&&t.pluralRules,j;j=(()=>{s&&$i(null);const b={version:tg,locale:c.value,fallbackLocale:g.value,messages:h.value,modifiers:C,pluralRules:B,missing:k===null?void 0:k,missingWarn:M,fallbackWarn:x,fallbackFormat:I,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:N,escapeParameter:E,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};b.datetimeFormats=y.value,b.numberFormats=S.value,b.__datetimeFormatters=ee(j)?j.__datetimeFormatters:void 0,b.__numberFormatters=ee(j)?j.__numberFormatters:void 0;const L=Hp(b);return s&&$i(L),L})(),Bt(j,c.value,g.value);function q(){return[c.value,g.value,h.value,y.value,S.value]}const z=ce({get:()=>c.value,set:b=>{c.value=b,j.locale=c.value}}),X=ce({get:()=>g.value,set:b=>{g.value=b,j.fallbackLocale=g.value,Bt(j,c.value,b)}}),xe=ce(()=>h.value),Te=ce(()=>y.value),ne=ce(()=>S.value);function J(){return me(v)?v:null}function oe(b){v=b,j.postTranslation=b}function be(){return G}function Ie(b){b!==null&&(k=Ii(b)),G=b,j.missing=k}const ge=(b,L,O,H,se,ve)=>{q();let _e;try{__INTLIFY_PROD_DEVTOOLS__,s||(j.fallbackContext=t?qp():void 0),_e=b(j)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(j.fallbackContext=void 0)}if(O!=="translate exists"&&Ce(_e)&&_e===Rn||O==="translate exists"&&!_e){const[to,no]=L();return t&&F?H(t):se(to)}else{if(ve(_e))return _e;throw Vo(Fo.UNEXPECTED_RETURN_TYPE)}};function ye(...b){return ge(L=>Reflect.apply(yi,null,[L,...b]),()=>Os(...b),"translate",L=>Reflect.apply(L.t,L,[...b]),L=>L,L=>V(L))}function eo(...b){const[L,O,H]=b;if(H&&!ie(H))throw Vo(Fo.INVALID_ARGUMENT);return ye(L,O,De({resolvedMessage:!0},H||{}))}function Ne(...b){return ge(L=>Reflect.apply(Li,null,[L,...b]),()=>Ms(...b),"datetime format",L=>Reflect.apply(L.d,L,[...b]),()=>ri,L=>V(L))}function Ye(...b){return ge(L=>Reflect.apply(Si,null,[L,...b]),()=>Is(...b),"number format",L=>Reflect.apply(L.n,L,[...b]),()=>ri,L=>V(L))}function ze(b){return b.map(L=>V(L)||Ce(L)||de(L)?Ti(String(L)):L)}const uo={normalize:ze,interpolate:b=>b,type:"vnode"};function wo(...b){return ge(L=>{let O;const H=L;try{H.processor=uo,O=Reflect.apply(yi,null,[H,...b])}finally{H.processor=null}return O},()=>Os(...b),"translate",L=>L[Fs](...b),L=>[Ti(L)],L=>Pe(L))}function Ve(...b){return ge(L=>Reflect.apply(Si,null,[L,...b]),()=>Is(...b),"number format",L=>L[Gs](...b),Oi,L=>V(L)||Pe(L))}function qo(...b){return ge(L=>Reflect.apply(Li,null,[L,...b]),()=>Ms(...b),"datetime format",L=>L[Ds](...b),Oi,L=>V(L)||Pe(L))}function $(b){B=b,j.pluralRules=B}function m(b,L){return ge(()=>{if(!b)return!1;const O=V(L)?L:c.value,H=R(O),se=j.messageResolver(H,b);return i?se!=null:ko(se)||Qe(se)||V(se)},()=>[b],"translate exists",O=>Reflect.apply(O.te,O,[b,L]),ig,O=>de(O))}function _(b){let L=null;const O=si(j,g.value,c.value);for(let H=0;H{l&&(c.value=b,j.locale=b,Bt(j,c.value,g.value))}),xo(t.fallbackLocale,b=>{l&&(g.value=b,j.fallbackLocale=b,Bt(j,c.value,g.value))}));const A={id:Mi,locale:z,fallbackLocale:X,get inheritLocale(){return l},set inheritLocale(b){l=b,b&&t&&(c.value=t.locale.value,g.value=t.fallbackLocale.value,Bt(j,c.value,g.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:xe,get modifiers(){return C},get pluralRules(){return B||{}},get isGlobal(){return s},get missingWarn(){return M},set missingWarn(b){M=b,j.missingWarn=M},get fallbackWarn(){return x},set fallbackWarn(b){x=b,j.fallbackWarn=x},get fallbackRoot(){return F},set fallbackRoot(b){F=b},get fallbackFormat(){return I},set fallbackFormat(b){I=b,j.fallbackFormat=I},get warnHtmlMessage(){return N},set warnHtmlMessage(b){N=b,j.warnHtmlMessage=b},get escapeParameter(){return E},set escapeParameter(b){E=b,j.escapeParameter=b},t:ye,getLocaleMessage:R,setLocaleMessage:T,mergeLocaleMessage:U,getPostTranslationHandler:J,setPostTranslationHandler:oe,getMissingHandler:be,setMissingHandler:Ie,[ag]:$};return A.datetimeFormats=Te,A.numberFormats=ne,A.rt=eo,A.te=m,A.tm=P,A.d=Ne,A.n=Ye,A.getDateTimeFormat=D,A.setDateTimeFormat=u,A.mergeDateTimeFormat=p,A.getNumberFormat=d,A.setNumberFormat=f,A.mergeNumberFormat=w,A[Ei]=n,A[Fs]=wo,A[Ds]=qo,A[Gs]=Ve,A}const Bs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function ug({slots:e},o){return o.length===1&&o[0]==="default"?(e.default?e.default():[]).reduce((n,s)=>[...n,...s.type===Ee?s.children:[s]],[]):o.reduce((t,n)=>{const s=e[n];return s&&(t[n]=s()),t},pe())}function Fi(e){return Ee}De({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ce(e)||!isNaN(e)}},Bs);function pg(e){return Pe(e)&&!V(e[0])}function Di(e,o,t,n){const{slots:s,attrs:a}=o;return()=>{const r={part:!0};let i=pe();e.locale&&(r.locale=e.locale),V(e.format)?r.key=e.format:ie(e.format)&&(V(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((y,S)=>t.includes(S)?De(pe(),y,{[S]:e.format[S]}):y,pe()));const l=n(e.value,r,i);let c=[r.key];Pe(l)?c=l.map((y,S)=>{const M=s[y.type],x=M?M({[y.type]:y.value,index:S,parts:l}):[y.value];return pg(x)&&(x[0].key=`${y.type}-${S}`),x}):V(l)&&(c=[l]);const g=De(pe(),a),h=V(e.tag)||ie(e.tag)?e.tag:Fi();return hr(h,g,c)}}De({value:{type:Number,required:!0},format:{type:[String,Object]}},Bs),De({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Bs);const gg=Jo("global-vue-i18n");function On(e={}){const o=Ot();if(o==null)throw Vo(Fo.MUST_BE_CALL_SETUP_TOP);if(!o.isCE&&o.appContext.app!=null&&!o.appContext.app.__VUE_I18N_SYMBOL__)throw Vo(Fo.NOT_INSTALLED);const t=dg(o),n=fg(t),s=Ci(o),a=$g(e,s);if(__VUE_I18N_LEGACY_API__&&t.mode==="legacy"&&!e.__useComponent){if(!t.allowComposition)throw Vo(Fo.NOT_AVAILABLE_IN_LEGACY_MODE);return bg(o,a,n,e)}if(a==="global")return rg(n,e,s),n;if(a==="parent"){let l=_g(t,o,e.__useComponent);return l==null&&(l=n),l}const r=t;let i=r.__getInstance(o);if(i==null){const l=De({},e);"__i18n"in s&&(l.__i18n=s.__i18n),n&&(l.__root=n),i=cg(l),r.__composerExtend&&(i[Us]=r.__composerExtend(i)),mg(r,o,i),r.__setInstance(o,i)}return i}function dg(e){{const o=St(e.isCE?gg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!o)throw Vo(e.isCE?Fo.NOT_INSTALLED_WITH_PROVIDE:Fo.UNEXPECTED_ERROR);return o}}function $g(e,o){return Pn(e)?"__i18n"in o?"local":"global":e.useScope?e.useScope:"local"}function fg(e){return e.mode==="composition"?e.global:e.global.__composer}function _g(e,o,t=!1){let n=null;const s=o.root;let a=hg(o,t);for(;a!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(a);i!=null&&(n=i.__composer,t&&n&&!n[Ei]&&(n=null))}if(n!=null||s===a)break;a=a.parent}return n}function hg(e,o=!1){return e==null?null:o&&e.vnode.ctx||e.parent}function mg(e,o,t){ls(()=>{},o),cs(()=>{const n=t;e.__deleteInstance(o);const s=n[Us];s&&(s(),delete n[Us])},o)}function bg(e,o,t,n={}){const s=o==="local",a=ba(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Vo(Fo.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=de(n.inheritLocale)?n.inheritLocale:!V(n.locale),i=ke(!s||r?t.locale.value:V(n.locale)?n.locale:jt),l=ke(!s||r?t.fallbackLocale.value:V(n.fallbackLocale)||Pe(n.fallbackLocale)||ee(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ke(js(i.value,n)),g=ke(ee(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),h=ke(ee(n.numberFormats)?n.numberFormats:{[i.value]:{}}),y=s?t.missingWarn:de(n.missingWarn)||ut(n.missingWarn)?n.missingWarn:!0,S=s?t.fallbackWarn:de(n.fallbackWarn)||ut(n.fallbackWarn)?n.fallbackWarn:!0,M=s?t.fallbackRoot:de(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,F=me(n.missing)?n.missing:null,I=me(n.postTranslation)?n.postTranslation:null,G=s?t.warnHtmlMessage:de(n.warnHtmlMessage)?n.warnHtmlMessage:!0,k=!!n.escapeParameter,v=s?t.modifiers:ee(n.modifiers)?n.modifiers:{},N=n.pluralRules||s&&t.pluralRules;function E(){return[i.value,l.value,c.value,g.value,h.value]}const C=ce({get:()=>a.value?a.value.locale.value:i.value,set:_=>{a.value&&(a.value.locale.value=_),i.value=_}}),B=ce({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:_=>{a.value&&(a.value.fallbackLocale.value=_),l.value=_}}),j=ce(()=>a.value?a.value.messages.value:c.value),Z=ce(()=>g.value),q=ce(()=>h.value);function z(){return a.value?a.value.getPostTranslationHandler():I}function X(_){a.value&&a.value.setPostTranslationHandler(_)}function xe(){return a.value?a.value.getMissingHandler():F}function Te(_){a.value&&a.value.setMissingHandler(_)}function ne(_){return E(),_()}function J(..._){return a.value?ne(()=>Reflect.apply(a.value.t,null,[..._])):ne(()=>"")}function oe(..._){return a.value?Reflect.apply(a.value.rt,null,[..._]):""}function be(..._){return a.value?ne(()=>Reflect.apply(a.value.d,null,[..._])):ne(()=>"")}function Ie(..._){return a.value?ne(()=>Reflect.apply(a.value.n,null,[..._])):ne(()=>"")}function ge(_){return a.value?a.value.tm(_):{}}function ye(_,P){return a.value?a.value.te(_,P):!1}function eo(_){return a.value?a.value.getLocaleMessage(_):{}}function Ne(_,P){a.value&&(a.value.setLocaleMessage(_,P),c.value[_]=P)}function Ye(_,P){a.value&&a.value.mergeLocaleMessage(_,P)}function ze(_){return a.value?a.value.getDateTimeFormat(_):{}}function oo(_,P){a.value&&(a.value.setDateTimeFormat(_,P),g.value[_]=P)}function uo(_,P){a.value&&a.value.mergeDateTimeFormat(_,P)}function wo(_){return a.value?a.value.getNumberFormat(_):{}}function Ve(_,P){a.value&&(a.value.setNumberFormat(_,P),h.value[_]=P)}function qo(_,P){a.value&&a.value.mergeNumberFormat(_,P)}const $={get id(){return a.value?a.value.id:-1},locale:C,fallbackLocale:B,messages:j,datetimeFormats:Z,numberFormats:q,get inheritLocale(){return a.value?a.value.inheritLocale:r},set inheritLocale(_){a.value&&(a.value.inheritLocale=_)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:v},get pluralRules(){return a.value?a.value.pluralRules:N},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:y},set missingWarn(_){a.value&&(a.value.missingWarn=_)},get fallbackWarn(){return a.value?a.value.fallbackWarn:S},set fallbackWarn(_){a.value&&(a.value.missingWarn=_)},get fallbackRoot(){return a.value?a.value.fallbackRoot:M},set fallbackRoot(_){a.value&&(a.value.fallbackRoot=_)},get fallbackFormat(){return a.value?a.value.fallbackFormat:x},set fallbackFormat(_){a.value&&(a.value.fallbackFormat=_)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:G},set warnHtmlMessage(_){a.value&&(a.value.warnHtmlMessage=_)},get escapeParameter(){return a.value?a.value.escapeParameter:k},set escapeParameter(_){a.value&&(a.value.escapeParameter=_)},t:J,getPostTranslationHandler:z,setPostTranslationHandler:X,getMissingHandler:xe,setMissingHandler:Te,rt:oe,d:be,n:Ie,tm:ge,te:ye,getLocaleMessage:eo,setLocaleMessage:Ne,mergeLocaleMessage:Ye,getDateTimeFormat:ze,setDateTimeFormat:oo,mergeDateTimeFormat:uo,getNumberFormat:wo,setNumberFormat:Ve,mergeNumberFormat:qo};function m(_){_.locale.value=i.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{_.mergeLocaleMessage(P,c.value[P])}),Object.keys(g.value).forEach(P=>{_.mergeDateTimeFormat(P,g.value[P])}),Object.keys(h.value).forEach(P=>{_.mergeNumberFormat(P,h.value[P])}),_.escapeParameter=k,_.fallbackFormat=x,_.fallbackRoot=M,_.fallbackWarn=S,_.missingWarn=y,_.warnHtmlMessage=G}return Ia(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Vo(Fo.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=a.value=e.proxy.$i18n.__composer;o==="global"?(i.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,g.value=_.datetimeFormats.value,h.value=_.numberFormats.value):s&&m(_)}),$}if(ng(),__INTLIFY_JIT_COMPILATION__?ci(Zp):ci(Yp),jp(vp),Bp(si),__INTLIFY_PROD_DEVTOOLS__){const e=Oo();e.__INTLIFY__=!0,Ep(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const yg=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",vg=["data-active","aria-expanded"],kg={class:"filter-dropdown__label"},Lg=["value","placeholder"],wg={class:"filter-dropdown__options"},Ag={key:0,class:"filter-dropdown__no-options"},Sg=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],Pg={class:"filter-dropdown__count"},Mn=ws({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:o}){const t=e,n={"buttons.clearSelection":"Clear selection","buttons.noOptions":"No options found"};let s=q=>n[q]||q;try{s=On().t}catch{}const a=o,r=ke(!1),i=ke(""),l=ke(-1),c=ke(null),g=ke(null),h=ke(null),y=ke({});function S(q){const z=q.ownerDocument,X=z.createElement("div");X.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(q.parentElement||q.getRootNode().body||z.body).appendChild(X);const Te=X.getBoundingClientRect();return X.remove(),{x:Te.left,y:Te.top}}function M(){const q=h.value;if(!q)return;const z=q.getBoundingClientRect(),X=window.innerWidth,xe=window.innerHeight,Te=320,ne=4,J=8,be=Math.round(Math.min(Math.max(z.width,240),X-J*2)),Ie=z.right>J&&z.leftX-J?ge=Math.round(Math.max(z.right-be,J)):ge=Math.round(Math.max(z.left,J)):ge=Math.round(Math.min(Math.max(z.left,J),X-be-J));const ye=xe-z.bottom,eo=ye<180&&z.top>ye,Ne=S(q),Ye=Math.round(ge-Ne.x);y.value=eo?{top:"auto",bottom:`${Math.round(xe-z.top+ne+Ne.y)}px`,left:`${Ye}px`,width:`${be}px`,maxHeight:`${Math.round(Math.min(Te,z.top-ne-J))}px`}:{top:`${Math.round(z.bottom+ne-Ne.y)}px`,bottom:"auto",left:`${Ye}px`,width:`${be}px`,maxHeight:`${Math.round(Math.min(Te,ye-ne-J))}px`}}function x(){r.value&&M()}const F=ce(()=>{if(!i.value)return t.options;const q=i.value.toLowerCase();return t.options.filter(z=>z.label.toLowerCase().includes(q))}),I=ce(()=>t.options.find(q=>q.value===t.value));function G(q){var X;const z=((X=q.composedPath)==null?void 0:X.call(q))??[];c.value&&!z.includes(c.value)&&N()}function k(){r.value?N():v()}function v(){r.value=!0,i.value="",l.value=-1,M(),document.addEventListener("click",G),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),pn(()=>{var q;M(),(q=g.value)==null||q.focus()})}function N(){r.value=!1,i.value="",l.value=-1,document.removeEventListener("click",G),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function E(q){i.value=q.target.value,l.value=-1}function C(q){const z=F.value;switch(q.key){case"ArrowDown":q.preventDefault(),l.value=Math.min(l.value+1,z.length-1),B();break;case"ArrowUp":q.preventDefault(),l.value=Math.max(l.value-1,0),B();break;case"Enter":{q.preventDefault();const X=z[l.value];X&&j(X);break}case"Escape":q.preventDefault(),N();break}}function B(){pn(()=>{var z;const q=(z=c.value)==null?void 0:z.querySelector(".filter-dropdown__option[data-highlighted]");q==null||q.scrollIntoView({block:"nearest"})})}function j(q){a("filter-change",{name:t.name,value:q.value,label:q.label,type:q.type}),N()}function Z(){a("filter-clear",{name:t.name}),N()}return Fa(()=>{document.removeEventListener("click",G),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(q,z)=>(Q(),te("div",{ref_key:"rootRef",ref:c,class:Qt(["filter-dropdown",{"is-open":r.value}])},[re("button",{ref_key:"triggerRef",ref:h,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:k},[re("span",kg,[I.value?(Q(),te(Ee,{key:0},[Co(Ae(e.label)+": ",1),re("strong",null,Ae(I.value.label),1)],64)):(Q(),te(Ee,{key:1},[Co(Ae(e.label),1)],64))]),z[0]||(z[0]=re("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[re("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,vg),r.value?(Q(),te("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:tt(y.value)},[re("input",{ref_key:"searchInputRef",ref:g,class:"filter-dropdown__search",type:"text",value:i.value,placeholder:e.placeholder,onInput:E,onKeydown:C},null,40,Lg),e.value?(Q(),te("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:Z},Ae(Lt(s)("buttons.clearSelection")),1)):Me("",!0),re("div",wg,[F.value.length===0?(Q(),te("div",Ag,Ae(Lt(s)("buttons.noOptions")),1)):(Q(!0),te(Ee,{key:1},hn(F.value,(X,xe)=>(Q(),te("div",{key:X.value,class:"filter-dropdown__option",role:"option","data-highlighted":xe===l.value?"":void 0,"data-selected":X.value===e.value?"":void 0,"aria-selected":X.value===e.value,onClick:Te=>j(X),onMouseenter:Te=>l.value=xe},[re("span",null,Ae(X.label),1),re("span",Pg,Ae(X.count),1)],40,Sg))),128))])],4)):Me("",!0)],2))}},[["styles",[yg]]]),xg=In&&In.tagName.toUpperCase()==="SCRIPT"&&In.src||new URL("people-groups-grid.js",document.baseURI).href,Vt=e=>String(e||"").trim().replace(/\/+$/,"");function Ng(){try{const o=String(xg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!o||o[2]!==o[3]?null:o[1]||null}catch{return null}}function Eg(e){const o=e==null?void 0:e.assetsBase;if(typeof o=="string"&&o.trim()){const n=Vt(o);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const t=Vt((e==null?void 0:e.treeBase)||"")||Vt(Ng()||"");if(t)try{const n=typeof document<"u"?document.baseURI:void 0;return Vt(new URL(t+"/assets",n).href)}catch{return Vt(t+"/assets")}return"./assets"}const Cg=Object.assign({"./locales/ar/allPeopleGroups.json":{title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},"./locales/ar/aria.json":{backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},"./locales/ar/buttons.json":{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:"الملصقات في كل صف"},"./locales/ar/connectivity.json":{title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},"./locales/ar/controls.json":{research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},"./locales/ar/dashboard.json":{bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},"./locales/ar/detail.json":{labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},"./locales/ar/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"⁦60%+⁩ بلا أي مورد",band30:"⁦30–59%⁩",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"⁦80%+⁩ لديهم شيء",cov50:"⁦50–79%⁩",cov1:"⁦1–49%⁩",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"‪1–4‬ بلا شيء",doxa5:"‪5–14‬",doxa15:"‪15–39‬",doxa40:"‪40+‬",cvd1:"‪1–4‬ لديهم موارد",cvd5:"‪5–14‬",cvd15:"‪15–39‬",cvd40:"‪40+‬",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع",audioScripture:"الكتاب المقدس الصوتي",bibleStoriesPlain:"قصص الكتاب المقدس"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"},list:{noText:"بلا نص مقدس",hasScripture:"لديها الكتاب المقدس",allLanguages:"كل اللغات",peopleGroup:"شعب",peopleGroups:"شعوب",scriptureHere:"الكتاب المقدس بهذه اللغة"},columns:{"People group":"الشعب",Country:"البلد",Region:"المنطقة",Language:"اللغة",Population:"عدد السكان",Religion:"الديانة","Gospel access":"الوصول إلى الإنجيل",Resources:"الموارد",Scripture:"الكتاب المقدس","Bible video":"فيديو كتابي","Gospel presentation":"عرض للإنجيل",Countries:"البلدان","People groups":"الشعوب"},charts:{scriptureAny:"الكتاب المقدس (أي نوع)",fullBible:"الكتاب المقدس كاملاً",newTestament:"العهد الجديد",filmAny:"الفيلم (أي نوع)",nothingInPools:"لا شيء في المصادر التي جرى البحث فيها",nothingInPoolsLower:"لا شيء في المصادر التي جرى البحث فيها",noResourceInPools:"لم يُعثر على أي مورد في المصادر التي جرى البحث فيها",aResourceFound:"وُجد مورد",tabCoverage:"تغطية الموارد",tabGap:"أكبر الفجوات",keyScripture:"الكتاب المقدس",keyFilmStories:"الفيلم / القصص",keyAudioEtc:"صوتيات / عرض / تدريب",unresolvedCode:"رمز خارج ISO 639-3 — غير محسوم، لم يُقَس"}},"./locales/ar/grid.json":{search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},"./locales/ar/legend.json":{title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},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:"إلغاء التحديد"}},"./locales/ar/messages.json":{menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم باسم شعبهم."},"./locales/ar/options.json":{clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},"./locales/ar/popup.json":{country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},"./locales/ar/prayerLaps.json":{header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},"./locales/ar/regions.json":{"%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.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},"./locales/ar/search.json":{placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"},upg100Placeholder:"ابحث عن شعب أو قائمة UPG-100 أو منطقة…"},"./locales/ar/studio.json":{title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده",mapToken:"رمز الخريطة",tokenPaste:"رمز Mapbox العام (pk.…)",tokenUrlLabel:"…أو رابط خدمة الرموز",tokenApply:"استخدام",tokenClear:"مسح",tokenStoredHere:"يُحفظ في هذا المتصفح فقط.",tokenSourceYours:"يُستخدم رمزك",tokenSourceUrl:"يُستخدم رمز من {url}",tokenSourceBuilt:"يُستخدم الرمز المضمَّن في هذه الصفحة",tokenSourceNone:"لا يوجد رمز Mapbox: لا يمكن تحميل خرائط Mapbox (خرائط MapLibre لا تحتاج رمزًا)",tokenSecret:"هذا رمز سري (sk.…). الصق رمزًا عامًا (pk.…): هذه الصفحة عامة.",tokenNotPk:"يبدأ رمز Mapbox العام بـ pk.",tokenUrlFailed:"تعذّر الحصول على رمز من هذا الرابط: {why}",settings:"الإعدادات",mapEngine:"محرّك الخرائط",engineDefault:"الافتراضي لكل خريطة",engineMapboxNote:"يحتاج إلى رمز",engineMaplibreNote:"لا يحتاج إلى رمز",tokenNotNeeded:"تم اختيار MapLibre: خرائطه لا تحتاج إلى رمز Mapbox"},"./locales/ar/tabs.json":{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:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},"./locales/ar/vision.json":{kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: ‏pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},"./locales/de/allPeopleGroups.json":{title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},"./locales/de/aria.json":{backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},"./locales/de/buttons.json":{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"},"./locales/de/connectivity.json":{title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},"./locales/de/controls.json":{research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},"./locales/de/dashboard.json":{bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},"./locales/de/detail.json":{labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},"./locales/de/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film",audioScripture:"Audio-Bibeltext",bibleStoriesPlain:"Bibelgeschichten"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"},list:{noText:"Kein Bibeltext",hasScripture:"Hat Bibeltext",allLanguages:"Alle Sprachen",peopleGroup:"Volksgruppe",peopleGroups:"Volksgruppen",scriptureHere:"Bibeltext in dieser Sprache"},columns:{"People group":"Volksgruppe",Country:"Land",Region:"Region",Language:"Sprache",Population:"Bevölkerung",Religion:"Religion","Gospel access":"Zugang zum Evangelium",Resources:"Ressourcen",Scripture:"Bibeltext","Bible video":"Bibelvideo","Gospel presentation":"Evangeliums-Darstellung",Countries:"Länder","People groups":"Volksgruppen"},charts:{scriptureAny:"Bibeltext (beliebig)",fullBible:"Vollbibel",newTestament:"Neues Testament",filmAny:"Film (beliebig)",nothingInPools:"Nichts in den geprüften Quellen gefunden",nothingInPoolsLower:"nichts in den geprüften Quellen gefunden",noResourceInPools:"keine Ressource in den geprüften Quellen gefunden",aResourceFound:"eine Ressource gefunden",tabCoverage:"Ressourcenabdeckung",tabGap:"Größte Lücken",keyScripture:"Bibeltext",keyFilmStories:"Film / Geschichten",keyAudioEtc:"Audio / Präsentation / Schulung",unresolvedCode:"Code außerhalb ISO 639-3 — ungeklärt, nicht gemessen"}},"./locales/de/grid.json":{search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},"./locales/de/legend.json":{title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},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"}},"./locales/de/messages.json":{menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie mit dem Namen ihrer Volksgruppe beten."},"./locales/de/options.json":{clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},"./locales/de/popup.json":{country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},"./locales/de/prayerLaps.json":{header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},"./locales/de/regions.json":{"%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."},"./locales/de/search.json":{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"},upg100Placeholder:"Volksgruppe, UPG-100-Liste oder Region suchen…"},"./locales/de/studio.json":{title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht",mapToken:"Karten-Token",tokenPaste:"Öffentlicher Mapbox-Token (pk.…)",tokenUrlLabel:"…oder die URL eines Token-Dienstes",tokenApply:"Verwenden",tokenClear:"Löschen",tokenStoredHere:"Nur in diesem Browser gespeichert.",tokenSourceYours:"Ihr Token wird verwendet",tokenSourceUrl:"Token von {url} wird verwendet",tokenSourceBuilt:"Der in diese Seite eingebaute Token wird verwendet",tokenSourceNone:"Kein Mapbox-Token: Mapbox-Karten können nicht laden (MapLibre-Karten brauchen keinen)",tokenSecret:"Das ist ein geheimer Token (sk.…). Fügen Sie einen öffentlichen ein (pk.…): Diese Seite ist öffentlich.",tokenNotPk:"Ein öffentlicher Mapbox-Token beginnt mit pk.",tokenUrlFailed:"Von dieser URL kam kein Token: {why}",settings:"Einstellungen",mapEngine:"Karten-Engine",engineDefault:"Je Karte eigenes",engineMapboxNote:"braucht einen Token",engineMaplibreNote:"kein Token nötig",tokenNotNeeded:"MapLibre ist gewählt: Seine Karten brauchen keinen Mapbox-Token"},"./locales/de/tabs.json":{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",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},"./locales/de/vision.json":{kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},"./locales/en/allPeopleGroups.json":{title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},"./locales/en/aria.json":{backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},"./locales/en/buttons.json":{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"},"./locales/en/connectivity.json":{title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},"./locales/en/controls.json":{research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},"./locales/en/dashboard.json":{bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},"./locales/en/detail.json":{labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},"./locales/en/gospel.json":{_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film",audioScripture:"Audio Scripture",bibleStoriesPlain:"Bible Stories"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"},list:{noText:"No text Scripture",hasScripture:"Has scripture",allLanguages:"All languages",peopleGroup:"people group",peopleGroups:"people groups",scriptureHere:"Scripture in this language"},columns:{"People group":"People group",Country:"Country",Region:"Region",Language:"Language",Population:"Population",Religion:"Religion","Gospel access":"Gospel access",Resources:"Resources",Scripture:"Scripture","Bible video":"Bible video","Gospel presentation":"Gospel presentation",Countries:"Countries","People groups":"People groups"},charts:{scriptureAny:"Scripture (any)",fullBible:"Full Bible",newTestament:"New Testament",filmAny:"Film (any)",nothingInPools:"Nothing found in pools checked",nothingInPoolsLower:"nothing found in pools checked",noResourceInPools:"no resource found in pools checked",aResourceFound:"a resource found",tabCoverage:"Resource coverage",tabGap:"Largest gaps",keyScripture:"scripture",keyFilmStories:"film / stories",keyAudioEtc:"audio / presentation / training",unresolvedCode:"code outside ISO 639-3 — unresolved, not measured"}},"./locales/en/grid.json":{search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load More",full_profile:"Full Profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},"./locales/en/legend.json":{title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},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"}},"./locales/en/messages.json":{menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"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 by their people group name."},"./locales/en/options.json":{clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},"./locales/en/popup.json":{country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},"./locales/en/prayerLaps.json":{header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},"./locales/en/regions.json":{"%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."},"./locales/en/search.json":{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"},upg100Placeholder:"Search people group, UPG-100 list, or region…"},"./locales/en/studio.json":{title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own",mapToken:"Map token",tokenPaste:"Mapbox public token (pk.…)",tokenUrlLabel:"…or the URL of a token service",tokenApply:"Use",tokenClear:"Clear",tokenStoredHere:"Kept in this browser only.",tokenSourceYours:"Using your token",tokenSourceUrl:"Using a token from {url}",tokenSourceBuilt:"Using the token built into this page",tokenSourceNone:"No Mapbox token: Mapbox maps cannot load (MapLibre maps need none)",tokenSecret:"That is a secret token (sk.…). Paste a public one (pk.…): this page is public.",tokenNotPk:"A Mapbox public token starts with pk.",tokenUrlFailed:"Could not get a token from that URL: {why}",settings:"Settings",mapEngine:"Map engine",engineDefault:"Each map’s own",engineMapboxNote:"needs a token",engineMaplibreNote:"no token needed",tokenNotNeeded:"MapLibre is selected: its maps need no Mapbox token"},"./locales/en/tabs.json":{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",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},"./locales/en/vision.json":{kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},"./locales/es/allPeopleGroups.json":{title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},"./locales/es/aria.json":{backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},"./locales/es/buttons.json":{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"},"./locales/es/connectivity.json":{title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},"./locales/es/controls.json":{research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},"./locales/es/dashboard.json":{bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},"./locales/es/detail.json":{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."}},"./locales/es/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS",audioScripture:"Escrituras en audio",bibleStoriesPlain:"Historias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"},list:{noText:"Sin texto bíblico",hasScripture:"Tiene Escrituras",allLanguages:"Todos los idiomas",peopleGroup:"pueblo",peopleGroups:"pueblos",scriptureHere:"Escrituras en este idioma"},columns:{"People group":"Pueblo",Country:"País",Region:"Región",Language:"Idioma",Population:"Población",Religion:"Religión","Gospel access":"Acceso al evangelio",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Video bíblico","Gospel presentation":"Presentación del evangelio",Countries:"Países","People groups":"Pueblos"},charts:{scriptureAny:"Escrituras (cualquiera)",fullBible:"Biblia completa",newTestament:"Nuevo Testamento",filmAny:"Película (cualquiera)",nothingInPools:"No se encontró nada en las fuentes consultadas",nothingInPoolsLower:"no se encontró nada en las fuentes consultadas",noResourceInPools:"no se encontró ningún recurso en las fuentes consultadas",aResourceFound:"se encontró un recurso",tabCoverage:"Cobertura de recursos",tabGap:"Mayores brechas",keyScripture:"escrituras",keyFilmStories:"película / historias",keyAudioEtc:"audio / presentación / formación",unresolvedCode:"código fuera de ISO 639-3 — sin resolver, no medido"}},"./locales/es/grid.json":{search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},"./locales/es/legend.json":{title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},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"}},"./locales/es/messages.json":{menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos por el nombre de su pueblo."},"./locales/es/options.json":{clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},"./locales/es/popup.json":{country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},"./locales/es/prayerLaps.json":{header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},"./locales/es/regions.json":{"%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."},"./locales/es/search.json":{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"},upg100Placeholder:"Buscar pueblo, lista UPG-100 o región…"},"./locales/es/studio.json":{title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado",mapToken:"Token del mapa",tokenPaste:"Token público de Mapbox (pk.…)",tokenUrlLabel:"…o la URL de un servicio de tokens",tokenApply:"Usar",tokenClear:"Borrar",tokenStoredHere:"Se guarda solo en este navegador.",tokenSourceYours:"Usando tu token",tokenSourceUrl:"Usando un token de {url}",tokenSourceBuilt:"Usando el token integrado en esta página",tokenSourceNone:"Sin token de Mapbox: los mapas de Mapbox no cargan (los de MapLibre no lo necesitan)",tokenSecret:"Ese es un token secreto (sk.…). Pega uno público (pk.…): esta página es pública.",tokenNotPk:"Un token público de Mapbox empieza por pk.",tokenUrlFailed:"No se pudo obtener un token de esa URL: {why}",settings:"Ajustes",mapEngine:"Motor de mapas",engineDefault:"El de cada mapa",engineMapboxNote:"necesita un token",engineMaplibreNote:"no necesita token",tokenNotNeeded:"MapLibre está seleccionado: sus mapas no necesitan token de Mapbox"},"./locales/es/tabs.json":{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",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},"./locales/es/vision.json":{kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},"./locales/fr/allPeopleGroups.json":{title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},"./locales/fr/aria.json":{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"},"./locales/fr/buttons.json":{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"},"./locales/fr/connectivity.json":{title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},"./locales/fr/controls.json":{research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},"./locales/fr/dashboard.json":{bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},"./locales/fr/detail.json":{labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},"./locales/fr/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS",audioScripture:"Écritures en audio",bibleStoriesPlain:"Histoires bibliques"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"},list:{noText:"Pas de texte biblique",hasScripture:"A les Écritures",allLanguages:"Toutes les langues",peopleGroup:"peuple",peopleGroups:"peuples",scriptureHere:"Écritures dans cette langue"},columns:{"People group":"Peuple",Country:"Pays",Region:"Région",Language:"Langue",Population:"Population",Religion:"Religion","Gospel access":"Accès à l'Évangile",Resources:"Ressources",Scripture:"Écritures","Bible video":"Vidéo biblique","Gospel presentation":"Présentation de l'Évangile",Countries:"Pays","People groups":"Peuples"},charts:{scriptureAny:"Écritures (toutes)",fullBible:"Bible complète",newTestament:"Nouveau Testament",filmAny:"Film (tous)",nothingInPools:"Rien trouvé dans les sources consultées",nothingInPoolsLower:"rien trouvé dans les sources consultées",noResourceInPools:"aucune ressource trouvée dans les sources consultées",aResourceFound:"une ressource trouvée",tabCoverage:"Couverture des ressources",tabGap:"Plus grands écarts",keyScripture:"écritures",keyFilmStories:"film / histoires",keyAudioEtc:"audio / présentation / formation",unresolvedCode:"code hors ISO 639-3 — non résolu, non mesuré"}},"./locales/fr/grid.json":{search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},"./locales/fr/legend.json":{title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},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"}},"./locales/fr/messages.json":{menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux par le nom de leur peuple."},"./locales/fr/options.json":{clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},"./locales/fr/popup.json":{country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},"./locales/fr/prayerLaps.json":{header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},"./locales/fr/regions.json":{"%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."},"./locales/fr/search.json":{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"},upg100Placeholder:"Rechercher un peuple, une liste UPG-100 ou une région…"},"./locales/fr/studio.json":{title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule",mapToken:"Jeton de carte",tokenPaste:"Jeton public Mapbox (pk.…)",tokenUrlLabel:"…ou l’URL d’un service de jetons",tokenApply:"Utiliser",tokenClear:"Effacer",tokenStoredHere:"Conservé dans ce navigateur uniquement.",tokenSourceYours:"Votre jeton est utilisé",tokenSourceUrl:"Jeton obtenu de {url}",tokenSourceBuilt:"Jeton intégré à cette page",tokenSourceNone:"Aucun jeton Mapbox : les cartes Mapbox ne peuvent pas charger (MapLibre n’en a pas besoin)",tokenSecret:"C’est un jeton secret (sk.…). Collez un jeton public (pk.…) : cette page est publique.",tokenNotPk:"Un jeton public Mapbox commence par pk.",tokenUrlFailed:"Impossible d’obtenir un jeton depuis cette URL : {why}",settings:"Paramètres",mapEngine:"Moteur de carte",engineDefault:"Celui de chaque carte",engineMapboxNote:"nécessite un jeton",engineMaplibreNote:"aucun jeton requis",tokenNotNeeded:"MapLibre est sélectionné : ses cartes n’ont pas besoin de jeton Mapbox"},"./locales/fr/tabs.json":{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",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},"./locales/fr/vision.json":{kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},"./locales/hi/allPeopleGroups.json":{title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},"./locales/hi/aria.json":{backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},"./locales/hi/buttons.json":{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:"प्रति पंक्ति पोस्टर"},"./locales/hi/connectivity.json":{title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},"./locales/hi/controls.json":{research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},"./locales/hi/dashboard.json":{bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},"./locales/hi/detail.json":{labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},"./locales/hi/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म",audioScripture:"ऑडियो पवित्र शास्त्र",bibleStoriesPlain:"बाइबल की कहानियाँ"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"},list:{noText:"कोई लिखित शास्त्र नहीं",hasScripture:"शास्त्र उपलब्ध",allLanguages:"सभी भाषाएँ",peopleGroup:"जनसमूह",peopleGroups:"जनसमूह",scriptureHere:"इस भाषा में पवित्र शास्त्र"},columns:{"People group":"जनसमूह",Country:"देश",Region:"क्षेत्र",Language:"भाषा",Population:"जनसंख्या",Religion:"धर्म","Gospel access":"सुसमाचार पहुँच",Resources:"संसाधन",Scripture:"पवित्र शास्त्र","Bible video":"बाइबल वीडियो","Gospel presentation":"सुसमाचार प्रस्तुति",Countries:"देश","People groups":"जनसमूह"},charts:{scriptureAny:"पवित्र शास्त्र (कोई भी)",fullBible:"पूरी बाइबल",newTestament:"नया नियम",filmAny:"फ़िल्म (कोई भी)",nothingInPools:"जाँचे गए स्रोतों में कुछ नहीं मिला",nothingInPoolsLower:"जाँचे गए स्रोतों में कुछ नहीं मिला",noResourceInPools:"जाँचे गए स्रोतों में कोई संसाधन नहीं मिला",aResourceFound:"एक संसाधन मिला",tabCoverage:"संसाधन कवरेज",tabGap:"सबसे बड़े अंतराल",keyScripture:"पवित्र शास्त्र",keyFilmStories:"फ़िल्म / कहानियाँ",keyAudioEtc:"ऑडियो / प्रस्तुति / प्रशिक्षण",unresolvedCode:"ISO 639-3 से बाहर कोड — अनसुलझा, मापा नहीं गया"}},"./locales/hi/grid.json":{search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},"./locales/hi/legend.json":{title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},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:"चयन हटाएँ"}},"./locales/hi/messages.json":{menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए उनके जनसमूह के नाम से प्रार्थना करते हुए।"},"./locales/hi/options.json":{clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},"./locales/hi/popup.json":{country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},"./locales/hi/prayerLaps.json":{header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},"./locales/hi/regions.json":{"%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.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},"./locales/hi/search.json":{placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"},upg100Placeholder:"जनसमूह, UPG-100 सूची या क्षेत्र खोजें…"},"./locales/hi/studio.json":{title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं",mapToken:"मानचित्र टोकन",tokenPaste:"Mapbox सार्वजनिक टोकन (pk.…)",tokenUrlLabel:"…या किसी टोकन सेवा का URL",tokenApply:"उपयोग करें",tokenClear:"साफ़ करें",tokenStoredHere:"केवल इसी ब्राउज़र में रखा जाता है।",tokenSourceYours:"आपका टोकन उपयोग हो रहा है",tokenSourceUrl:"{url} से टोकन उपयोग हो रहा है",tokenSourceBuilt:"इस पेज में बना टोकन उपयोग हो रहा है",tokenSourceNone:"कोई Mapbox टोकन नहीं: Mapbox मानचित्र लोड नहीं हो सकते (MapLibre को इसकी ज़रूरत नहीं)",tokenSecret:"यह एक गुप्त टोकन है (sk.…)। सार्वजनिक टोकन (pk.…) चिपकाएँ: यह पेज सार्वजनिक है।",tokenNotPk:"Mapbox सार्वजनिक टोकन pk. से शुरू होता है",tokenUrlFailed:"उस URL से टोकन नहीं मिल सका: {why}",settings:"सेटिंग्स",mapEngine:"मानचित्र इंजन",engineDefault:"हर मानचित्र का अपना",engineMapboxNote:"टोकन चाहिए",engineMaplibreNote:"टोकन की ज़रूरत नहीं",tokenNotNeeded:"MapLibre चुना गया है: इसके मानचित्रों को Mapbox टोकन नहीं चाहिए"},"./locales/hi/tabs.json":{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:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},"./locales/hi/vision.json":{kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},"./locales/it/allPeopleGroups.json":{title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},"./locales/it/aria.json":{backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},"./locales/it/buttons.json":{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"},"./locales/it/connectivity.json":{title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},"./locales/it/controls.json":{research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},"./locales/it/dashboard.json":{bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},"./locales/it/detail.json":{labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},"./locales/it/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ",audioScripture:"Scritture in audio",bibleStoriesPlain:"Storie bibliche"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"},list:{noText:"Nessun testo biblico",hasScripture:"Ha le Scritture",allLanguages:"Tutte le lingue",peopleGroup:"popolo",peopleGroups:"popoli",scriptureHere:"Scritture in questa lingua"},columns:{"People group":"Popolo",Country:"Paese",Region:"Regione",Language:"Lingua",Population:"Popolazione",Religion:"Religione","Gospel access":"Accesso al Vangelo",Resources:"Risorse",Scripture:"Scritture","Bible video":"Video biblico","Gospel presentation":"Presentazione del Vangelo",Countries:"Paesi","People groups":"Popoli"},charts:{scriptureAny:"Scritture (qualsiasi)",fullBible:"Bibbia completa",newTestament:"Nuovo Testamento",filmAny:"Film (qualsiasi)",nothingInPools:"Nulla trovato nelle fonti controllate",nothingInPoolsLower:"nulla trovato nelle fonti controllate",noResourceInPools:"nessuna risorsa trovata nelle fonti controllate",aResourceFound:"una risorsa trovata",tabCoverage:"Copertura delle risorse",tabGap:"Lacune maggiori",keyScripture:"scritture",keyFilmStories:"film / storie",keyAudioEtc:"audio / presentazione / formazione",unresolvedCode:"codice fuori ISO 639-3 — non risolto, non misurato"}},"./locales/it/grid.json":{search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},"./locales/it/legend.json":{title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},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"}},"./locales/it/messages.json":{menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro con il nome del loro popolo."},"./locales/it/options.json":{clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},"./locales/it/popup.json":{country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},"./locales/it/prayerLaps.json":{header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},"./locales/it/regions.json":{"%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."},"./locales/it/search.json":{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"},upg100Placeholder:"Cerca popolo, elenco UPG-100 o regione…"},"./locales/it/studio.json":{title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola",mapToken:"Token mappa",tokenPaste:"Token pubblico Mapbox (pk.…)",tokenUrlLabel:"…o l’URL di un servizio di token",tokenApply:"Usa",tokenClear:"Cancella",tokenStoredHere:"Conservato solo in questo browser.",tokenSourceYours:"Uso il tuo token",tokenSourceUrl:"Uso un token da {url}",tokenSourceBuilt:"Uso il token integrato in questa pagina",tokenSourceNone:"Nessun token Mapbox: le mappe Mapbox non si caricano (MapLibre non ne ha bisogno)",tokenSecret:"Questo è un token segreto (sk.…). Incolla un token pubblico (pk.…): questa pagina è pubblica.",tokenNotPk:"Un token pubblico Mapbox inizia con pk.",tokenUrlFailed:"Impossibile ottenere un token da quell’URL: {why}",settings:"Impostazioni",mapEngine:"Motore mappe",engineDefault:"Quello di ogni mappa",engineMapboxNote:"richiede un token",engineMaplibreNote:"nessun token necessario",tokenNotNeeded:"MapLibre è selezionato: le sue mappe non richiedono un token Mapbox"},"./locales/it/tabs.json":{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",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},"./locales/it/vision.json":{kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},"./locales/pt/allPeopleGroups.json":{title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},"./locales/pt/aria.json":{backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},"./locales/pt/buttons.json":{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"},"./locales/pt/connectivity.json":{title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},"./locales/pt/controls.json":{research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},"./locales/pt/dashboard.json":{bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},"./locales/pt/detail.json":{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."}},"./locales/pt/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS",audioScripture:"Escrituras em áudio",bibleStoriesPlain:"Histórias bíblicas"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"},list:{noText:"Sem texto bíblico",hasScripture:"Tem Escrituras",allLanguages:"Todos os idiomas",peopleGroup:"povo",peopleGroups:"povos",scriptureHere:"Escrituras neste idioma"},columns:{"People group":"Povo",Country:"País",Region:"Região",Language:"Idioma",Population:"População",Religion:"Religião","Gospel access":"Acesso ao evangelho",Resources:"Recursos",Scripture:"Escrituras","Bible video":"Vídeo bíblico","Gospel presentation":"Apresentação do evangelho",Countries:"Países","People groups":"Povos"},charts:{scriptureAny:"Escrituras (qualquer)",fullBible:"Bíblia completa",newTestament:"Novo Testamento",filmAny:"Filme (qualquer)",nothingInPools:"Nada encontrado nas fontes consultadas",nothingInPoolsLower:"nada encontrado nas fontes consultadas",noResourceInPools:"nenhum recurso encontrado nas fontes consultadas",aResourceFound:"um recurso encontrado",tabCoverage:"Cobertura de recursos",tabGap:"Maiores lacunas",keyScripture:"escrituras",keyFilmStories:"filme / histórias",keyAudioEtc:"áudio / apresentação / treinamento",unresolvedCode:"código fora da ISO 639-3 — não resolvido, não medido"}},"./locales/pt/grid.json":{search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},"./locales/pt/legend.json":{title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},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"}},"./locales/pt/messages.json":{menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles pelo nome do seu povo."},"./locales/pt/options.json":{clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},"./locales/pt/popup.json":{country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},"./locales/pt/prayerLaps.json":{header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},"./locales/pt/regions.json":{"%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."},"./locales/pt/search.json":{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"},upg100Placeholder:"Procurar povo, lista UPG-100 ou região…"},"./locales/pt/studio.json":{title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente",mapToken:"Token do mapa",tokenPaste:"Token público do Mapbox (pk.…)",tokenUrlLabel:"…ou o URL de um serviço de tokens",tokenApply:"Usar",tokenClear:"Limpar",tokenStoredHere:"Guardado apenas neste navegador.",tokenSourceYours:"A usar o seu token",tokenSourceUrl:"A usar um token de {url}",tokenSourceBuilt:"A usar o token incorporado nesta página",tokenSourceNone:"Sem token do Mapbox: os mapas Mapbox não carregam (os MapLibre não precisam)",tokenSecret:"Esse é um token secreto (sk.…). Cole um público (pk.…): esta página é pública.",tokenNotPk:"Um token público do Mapbox começa por pk.",tokenUrlFailed:"Não foi possível obter um token desse URL: {why}",settings:"Definições",mapEngine:"Motor de mapas",engineDefault:"O de cada mapa",engineMapboxNote:"precisa de um token",engineMaplibreNote:"não precisa de token",tokenNotNeeded:"MapLibre está selecionado: os seus mapas não precisam de token do Mapbox"},"./locales/pt/tabs.json":{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",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},"./locales/pt/vision.json":{kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},"./locales/ro/allPeopleGroups.json":{title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},"./locales/ro/aria.json":{backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},"./locales/ro/buttons.json":{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"},"./locales/ro/connectivity.json":{title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},"./locales/ro/controls.json":{research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},"./locales/ro/dashboard.json":{bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},"./locales/ro/detail.json":{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ă."}},"./locales/ro/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS",audioScripture:"Scripturi audio",bibleStoriesPlain:"Povestiri biblice"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"},list:{noText:"Fără text biblic",hasScripture:"Are Scripturi",allLanguages:"Toate limbile",peopleGroup:"popor",peopleGroups:"popoare",scriptureHere:"Scripturi în această limbă"},columns:{"People group":"Popor",Country:"Țară",Region:"Regiune",Language:"Limbă",Population:"Populație",Religion:"Religie","Gospel access":"Acces la Evanghelie",Resources:"Resurse",Scripture:"Scripturi","Bible video":"Video biblic","Gospel presentation":"Prezentarea Evangheliei",Countries:"Țări","People groups":"Popoare"},charts:{scriptureAny:"Scripturi (oricare)",fullBible:"Biblia completă",newTestament:"Noul Testament",filmAny:"Film (oricare)",nothingInPools:"Nimic găsit în sursele verificate",nothingInPoolsLower:"nimic găsit în sursele verificate",noResourceInPools:"nicio resursă găsită în sursele verificate",aResourceFound:"o resursă găsită",tabCoverage:"Acoperirea resurselor",tabGap:"Cele mai mari lacune",keyScripture:"scripturi",keyFilmStories:"film / povestiri",keyAudioEtc:"audio / prezentare / instruire",unresolvedCode:"cod în afara ISO 639-3 — nerezolvat, nemăsurat"}},"./locales/ro/grid.json":{search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},"./locales/ro/legend.json":{title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},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"}},"./locales/ro/messages.json":{menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei pe numele poporului lor."},"./locales/ro/options.json":{clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},"./locales/ro/popup.json":{country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},"./locales/ro/prayerLaps.json":{header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},"./locales/ro/regions.json":{"%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."},"./locales/ro/search.json":{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"},upg100Placeholder:"Caută popor, listă UPG-100 sau regiune…"},"./locales/ro/studio.json":{title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat",mapToken:"Token hartă",tokenPaste:"Token public Mapbox (pk.…)",tokenUrlLabel:"…sau adresa URL a unui serviciu de tokenuri",tokenApply:"Folosește",tokenClear:"Șterge",tokenStoredHere:"Păstrat doar în acest browser.",tokenSourceYours:"Se folosește tokenul tău",tokenSourceUrl:"Se folosește un token de la {url}",tokenSourceBuilt:"Se folosește tokenul inclus în această pagină",tokenSourceNone:"Niciun token Mapbox: hărțile Mapbox nu se pot încărca (MapLibre nu are nevoie)",tokenSecret:"Acesta este un token secret (sk.…). Lipește unul public (pk.…): pagina este publică.",tokenNotPk:"Un token public Mapbox începe cu pk.",tokenUrlFailed:"Nu s-a putut obține un token de la acea adresă: {why}",settings:"Setări",mapEngine:"Motor hărți",engineDefault:"Al fiecărei hărți",engineMapboxNote:"necesită un token",engineMaplibreNote:"nu necesită token",tokenNotNeeded:"MapLibre este selectat: hărțile sale nu necesită token Mapbox"},"./locales/ro/tabs.json":{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",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},"./locales/ro/vision.json":{kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},"./locales/ru/allPeopleGroups.json":{title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},"./locales/ru/aria.json":{backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},"./locales/ru/buttons.json":{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:"Плакатов в ряду"},"./locales/ru/connectivity.json":{title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},"./locales/ru/controls.json":{research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},"./locales/ru/dashboard.json":{bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},"./locales/ru/detail.json":{labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},"./locales/ru/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»",audioScripture:"Аудио с Писанием",bibleStoriesPlain:"Библейские истории"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"},list:{noText:"Нет текста Писания",hasScripture:"Есть Писание",allLanguages:"Все языки",peopleGroup:"народ",peopleGroups:"народов",scriptureHere:"Писание на этом языке"},columns:{"People group":"Народ",Country:"Страна",Region:"Регион",Language:"Язык",Population:"Численность",Religion:"Религия","Gospel access":"Доступ к Евангелию",Resources:"Ресурсы",Scripture:"Писание","Bible video":"Библейское видео","Gospel presentation":"Изложение Евангелия",Countries:"Страны","People groups":"Народы"},charts:{scriptureAny:"Писание (любое)",fullBible:"Полная Библия",newTestament:"Новый Завет",filmAny:"Фильм (любой)",nothingInPools:"Ничего не найдено в проверенных источниках",nothingInPoolsLower:"ничего не найдено в проверенных источниках",noResourceInPools:"ни одного ресурса не найдено в проверенных источниках",aResourceFound:"ресурс найден",tabCoverage:"Охват ресурсами",tabGap:"Наибольшие пробелы",keyScripture:"писание",keyFilmStories:"фильм / истории",keyAudioEtc:"аудио / презентация / обучение",unresolvedCode:"код вне ISO 639-3 — не определён, не измерен"}},"./locales/ru/grid.json":{search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},"./locales/ru/legend.json":{title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},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:"Снять выделение"}},"./locales/ru/messages.json":{menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них по имени их народа."},"./locales/ru/options.json":{clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},"./locales/ru/popup.json":{country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},"./locales/ru/prayerLaps.json":{header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},"./locales/ru/regions.json":{"%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.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},"./locales/ru/search.json":{placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"},upg100Placeholder:"Поиск народа, списка UPG-100 или региона…"},"./locales/ru/studio.json":{title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно",mapToken:"Токен карты",tokenPaste:"Публичный токен Mapbox (pk.…)",tokenUrlLabel:"…или адрес службы токенов",tokenApply:"Применить",tokenClear:"Очистить",tokenStoredHere:"Хранится только в этом браузере.",tokenSourceYours:"Используется ваш токен",tokenSourceUrl:"Используется токен с {url}",tokenSourceBuilt:"Используется токен, встроенный в страницу",tokenSourceNone:"Нет токена Mapbox: карты Mapbox не загрузятся (MapLibre он не нужен)",tokenSecret:"Это секретный токен (sk.…). Вставьте публичный (pk.…): эта страница общедоступна.",tokenNotPk:"Публичный токен Mapbox начинается с pk.",tokenUrlFailed:"Не удалось получить токен по этому адресу: {why}",settings:"Настройки",mapEngine:"Движок карт",engineDefault:"Свой у каждой карты",engineMapboxNote:"нужен токен",engineMaplibreNote:"токен не нужен",tokenNotNeeded:"Выбран MapLibre: его картам не нужен токен Mapbox"},"./locales/ru/tabs.json":{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:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},"./locales/ru/vision.json":{kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},"./locales/zh/allPeopleGroups.json":{title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},"./locales/zh/aria.json":{backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},"./locales/zh/buttons.json":{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:"每行海报数"},"./locales/zh/connectivity.json":{title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},"./locales/zh/controls.json":{research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},"./locales/zh/dashboard.json":{bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},"./locales/zh/detail.json":{labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},"./locales/zh/gospel.json":{_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》",audioScripture:"音频圣经",bibleStoriesPlain:"圣经故事"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"},list:{noText:"没有文字圣经",hasScripture:"有圣经",allLanguages:"全部语言",peopleGroup:"个族群",peopleGroups:"个族群",scriptureHere:"本语言的圣经"},columns:{"People group":"族群",Country:"国家",Region:"地区",Language:"语言",Population:"人口",Religion:"宗教","Gospel access":"福音可及性",Resources:"资源",Scripture:"圣经","Bible video":"圣经视频","Gospel presentation":"福音简介",Countries:"国家","People groups":"族群"},charts:{scriptureAny:"圣经(任意)",fullBible:"全本圣经",newTestament:"新约",filmAny:"影片(任意)",nothingInPools:"在已检索的资源库中一无所获",nothingInPoolsLower:"在已检索的资源库中一无所获",noResourceInPools:"在已检索的资源库中未找到资源",aResourceFound:"找到资源",tabCoverage:"资源覆盖",tabGap:"最大缺口",keyScripture:"圣经",keyFilmStories:"影片 / 故事",keyAudioEtc:"音频 / 简介 / 训练",unresolvedCode:"ISO 639-3 之外的代码 — 未确定,未测量"}},"./locales/zh/grid.json":{search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},"./locales/zh/legend.json":{title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},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:"清除选择"}},"./locales/zh/messages.json":{menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — 按著他們族群的名字為他們禱告。"},"./locales/zh/options.json":{clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},"./locales/zh/popup.json":{country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},"./locales/zh/prayerLaps.json":{header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},"./locales/zh/regions.json":{"%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.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},"./locales/zh/search.json":{placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"},upg100Placeholder:"搜索民族、UPG-100 名单或区域…"},"./locales/zh/studio.json":{title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布",mapToken:"地图令牌",tokenPaste:"Mapbox 公开令牌 (pk.…)",tokenUrlLabel:"…或令牌服务的网址",tokenApply:"使用",tokenClear:"清除",tokenStoredHere:"仅保存在此浏览器中。",tokenSourceYours:"正在使用您的令牌",tokenSourceUrl:"正在使用来自 {url} 的令牌",tokenSourceBuilt:"正在使用此页面内置的令牌",tokenSourceNone:"没有 Mapbox 令牌:Mapbox 地图无法加载(MapLibre 地图不需要)",tokenSecret:"这是秘密令牌 (sk.…)。请粘贴公开令牌 (pk.…):此页面是公开的。",tokenNotPk:"Mapbox 公开令牌以 pk. 开头",tokenUrlFailed:"无法从该网址获取令牌:{why}",settings:"设置",mapEngine:"地图引擎",engineDefault:"各地图自身的",engineMapboxNote:"需要令牌",engineMaplibreNote:"无需令牌",tokenNotNeeded:"已选择 MapLibre:其地图无需 Mapbox 令牌"},"./locales/zh/tabs.json":{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:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},"./locales/zh/vision.json":{kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"}}),qt={};for(const[e,o]of Object.entries(Cg)){const t=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!t)continue;const[,n,s]=t;qt[n]??(qt[n]={}),qt[n][s]=o}const Gi=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Tg(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function Rg(){var n;const e=Tg();if(Gi.includes(e))return e;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Gi.includes(t)?t:"en"}const Og="__DOXA_PAGE_LOCALE";function Mg(){try{return typeof window<"u"&&window[Og]||""}catch{return""}}function Ig(e,o){const t=s=>{let a=qt[s];for(const r of String(e).split(".")){if(!a||typeof a!="object")return;a=a[r]}return typeof a=="string"?a:void 0},n=o||Mg()||Rg();return t(n)??t("en")}function Fg(e,o){return String(o||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ui={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Dg={"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"},Gg=(()=>{const e=t=>String(t||"").toLowerCase().trim(),o={};for(const t of Object.keys(Dg))o[e(t)]=t;return o})(),Ug={"tai-kadai":"Kra-Dai",none:"Unknown"};function ji(e){if(!e)return"Unknown";const o=String(e).trim(),t=o.toLowerCase();return Ug[t]||Gg[t]||o}const jg={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Bg=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding-block:18px 8px;min-height:190px}.pgg-search{display:flex;justify-content:center}.pgg-search--repel{gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between;width:100%;max-width:600px;margin-inline:auto}.pgg-search--repel>:first-child{flex:1 1 320px;min-width:0}.pgg-exact{flex:none}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",zg={class:"pgg-root"},Vg={key:0,class:"pgg-search pgg-search--repel"},qg=["data-active"],Hg=["aria-expanded"],Wg={key:0,class:"filters__toggle-count"},Kg={key:2,class:"filters__panel"},Xg={key:3,class:"filters__active"},Yg=["onClick"],Zg={class:"pgg-body"},Jg={key:0,class:"repel"},Qg={class:"font-size-sm"},ed={key:1},od={id:"results",class:"grid uupgs-list"},td=["src","alt"],nd={class:"uupg__header"},sd=["innerHTML"],ad={key:0,class:"uupg__country"},rd=["href"],id=["innerHTML"],ld=["innerHTML"],cd=["innerHTML"],ud={key:1,class:"uupg__content"},pd=["href"],gd={key:0,class:"loading"},dd={key:1,class:"pgg-empty pgg-failed",role:"status"},$d={key:2,class:"pgg-empty"},fd=iu(ws(Object.assign({inheritAttrs:!1},{__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},religionFamily:{type:String,default:""},languageFamily:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:o}){const t=e,n=o,s=ce(()=>{if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),a=ce(()=>!h.value&&!y.value?null:{backgroundImage:`url(${Eg(s.value)}/images/worldmap.svg)`,backgroundSize:"60%",backgroundPosition:"top center",backgroundRepeat:"no-repeat"}),r=ce(()=>t.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),i=ce(()=>t.languageCode||s.value.languageCode||""),l=ce(()=>t.researchUrl||s.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),c=ce(()=>{const d={...s.value.t||{},...t.t||{}},f=s.value.locale||s.value.lang||void 0;return new Proxy(d,{get(w,A){if(A in w)return w[A];if(typeof A=="string")return Ig("grid."+A,f)}})}),g=d=>!(d===!1||d==="false"||d==="0"||d===0),h=ce(()=>g(t.showSearch)),y=ce(()=>g(t.showFilters)),S=ce(()=>g(t.showTotal)),M=ke([]),x=ke([]),F=ke(0),I=ke(1),G=ke(!0),k=ke(!1),v=ke(!0),N=ke({}),E=ke(""),C=ke({}),B=ce(()=>h.value?E.value:t.query||""),j=ce(()=>{const d={},f=w=>w;return t.wagfRegion&&(d.wagf_region={value:t.wagfRegion,label:f(t.wagfRegion)}),t.wagfBlock&&(d.wagf_block={value:t.wagfBlock,label:f(t.wagfBlock)}),t.rop1&&(d.rop1={value:t.rop1,label:f(t.rop1)}),t.religion&&(d.religion={value:t.religion,label:f(t.religion)}),t.countryCode&&(d.country_code={value:t.countryCode,label:f(t.countryCode)}),t.primaryLanguage&&(d.primary_language={value:t.primaryLanguage,label:f(t.primaryLanguage)}),t.engagementStatus&&(d.engagement_status={value:t.engagementStatus,label:f(t.engagementStatus)}),t.cluster&&(d.imb_reg_of_people_2={value:t.cluster,label:f(t.cluster)}),t.peopleGroup&&(d.imb_reg_of_people_25={value:t.peopleGroup,label:f(t.peopleGroup)}),t.gospelAccess&&(d.imb_gsec={value:t.gospelAccess,label:f(t.gospelAccess)}),t.religionFamily&&(d.__religion_family={value:t.religionFamily,label:f(t.religionFamily)}),t.languageFamily&&(d.__language_family={value:t.languageFamily,label:f(t.languageFamily)}),d}),Z=ce(()=>y.value?C.value:j.value);xo(()=>t.wagfRegion,d=>{if(!y.value)return;const f=C.value.wagf_region;if(d){if(f&&f.value===d)return;const w=(N.value&&N.value.wagf_region||[]).find(A=>A.value===d);C.value={...C.value,wagf_region:{value:d,label:w&&w.label||d}}}else if(f){const w={...C.value};delete w.wagf_region,C.value=w}}),xo(()=>t.religionFamily,d=>{if(!y.value)return;const f=C.value.__religion_family;if(d){if(f&&Ne(f.value)===Ne(d))return;C.value={...C.value,__religion_family:{value:d,label:d}}}else if(f){const w={...C.value};delete w.__religion_family,C.value=w}}),xo(()=>t.primaryLanguage,d=>{if(!y.value)return;const f=C.value.primary_language;if(d){if(f&&Ne(f.value)===Ne(d))return;C.value={...C.value,primary_language:{value:d,label:d}}}else if(f){const w={...C.value};delete w.primary_language,C.value=w}});const q=ce(()=>Object.values(Z.value||{}).filter(d=>d&&d.value!==""&&d.value!=null).length),z=ce(()=>Object.keys(Z.value).length),X=ce(()=>q.value>0||!!(B.value||"").trim());function xe(d){return d.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Te(d,f=500){let w;return(...A)=>{clearTimeout(w),w=setTimeout(()=>d(...A),f)}}const ne=Te(()=>{G.value=!0,I.value=1,$()},500);function J(d){E.value=(d==null?void 0:d.value)??"",ne()}function oe(){v.value=!v.value}function be(d){C.value={...C.value,[d.name]:{value:d.value,label:d.label}},I.value=1,$()}function Ie(d){ge(d.name)}function ge(d){const f={...C.value};delete f[d],C.value=f,I.value=1,$()}function ye(){C.value={},I.value=1,$()}function eo(){if(C.value.exact)return ge("exact");C.value={...C.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},I.value=1,$()}const Ne=d=>String(d??"").toLowerCase().replace(/[\s_&-]+/g,""),Ye={__religion_family:d=>{const f=d.religion&&typeof d.religion=="object"?d.religion.value:d.religion,w=String(f||"").charAt(0).toUpperCase(),A=w&&Ui[w]?Ui[w]:"";return A?{value:A,label:A}:null},__language_family:d=>{const f=d.imb_language_family,w=f&&typeof f=="object"?f.label||f.value:f;let A="";if(w)A=ji(w);else{const b=d.primary_language&&typeof d.primary_language=="object"?d.primary_language.value:null,L=b&&jg[b];A=L?ji(L):""}return A?{value:A,label:A}:null}},ze=(d,f)=>Ye[f]?Ye[f](d):d[f];function oo(d,f){if(!d)return!1;const w=Ne(f==null?void 0:f.value);return w?Ne(d.value)===w||Ne(d.label)===w:!1}function uo(d){let f=d;for(const[w,A]of Object.entries(Z.value))w==="exact"?f=f:f=f.filter(b=>oo(ze(b,w),A));return f}function wo(){const d=f=>{const w=new Map;for(const A of M.value){const b=A[f];if(!(b!=null&&b.value))continue;const L=w.get(b.value);L?L.count++:w.set(b.value,{label:b.label,count:1})}return Array.from(w.entries()).map(([A,{label:b,count:L}])=>({value:A,label:b,count:L})).sort((A,b)=>A.label.localeCompare(b.label))};N.value={wagf_region:d("wagf_region"),wagf_block:d("wagf_block"),rop1:d("rop1"),religion:d("religion")}}function Ve(){const d=Object.keys(N.value),f={};for(const w of d){const A={};for(const[O,H]of Object.entries(Z.value))O!==w&&(A[O]=H);const b=qo(A,M.value),L=new Map;for(const O of b){const H=O[w];H!=null&&H.value&&L.set(H.value,(L.get(H.value)??0)+1)}f[w]=(N.value[w]??[]).map(O=>({...O,count:L.get(O.value)??0}))}N.value=f}function qo(d,f){let w=f;for(const[A,b]of Object.entries(d))A!=="exact"&&(w=w.filter(L=>oo(ze(L,A),b)));return w}function $(){M.value=M.value.map(L=>(L.matches=[],L.country_label="",L.rop1_label="",L));const f=Object.keys(Z.value).length>0?uo(M.value):M.value,w=B.value;if(!w){x.value=f,F.value=x.value.length,G.value=!1,Ve(),P();return}const b=new hu(f,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:Z.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(w);x.value=b.map(L=>{var H;const O={...L.item};if(!L.matches)return O;O.matches=[];for(const se of L.matches){const ve=se.key;if(!ve)continue;let _e="";if(String(ve).includes(".")){const[to,no]=String(ve).split(".");_e=(H=O[to])==null?void 0:H[no]}else _e=O[String(ve)];if(_e&&typeof _e=="string"){let to=0,no="";if(se.indices.forEach((Le,Ke)=>{const Ht=Le[0],ft=Le[1],_d=se.indices.length-1===Ke;no+=xe(_e.slice(to,Ht))+`${xe(_e.slice(Ht,ft+1))}`+(_d?xe(_e.slice(ft+1)):""),to=ft+1}),String(ve).includes("imb_alternate_name"))O.matches.push({key:c.value.alternate_name??"Also known as",label:no});else if(String(ve).includes(".")){const[Le]=String(ve).split("."),Ke={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};Le==="rop1"?O.rop1_label=no:Le==="country_code"?O.country_label=no:Le==="wagf_region"||O.matches.push({key:Ke[Le]??Le,label:no})}else O[String(ve)]=no}}return O}),F.value=x.value.length,G.value=!1,Ve(),P()}const m=Ot();function _(){var f,w;const d=((f=m==null?void 0:m.vnode)==null?void 0:f.el)||((w=m==null?void 0:m.proxy)==null?void 0:w.$el);try{const A=d&&d.getRootNode&&d.getRootNode();if(A&&A.host)return A.host}catch{}return d}function P(){const d={query:B.value,activeFilters:Z.value,total:F.value,slugs:x.value.map(w=>w.slug)};n("groups-filtered",d);const f=_();f&&typeof f.dispatchEvent=="function"&&f.dispatchEvent(new CustomEvent("groups-filtered",{detail:d,bubbles:!0,composed:!0}))}function R(){return t.morePerPage>0?F.value>t.perPage+(I.value-1)*t.morePerPage&&!G.value&&x.value.length>0:F.value>I.value*t.perPage&&!G.value&&x.value.length>0}function T(){I.value=I.value+1}const U=ce(()=>t.morePerPage>0?x.value.slice(0,t.perPage+(I.value-1)*t.morePerPage):x.value.slice(0,I.value*t.perPage)),D=ce(()=>R());async function u(){const d=`${r.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec,imb_language_family&lang=${i.value}`;G.value=!0,k.value=!1;try{const f=await fetch(d);if(!f.ok)throw new Error(`HTTP ${f.status}`);const w=await f.json();F.value=w.total,M.value=Array.isArray(w.posts)?w.posts:[],wo(),$()}catch(f){console.error("[people-groups-grid] fetch error:",f),k.value=!0,M.value=[],G.value=!1}}xo(()=>[t.query,j.value,h.value,y.value],()=>{I.value=1,$()});function p(d){const f=new Set;for(const w of M.value||[]){const A=ze(w,d),b=A&&typeof A=="object"?A.label:A;typeof b=="string"&&b&&f.add(b)}return[...f].sort()}return ls(()=>{const d=_();d&&(d.__vocabulary=p),typeof window<"u"&&(window.__peopleGroupsGridVocabulary=p),u()}),(d,f)=>{var w,A,b,L;return Q(),te("div",zg,[h.value||y.value?(Q(),te("div",{key:0,id:"filters",class:"filters",style:tt(a.value)},[h.value?(Q(),te("div",Vg,[Se(yu,{"model-value":E.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:J},null,8,["model-value","placeholder","aria-label"]),y.value?(Q(),te("button",{key:0,class:"filter-toggle pgg-exact",type:"button","data-active":Z.value.exact?"":void 0,onClick:eo},Ae(c.value.exact_filter||"Exact"),9,qg)):Me("",!0)])):Me("",!0),y.value?(Q(),te("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":v.value,onClick:oe},[f[0]||(f[0]=re("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[re("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),Co(" "+Ae(v.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),q.value?(Q(),te("span",Wg,Ae(q.value),1)):Me("",!0),f[1]||(f[1]=re("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[re("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Hg)):Me("",!0),y.value&&v.value?(Q(),te("div",Kg,[Se(Mn,{label:c.value.wagf_region||"Region",name:"wagf_region",options:N.value.wagf_region||[],value:((w=Z.value.wagf_region)==null?void 0:w.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Ie},null,8,["label","options","value","placeholder"]),Se(Mn,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:N.value.wagf_block||[],value:((A=Z.value.wagf_block)==null?void 0:A.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Ie},null,8,["label","options","value","placeholder"]),Se(Mn,{label:c.value.rop1||"People Group",name:"rop1",options:N.value.rop1||[],value:((b=Z.value.rop1)==null?void 0:b.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Ie},null,8,["label","options","value","placeholder"]),Se(Mn,{label:c.value.religion||"Religion",name:"religion",options:N.value.religion||[],value:((L=Z.value.religion)==null?void 0:L.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:be,onFilterClear:Ie},null,8,["label","options","value","placeholder"])])):Me("",!0),y.value&&z.value>0?(Q(),te("div",Xg,[(Q(!0),te(Ee,null,hn(Z.value,(O,H)=>(Q(),te("span",{key:H,class:"filter-chip"},[Co(Ae(O.label)+" ",1),re("button",{class:"filter-chip__remove",type:"button",onClick:se=>ge(String(H))},"×",8,Yg)]))),128)),re("button",{class:"filters__clear-all",type:"button",onClick:ye},Ae(c.value.clear_all||"Clear All"),1)])):Me("",!0)],4)):Me("",!0),re("div",Zg,[S.value||X.value?(Q(),te("div",Jg,[re("div",Qg,[G.value?(Q(),te("span",ed," ")):(Q(),te(Ee,{key:0},[Co(Ae(X.value&&!S.value?(c.value.showing||"Showing")+" "+F.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+F.value.toLocaleString("en-US")),1)],64))])])):Me("",!0),re("div",od,[(Q(!0),te(Ee,null,hn(U.value,O=>(Q(),te("div",{key:O.slug,class:"card uupg__card"},[O.image_url?(Q(),te("img",{key:0,class:"uupg__image",src:O.image_url,alt:O.name},null,8,td)):Me("",!0),re("div",nd,[re("h3",{class:"uupg__name",innerHTML:O.name},null,8,sd),O.country_code?(Q(),te("p",ad,[re("a",{class:"uupg__country-link",href:`${l.value}../countries/${Lt(Fg)(O.country_code.value,O.country_code.label)}`},[re("span",{innerHTML:O.country_label?O.country_label:O.country_code.label},null,8,id)],8,rd),O.rop1?(Q(),te(Ee,{key:0},[f[2]||(f[2]=Co(" (",-1)),re("span",{innerHTML:O.rop1_label?O.rop1_label:O.rop1.label},null,8,ld),f[3]||(f[3]=Co(")",-1))],64)):Me("",!0)])):Me("",!0),O.matches?(Q(!0),te(Ee,{key:1},hn(O.matches,(H,se)=>(Q(),te("p",{key:se,class:"uupg__match"},[re("strong",null,Ae(H.key),1),f[4]||(f[4]=Co(": ",-1)),re("span",{innerHTML:H.label},null,8,cd)]))),128)):Me("",!0)]),O.location_description?(Q(),te("p",ud,Ae(O.location_description),1)):Me("",!0),re("a",{class:"uupg__more-button",href:`${l.value}${O.slug}`},Ae(c.value.full_profile||"Full Profile"),9,pd)]))),128)),G.value?(Q(),te("div",gd,Ae(c.value.loading||"Loading…"),1)):k.value?(Q(),te("div",dd,Ae(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):U.value.length?Me("",!0):(Q(),te("div",$d,Ae(c.value.no_results||"No people groups match this filter."),1))]),D.value?(Q(),te("button",{key:1,class:"pgg-loadmore",type:"button",onClick:T},Ae(c.value.load_more||"Load More"),1)):Me("",!0)])])}}}),[["styles",[Bg]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",fd))})(); diff --git a/public/dx-maps/people-groups-grid/people-groups-grid/driven/index.html b/public/dx-maps/people-groups-grid/people-groups-grid/driven/index.html index 66eff06b5..d7243b871 100644 --- a/public/dx-maps/people-groups-grid/people-groups-grid/driven/index.html +++ b/public/dx-maps/people-groups-grid/people-groups-grid/driven/index.html @@ -26,7 +26,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - +