332 lines
486 KiB
JavaScript
332 lines
486 KiB
JavaScript
(function(){"use strict";var Kn=typeof document<"u"?document.currentScript:null;/**
|
||
* @vue/shared v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function Xn(e){const o=Object.create(null);for(const t of e.split(","))o[t]=1;return t=>t in o}const be={},st=[],mo=()=>{},gs=()=>!1,Qt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),en=e=>e.startsWith("onUpdate:"),xe=Object.assign,Yn=(e,o)=>{const t=e.indexOf(o);t>-1&&e.splice(t,1)},Cl=Object.prototype.hasOwnProperty,de=(e,o)=>Cl.call(e,o),ee=Array.isArray,Uo=e=>wt(e)==="[object Map]",on=e=>wt(e)==="[object Set]",$s=e=>wt(e)==="[object Date]",ae=e=>typeof e=="function",we=e=>typeof e=="string",co=e=>typeof e=="symbol",$e=e=>e!==null&&typeof e=="object",fs=e=>($e(e)||ae(e))&&ae(e.then)&&ae(e.catch),hs=Object.prototype.toString,wt=e=>hs.call(e),Nl=e=>wt(e).slice(8,-1),tn=e=>wt(e)==="[object Object]",Zn=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Lt=Xn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),nn=e=>{const o=Object.create(null);return t=>o[t]||(o[t]=e(t))},Ml=/-\w/g,Je=nn(e=>e.replace(Ml,o=>o.slice(1).toUpperCase())),Ol=/\B([A-Z])/g,oo=nn(e=>e.replace(Ol,"-$1").toLowerCase()),_s=nn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Jn=nn(e=>e?`on${_s(e)}`:""),bo=(e,o)=>!Object.is(e,o),Qn=(e,...o)=>{for(let t=0;t<e.length;t++)e[t](...o)},ms=(e,o,t,n=!1)=>{Object.defineProperty(e,o,{configurable:!0,enumerable:!1,writable:n,value:t})},Fl=e=>{const o=parseFloat(e);return isNaN(o)?e:o},bs=e=>{const o=we(e)?Number(e):NaN;return isNaN(o)?e:o};let ys;const an=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sn(e){if(ee(e)){const o={};for(let t=0;t<e.length;t++){const n=e[t],s=we(n)?Ul(n):sn(n);if(s)for(const a in s)o[a]=s[a]}return o}else if(we(e)||$e(e))return e}const Il=/;(?![^(]*\))/g,Dl=/:([^]+)/,Gl=/\/\*[^]*?\*\//g;function Ul(e){const o={};return e.replace(Gl,"").split(Il).forEach(t=>{if(t){const n=t.split(Dl);n.length>1&&(o[n[0].trim()]=n[1].trim())}}),o}function to(e){let o="";if(we(e))o=e;else if(ee(e))for(let t=0;t<e.length;t++){const n=to(e[t]);n&&(o+=n+" ")}else if($e(e))for(const t in e)e[t]&&(o+=t+" ");return o.trim()}const Bl=Xn("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function vs(e){return!!e||e===""}function Vl(e,o){if(e.length!==o.length)return!1;let t=!0;for(let n=0;t&&n<e.length;n++)t=rn(e[n],o[n]);return t}function ks(e,o){if(e.size!==o.size)return!1;const t=Array.from(o),n=new Uint8Array(t.length);for(const s of e){let a=-1;for(let r=0;r<t.length;r++)if(!n[r]&&rn(s,t[r])){a=r;break}if(a<0)return!1;n[a]=1}return!0}function rn(e,o){if(e===o)return!0;let t=$s(e),n=$s(o);if(t||n)return t&&n?e.getTime()===o.getTime():!1;if(t=co(e),n=co(o),t||n)return e===o;if(t=ee(e),n=ee(o),t||n)return t&&n?Vl(e,o):!1;if(t=$e(e),n=$e(o),t||n){if(!t||!n)return!1;if(t=Uo(e),n=Uo(o),t||n||(t=on(e),n=on(o),t||n))return t&&n?ks(e,o):!1;const s=Object.keys(e).length,a=Object.keys(o).length;if(s!==a)return!1;for(const r in e){const i=e.hasOwnProperty(r),l=o.hasOwnProperty(r);if(i&&!l||!i&&l||!rn(e[r],o[r]))return!1}}return String(e)===String(o)}const ws=e=>!!(e&&e.__v_isRef===!0),Ce=e=>we(e)?e:e==null?"":ee(e)||$e(e)&&(e.toString===hs||!ae(e.toString))?ws(e)?Ce(e.value):JSON.stringify(e,Ls,2):String(e),Ls=(e,o)=>ws(o)?Ls(e,o.value):Uo(o)?{[`Map(${o.size})`]:[...o.entries()].reduce((t,[n,s],a)=>(t[ea(n,a)+" =>"]=s,t),{})}:on(o)?{[`Set(${o.size})`]:[...o.values()].map(t=>ea(t))}:co(o)?ea(o):$e(o)&&!ee(o)&&!tn(o)?String(o):o,ea=(e,o="")=>{var t;return co(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 Fe;class Ps{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&&Fe&&(Fe.active?(this.parent=Fe,this.index=(Fe.scopes||(Fe.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;o<t;o++)n[o].pause()}for(o=0,t=this.effects.length;o<t;o++)this.effects[o].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let o,t;if(this.scopes){const s=this.scopes.slice();for(o=0,t=s.length;o<t;o++)s[o].resume()}const n=this.effects.slice();for(o=0,t=n.length;o<t;o++)n[o].resume()}}run(o){if(this._active){const t=Fe;try{return Fe=this,o()}finally{Fe=t}}}on(){++this._on===1&&(this.prevScope=Fe,Fe=this)}off(){if(this._on>0&&--this._on===0){if(Fe===this)Fe=this.prevScope;else{let o=Fe;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;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!o){const s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0}}}function zl(e){return new Ps(e)}function jl(){return Fe}let ye;const oa=new WeakSet;class Ss{constructor(o){this.fn=o,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Fe&&(Fe.active?Fe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,oa.has(this)&&(oa.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Es(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ns(this),xs(this);const o=ye,t=uo;ye=this,uo=!0;try{return this.fn()}finally{Ts(this),ye=o,uo=t,this.flags&=-3}}stop(){if(this.flags&1){for(let o=this.deps;o;o=o.nextDep)sa(o);this.deps=this.depsTail=void 0,Ns(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?oa.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){aa(this)&&this.run()}get dirty(){return aa(this)}}let As=0,Pt,St;function Es(e,o=!1){if(e.flags|=8,o){e.next=St,St=e;return}e.next=Pt,Pt=e}function ta(){As++}function na(){if(--As>0)return;if(St){let o=St;for(St=void 0;o;){const t=o.next;o.next=void 0,o.flags&=-9,o=t}}let e;for(;Pt;){let o=Pt;for(Pt=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 xs(e){for(let o=e.deps;o;o=o.nextDep)o.version=-1,o.prevActiveLink=o.dep.activeLink,o.dep.activeLink=o}function Ts(e){let o,t=e.depsTail,n=t;for(;n;){const s=n.prevDep;n.version===-1?(n===t&&(t=s),sa(n),Wl(n)):o=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}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&&(Rs(o.dep.computed)||o.dep.version!==o.version))return!0;return!!e._dirty}function Rs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===At)||(e.globalVersion=At,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!aa(e))))return;e.flags|=2;const o=e.dep,t=ye,n=uo;ye=e,uo=!0;try{xs(e);const s=e.fn(e._value);(o.version===0||bo(s,e._value))&&(e.flags|=128,e._value=s,o.version++)}catch(s){throw o.version++,s}finally{ye=t,uo=n,Ts(e),e.flags&=-3}}function sa(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)sa(a,!0)}!o&&!--t.sc&&t.map&&t.map.delete(t.key)}function Wl(e){const{prevDep:o,nextDep:t}=e;o&&(o.nextDep=t,e.prevDep=void 0),t&&(t.prevDep=o,e.nextDep=void 0)}let uo=!0;const Cs=[];function yo(){Cs.push(uo),uo=!1}function vo(){const e=Cs.pop();uo=e===void 0?!0:e}function Ns(e){const{cleanup:o}=e;if(e.cleanup=void 0,o){const t=ye;ye=void 0;try{o()}finally{ye=t}}}let At=0;class Hl{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 ra{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(!ye||!uo||ye===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ye)t=this.activeLink=new Hl(ye,this),ye.deps?(t.prevDep=ye.depsTail,ye.depsTail.nextDep=t,ye.depsTail=t):ye.deps=ye.depsTail=t,Ms(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=ye.depsTail,t.nextDep=void 0,ye.depsTail.nextDep=t,ye.depsTail=t,ye.deps===t&&(ye.deps=n)}return t}trigger(o){this.version++,At++,this.notify(o)}notify(o){ta();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{na()}}}function Ms(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)Ms(n)}const t=e.dep.subs;t!==e&&(e.prevSub=t,t&&(t.nextSub=e)),e.dep.subs=e}}const ia=new WeakMap,Yo=Symbol(""),la=Symbol(""),Et=Symbol("");function Be(e,o,t){if(uo&&ye){let n=ia.get(e);n||ia.set(e,n=new Map);let s=n.get(t);s||(n.set(t,s=new ra),s.map=n,s.key=t),s.track()}}function To(e,o,t,n,s,a){const r=ia.get(e);if(!r){At++;return}const i=l=>{l&&l.trigger()};if(ta(),o==="clear")r.forEach(i);else{const l=ee(e),c=l&&Zn(t);if(l&&t==="length"){const d=Number(n);r.forEach((g,_)=>{(_==="length"||_===Et||!co(_)&&_>=d)&&i(g)})}else switch((t!==void 0||r.has(void 0))&&i(r.get(t)),c&&i(r.get(Et)),o){case"add":l?c&&i(r.get("length")):(i(r.get(Yo)),Uo(e)&&i(r.get(la)));break;case"delete":l||(i(r.get(Yo)),Uo(e)&&i(r.get(la)));break;case"set":Uo(e)&&i(r.get(Yo));break}}na()}function rt(e){const o=ue(e);return o===e?o:(Be(o,"iterate",Et),io(e)?o:o.map(po))}function ln(e){return Be(e=ue(e),"iterate",Et),e}function ko(e,o){return Co(e)?it(Zo(e)?po(o):o):po(o)}const ql={__proto__:null,[Symbol.iterator](){return ca(this,Symbol.iterator,e=>ko(this,e))},concat(...e){return rt(this).concat(...e.map(o=>ee(o)?rt(o):o))},entries(){return ca(this,"entries",e=>(e[1]=ko(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=>ko(this,n)),arguments)},find(e,o){return Ro(this,"find",e,o,t=>ko(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=>ko(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 ua(this,"includes",e)},indexOf(...e){return ua(this,"indexOf",e)},join(e){return rt(this).join(e)},lastIndexOf(...e){return ua(this,"lastIndexOf",e)},map(e,o){return Ro(this,"map",e,o,void 0,arguments)},pop(){return xt(this,"pop")},push(...e){return xt(this,"push",e)},reduce(e,...o){return Os(this,"reduce",e,o)},reduceRight(e,...o){return Os(this,"reduceRight",e,o)},shift(){return xt(this,"shift")},some(e,o){return Ro(this,"some",e,o,void 0,arguments)},splice(...e){return xt(this,"splice",e)},toReversed(){return rt(this).toReversed()},toSorted(e){return rt(this).toSorted(e)},toSpliced(...e){return rt(this).toSpliced(...e)},unshift(...e){return xt(this,"unshift",e)},values(){return ca(this,"values",e=>ko(this,e))}};function ca(e,o,t){const n=ln(e),s=n[o]();return n!==e&&!io(e)&&(s._next=s.next,s.next=()=>{const a=s._next();return a.done||(a.value=t(a.value)),a}),s}const Kl=Array.prototype;function Ro(e,o,t,n,s,a){const r=ln(e),i=r!==e&&!io(e),l=r[o];if(l!==Kl[o]){const g=l.apply(e,a);return i?po(g):g}let c=t;r!==e&&(i?c=function(g,_){return t.call(this,ko(e,g),_,e)}:t.length>2&&(c=function(g,_){return t.call(this,g,_,e)}));const d=l.call(r,c,n);return i&&s?s(d):d}function Os(e,o,t,n){const s=ln(e),a=s!==e&&!io(e);let r=t,i=!1;s!==e&&(a?(i=n.length===0,r=function(c,d,g){return i&&(i=!1,c=ko(e,c)),t.call(this,c,ko(e,d),g,e)}):t.length>3&&(r=function(c,d,g){return t.call(this,c,d,g,e)}));const l=s[o](r,...n);return i?ko(e,l):l}function ua(e,o,t){const n=ue(e);Be(n,"iterate",Et);const s=n[o](...t);return(s===-1||s===!1)&&ga(t[0])?(t[0]=ue(t[0]),n[o](...t)):s}function xt(e,o,t=[]){yo(),ta();const n=ue(e)[o].apply(e,t);return na(),vo(),n}const Xl=Xn("__proto__,__v_isRef,__isVue"),Fs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(co));function Yl(e){co(e)||(e=String(e));const o=ue(this);return Be(o,"has",e),o.hasOwnProperty(e)}class Is{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?zs:Vs:a?Bs:Us).get(o)||Object.getPrototypeOf(o)===Object.getPrototypeOf(n)?o:void 0;const r=ee(o);if(!s){let l;if(r&&(l=ql[t]))return l;if(t==="hasOwnProperty")return Yl}const i=Reflect.get(o,t,Me(o)?o:n);if((co(t)?Fs.has(t):Xl(t))||(s||Be(o,"get",t),a))return i;if(Me(i)){const l=r&&Zn(t)?i:i.value;return s&&$e(l)?da(l):l}return $e(i)?s?da(i):dn(i):i}}class Ds extends Is{constructor(o=!1){super(!1,o)}set(o,t,n,s){let a=o[t];const r=ee(o)&&Zn(t);if(!this._isShallow){const c=Co(a);if(!io(n)&&!Co(n)&&(a=ue(a),n=ue(n)),!r&&Me(a)&&!Me(n))return c||(a.value=n),!0}const i=r?Number(t)<o.length:de(o,t),l=Reflect.set(o,t,n,Me(o)?o:s);return o===ue(s)&&l&&(i?bo(n,a)&&To(o,"set",t,n):To(o,"add",t,n)),l}deleteProperty(o,t){const n=de(o,t);o[t];const s=Reflect.deleteProperty(o,t);return s&&n&&To(o,"delete",t,void 0),s}has(o,t){const n=Reflect.has(o,t);return(!co(t)||!Fs.has(t))&&Be(o,"has",t),n}ownKeys(o){return Be(o,"iterate",ee(o)?"length":Yo),Reflect.ownKeys(o)}}class Gs extends Is{constructor(o=!1){super(!0,o)}set(o,t){return!0}deleteProperty(o,t){return!0}}const Zl=new Ds,Jl=new Gs,Ql=new Ds(!0),ec=new Gs(!0),pa=e=>e,cn=e=>Reflect.getPrototypeOf(e);function oc(e,o,t){return function(...n){const s=this.__v_raw,a=ue(s),r=Uo(a),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...n),d=t?pa:o?it:po;return!o&&Be(a,"iterate",l?la:Yo),xe(Object.create(c),{next(){const{value:g,done:_}=c.next();return _?{value:g,done:_}:{value:i?[d(g[0]),d(g[1])]:d(g),done:_}}})}}function un(e){return function(...o){return e==="delete"?!1:e==="clear"?void 0:this}}function tc(e,o){const t={get(s){const a=this.__v_raw,r=ue(a),i=ue(s);e||(bo(s,i)&&Be(r,"get",s),Be(r,"get",i));const{has:l}=cn(r),c=o?pa:e?it:po;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&&Be(ue(s),"iterate",Yo),s.size},has(s){const a=this.__v_raw,r=ue(a),i=ue(s);return e||(bo(s,i)&&Be(r,"has",s),Be(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=ue(i),c=o?pa:e?it:po;return!e&&Be(l,"iterate",Yo),i.forEach((d,g)=>s.call(a,c(d),c(g),r))}};return xe(t,e?{add:un("add"),set:un("set"),delete:un("delete"),clear:un("clear")}:{add(s){const a=ue(this),r=cn(a),i=ue(s),l=!o&&!io(s)&&!Co(s)?i:s;return r.has.call(a,l)||bo(s,l)&&r.has.call(a,s)||bo(i,l)&&r.has.call(a,i)||(a.add(l),To(a,"add",l,l)),this},set(s,a){!o&&!io(a)&&!Co(a)&&(a=ue(a));const r=ue(this),{has:i,get:l}=cn(r);let c=i.call(r,s);c||(s=ue(s),c=i.call(r,s));const d=l.call(r,s);return r.set(s,a),c?bo(a,d)&&To(r,"set",s,a):To(r,"add",s,a),this},delete(s){const a=ue(this),{has:r,get:i}=cn(a);let l=r.call(a,s);l||(s=ue(s),l=r.call(a,s)),i&&i.call(a,s);const c=a.delete(s);return l&&To(a,"delete",s,void 0),c},clear(){const s=ue(this),a=s.size!==0,r=s.clear();return a&&To(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{t[s]=oc(s,e,o)}),t}function pn(e,o){const t=tc(e,o);return(n,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(de(t,s)&&s in n?t:n,s,a)}const nc={get:pn(!1,!1)},ac={get:pn(!1,!0)},sc={get:pn(!0,!1)},rc={get:pn(!0,!0)},Us=new WeakMap,Bs=new WeakMap,Vs=new WeakMap,zs=new WeakMap;function ic(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return Co(e)?e:gn(e,!1,Zl,nc,Us)}function lc(e){return gn(e,!1,Ql,ac,Bs)}function da(e){return gn(e,!0,Jl,sc,Vs)}function W$(e){return gn(e,!0,ec,rc,zs)}function gn(e,o,t,n,s){if(!$e(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=ic(Nl(e));if(r===0)return e;const i=new Proxy(e,r===2?n:t);return s.set(e,i),i}function Zo(e){return Co(e)?Zo(e.__v_raw):!!(e&&e.__v_isReactive)}function Co(e){return!!(e&&e.__v_isReadonly)}function io(e){return!!(e&&e.__v_isShallow)}function ga(e){return e?!!e.__v_raw:!1}function ue(e){const o=e&&e.__v_raw;return o?ue(o):e}function cc(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&ms(e,"__v_skip",!0),e}const po=e=>$e(e)?dn(e):e,it=e=>$e(e)?da(e):e;function Me(e){return e?e.__v_isRef===!0:!1}function Le(e){return js(e,!1)}function $a(e){return js(e,!0)}function js(e,o){return Me(e)?e:new uc(e,o)}class uc{constructor(o,t){this.dep=new ra,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?o:ue(o),this._value=t?o:po(o),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(o){const t=this._rawValue,n=this.__v_isShallow||io(o)||Co(o);o=n?o:ue(o),bo(o,t)&&(this._rawValue=o,this._value=n?o:po(o),this.dep.trigger())}}function Bo(e){return Me(e)?e.value:e}const pc={get:(e,o,t)=>o==="__v_raw"?e:Bo(Reflect.get(e,o,t)),set:(e,o,t,n)=>{const s=e[o];return Me(s)&&!Me(t)?(s.value=t,!0):Reflect.set(e,o,t,n)}};function Ws(e){return Zo(e)?e:new Proxy(e,pc)}class dc{constructor(o,t,n){this.fn=o,this.setter=t,this._value=void 0,this.dep=new ra(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=At-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Es(this,!0),!0}get value(){const o=this.dep.track();return Rs(this),o&&(o.version=this.dep.version),this._value}set value(o){this.setter&&this.setter(o)}}function gc(e,o,t=!1){let n,s;return ae(e)?n=e:(n=e.get,s=e.set),new dc(n,s,t)}const $n={},fn=new WeakMap;let Jo;function $c(e,o=!1,t=Jo){if(t){let n=fn.get(t);n||fn.set(t,n=[]),n.push(e)}}function fc(e,o,t=be){const{immediate:n,deep:s,once:a,scheduler:r,augmentJob:i,call:l}=t,c=m=>s?m:io(m)||s===!1||s===0?Vo(m,1):Vo(m);let d,g,_,k,E=!1,P=!1;if(Me(e)?(g=()=>e.value,E=io(e)):Zo(e)?(g=()=>c(e),E=!0):ee(e)?(P=!0,E=e.some(m=>Zo(m)||io(m)),g=()=>e.map(m=>{if(Me(m))return m.value;if(Zo(m))return c(m);if(ae(m))return l?l(m,2):m()})):ae(e)?o?g=l?()=>l(e,2):e:g=()=>{if(_){yo();try{_()}finally{vo()}}const m=Jo;Jo=d;try{return l?l(e,3,[k]):e(k)}finally{Jo=m}}:g=mo,o&&s){const m=g,x=s===!0?1/0:s;g=()=>Vo(m(),x)}const M=jl(),O=()=>{d.stop(),M&&M.active&&Yn(M.effects,d)};if(a&&o){const m=o;o=(...x)=>{const R=m(...x);return O(),R}}let w=P?new Array(e.length).fill($n):$n;const y=m=>{if(!(!(d.flags&1)||!d.dirty&&!m))if(o){const x=d.run();if(m||s||E||(P?x.some((R,C)=>bo(R,w[C])):bo(x,w))){_&&_();const R=Jo;Jo=d;try{const C=[x,w===$n?void 0:P&&w[0]===$n?[]:w,k];w=x,l?l(o,3,C):o(...C)}finally{Jo=R}}}else d.run()};return i&&i(y),d=new Ss(g),d.scheduler=r?()=>r(y,!1):y,k=m=>$c(m,!1,d),_=d.onStop=()=>{const m=fn.get(d);if(m){if(l)l(m,4);else for(const x of m)x();fn.delete(d)}},o?n?y(!0):w=d.run():r?r(y.bind(null,!0),!0):d.run(),O.pause=d.pause.bind(d),O.resume=d.resume.bind(d),O.stop=O,O}function Vo(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--,Me(e))Vo(e.value,o,t);else if(ee(e))for(let n=0;n<e.length;n++)Vo(e[n],o,t);else if(on(e)||Uo(e))e.forEach(n=>{Vo(n,o,t)});else if(tn(e)){for(const n in e)Vo(e[n],o,t);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Vo(e[n],o,t)}return e}/**
|
||
* @vue/runtime-core v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/const Tt=[];let fa=!1;function H$(e,...o){if(fa)return;fa=!0,yo();const t=Tt.length?Tt[Tt.length-1].component:null,n=t&&t.appContext.config.warnHandler,s=hc();if(n)lt(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 <${zr(t,a.type)}>`).join(`
|
||
`),s]);else{const a=[`[Vue warn]: ${e}`,...o];s.length&&a.push(`
|
||
`,..._c(s)),console.warn(...a)}vo(),fa=!1}function hc(){let e=Tt[Tt.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 _c(e){const o=[];return e.forEach((t,n)=>{o.push(...n===0?[]:[`
|
||
`],...mc(t))}),o}function mc({vnode:e,recurseCount:o}){const t=o>0?`... (${o} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${zr(e.component,e.type,n)}`,a=">"+t;return e.props?[s,...bc(e.props),a]:[s+a]}function bc(e){const o=[],t=Object.keys(e);return t.slice(0,3).forEach(n=>{o.push(...Hs(n,e[n]))}),t.length>3&&o.push(" ..."),o}function Hs(e,o,t){return we(o)?(o=JSON.stringify(o),t?o:[`${e}=${o}`]):typeof o=="number"||typeof o=="boolean"||o==null?t?o:[`${e}=${o}`]:Me(o)?(o=Hs(e,ue(o.value),!0),t?o:[`${e}=Ref<`,o,">"]):ae(o)?[`${e}=fn${o.name?`<${o.name}>`:""}`]:(o=ue(o),t?o:[`${e}=`,o])}function lt(e,o,t,n){try{return n?e(...n):e()}catch(s){hn(s,o,t)}}function go(e,o,t,n){if(ae(e)){const s=lt(e,o,t,n);return s&&fs(s)&&s.catch(a=>{hn(a,o,t)}),s}if(ee(e)){const s=[];for(let a=0;a<e.length;a++)s.push(go(e[a],o,t,n));return s}}function hn(e,o,t,n=!0){const s=o?o.vnode:null,{errorHandler:a,throwUnhandledErrorInProduction:r}=o&&o.appContext.config||be;if(o){let i=o.parent;const l=o.proxy,c=`https://vuejs.org/error-reference/#runtime-${t}`;for(;i;){const d=i.ec;if(d){for(let g=0;g<d.length;g++)if(d[g](e,l,c)===!1)return}i=i.parent}if(a){yo(),lt(a,null,10,[e,l,c]),vo();return}}yc(e,t,s,n,r)}function yc(e,o,t,n=!0,s=!1){if(s)throw e;console.error(e)}const je=[];let wo=-1;const ct=[];let zo=null,ut=0;const qs=Promise.resolve();let _n=null;function mn(e){const o=_n||qs;return e?o.then(this?e.bind(this):e):o}function vc(e){let o=wo+1,t=je.length;for(;o<t;){const n=o+t>>>1,s=je[n],a=Rt(s);a<e||a===e&&s.flags&2?o=n+1:t=n}return o}function ha(e){if(!(e.flags&1)){const o=Rt(e),t=je[je.length-1];!t||!(e.flags&2)&&o>=Rt(t)?je.push(e):je.splice(vc(o),0,e),e.flags|=1,Ks()}}function Ks(){_n||(_n=qs.then(Zs))}function kc(e){if(!ee(e))zo&&e.id===-1?zo.splice(ut+1,0,e):e.flags&1||(ct.push(e),e.flags|=1);else for(let o=0;o<e.length;o++)ct.push(e[o]);Ks()}function Xs(e,o,t=wo+1){for(;t<je.length;t++){const n=je[t];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;je.splice(t,1),t--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Ys(e){if(ct.length){const o=[...new Set(ct)].sort((t,n)=>Rt(t)-Rt(n));if(ct.length=0,zo){for(let t=0;t<o.length;t++)zo.push(o[t]);return}for(zo=o,ut=0;ut<zo.length;ut++){const t=zo[ut];t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2}zo=null,ut=0}}const Rt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Zs(e){try{for(wo=0;wo<je.length;wo++){const o=je[wo];o&&!(o.flags&8)&&(o.flags&4&&(o.flags&=-2),lt(o,o.i,o.i?15:14),o.flags&4||(o.flags&=-2))}}finally{for(;wo<je.length;wo++){const o=je[wo];o&&(o.flags&=-2)}wo=-1,je.length=0,Ys(),_n=null,(je.length||ct.length)&&Zs()}}let Qe=null,Js=null;function bn(e){const o=Qe;return Qe=e,Js=e&&e.type.__scopeId||null,o}function yn(e,o=Qe,t){if(!o||e._n)return e;const n=(...s)=>{n._d&&xn(-1);const a=bn(o),r=Mo.length;let i;try{i=e(...s)}finally{for(let l=Mo.length;l>r;l--)Ma();bn(a),n._d&&xn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Qo(e,o,t,n){const s=e.dirs,a=o&&o.dirs;for(let r=0;r<s.length;r++){const i=s[r];a&&(i.oldValue=a[r].value);let l=i.dir[n];l&&(yo(),go(l,t,8,[e.el,i,e,o]),vo())}}function Qs(e,o){if(qe){let t=qe.provides;const n=qe.parent&&qe.parent.provides;n===t&&(t=qe.provides=Object.create(n)),t[e]=o}}function $o(e,o,t=!1){const n=tt();if(n||gt){let s=gt?gt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return t&&ae(o)?o.call(n&&n.proxy):o}}const wc=Symbol.for("v-scx"),Lc=()=>$o(wc);function Lo(e,o,t){return er(e,o,t)}function er(e,o,t=be){const{immediate:n,deep:s,flush:a,once:r}=t,i=xe({},t),l=o&&n||!o&&a!=="post";let c;if(zt){if(a==="sync"){const k=Lc();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=mo,k.resume=mo,k.pause=mo,k}}const d=qe;i.call=(k,E,P)=>go(k,d,E,P);let g=!1;a==="post"?i.scheduler=k=>{He(k,d&&d.suspense)}:a!=="sync"&&(g=!0,i.scheduler=(k,E)=>{E?k():ha(k)}),i.augmentJob=k=>{o&&(k.flags|=4),g&&(k.flags|=2,d&&(k.id=d.uid,k.i=d))};const _=fc(e,o,i);return zt&&(c?c.push(_):l&&_()),_}function Pc(e,o,t){const n=this.proxy,s=we(e)?e.includes(".")?or(n,e):()=>n[e]:e.bind(n,n);let a;ae(o)?a=o:(a=o.handler,t=o);const r=Vt(this),i=er(s,a.bind(n),t);return r(),i}function or(e,o){const t=o.split(".");return()=>{let n=e;for(let s=0;s<t.length&&n;s++)n=n[t[s]];return n}}const jo=new WeakMap,tr=Symbol("_vte"),vn=e=>e.__isTeleport,et=e=>e&&(e.disabled||e.disabled===""),Sc=e=>e&&(e.defer||e.defer===""),nr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ar=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,_a=(e,o)=>{const t=e&&e.to;return we(t)?o?o(t):null:t},Ac={name:"Teleport",__isTeleport:!0,process(e,o,t,n,s,a,r,i,l,c){const{mc:d,pc:g,pbc:_,o:{insert:k,querySelector:E,createText:P,createComment:M,parentNode:O}}=c,w=et(o.props);let{dynamicChildren:y}=o;const m=(C,G,F)=>{C.shapeFlag&16&&d(C.children,G,F,s,a,r,i,l)},x=(C=o)=>{const G=et(C.props),F=C.target=_a(C.props,E),X=ma(F,C,P,k);F&&(r!=="svg"&&nr(F)?r="svg":r!=="mathml"&&ar(F)&&(r="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(F),G||(m(C,F,X),Ct(C,!1)))},R=C=>{const G=()=>{if(jo.get(C)===G){if(jo.delete(C),et(C.props)){const F=O(C.el)||t;m(C,F,C.anchor),Ct(C,!0)}x(C)}};jo.set(C,G),He(G,a)};if(e==null){const C=o.el=P(""),G=o.anchor=P("");if(k(C,t,n),k(G,t,n),Sc(o.props)||a&&a.pendingBranch){R(o);return}w&&(m(o,t,G),Ct(o,!0)),x()}else{o.el=e.el;const C=o.anchor=e.anchor,G=jo.get(e);if(G){G.flags|=8,jo.delete(e),R(o);return}o.targetStart=e.targetStart;const F=o.target=e.target,X=o.targetAnchor=e.targetAnchor,K=et(e.props),W=K?t:F,se=K?C:X;if(r==="svg"||nr(F)?r="svg":(r==="mathml"||ar(F))&&(r="mathml"),y?(_(e.dynamicChildren,y,W,s,a,r,i),Ca(e,o,!0)):l||g(e,o,W,se,s,a,r,i,!1),w)K?o.props&&e.props&&o.props.to!==e.props.to&&(o.props.to=e.props.to):kn(o,t,C,c,1);else if((o.props&&o.props.to)!==(e.props&&e.props.to)){const ce=_a(o.props,E);ce&&(o.target=ce,kn(o,ce,null,c,0))}else K&&kn(o,F,X,c,1);Ct(o,w)}},remove(e,o,t,{um:n,o:{remove:s}},a){const{shapeFlag:r,children:i,anchor:l,targetStart:c,targetAnchor:d,target:g,props:_}=e,k=et(_),E=a||!k,P=jo.get(e);if(P&&(P.flags|=8,jo.delete(e)),g&&(s(c),s(d)),a&&s(l),!P&&(k||g)&&r&16)for(let M=0;M<i.length;M++){const O=i[M];n(O,o,t,E,!!O.dynamicChildren)}},move:kn,hydrate:Ec};function kn(e,o,t,{o:{insert:n},m:s},a=2){a===0&&n(e.targetAnchor,o,t);const{el:r,anchor:i,shapeFlag:l,children:c,props:d}=e,g=a===2;if(g&&n(r,o,t),!jo.has(e)&&(!g||et(d))&&l&16)for(let _=0;_<c.length;_++)s(c[_],o,t,2);g&&n(i,o,t)}function Ec(e,o,t,n,s,a,{o:{nextSibling:r,parentNode:i,querySelector:l,insert:c,createText:d}},g){function _(M,O){let w=O;for(;w;){if(w&&w.nodeType===8){if(w.data==="teleport start anchor")o.targetStart=w;else if(w.data==="teleport anchor"){o.targetAnchor=w,M._lpa=o.targetAnchor&&r(o.targetAnchor);break}}w=r(w)}}function k(M,O){O.anchor=g(r(M),O,i(M),t,n,s,a)}const E=o.target=_a(o.props,l),P=et(o.props);if(E){const M=E._lpa||E.firstChild;o.shapeFlag&16&&(P?(k(e,o),_(E,M),o.targetAnchor||ma(E,o,d,c,i(e)===E?e:null)):(o.anchor=r(e),_(E,M),o.targetAnchor||ma(E,o,d,c),g(M&&r(M),o,E,t,n,s,a))),Ct(o,P)}else P&&o.shapeFlag&16&&(k(e,o),o.targetStart=e,o.targetAnchor=r(e));return o.anchor&&r(o.anchor)}const xc=Ac;function Ct(e,o){const t=e.ctx;if(t&&t.ut){let n,s;for(o?(n=e.el,s=e.anchor):(n=e.targetStart,s=e.targetAnchor);n&&n!==s;)n.nodeType===1&&n.setAttribute("data-v-owner",t.uid),n=n.nextSibling;t.ut()}}function ma(e,o,t,n,s=null){const a=o.targetStart=t(""),r=o.targetAnchor=t("");return a[tr]=r,e&&(n(a,e,s),n(r,e,s)),r}const ba=Symbol("_leaveCb");function Tc(e){let o=e[0];if(e.length>1){for(const t of e)if(t.type!==Po){o=t;break}}return o}function sr(e){if(!va(e))return vn(e.type)&&e.children?Tc(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&&ae(t.default))return t.default()}}function ya(e,o){if(e.shapeFlag&6&&e.component){e.transition=o;const t=e.component.subTree;ya(vn(t.type)&&sr(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 wn(e,o){return ae(e)?xe({name:e.name},o,{setup:e}):e}function rr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ir(e,o){let t;return!!((t=Object.getOwnPropertyDescriptor(e,o))&&!t.configurable)}const Ln=new WeakMap;function Nt(e,o,t,n,s=!1){if(ee(e)){e.forEach((P,M)=>Nt(P,o&&(ee(o)?o[M]:o),t,n,s));return}if(pt(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Nt(e,o,t,n.component.subTree);return}const a=n.shapeFlag&4?Fa(n.component):n.el,r=s?null:a,{i,r:l}=e,c=o&&o.r,d=i.refs===be?i.refs={}:i.refs,g=i.setupState,_=ue(g),k=g===be?gs:P=>ir(d,P)?!1:de(_,P),E=(P,M)=>!(M&&ir(d,M));if(c!=null&&c!==l){if(lr(o),we(c))d[c]=null,k(c)&&(g[c]=null);else if(Me(c)){const P=o;E(c,P.k)&&(c.value=null),P.k&&(d[P.k]=null)}}if(ae(l))lt(l,i,12,[r,d]);else{const P=we(l),M=Me(l);if(P||M){const O=()=>{if(e.f){const w=P?k(l)?g[l]:d[l]:E()||!e.k?l.value:d[e.k];if(s)ee(w)&&Yn(w,a);else if(ee(w))w.includes(a)||w.push(a);else if(P)d[l]=[a],k(l)&&(g[l]=d[l]);else{const y=[a];E(l,e.k)&&(l.value=y),e.k&&(d[e.k]=y)}}else P?(d[l]=r,k(l)&&(g[l]=r)):M&&(E(l,e.k)&&(l.value=r),e.k&&(d[e.k]=r))};if(r){const w=()=>{O(),Ln.delete(e)};w.id=-1,Ln.set(e,w),He(w,t)}else lr(e),O()}}}function lr(e){const o=Ln.get(e);o&&(o.flags|=8,Ln.delete(e))}an().requestIdleCallback,an().cancelIdleCallback;const pt=e=>!!e.type.__asyncLoader,va=e=>e.type.__isKeepAlive;function Rc(e,o){cr(e,"a",o)}function Cc(e,o){cr(e,"da",o)}function cr(e,o,t=qe){const n=e.__wdc||(e.__wdc=()=>{let s=t;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Pn(o,n,t),t){let s=t.parent;for(;s&&s.parent;)va(s.parent.vnode)&&Nc(n,o,t,s),s=s.parent}}function Nc(e,o,t,n){const s=Pn(o,e,n,!0);ka(()=>{Yn(n[o],s)},t)}function Pn(e,o,t=qe,n=!1){if(t){const s=t[e]||(t[e]=[]),a=o.__weh||(o.__weh=(...r)=>{yo();const i=Vt(t),l=go(o,t,e,r);return i(),vo(),l});return n?s.unshift(a):s.push(a),a}}const No=e=>(o,t=qe)=>{(!zt||e==="sp")&&Pn(e,(...n)=>o(...n),t)},ur=No("bm"),dt=No("m"),Mc=No("bu"),Oc=No("u"),Sn=No("bum"),ka=No("um"),Fc=No("sp"),Ic=No("rtg"),Dc=No("rtc");function Gc(e,o=qe){Pn("ec",e,o)}const Uc=Symbol.for("v-ndc");function wa(e,o,t,n){let s;const a=t,r=ee(e);if(r||we(e)){const i=r&&Zo(e);let l=!1,c=!1;i&&(l=!io(e),c=Co(e),e=ln(e)),s=new Array(e.length);for(let d=0,g=e.length;d<g;d++)s[d]=o(l?c?it(po(e[d])):po(e[d]):e[d],d,void 0,a)}else if(typeof e=="number"){s=new Array(e);for(let i=0;i<e;i++)s[i]=o(i+1,i,void 0,a)}else if($e(e))if(e[Symbol.iterator])s=Array.from(e,(i,l)=>o(i,l,void 0,a));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;l<c;l++){const d=i[l];s[l]=o(e[d],d,l,a)}}else s=[];return s}function pr(e,o,t,n,s,a){if(t==null&&(t={}),Qe.ce||Qe.parent&&pt(Qe.parent)&&Qe.parent.ce){const c=t,d=Object.keys(c).length>0;return _e(),Dt(Ie,null,[Re("slot",c,n)],d?-2:64)}let r=e[o];r&&r._c&&(r._d=!1);const i=Mo.length;_e();let l;try{const c=r&&dr(r(t)),d=t.key||a||c&&c.key;l=Dt(Ie,{key:(d&&!co(d)?d:`_${o}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let d=Mo.length;d>i;d--)Ma();throw c}finally{r&&r._c&&(r._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function dr(e){return e.some(o=>Gt(o)?!(o.type===Po||o.type===Ie&&!dr(o.children)):!0)?e:null}const La=e=>e?Ur(e)?Fa(e):La(e.parent):null,Mt=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>hr(e),$forceUpdate:e=>e.f||(e.f=()=>{ha(e.update)}),$nextTick:e=>e.n||(e.n=mn.bind(e.proxy)),$watch:e=>Pc.bind(e)}),Pa=(e,o)=>e!==be&&!e.__isScriptSetup&&de(e,o),Bc={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 _=r[o];if(_!==void 0)switch(_){case 1:return n[o];case 2:return s[o];case 4:return t[o];case 3:return a[o]}else{if(Pa(n,o))return r[o]=1,n[o];if(s!==be&&de(s,o))return r[o]=2,s[o];if(de(a,o))return r[o]=3,a[o];if(t!==be&&de(t,o))return r[o]=4,t[o];Sa&&(r[o]=0)}}const c=Mt[o];let d,g;if(c)return o==="$attrs"&&Be(e.attrs,"get",""),c(e);if((d=i.__cssModules)&&(d=d[o]))return d;if(t!==be&&de(t,o))return r[o]=4,t[o];if(g=l.config.globalProperties,de(g,o))return g[o]},set({_:e},o,t){const{data:n,setupState:s,ctx:a}=e;return Pa(s,o)?(s[o]=t,!0):n!==be&&de(n,o)?(n[o]=t,!0):de(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!==be&&i[0]!=="$"&&de(e,i)||Pa(o,i)||de(a,i)||de(n,i)||de(Mt,i)||de(s.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,o,t){return t.get!=null?e._.accessCache[o]=0:de(t,"value")&&this.set(e,o,t.value,null),Reflect.defineProperty(e,o,t)}};function gr(e){return ee(e)?e.reduce((o,t)=>(o[t]=null,o),{}):e}let Sa=!0;function Vc(e){const o=hr(e),t=e.proxy,n=e.ctx;Sa=!1,o.beforeCreate&&$r(o.beforeCreate,e,"bc");const{data:s,computed:a,methods:r,watch:i,provide:l,inject:c,created:d,beforeMount:g,mounted:_,beforeUpdate:k,updated:E,activated:P,deactivated:M,beforeDestroy:O,beforeUnmount:w,destroyed:y,unmounted:m,render:x,renderTracked:R,renderTriggered:C,errorCaptured:G,serverPrefetch:F,expose:X,inheritAttrs:K,components:W,directives:se,filters:ce}=o;if(c&&zc(c,n,null),r)for(const H in r){const oe=r[H];ae(oe)&&(n[H]=oe.bind(t))}if(s){const H=s.call(t,t);$e(H)&&(e.data=dn(H))}if(Sa=!0,a)for(const H in a){const oe=a[H],he=ae(oe)?oe.bind(t,t):ae(oe.get)?oe.get.bind(t,t):mo,Ve=!ae(oe)&&ae(oe.set)?oe.set.bind(t):mo,Ae=De({get:he,set:Ve});Object.defineProperty(n,H,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:ke=>Ae.value=ke})}if(i)for(const H in i)fr(i[H],n,t,H);if(l){const H=ae(l)?l.call(t):l;Reflect.ownKeys(H).forEach(oe=>{Qs(oe,H[oe])})}d&&$r(d,e,"c");function U(H,oe){ee(oe)?oe.forEach(he=>H(he.bind(t))):oe&&H(oe.bind(t))}if(U(ur,g),U(dt,_),U(Mc,k),U(Oc,E),U(Rc,P),U(Cc,M),U(Gc,G),U(Dc,R),U(Ic,C),U(Sn,w),U(ka,m),U(Fc,F),ee(X))if(X.length){const H=e.exposed||(e.exposed={});X.forEach(oe=>{Object.defineProperty(H,oe,{get:()=>t[oe],set:he=>t[oe]=he,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===mo&&(e.render=x),K!=null&&(e.inheritAttrs=K),W&&(e.components=W),se&&(e.directives=se),F&&rr(e)}function zc(e,o,t=mo){ee(e)&&(e=Aa(e));for(const n in e){const s=e[n];let a;$e(s)?"default"in s?a=$o(s.from||n,s.default,!0):a=$o(s.from||n):a=$o(s),Me(a)?Object.defineProperty(o,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:r=>a.value=r}):o[n]=a}}function $r(e,o,t){go(ee(e)?e.map(n=>n.bind(o.proxy)):e.bind(o.proxy),o,t)}function fr(e,o,t,n){let s=n.includes(".")?or(t,n):()=>t[n];if(we(e)){const a=o[e];ae(a)&&Lo(s,a)}else if(ae(e))Lo(s,e.bind(t));else if($e(e))if(ee(e))e.forEach(a=>fr(a,o,t,n));else{const a=ae(e.handler)?e.handler.bind(t):o[e.handler];ae(a)&&Lo(s,a,e)}}function hr(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=>An(l,c,r,!0)),An(l,o,r)),$e(o)&&a.set(o,l),l}function An(e,o,t,n=!1){const{mixins:s,extends:a}=o;a&&An(e,a,t,!0),s&&s.forEach(r=>An(e,r,t,!0));for(const r in o)if(!(n&&r==="expose")){const i=jc[r]||t&&t[r];e[r]=i?i(e[r],o[r]):o[r]}return e}const jc={data:_r,props:mr,emits:mr,methods:Ot,computed:Ot,beforeCreate:We,created:We,beforeMount:We,mounted:We,beforeUpdate:We,updated:We,beforeDestroy:We,beforeUnmount:We,destroyed:We,unmounted:We,activated:We,deactivated:We,errorCaptured:We,serverPrefetch:We,components:Ot,directives:Ot,watch:Hc,provide:_r,inject:Wc};function _r(e,o){return o?e?function(){return xe(ae(e)?e.call(this,this):e,ae(o)?o.call(this,this):o)}:o:e}function Wc(e,o){return Ot(Aa(e),Aa(o))}function Aa(e){if(ee(e)){const o={};for(let t=0;t<e.length;t++)o[e[t]]=e[t];return o}return e}function We(e,o){return e?[...new Set([].concat(e,o))]:o}function Ot(e,o){return e?xe(Object.create(null),e,o):o}function mr(e,o){return e?ee(e)&&ee(o)?[...new Set([...e,...o])]:xe(Object.create(null),gr(e),gr(o??{})):o}function Hc(e,o){if(!e)return o;if(!o)return e;const t=xe(Object.create(null),e);for(const n in o)t[n]=We(e[n],o[n]);return t}function br(){return{app:null,config:{isNativeTag:gs,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let qc=0;function Kc(e,o){return function(n,s=null){ae(n)||(n=xe({},n)),s!=null&&!$e(s)&&(s=null);const a=br(),r=new WeakSet,i=[];let l=!1;const c=a.app={_uid:qc++,_component:n,_props:s,_container:null,_context:a,_instance:null,version:Au,get config(){return a.config},set config(d){},use(d,...g){return r.has(d)||(d&&ae(d.install)?(r.add(d),d.install(c,...g)):ae(d)&&(r.add(d),d(c,...g))),c},mixin(d){return a.mixins.includes(d)||a.mixins.push(d),c},component(d,g){return g?(a.components[d]=g,c):a.components[d]},directive(d,g){return g?(a.directives[d]=g,c):a.directives[d]},mount(d,g,_){if(!l){const k=c._ceVNode||Re(n,s);return k.appContext=a,_===!0?_="svg":_===!1&&(_=void 0),e(k,d,_),l=!0,c._container=d,d.__vue_app__=c,Fa(k.component)}},onUnmount(d){i.push(d)},unmount(){l&&(go(i,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(d,g){return a.provides[d]=g,c},runWithContext(d){const g=gt;gt=c;try{return d()}finally{gt=g}}};return c}}let gt=null;const Xc=(e,o)=>o==="modelValue"||o==="model-value"?e.modelModifiers:e[`${o}Modifiers`]||e[`${Je(o)}Modifiers`]||e[`${oo(o)}Modifiers`];function Yc(e,o,...t){if(e.isUnmounted)return;const n=e.vnode.props||be;let s=t;const a=o.startsWith("update:"),r=a&&Xc(n,o.slice(7));r&&(r.trim&&(s=t.map(d=>we(d)?d.trim():d)),r.number&&(s=s.map(Fl)));let i,l=n[i=Jn(o)]||n[i=Jn(Je(o))];!l&&a&&(l=n[i=Jn(oo(o))]),l&&go(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,go(c,e,6,s)}}const Zc=new WeakMap;function yr(e,o,t=!1){const n=t?Zc:o.emitsCache,s=n.get(e);if(s!==void 0)return s;const a=e.emits;let r={},i=!1;if(!ae(e)){const l=c=>{const d=yr(c,o,!0);d&&(i=!0,xe(r,d))};!t&&o.mixins.length&&o.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!a&&!i?($e(e)&&n.set(e,null),null):(ee(a)?a.forEach(l=>r[l]=null):xe(r,a),$e(e)&&n.set(e,r),r)}function En(e,o){return!e||!Qt(o)?!1:(o=o.slice(2),o=o==="Once"?o:o.replace(/Once$/,""),de(e,o[0].toLowerCase()+o.slice(1))||de(e,oo(o))||de(e,o))}function q$(){}function vr(e){const{type:o,vnode:t,proxy:n,withProxy:s,propsOptions:[a],slots:r,attrs:i,emit:l,render:c,renderCache:d,props:g,data:_,setupState:k,ctx:E,inheritAttrs:P}=e,M=bn(e);let O,w;try{if(t.shapeFlag&4){const m=s||n,x=m;O=So(c.call(x,m,d,g,k,_,E)),w=i}else{const m=o;O=So(m.length>1?m(g,{attrs:i,slots:r,emit:l}):m(g,null)),w=o.props?i:Jc(i)}}catch(m){Mo.length=0,hn(m,e,1),O=Re(Po)}let y=O;if(w&&P!==!1){const m=Object.keys(w),{shapeFlag:x}=y;m.length&&x&7&&(a&&m.some(en)&&(w=Qc(w,a)),y=$t(y,w,!1,!0))}if(t.dirs&&(y=$t(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(t.dirs):t.dirs),t.transition){const m=vn(y.type)&&sr(y)||y;ya(m,t.transition)}return O=y,bn(M),O}const Jc=e=>{let o;for(const t in e)(t==="class"||t==="style"||Qt(t))&&((o||(o={}))[t]=e[t]);return o},Qc=(e,o)=>{const t={};for(const n in e)(!en(n)||!(n.slice(9)in o))&&(t[n]=e[n]);return t};function eu(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?kr(n,r,c):!!r;if(l&8){const d=o.dynamicProps;for(let g=0;g<d.length;g++){const _=d[g];if(wr(r,n,_)&&!En(c,_))return!0}}}else return(s||i)&&(!i||!i.$stable)?!0:n===r?!1:n?r?kr(n,r,c):!0:!!r;return!1}function kr(e,o,t){const n=Object.keys(o);if(n.length!==Object.keys(e).length)return!0;for(let s=0;s<n.length;s++){const a=n[s];if(wr(o,e,a)&&!En(t,a))return!0}return!1}function wr(e,o,t){const n=e[t],s=o[t];return t==="style"&&$e(n)&&$e(s)?!rn(n,s):n!==s}function ou({vnode:e,parent:o,suspense:t},n){for(;o;){const s=o.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.suspense.vnode.el=s.el=n,e=s),s===e)(e=o.vnode).el=n,o=o.parent;else break}t&&t.activeBranch===e&&(t.vnode.el=n)}const Lr={},Pr=()=>Object.create(Lr),Sr=e=>Object.getPrototypeOf(e)===Lr;function tu(e,o,t,n=!1){const s={},a=Pr();e.propsDefaults=Object.create(null),Ar(e,o,s,a);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);t?e.props=n?s:lc(s):e.type.props?e.props=s:e.props=a,e.attrs=a}function nu(e,o,t,n){const{props:s,attrs:a,vnode:{patchFlag:r}}=e,i=ue(s),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let g=0;g<d.length;g++){let _=d[g];if(En(e.emitsOptions,_))continue;const k=o[_];if(l)if(de(a,_))k!==a[_]&&(a[_]=k,c=!0);else{const E=Je(_);s[E]=Ea(l,i,E,k,e,!1)}else k!==a[_]&&(a[_]=k,c=!0)}}}else{Ar(e,o,s,a)&&(c=!0);let d;for(const g in i)(!o||!de(o,g)&&((d=oo(g))===g||!de(o,d)))&&(l?t&&(t[g]!==void 0||t[d]!==void 0)&&(s[g]=Ea(l,i,g,void 0,e,!0)):delete s[g]);if(a!==i)for(const g in a)(!o||!de(o,g))&&(delete a[g],c=!0)}c&&To(e.attrs,"set","")}function Ar(e,o,t,n){const[s,a]=e.propsOptions;let r=!1,i;if(o)for(let l in o){if(Lt(l))continue;const c=o[l];let d;s&&de(s,d=Je(l))?!a||!a.includes(d)?t[d]=c:(i||(i={}))[d]=c:En(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,r=!0)}if(a){const l=ue(t),c=i||be;for(let d=0;d<a.length;d++){const g=a[d];t[g]=Ea(s,l,g,c[g],e,!de(c,g))}}return r}function Ea(e,o,t,n,s,a){const r=e[t];if(r!=null){const i=de(r,"default");if(i&&n===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&ae(l)){const{propsDefaults:c}=s;if(t in c)n=c[t];else{const d=Vt(s);n=c[t]=l.call(null,o),d()}}else n=l;s.ce&&s.ce._setProp(t,n)}r[0]&&(a&&!i?n=!1:r[1]&&(n===""||n===oo(t))&&(n=!0))}return n}const au=new WeakMap;function Er(e,o,t=!1){const n=t?au:o.propsCache,s=n.get(e);if(s)return s;const a=e.props,r={},i=[];let l=!1;if(!ae(e)){const d=g=>{l=!0;const[_,k]=Er(g,o,!0);xe(r,_),k&&i.push(...k)};!t&&o.mixins.length&&o.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!a&&!l)return $e(e)&&n.set(e,st),st;if(ee(a))for(let d=0;d<a.length;d++){const g=Je(a[d]);xr(g)&&(r[g]=be)}else if(a)for(const d in a){const g=Je(d);if(xr(g)){const _=a[d],k=r[g]=ee(_)||ae(_)?{type:_}:xe({},_),E=k.type;let P=!1,M=!0;if(ee(E))for(let O=0;O<E.length;++O){const w=E[O],y=ae(w)&&w.name;if(y==="Boolean"){P=!0;break}else y==="String"&&(M=!1)}else P=ae(E)&&E.name==="Boolean";k[0]=P,k[1]=M,(P||de(k,"default"))&&i.push(g)}}const c=[r,i];return $e(e)&&n.set(e,c),c}function xr(e){return e[0]!=="$"&&!Lt(e)}const xa=e=>e==="_"||e==="_ctx"||e==="$stable",Ta=e=>ee(e)?e.map(So):[So(e)],su=(e,o,t)=>{if(o._n)return o;const n=yn((...s)=>Ta(o(...s)),t);return n._c=!1,n},Tr=(e,o,t)=>{const n=e._ctx;for(const s in e){if(xa(s))continue;const a=e[s];if(ae(a))o[s]=su(s,a,n);else if(a!=null){const r=Ta(a);o[s]=()=>r}}},Rr=(e,o)=>{const t=Ta(o);e.slots.default=()=>t},Cr=(e,o,t)=>{for(const n in o)(t||!xa(n))&&(e[n]=o[n])},ru=(e,o,t)=>{const n=e.slots=Pr();if(e.vnode.shapeFlag&32){const s=o._;s?(Cr(n,o,t),t&&ms(n,"_",s,!0)):Tr(o,n)}else o&&Rr(e,o)},iu=(e,o,t)=>{const{vnode:n,slots:s}=e;let a=!0,r=be;if(n.shapeFlag&32){const i=o._;i?t&&i===1?a=!1:Cr(s,o,t):(a=!o.$stable,Tr(o,s)),r=o}else o&&(Rr(e,o),r={default:1});if(a)for(const i in s)!xa(i)&&r[i]==null&&delete s[i]},He=du;function lu(e){return cu(e)}function cu(e,o){const t=an();t.__VUE__=!0;const{insert:n,remove:s,patchProp:a,createElement:r,createText:i,createComment:l,setText:c,setElementText:d,parentNode:g,nextSibling:_,setScopeId:k=mo,insertStaticContent:E}=e,P=(f,b,h,N=null,D=null,I=null,V=void 0,B=null,u=!!b.dynamicChildren)=>{if(f===b)return;f&&!Ut(f,b)&&(N=Ye(f),ke(f,D,I,!0),f=null),b.patchFlag===-2&&(u=!1,b.dynamicChildren=null);const{type:p,ref:L,shapeFlag:$}=b;switch(p){case Ft:M(f,b,h,N);break;case Po:O(f,b,h,N);break;case Na:f==null&&w(b,h,N,V);break;case Ie:W(f,b,h,N,D,I,V,B,u);break;default:$&1?x(f,b,h,N,D,I,V,B,u):$&6?se(f,b,h,N,D,I,V,B,u):($&64||$&128)&&p.process(f,b,h,N,D,I,V,B,u,me)}L!=null&&D?Nt(L,f&&f.ref,I,b||f,!b):L==null&&f&&f.ref!=null&&Nt(f.ref,null,I,f,!0)},M=(f,b,h,N)=>{if(f==null)n(b.el=i(b.children),h,N);else{const D=b.el=f.el;b.children!==f.children&&c(D,b.children)}},O=(f,b,h,N)=>{f==null?n(b.el=l(b.children||""),h,N):b.el=f.el},w=(f,b,h,N)=>{[f.el,f.anchor]=E(f.children,b,h,N,f.el,f.anchor)},y=({el:f,anchor:b},h,N)=>{let D;for(;f&&f!==b;)D=_(f),n(f,h,N),f=D;n(b,h,N)},m=({el:f,anchor:b})=>{let h;for(;f&&f!==b;)h=_(f),s(f),f=h;s(b)},x=(f,b,h,N,D,I,V,B,u)=>{if(b.type==="svg"?V="svg":b.type==="math"&&(V="mathml"),f==null)R(b,h,N,D,I,V,B,u);else{const p=f.el&&f.el._isVueCE?f.el:null;try{p&&p._beginPatch(),F(f,b,D,I,V,B,u)}finally{p&&p._endPatch()}}},R=(f,b,h,N,D,I,V,B)=>{let u,p;const{props:L,shapeFlag:$,transition:S,dirs:A}=f;if(u=f.el=r(f.type,I,L&&L.is,L),$&8?d(u,f.children):$&16&&G(f.children,u,null,N,D,Ra(f,I),V,B),A&&Qo(f,null,N,"created"),C(u,f,f.scopeId,V,N),L){for(const T in L)T!=="value"&&!Lt(T)&&a(u,T,null,L[T],I,N);"value"in L&&a(u,"value",null,L.value,I),(p=L.onVnodeBeforeMount)&&Ao(p,N,f)}A&&Qo(f,null,N,"beforeMount");const v=uu(D,S);v&&S.beforeEnter(u),n(u,b,h),((p=L&&L.onVnodeMounted)||v||A)&&He(()=>{try{p&&Ao(p,N,f),v&&S.enter(u),A&&Qo(f,null,N,"mounted")}finally{}},D)},C=(f,b,h,N,D)=>{if(h&&k(f,h),N)for(let I=0;I<N.length;I++)k(f,N[I]);if(D){let I=D.subTree;if(b===I||Fr(I.type)&&(I.ssContent===b||I.ssFallback===b)){const V=D.vnode;C(f,V,V.scopeId,V.slotScopeIds,D.parent)}}},G=(f,b,h,N,D,I,V,B,u=0)=>{for(let p=u;p<f.length;p++){const L=f[p]=B?Oo(f[p]):So(f[p]);P(null,L,b,h,N,D,I,V,B)}},F=(f,b,h,N,D,I,V)=>{const B=b.el=f.el;let{patchFlag:u,dynamicChildren:p,dirs:L}=b;u|=f.patchFlag&16;const $=f.props||be,S=b.props||be;let A;if(h&&ot(h,!1),(A=S.onVnodeBeforeUpdate)&&Ao(A,h,b,f),L&&Qo(b,f,h,"beforeUpdate"),h&&ot(h,!0),p&&(!f.dynamicChildren||f.dynamicChildren.length!==p.length)&&(u=0,V=!1,p=null),($.innerHTML&&S.innerHTML==null||$.textContent&&S.textContent==null)&&d(B,""),p?X(f.dynamicChildren,p,B,h,N,Ra(b,D),I):V||oe(f,b,B,null,h,N,Ra(b,D),I,!1),u>0){if(u&16)K(B,$,S,h,D);else if(u&2&&$.class!==S.class&&a(B,"class",null,S.class,D),u&4&&a(B,"style",$.style,S.style,D),u&8){const v=b.dynamicProps;for(let T=0;T<v.length;T++){const q=v[T],Y=$[q],te=S[q];(te!==Y||q==="value")&&a(B,q,Y,te,D,h)}}u&1&&f.children!==b.children&&d(B,b.children)}else!V&&p==null&&K(B,$,S,h,D);((A=S.onVnodeUpdated)||L)&&He(()=>{A&&Ao(A,h,b,f),L&&Qo(b,f,h,"updated")},N)},X=(f,b,h,N,D,I,V)=>{for(let B=0;B<b.length;B++){const u=f[B],p=b[B],L=u.el&&(u.type===Ie||!Ut(u,p)||u.shapeFlag&198)?g(u.el):h;P(u,p,L,null,N,D,I,V,!0)}},K=(f,b,h,N,D)=>{if(b!==h){if(b!==be)for(const I in b)!Lt(I)&&!(I in h)&&a(f,I,b[I],null,D,N);for(const I in h){if(Lt(I))continue;const V=h[I],B=b[I];V!==B&&I!=="value"&&a(f,I,B,V,D,N)}"value"in h&&a(f,"value",b.value,h.value,D)}},W=(f,b,h,N,D,I,V,B,u)=>{const p=b.el=f?f.el:i(""),L=b.anchor=f?f.anchor:i("");let{patchFlag:$,dynamicChildren:S,slotScopeIds:A}=b;A&&(B=B?B.concat(A):A),f==null?(n(p,h,N),n(L,h,N),G(b.children||[],h,L,D,I,V,B,u)):$>0&&$&64&&S&&f.dynamicChildren&&f.dynamicChildren.length===S.length?(X(f.dynamicChildren,S,h,D,I,V,B),(b.key!=null||D&&b===D.subTree)&&Ca(f,b,!0)):oe(f,b,h,L,D,I,V,B,u)},se=(f,b,h,N,D,I,V,B,u)=>{b.slotScopeIds=B,f==null?b.shapeFlag&512?D.ctx.activate(b,h,N,V,u):ce(b,h,N,D,I,V,u):j(f,b,u)},ce=(f,b,h,N,D,I,V)=>{const B=f.component=mu(f,N,D);if(va(f)&&(B.ctx.renderer=me),bu(B,!1,V),B.asyncDep){if(D&&D.registerDep(B,U,V),!f.el){const u=B.subTree=Re(Po);O(null,u,b,h),f.placeholder=u.el}}else U(B,f,b,h,D,I,V)},j=(f,b,h)=>{const N=b.component=f.component;if(eu(f,b,h))if(N.asyncDep&&!N.asyncResolved){H(N,b,h);return}else N.next=b,N.update();else b.el=f.el,N.vnode=b},U=(f,b,h,N,D,I,V)=>{const B=()=>{if(f.isMounted){let{next:$,bu:S,u:A,parent:v,vnode:T}=f;{const Z=Nr(f);if(Z){$&&($.el=T.el,H(f,$,V)),Z.asyncDep.then(()=>{He(()=>{f.isUnmounted||p()},D)});return}}let q=$,Y;ot(f,!1),$?($.el=T.el,H(f,$,V)):$=T,S&&Qn(S),(Y=$.props&&$.props.onVnodeBeforeUpdate)&&Ao(Y,v,$,T),ot(f,!0);const te=vr(f),ge=f.subTree;f.subTree=te,P(ge,te,g(ge.el),Ye(ge),f,D,I),$.el=te.el,q===null&&ou(f,te.el),A&&He(A,D),(Y=$.props&&$.props.onVnodeUpdated)&&He(()=>Ao(Y,v,$,T),D)}else{let $;const{el:S,props:A}=b,{bm:v,m:T,parent:q,root:Y,type:te}=f,ge=pt(b);ot(f,!1),v&&Qn(v),!ge&&($=A&&A.onVnodeBeforeMount)&&Ao($,q,b),ot(f,!0);{Y.ce&&Y.ce._hasShadowRoot()&&Y.ce._injectChildStyle(te,f.parent?f.parent.type:void 0);const Z=f.subTree=vr(f);P(null,Z,h,N,f,D,I),b.el=Z.el}if(T&&He(T,D),!ge&&($=A&&A.onVnodeMounted)){const Z=b;He(()=>Ao($,q,Z),D)}(b.shapeFlag&256||q&&pt(q.vnode)&&q.vnode.shapeFlag&256)&&f.a&&He(f.a,D),f.isMounted=!0,b=h=N=null}};f.scope.on();const u=f.effect=new Ss(B);f.scope.off();const p=f.update=u.run.bind(u),L=f.job=u.runIfDirty.bind(u);L.i=f,L.id=f.uid,u.scheduler=()=>ha(L),ot(f,!0),p()},H=(f,b,h)=>{b.component=f;const N=f.vnode.props;f.vnode=b,f.next=null,nu(f,b.props,N,h),iu(f,b.children,h),yo(),Xs(f),vo()},oe=(f,b,h,N,D,I,V,B,u=!1)=>{const p=f&&f.children,L=f?f.shapeFlag:0,$=b.children,{patchFlag:S,shapeFlag:A}=b;if(S>0){if(S&128){Ve(p,$,h,N,D,I,V,B,u);return}else if(S&256){he(p,$,h,N,D,I,V,B,u);return}}A&8?(L&16&&Se(p,D,I),$!==p&&d(h,$)):L&16?A&16?Ve(p,$,h,N,D,I,V,B,u):Se(p,D,I,!0):(L&8&&d(h,""),A&16&&G($,h,N,D,I,V,B,u))},he=(f,b,h,N,D,I,V,B,u)=>{f=f||st,b=b||st;const p=f.length,L=b.length,$=Math.min(p,L);let S;for(S=0;S<$;S++){const A=b[S]=u?Oo(b[S]):So(b[S]);P(f[S],A,h,null,D,I,V,B,u)}p>L?Se(f,D,I,!0,!1,$):G(b,h,N,D,I,V,B,u,$)},Ve=(f,b,h,N,D,I,V,B,u)=>{let p=0;const L=b.length;let $=f.length-1,S=L-1;for(;p<=$&&p<=S;){const A=f[p],v=b[p]=u?Oo(b[p]):So(b[p]);if(Ut(A,v))P(A,v,h,null,D,I,V,B,u);else break;p++}for(;p<=$&&p<=S;){const A=f[$],v=b[S]=u?Oo(b[S]):So(b[S]);if(Ut(A,v))P(A,v,h,null,D,I,V,B,u);else break;$--,S--}if(p>$){if(p<=S){const A=S+1,v=A<L?b[A].el:N;for(;p<=S;)P(null,b[p]=u?Oo(b[p]):So(b[p]),h,v,D,I,V,B,u),p++}}else if(p>S)for(;p<=$;)ke(f[p],D,I,!0),p++;else{const A=p,v=p,T=new Map;for(p=v;p<=S;p++){const Ze=b[p]=u?Oo(b[p]):So(b[p]);Ze.key!=null&&T.set(Ze.key,p)}let q,Y=0;const te=S-v+1;let ge=!1,Z=0;const Ue=new Array(te);for(p=0;p<te;p++)Ue[p]=0;for(p=A;p<=$;p++){const Ze=f[p];if(Y>=te){ke(Ze,D,I,!0);continue}let ro;if(Ze.key!=null)ro=T.get(Ze.key);else for(q=v;q<=S;q++)if(Ue[q-v]===0&&Ut(Ze,b[q])){ro=q;break}ro===void 0?ke(Ze,D,I,!0):(Ue[ro-v]=p+1,ro>=Z?Z=ro:ge=!0,P(Ze,b[ro],h,null,D,I,V,B,u),Y++)}const Jt=ge?pu(Ue):st;for(q=Jt.length-1,p=te-1;p>=0;p--){const Ze=v+p,ro=b[Ze],Hn=b[Ze+1],qn=Ze+1<L?Hn.el||Or(Hn):N;Ue[p]===0?P(null,ro,h,qn,D,I,V,B,u):ge&&(q<0||p!==Jt[q]?Ae(ro,h,qn,2):q--)}}},Ae=(f,b,h,N,D=null)=>{const{el:I,type:V,transition:B,children:u,shapeFlag:p}=f;if(p&6){Ae(f.component.subTree,b,h,N);return}if(p&128){f.suspense.move(b,h,N);return}if(p&64){V.move(f,b,h,me);return}if(V===Ie){n(I,b,h);for(let $=0;$<u.length;$++)Ae(u[$],b,h,N);n(f.anchor,b,h);return}if(V===Na){y(f,b,h);return}if(N!==2&&p&1&&B)if(N===0)B.persisted&&!I[ba]?n(I,b,h):(B.beforeEnter(I),n(I,b,h),He(()=>B.enter(I),D));else{const{leave:$,delayLeave:S,afterLeave:A}=B,v=()=>{f.ctx.isUnmounted?s(I):n(I,b,h)},T=()=>{const q=I._isLeaving||!!I[ba];I._isLeaving&&I[ba](!0),B.persisted&&!q?v():$(I,()=>{v(),A&&A()})};S?S(I,v,T):T()}else n(I,b,h)},ke=(f,b,h,N=!1,D=!1)=>{const{type:I,props:V,ref:B,children:u,dynamicChildren:p,shapeFlag:L,patchFlag:$,dirs:S,cacheIndex:A,memo:v}=f;if($===-2&&(D=!1),B!=null&&(yo(),Nt(B,null,h,f,!0),vo()),A!=null&&(b.renderCache[A]=void 0),L&256){b.ctx.deactivate(f);return}const T=L&1&&S,q=!pt(f);let Y;if(q&&(Y=V&&V.onVnodeBeforeUnmount)&&Ao(Y,b,f),L&6)so(f.component,h,N);else{if(L&128){f.suspense.unmount(h,N);return}T&&Qo(f,null,b,"beforeUnmount"),L&64?f.type.remove(f,b,h,me,N):p&&!p.hasOnce&&(I!==Ie||$>0&&$&64)?Se(p,b,h,!1,!0):(I===Ie&&$&384||!D&&L&16)&&Se(u,b,h),N&&Xe(f)}const te=v!=null&&A==null;(q&&(Y=V&&V.onVnodeUnmounted)||T||te)&&He(()=>{Y&&Ao(Y,b,f),T&&Qo(f,null,b,"unmounted"),te&&(f.el=null)},h)},Xe=f=>{const{type:b,el:h,anchor:N,transition:D}=f;if(b===Ie){ao(h,N);return}if(b===Na){m(f);return}const I=()=>{s(h),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(f.shapeFlag&1&&D&&!D.persisted){const{leave:V,delayLeave:B}=D,u=()=>V(h,I);B?B(f.el,I,u):u()}else I()},ao=(f,b)=>{let h;for(;f!==b;)h=_(f),s(f),f=h;s(b)},so=(f,b,h)=>{const{bum:N,scope:D,job:I,subTree:V,um:B,m:u,a:p}=f;Mr(u),Mr(p),N&&Qn(N),D.stop(),I&&(I.flags|=8,ke(V,f,b,h)),B&&He(B,b),He(()=>{f.isUnmounted=!0},b)},Se=(f,b,h,N=!1,D=!1,I=0)=>{for(let V=I;V<f.length;V++)ke(f[V],b,h,N,D)},Ye=f=>{if(f.shapeFlag&6)return Ye(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const b=_(f.anchor||f.el),h=b&&b[tr];return h?_(h):b};let re=!1;const ie=(f,b,h)=>{let N;f==null?b._vnode&&(ke(b._vnode,null,null,!0),N=b._vnode.component):P(b._vnode||null,f,b,null,null,null,h),b._vnode=f,re||(re=!0,Xs(N),Ys(),re=!1)},me={p:P,um:ke,m:Ae,r:Xe,mt:ce,mc:G,pc:oe,pbc:X,n:Ye,o:e};return{render:ie,hydrate:void 0,createApp:Kc(ie)}}function Ra({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 ot({effect:e,job:o},t){t?(e.flags|=32,o.flags|=4):(e.flags&=-33,o.flags&=-5)}function uu(e,o){return(!e||e&&!e.pendingBranch)&&o&&!o.persisted}function Ca(e,o,t=!1){const n=e.children,s=o.children;if(ee(n)&&ee(s))for(let a=0;a<n.length;a++){const r=n[a];let i=s[a];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=s[a]=Oo(s[a]),i.el=r.el),!t&&i.patchFlag!==-2&&Ca(r,i)),i.type===Ft&&(i.patchFlag===-1&&(i=s[a]=Oo(i)),i.el=r.el),i.type===Po&&!i.el&&(i.el=r.el)}}function pu(e){const o=e.slice(),t=[0];let n,s,a,r,i;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(s=t[t.length-1],e[s]<c){o[n]=s,t.push(n);continue}for(a=0,r=t.length-1;a<r;)i=a+r>>1,e[t[i]]<c?a=i+1:r=i;c<e[t[a]]&&(a>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 Nr(e){const o=e.subTree.component;if(o)return o.asyncDep&&!o.asyncResolved?o:Nr(o)}function Mr(e){if(e)for(let o=0;o<e.length;o++)e[o].flags|=8}function Or(e){if(e.placeholder)return e.placeholder;const o=e.component;return o?Or(o.subTree):null}const Fr=e=>e.__isSuspense;function du(e,o){o&&o.pendingBranch?ee(e)?o.effects.push(...e):o.effects.push(e):kc(e)}const Ie=Symbol.for("v-fgt"),Ft=Symbol.for("v-txt"),Po=Symbol.for("v-cmt"),Na=Symbol.for("v-stc"),Mo=[];let no=null;function _e(e=!1){Mo.push(no=e?null:[])}function Ma(){Mo.pop(),no=Mo[Mo.length-1]||null}let It=1;function xn(e,o=!1){It+=e,e<0&&no&&o&&(no.hasOnce=!0)}function Ir(e){return e.dynamicChildren=It>0?no||st:null,Ma(),It>0&&no&&no.push(e),e}function Ee(e,o,t,n,s,a){return Ir(Q(e,o,t,n,s,a,!0))}function Dt(e,o,t,n,s){return Ir(Re(e,o,t,n,s,!0))}function Gt(e){return e?e.__v_isVNode===!0:!1}function Ut(e,o){return e.type===o.type&&e.key===o.key}const Dr=({key:e})=>e??null,Tn=({ref:e,ref_key:o,ref_for:t})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||Me(e)||ae(e)?{i:Qe,r:e,k:o,f:!!t}:e:null);function Q(e,o=null,t=null,n=0,s=null,a=e===Ie?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:o,key:o&&Dr(o),ref:o&&Tn(o),scopeId:Js,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:Qe};return i?(Rn(l,t),a&128&&e.normalize(l)):t&&(l.shapeFlag|=we(t)?8:16),It>0&&!r&&no&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&no.push(l),l}const Re=gu;function gu(e,o=null,t=null,n=0,s=null,a=!1){if((!e||e===Uc)&&(e=Po),Gt(e)){const i=$t(e,o,!0);return t&&Rn(i,t),It>0&&!a&&no&&(i.shapeFlag&6?no[no.indexOf(e)]=i:no.push(i)),i.patchFlag=-2,i}if(Su(e)&&(e=e.__vccOpts),o){o=$u(o);let{class:i,style:l}=o;i&&!we(i)&&(o.class=to(i)),$e(l)&&(ga(l)&&!ee(l)&&(l=xe({},l)),o.style=sn(l))}const r=we(e)?1:Fr(e)?128:vn(e)?64:$e(e)?4:ae(e)?2:0;return Q(e,o,t,n,s,r,a,!0)}function $u(e){return e?ga(e)||Sr(e)?xe({},e):e:null}function $t(e,o,t=!1,n=!1){const{props:s,ref:a,patchFlag:r,children:i,transition:l}=e,c=o?fu(s||{},o):s,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Dr(c),ref:o&&o.ref?t&&a?ee(a)?a.concat(Tn(o)):[a,Tn(o)]:Tn(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!==Ie?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&&$t(e.ssContent),ssFallback:e.ssFallback&&$t(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ya(d,l.clone(d)),d}function Oa(e=" ",o=0){return Re(Ft,null,e,o)}function ft(e="",o=!1){return o?(_e(),Dt(Po,null,e)):Re(Po,null,e)}function So(e){return e==null||typeof e=="boolean"?Re(Po):ee(e)?Re(Ie,null,e.slice()):Gt(e)?Oo(e):Re(Ft,null,String(e))}function Oo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$t(e)}function Rn(e,o){let t=0;const{shapeFlag:n}=e;if(o==null)o=null;else if(ee(o))t=16;else if(typeof o=="object")if(n&65){const s=o.default;s&&(s._c&&(s._d=!1),Rn(e,s()),s._c&&(s._d=!0));return}else{t=32;const s=o._;!s&&!Sr(o)?o._ctx=Qe:s===3&&Qe&&(Qe.slots._===1?o._=1:(o._=2,e.patchFlag|=1024))}else if(ae(o)){if(n&65){Rn(e,{default:o});return}o={default:o,_ctx:Qe},t=32}else o=String(o),n&64?(t=16,o=[Oa(o)]):t=8;e.children=o,e.shapeFlag|=t}function fu(...e){const o={};for(let t=0;t<e.length;t++){const n=e[t];for(const s in n)if(s==="class")o.class!==n.class&&(o.class=to([o.class,n.class]));else if(s==="style")o.style=sn([o.style,n.style]);else if(Qt(s)){const a=o[s],r=n[s];r&&a!==r&&!(ee(a)&&a.includes(r))?o[s]=a?[].concat(a,r):r:r==null&&a==null&&!en(s)&&(o[s]=r)}else s!==""&&(o[s]=n[s])}return o}function Ao(e,o,t,n=null){go(e,o,7,[t,n])}const hu=br();let _u=0;function mu(e,o,t){const n=e.type,s=(o?o.appContext:e.appContext)||hu,a={uid:_u++,vnode:e,type:n,parent:o,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ps(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:o?o.provides:Object.create(s.provides),ids:o?o.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Er(n,s),emitsOptions:yr(n,s),emit:null,emitted:null,propsDefaults:be,inheritAttrs:n.inheritAttrs,ctx:be,data:be,props:be,attrs:be,slots:be,refs:be,setupState:be,setupContext:null,suspense:t,suspenseId:t?t.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return a.ctx={_:a},a.root=o?o.root:a,a.emit=Yc.bind(null,a),e.ce&&e.ce(a),a}let qe=null;const tt=()=>qe||Qe;let Cn,Bt;{const e=an(),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)}};Cn=o("__VUE_INSTANCE_SETTERS__",t=>qe=t),Bt=o("__VUE_SSR_SETTERS__",t=>zt=t)}const Vt=e=>{const o=qe;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(o)}},Gr=()=>{qe&&qe.scope.off(),Cn(null)};function Ur(e){return e.vnode.shapeFlag&4}let zt=!1;function bu(e,o=!1,t=!1){o&&Bt(o);const{props:n,children:s}=e.vnode,a=Ur(e);tu(e,n,a,o),ru(e,s,t||o);const r=a?yu(e,o):void 0;return o&&Bt(!1),r}function yu(e,o){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Bc);const{setup:n}=t;if(n){yo();const s=e.setupContext=n.length>1?ku(e):null,a=Vt(e),r=lt(n,e,0,[e.props,s]),i=fs(r);if(vo(),a(),(i||e.sp)&&!pt(e)&&rr(e),i){if(r.then(Gr,Gr),o)return r.then(l=>{Bt(!0);try{Br(e,l,o)}finally{Bt(!1)}}).catch(l=>{hn(l,e,0)});e.asyncDep=r}else Br(e,r)}else Vr(e)}function Br(e,o,t){ae(o)?e.type.__ssrInlineRender?e.ssrRender=o:e.render=o:$e(o)&&(e.setupState=Ws(o)),Vr(e)}function Vr(e,o,t){const n=e.type;e.render||(e.render=n.render||mo);{const s=Vt(e);yo();try{Vc(e)}finally{vo(),s()}}}const vu={get(e,o){return Be(e,"get",""),e[o]}};function ku(e){const o=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,vu),slots:e.slots,emit:e.emit,expose:o}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ws(cc(e.exposed)),{get(o,t){if(t in o)return o[t];if(t in Mt)return Mt[t](e)},has(o,t){return t in o||t in Mt}})):e.proxy}const wu=/(?:^|[-_])\w/g,Lu=e=>e.replace(wu,o=>o.toUpperCase()).replace(/[-_]/g,"");function Pu(e,o=!0){return ae(e)?e.displayName||e.name:e.name||o&&e.__name}function zr(e,o,t=!1){let n=Pu(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?Lu(n):t?"App":"Anonymous"}function Su(e){return ae(e)&&"__vccOpts"in e}const De=(e,o)=>gc(e,o,zt);function jr(e,o,t){try{xn(-1);const n=arguments.length;return n===2?$e(o)&&!ee(o)?Gt(o)?Re(e,null,[o]):Re(e,o):Re(e,null,o):(n>3?t=Array.prototype.slice.call(arguments,2):n===3&&Gt(t)&&(t=[t]),Re(e,o,t))}finally{xn(1)}}const Au="3.5.42";/**
|
||
* @vue/runtime-dom v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let Ia;const Wr=typeof window<"u"&&window.trustedTypes;if(Wr)try{Ia=Wr.createPolicy("vue",{createHTML:e=>e})}catch{}const Hr=Ia?e=>Ia.createHTML(e):e=>e,Eu="http://www.w3.org/2000/svg",xu="http://www.w3.org/1998/Math/MathML",Fo=typeof document<"u"?document:null,qr=Fo&&Fo.createElement("template"),Tu={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"?Fo.createElementNS(Eu,e):o==="mathml"?Fo.createElementNS(xu,e):t?Fo.createElement(e,{is:t}):Fo.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Fo.createTextNode(e),createComment:e=>Fo.createComment(e),setText:(e,o)=>{e.nodeValue=o},setElementText:(e,o)=>{e.textContent=o},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fo.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{qr.innerHTML=Hr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const i=qr.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]}},Ru=Symbol("_vtc");function Cu(e,o,t){const n=e[Ru];n&&(o=(o?[o,...n]:[...n]).join(" ")),o==null?e.removeAttribute("class"):t?e.setAttribute("class",o):e.className=o}const Kr=Symbol("_vod"),Nu=Symbol("_vsh"),Mu=Symbol(""),Ou=/(?:^|;)\s*display\s*:/;function Fu(e,o,t){const n=e.style,s=we(t);let a=!1;if(t&&!s){if(o)if(we(o))for(const r of o.split(";")){const i=r.slice(0,r.indexOf(":")).trim();t[i]==null&&jt(n,i,"")}else for(const r in o)t[r]==null&&jt(n,r,"");for(const r in t){r==="display"&&(a=!0);const i=t[r];i!=null?Du(e,r,!we(o)&&o?o[r]:void 0,i)||jt(n,r,i):jt(n,r,"")}}else if(s){if(o!==t){const r=n[Mu];r&&(t+=";"+r),n.cssText=t,a=Ou.test(t)}}else o&&e.removeAttribute("style");Kr in e&&(e[Kr]=a?n.display:"",e[Nu]&&(n.display="none"))}const Nn=/\s*!important$/;function jt(e,o,t){if(ee(t))t.forEach(n=>jt(e,o,n));else if(t==null&&(t=""),o.startsWith("--"))Nn.test(t)?e.setProperty(o,t.replace(Nn,""),"important"):e.setProperty(o,t);else{const n=Iu(e,o);Nn.test(t)?e.setProperty(oo(n),t.replace(Nn,""),"important"):e[n]=t}}const Xr=["Webkit","Moz","ms"],Da={};function Iu(e,o){const t=Da[o];if(t)return t;let n=Je(o);if(n!=="filter"&&n in e)return Da[o]=n;n=_s(n);for(let s=0;s<Xr.length;s++){const a=Xr[s]+n;if(a in e)return Da[o]=a}return o}function Du(e,o,t,n){return e.tagName==="TEXTAREA"&&(o==="width"||o==="height")&&we(n)&&t===n}const Yr="http://www.w3.org/1999/xlink";function Zr(e,o,t,n,s,a=Bl(o)){n&&o.startsWith("xlink:")?t==null?e.removeAttributeNS(Yr,o.slice(6,o.length)):e.setAttributeNS(Yr,o,t):t==null||a&&!vs(t)?e.removeAttribute(o):e.setAttribute(o,a?"":co(t)?String(t):t)}function Jr(e,o,t,n,s){if(o==="innerHTML"||o==="textContent"){t!=null&&(e[o]=o==="innerHTML"?Hr(t):t);return}const a=e.tagName;if(o==="value"&&a!=="PROGRESS"&&!a.includes("-")){const i=a==="OPTION"?e.getAttribute("value")||"":e.value,l=t==null?e.type==="checkbox"?"on":"":String(t);(i!==l||!("_value"in e))&&(e.value=l),t==null&&e.removeAttribute(o),e._value=t;return}let r=!1;if(t===""||t==null){const i=typeof e[o];i==="boolean"?t=vs(t):t==null&&i==="string"?(t="",r=!0):i==="number"&&(t=0,r=!0)}try{e[o]=t}catch{}r&&e.removeAttribute(s||o)}function Gu(e,o,t,n){e.addEventListener(o,t,n)}function Uu(e,o,t,n){e.removeEventListener(o,t,n)}const Qr=Symbol("_vei");function Bu(e,o,t,n,s=null){const a=e[Qr]||(e[Qr]={}),r=a[o];if(n&&r)r.value=n;else{const[i,l]=ju(o);if(n){const c=a[o]=qu(n,s);Gu(e,i,c,l)}else r&&(Uu(e,i,r,l),a[o]=void 0)}}const Vu=/(Once|Passive|Capture)$/,zu=/^on:?(?:Once|Passive|Capture)$/;function ju(e){let o,t;for(;(t=e.match(Vu))&&!zu.test(e);)o||(o={}),e=e.slice(0,e.length-t[1].length),o[t[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):oo(e.slice(2)),o]}let Ga=0;const Wu=Promise.resolve(),Hu=()=>Ga||(Wu.then(()=>Ga=0),Ga=Date.now());function qu(e,o){const t=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=t.attached)return;const s=t.value;if(ee(s)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const r=s.slice(),i=[n];for(let l=0;l<r.length&&!n._stopped;l++){const c=r[l];c&&go(c,o,5,i)}}else go(s,o,5,[n])};return t.value=e,t.attached=Hu(),t}const ei=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ku=(e,o,t,n,s,a)=>{const r=s==="svg";o==="class"?Cu(e,n,r):o==="style"?Fu(e,t,n):Qt(o)?en(o)||Bu(e,o,t,n,a):(o[0]==="."?(o=o.slice(1),!0):o[0]==="^"?(o=o.slice(1),!1):Xu(e,o,n,r))?(Jr(e,o,n),!e.tagName.includes("-")&&(o==="value"||o==="checked"||o==="selected")&&Zr(e,o,n,r,a,o!=="value")):e._isVueCE&&(Yu(e,o)||e._def.__asyncLoader&&(/[A-Z]/.test(o)||!we(n)))?Jr(e,Je(o),n,a,o):(o==="true-value"?e._trueValue=n:o==="false-value"&&(e._falseValue=n),Zr(e,o,n,r))};function Xu(e,o,t,n){if(n)return!!(o==="innerHTML"||o==="textContent"||o in e&&ei(o)&&ae(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 ei(o)&&we(t)?!1:o in e}function Yu(e,o){const t=e._def.props;if(!t)return!1;const n=Je(o);return Array.isArray(t)?t.some(s=>Je(s)===n):Object.keys(t).some(s=>Je(s)===n)}const oi={};function Zu(e,o,t){let n=wn(e,o);tn(n)&&(n=xe({},n,o));class s extends Ua{constructor(r){super(n,r,t)}}return s.def=n,s}const Ju=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends Ju{constructor(o,t={},n=ai){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!==ai?this._root=this.shadowRoot:o.shadowRoot!==!1?(this.attachShadow(xe({},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 Ua){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,mn(()=>{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.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const o=(n,s=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:a,styles:r}=n;let i;if(a&&!ee(a))for(const l in a){const c=a[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=bs(this._props[l])),(i||(i=Object.create(null)))[Je(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)de(this,n)||Object.defineProperty(this,n,{get:()=>Bo(t[n])})}_resolveProps(o){const{props:t}=o,n=ee(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(Je))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):oi;const s=Je(o);t&&this._numberProps&&this._numberProps[s]&&(n=bs(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===oi?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(oo(o),""):typeof t=="string"||typeof t=="number"?this.setAttribute(oo(o),t+""):t||this.removeAttribute(oo(o)),a&&a.observe(this,{attributes:!0})}}_update(){const o=this._createVNode();this._app&&(o.appContext=this._app._context),ap(o,this._root)}_createVNode(){const o={};this.shadowRoot||(o.onVnodeMounted=o.onVnodeUpdated=this._renderSlots.bind(this));const t=Re(this._def,xe(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,tn(r[0])?xe({detail:r},r[0]):{detail:r}))};n.emit=(a,...r)=>{s(a,r),oo(a)!==a&&s(oo(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<o.childNodes.length;t++){const n=o.childNodes[t];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const o=this._slots={};let t;for(;t=this.firstChild;){const n=t.nodeType===1&&t.getAttribute("slot")||"default";(o[n]||(o[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){const o=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n<o.length;n++){const s=o[n],a=s.getAttribute("name")||"default",r=this._slots[a],i=s.parentNode;if(r)for(const l of r){if(t&&l.nodeType===1){const c=t+"-s",d=document.createTreeWalker(l,1);l.setAttribute(c,"");let g;for(;g=d.nextNode();)g.setAttribute(c,"")}i.insertBefore(l,s)}else for(;s.firstChild;)i.insertBefore(s.firstChild,s);i.removeChild(s)}}_getSlots(){const o=[this];this._teleportTargets&&o.push(...this._teleportTargets);const t=new Set;for(const n of o){const s=n.querySelectorAll("slot");for(let a=0;a<s.length;a++)t.add(s[a])}return Array.from(t)}_injectChildStyle(o,t){this._applyStyles(o.styles,o,t)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(o){}}const Qu=["ctrl","shift","alt","meta"],ep={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,o)=>Qu.some(t=>e[`${t}Key`]&&!o.includes(t))},Ba=(e,o)=>{if(!e)return e;const t=e._withMods||(e._withMods={}),n=o.join(".");return t[n]||(t[n]=(s,...a)=>{for(let r=0;r<o.length;r++){const i=ep[o[r]];if(i&&i(s,o))return}return e(s,...a)})},op={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},tp=(e,o)=>{const t=e._withKeys||(e._withKeys={}),n=o.join(".");return t[n]||(t[n]=s=>{if(!("key"in s))return;const a=oo(s.key);if(o.some(r=>r===a||op[r]===a))return e(s)})},np=xe({patchProp:Ku},Tu);let ti;function ni(){return ti||(ti=lu(np))}const ap=(...e)=>{ni().render(...e)},ai=(...e)=>{const o=ni().createApp(...e),{mount:t}=o;return o.mount=n=>{const s=rp(n);if(!s)return;const a=o._component;!ae(a)&&!a.render&&!a.template&&(a.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=t(s,!1,sp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},o};function sp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function rp(e){return we(e)?document.querySelector(e):e}const si={regular:"Noto Sans Regular",medium:"Noto Sans Bold",bold:"Noto Sans Bold"};function ip(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function lp(e,{weight:o="regular",mapbox:t}={}){return ip(e)?{"text-font":[si[o]||si.regular]}:Array.isArray(t)&&t.length?{"text-font":t}:{}}const cp="rgba(120, 128, 134, 0.28)",ri="36px",ii=()=>{};function up(e,o={}){const{enabled:t=!0}=o;if(!t||!e)return ii;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return ii;const s=w=>w.classList.contains("map-scroll-edge--left");for(const w of n)w.style.background=`linear-gradient(${s(w)?"to right":"to left"}, ${cp} ${ri}, transparent ${ri})`,w.style.opacity="0",w.style.transition="opacity 0.16s ease",w.style.userSelect="none",w.style.webkitUserSelect="none";const a=w=>{w.style.opacity="1"},r=w=>{w.style.opacity="0"},i=()=>n.find(w=>!s(w))||null,l=new Set;let c=!1,d=null;const g=()=>{for(const w of n)l.has(w)||r(w)},_=()=>{const w=i();w&&(a(w),d&&clearTimeout(d),d=setTimeout(g,250))},k=()=>_(),E=w=>{if(!(w.touches&&w.touches.length===1))return;const y=w.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||_()},P=()=>{d&&clearTimeout(d),g()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",E,{passive:!0}),e.addEventListener("touchend",P,{passive:!0}),e.addEventListener("touchcancel",P,{passive:!0});const M=()=>{c||_()};typeof window<"u"&&window.addEventListener("scroll",M,{passive:!0});const O=[];for(const w of n){const y=()=>{l.add(w),a(w)},m=()=>{l.delete(w),r(w)},x=()=>{c=!0,a(w)},R=()=>{c=!1,r(w)};w.addEventListener("mouseenter",y),w.addEventListener("mouseleave",m),w.addEventListener("touchstart",x,{passive:!0}),w.addEventListener("touchend",R,{passive:!0}),O.push(()=>{w.removeEventListener("mouseenter",y),w.removeEventListener("mouseleave",m),w.removeEventListener("touchstart",x),w.removeEventListener("touchend",R)})}return function(){d&&(clearTimeout(d),d=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",P),e.removeEventListener("touchcancel",P),typeof window<"u"&&window.removeEventListener("scroll",M);for(const y of O)y();for(const y of n)r(y)}}const pp=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 li(e,o="mapbox"){const t=pp[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 dp(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 gp=["mapbox","maplibre"],ci="mapbox";function $p(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function fp(e){const o=$p(e),t=o==null?void 0:o.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,s=typeof window<"u"?window.MAP_PROVIDER:void 0,a=String(t||n||s||ci).toLowerCase().trim();return gp.includes(a)?a:ci}const Va={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 ui(e){return!!e&&typeof window<"u"&&e===window.maplibregl}function hp(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(ui(n)){if(n.getRTLTextPluginStatus&&n.getRTLTextPluginStatus()!=="unavailable")continue;const s=n.setRTLTextPlugin(Va.maplibre,!0);s&&s.catch&&s.catch(()=>{})}else n.setRTLTextPlugin(Va.mapbox,null,!0);t=!0}catch{}return t}async function _p(e){if(!(!e||!ui(e)||!e.getRTLTextPluginStatus))try{e.getRTLTextPluginStatus()==="unavailable"&&await e.setRTLTextPlugin(Va.maplibre,!1);for(let o=0;o<50&&!["loaded","error"].includes(e.getRTLTextPluginStatus());o++)await new Promise(t=>setTimeout(t,100))}catch{}}const mp=/\[\s*"get"\s*,\s*"name(?::latin|:nonlatin|:en|_en|_int)?"\s*\]|\{name(?::latin|:nonlatin|:en|_en|_int)?\}/,pi=new WeakMap;function bp(e){return typeof window<"u"&&!!window.maplibregl&&e instanceof window.maplibregl.Map}function Mn(e,o){if(!e||!o)return 0;const t=String(o).split("-")[0].toLowerCase();try{if(!bp(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 s=pi.get(e);s||(s=new Map,pi.set(e,s));let a=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(!s.has(r.id))continue}else{if(!mp.test(l))continue;s.set(r.id,i)}const c=t==="en"?s.get(r.id):["coalesce",["get","name:"+t],["get","name:latin"],["get","name"]];e.setLayoutProperty(r.id,"text-field",c),a++}return a}catch{return 0}}const ht={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 di(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 yp=ht.mapbox.css,vp="https://tiles.openfreemap.org/styles/liberty",kp="https://tiles.openfreemap.org/styles/fiord";function za(e){var t;const o=((t=ht[e])==null?void 0:t.global)||ht.mapbox.global;return typeof window<"u"?window[o]:void 0}async function wp(e){const o=ht[e]||ht.mapbox;if(za(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(za(e))return;await new Promise(n=>{t.addEventListener("load",n,{once:!0}),t.addEventListener("error",n,{once:!0})});return}await new Promise((n,s)=>{const a=document.createElement("script");a.src=o.js,a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>s(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function Lp(e,o){if(!e)return;const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const n=r=>new Promise(i=>setTimeout(i,r)),s=t.querySelector(`link[href="${o}"]`);if(s){if(s.sheet)return;await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=o,await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0}),t.prepend(a)}),n(2e3)])}function Pp(e,o){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o==="night"||o==="dusk"?kp:vp}const Sp=85.0511,ja=-2,Ap=0,Ep=-60;function gi(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function xp(e,o,t,n){if(!e||e<=0||!o||o<=0)return Ap;const s=Math.log2(e/512),a=gi(n)-gi(Sp),r=Math.log2(o/(512*a)),i=Math.max(s,r);return Math.max(ja,Math.min(i,(t??18)-1))}function Tp({containerRef:e,accessToken:o,style:t,config:n=void 0,provider:s=void 0,center:a=[20,10],zoom:r=2,bounds:i=void 0,fitBoundsOptions:l=void 0,minZoom:c=void 0,skipWorldFloor:d=!1,maxZoom:g=18,pitch:_=0,bearing:k=0,renderWorldCopies:E=!0,showEdgeBorders:P=!0,southCutoff:M=Ep,maxBounds:O=void 0}){const w=$a(null),y=Le(!1);let m=null,x=null,R=null,C=null;try{C=$o("profileConfig",null)}catch{}s=s||fp(C);const G=s==="maplibre";let F=null;try{F=$o("lang",null)}catch{}const X=()=>{const se=F&&typeof F=="object"&&"value"in F?F.value:F;if(typeof se=="string"&&se)return se;const ce=C&&typeof C=="object"&&"value"in C?C.value:C;if(ce&&(ce.locale||ce.lang))return String(ce.locale||ce.lang);try{const j=new URLSearchParams(location.search);return j.get("lang")||j.get("locale")||document.documentElement.lang||"en"}catch{return"en"}};async function K(){var Ye;const se=li(t,s),ce=se.style||t;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}const j=()=>!e.value;if(await wp(s),j())return;const U=za(s);if(!U){console.error(`[useMapInstance] ${G?"maplibregl":"mapboxgl"} is not available. Add the ${G?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(hp(U),!G){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 Lp(e.value,G?ht.maplibre.css:yp),j()||(await new Promise(re=>requestAnimationFrame(re)),j()))return;const H=e.value,oe=H.clientWidth,he=H.clientHeight;if(oe===0||he===0){console.error(`[useMapInstance] Container has ZERO dimensions (${oe}×${he}). Map will be invisible. Check that parent elements have CSS sizing.`);let re=H.parentElement,ie=0;for(;re&&ie<5;)re=re.parentElement,ie++}const Ve=o;G||(U.accessToken=Ve);const Ae=()=>typeof window<"u"&&window.innerWidth>=1024,ke=(re,ie)=>{if(d)return typeof c=="number"?c:ja;if(!Ae())return ja;const me=xp(re,ie,g,M);return typeof c=="number"?Math.max(c,me):me},Xe=ke(H.clientWidth,H.clientHeight),ao=se.lightPreset||(()=>{var re;try{const ie=typeof n=="function"?n():n;return(re=ie==null?void 0:ie.basemap)==null?void 0:re.lightPreset}catch{return}})();if(G){w.value=new U.Map({container:e.value,style:Pp(ce,ao),center:a,zoom:r,minZoom:Xe,maxZoom:g,pitch:_,bearing:k,dragRotate:!1,renderWorldCopies:E,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...O?{maxBounds:O}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),di(w.value);try{e.value.__doxaMap=w.value}catch{}}else{const re=typeof n=="function"?n():n;w.value=new U.Map({accessToken:Ve,container:e.value,style:ce,...re?{config:re}:{},center:a,zoom:r,minZoom:Xe,maxZoom:g,pitch:_,bearing:k,dragRotate:!1,touchPitch:!1,renderWorldCopies:E,...i?{bounds:i,...l?{fitBoundsOptions:l}:{}}:{},...O?{maxBounds:O}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),di(w.value);try{e.value.__doxaMap=w.value}catch{}}try{let re=!1;w.value.on("error",ie=>{var f,b;const me=((f=ie==null?void 0:ie.error)==null?void 0:f.status)??(ie==null?void 0:ie.status),ze=String(((b=ie==null?void 0:ie.error)==null?void 0:b.url)||(ie==null?void 0:ie.sourceId)||"");me!==401&&me!==403||re||(re=!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.`+(ze?` First failing request: ${ze.slice(0,120)}`:"")))})}catch{}try{w.value.touchZoomRotate.disableRotation()}catch{}R=up(((Ye=e.value)==null?void 0:Ye.parentElement)||null,{enabled:P});let so=Xe,Se=null;m=()=>{const re=w.value;if(!re)return;const ie=ke(H.clientWidth,H.clientHeight);ie!==so&&(so=ie,re.setMinZoom(ie)),re.getZoom()<ie?(Se&&clearTimeout(Se),Se=setTimeout(()=>{Se=null;const me=w.value;if(!me)return;const ze=ke(H.clientWidth,H.clientHeight);if(me.getZoom()<ze)try{me.jumpTo({zoom:ze})}catch{me.setZoom(ze)}},150)):Se&&(clearTimeout(Se),Se=null)},x=()=>{Se&&(clearTimeout(Se),Se=null)},w.value.on("resize",m),typeof window<"u"&&(window.addEventListener("resize",m),window.addEventListener("orientationchange",m)),w.value.on("style.load",()=>{if(w.value&&Mn(w.value,X()),se.paint&&w.value){const re=dp(w.value,se.paint);console.info("[useMapInstance] style paint applied ("+s+"):",re.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var re;(re=w.value)==null||re.resize(),w.value&&w.value.setMinZoom(ke(H.clientWidth,H.clientHeight)),y.value=!0})})}function W(){if(w.value){if(m&&(w.value.off("resize",m),typeof window<"u"&&(window.removeEventListener("resize",m),window.removeEventListener("orientationchange",m)),m=null),x){try{x()}catch{}x=null}R&&(R(),R=null),w.value.remove(),w.value=null,y.value=!1}}if(F&&typeof F=="object"&&"value"in F)try{Lo(F,()=>{w.value&&y.value&&Mn(w.value,X())})}catch{}return{map:w,isMapReady:y,initializeMap:K,destroy:W}}function On(e,o){const t=o||Rp(e);dt(()=>{var i;const n=tt();if(!n)return;const s=(i=n.proxy)==null?void 0:i.$el;if(!s)return;const a=s.getRootNode();if(!(a instanceof ShadowRoot)||a.querySelector(`style[data-shadow-styles="${t}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",t),r.textContent=e,a.appendChild(r)})}function Rp(e){let o=0;for(let t=0;t<e.length;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return"s"+Math.abs(o).toString(36)}function Cp(e,{autoprint:o=!1}={}){const t=document.createElement("iframe");t.setAttribute("aria-hidden","true"),t.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(t);const n=t.contentDocument;if(!n)return t.remove(),null;n.open(),n.write(e),o&&n.write('<script>window.addEventListener("load",function(){setTimeout(function(){window.focus();window.print()},150)})<\/script>'),n.close();const s=()=>{t.parentNode&&t.remove()};try{t.contentWindow.addEventListener("afterprint",()=>setTimeout(s,0))}catch{}return setTimeout(s,6e4),t.contentWindow}/*!
|
||
* shared v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function Np(e,o){typeof console<"u"&&(console.warn("[intlify] "+e),o&&console.warn(o.stack))}const Fn=typeof window<"u",Wo=(e,o=!1)=>o?Symbol.for(e):Symbol(e),Mp=(e,o,t)=>Op({l:e,k:o,s:t}),Op=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),Fp=e=>mi(e)==="[object Date]",Ho=e=>mi(e)==="[object RegExp]",In=e=>ne(e)&&Object.keys(e).length===0,Ge=Object.assign,Ip=Object.create,fe=(e=null)=>Ip(e);let $i;const Io=()=>$i||($i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:fe());function fi(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function hi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Dp(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,s,a)=>`${s}="${hi(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,s,a)=>`${s}='${hi(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 Gp=Object.prototype.hasOwnProperty;function fo(e,o){return Gp.call(e,o)}const Pe=Array.isArray,ve=e=>typeof e=="function",z=e=>typeof e=="string",le=e=>typeof e=="boolean",pe=e=>e!==null&&typeof e=="object",Up=e=>pe(e)&&ve(e.then)&&ve(e.catch),_i=Object.prototype.toString,mi=e=>_i.call(e),ne=e=>{if(!pe(e))return!1;const o=Object.getPrototypeOf(e);return o===null||o.constructor===Object},Bp=e=>e==null?"":Pe(e)||ne(e)&&e.toString===_i?JSON.stringify(e,null,2):String(e);function Vp(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}function Dn(e){let o=e;return()=>++o}const Gn=e=>!pe(e)||Pe(e);function Un(e,o){if(Gn(e)||Gn(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__"&&(pe(n[a])&&!pe(s[a])&&(s[a]=Array.isArray(n[a])?[]:fe()),Gn(s[a])||Gn(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 zp(e,o,t){return{line:e,column:o,offset:t}}function Bn(e,o,t){return{start:e,end:o}}const jp=/\{([0-9a-zA-Z]+)\}/g;function bi(e,...o){return o.length===1&&Wp(o[0])&&(o=o[0]),(!o||!o.hasOwnProperty)&&(o={}),e.replace(jp,(t,n)=>o.hasOwnProperty(n)?o[n]:"")}const yi=Object.assign,vi=e=>typeof e=="string",Wp=e=>e!==null&&typeof e=="object";function ki(e,o=""){return e.reduce((t,n,s)=>s===0?t+n:t+o+n,"")}const Wa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Hp={[Wa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function qp(e,o,...t){const n=bi(Hp[e],...t||[]),s={message:String(n),code:e};return o&&(s.location=o),s}const J={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},Kp={[J.EXPECTED_TOKEN]:"Expected token: '{0}'",[J.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[J.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[J.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[J.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[J.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[J.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[J.EMPTY_PLACEHOLDER]:"Empty placeholder",[J.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[J.INVALID_LINKED_FORMAT]:"Invalid linked format",[J.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[J.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[J.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[J.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[J.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[J.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function _t(e,o,t={}){const{domain:n,messages:s,args:a}=t,r=bi((s||Kp)[e]||"",...a||[]),i=new SyntaxError(String(r));return i.code=e,o&&(i.location=o),i.domain=n,i}function Xp(e){throw e}const Do=" ",Yp="\r",Ke=`
|
||
`,Zp="\u2028",Jp="\u2029";function Qp(e){const o=e;let t=0,n=1,s=1,a=0;const r=C=>o[C]===Yp&&o[C+1]===Ke,i=C=>o[C]===Ke,l=C=>o[C]===Jp,c=C=>o[C]===Zp,d=C=>r(C)||i(C)||l(C)||c(C),g=()=>t,_=()=>n,k=()=>s,E=()=>a,P=C=>r(C)||l(C)||c(C)?Ke:o[C],M=()=>P(t),O=()=>P(t+a);function w(){return a=0,d(t)&&(n++,s=0),r(t)&&t++,t++,s++,o[t]}function y(){return r(t+a)&&a++,a++,o[t+a]}function m(){t=0,n=1,s=1,a=0}function x(C=0){a=C}function R(){const C=t+a;for(;C!==t;)w();a=0}return{index:g,line:_,column:k,peekOffset:E,charAt:P,currentChar:M,currentPeek:O,next:w,peek:y,reset:m,resetPeek:x,skipToPeek:R}}const qo=void 0,ed=".",wi="'",od="tokenizer";function td(e,o={}){const t=o.location!==!1,n=Qp(e),s=()=>n.index(),a=()=>zp(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:d}=o;function g(u,p,L,...$){const S=c();if(p.column+=L,p.offset+=L,d){const A=t?Bn(S.startLoc,p):null,v=_t(u,A,{domain:od,args:$});d(v)}}function _(u,p,L){u.endLoc=a(),u.currentType=p;const $={type:p};return t&&($.loc=Bn(u.startLoc,u.endLoc)),L!=null&&($.value=L),$}const k=u=>_(u,14);function E(u,p){return u.currentChar()===p?(u.next(),p):(g(J.EXPECTED_TOKEN,a(),0,p),"")}function P(u){let p="";for(;u.currentPeek()===Do||u.currentPeek()===Ke;)p+=u.currentPeek(),u.peek();return p}function M(u){const p=P(u);return u.skipToPeek(),p}function O(u){if(u===qo)return!1;const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function w(u){if(u===qo)return!1;const p=u.charCodeAt(0);return p>=48&&p<=57}function y(u,p){const{currentType:L}=p;if(L!==2)return!1;P(u);const $=O(u.currentPeek());return u.resetPeek(),$}function m(u,p){const{currentType:L}=p;if(L!==2)return!1;P(u);const $=u.currentPeek()==="-"?u.peek():u.currentPeek(),S=w($);return u.resetPeek(),S}function x(u,p){const{currentType:L}=p;if(L!==2)return!1;P(u);const $=u.currentPeek()===wi;return u.resetPeek(),$}function R(u,p){const{currentType:L}=p;if(L!==8)return!1;P(u);const $=u.currentPeek()===".";return u.resetPeek(),$}function C(u,p){const{currentType:L}=p;if(L!==9)return!1;P(u);const $=O(u.currentPeek());return u.resetPeek(),$}function G(u,p){const{currentType:L}=p;if(!(L===8||L===12))return!1;P(u);const $=u.currentPeek()===":";return u.resetPeek(),$}function F(u,p){const{currentType:L}=p;if(L!==10)return!1;const $=()=>{const A=u.currentPeek();return A==="{"?O(u.peek()):A==="@"||A==="%"||A==="|"||A===":"||A==="."||A===Do||!A?!1:A===Ke?(u.peek(),$()):W(u,!1)},S=$();return u.resetPeek(),S}function X(u){P(u);const p=u.currentPeek()==="|";return u.resetPeek(),p}function K(u){const p=P(u),L=u.currentPeek()==="%"&&u.peek()==="{";return u.resetPeek(),{isModulo:L,hasSpace:p.length>0}}function W(u,p=!0){const L=(S=!1,A="",v=!1)=>{const T=u.currentPeek();return T==="{"?A==="%"?!1:S:T==="@"||!T?A==="%"?!0:S:T==="%"?(u.peek(),L(S,"%",!0)):T==="|"?A==="%"||v?!0:!(A===Do||A===Ke):T===Do?(u.peek(),L(!0,Do,v)):T===Ke?(u.peek(),L(!0,Ke,v)):!0},$=L();return p&&u.resetPeek(),$}function se(u,p){const L=u.currentChar();return L===qo?qo:p(L)?(u.next(),L):null}function ce(u){const p=u.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function j(u){return se(u,ce)}function U(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 H(u){return se(u,U)}function oe(u){const p=u.charCodeAt(0);return p>=48&&p<=57}function he(u){return se(u,oe)}function Ve(u){const p=u.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function Ae(u){return se(u,Ve)}function ke(u){let p="",L="";for(;p=he(u);)L+=p;return L}function Xe(u){M(u);const p=u.currentChar();return p!=="%"&&g(J.EXPECTED_TOKEN,a(),0,p),u.next(),"%"}function ao(u){let p="";for(;;){const L=u.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L==="%")if(W(u))p+=L,u.next();else break;else if(L===Do||L===Ke)if(W(u))p+=L,u.next();else{if(X(u))break;p+=L,u.next()}else p+=L,u.next()}return p}function so(u){M(u);let p="",L="";for(;p=H(u);)L+=p;return u.currentChar()===qo&&g(J.UNTERMINATED_CLOSING_BRACE,a(),0),L}function Se(u){M(u);let p="";return u.currentChar()==="-"?(u.next(),p+=`-${ke(u)}`):p+=ke(u),u.currentChar()===qo&&g(J.UNTERMINATED_CLOSING_BRACE,a(),0),p}function Ye(u){return u!==wi&&u!==Ke}function re(u){M(u),E(u,"'");let p="",L="";for(;p=se(u,Ye);)p==="\\"?L+=ie(u):L+=p;const $=u.currentChar();return $===Ke||$===qo?(g(J.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),$===Ke&&(u.next(),E(u,"'")),L):(E(u,"'"),L)}function ie(u){const p=u.currentChar();switch(p){case"\\":case"'":return u.next(),`\\${p}`;case"u":return me(u,p,4);case"U":return me(u,p,6);default:return g(J.UNKNOWN_ESCAPE_SEQUENCE,a(),0,p),""}}function me(u,p,L){E(u,p);let $="";for(let S=0;S<L;S++){const A=Ae(u);if(!A){g(J.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),0,`\\${p}${$}${u.currentChar()}`);break}$+=A}return`\\${p}${$}`}function ze(u){return u!=="{"&&u!=="}"&&u!==Do&&u!==Ke}function f(u){M(u);let p="",L="";for(;p=se(u,ze);)L+=p;return L}function b(u){let p="",L="";for(;p=j(u);)L+=p;return L}function h(u){const p=L=>{const $=u.currentChar();return $==="{"||$==="%"||$==="@"||$==="|"||$==="("||$===")"||!$||$===Do?L:(L+=$,u.next(),p(L))};return p("")}function N(u){M(u);const p=E(u,"|");return M(u),p}function D(u,p){let L=null;switch(u.currentChar()){case"{":return p.braceNest>=1&&g(J.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),u.next(),L=_(p,2,"{"),M(u),p.braceNest++,L;case"}":return p.braceNest>0&&p.currentType===2&&g(J.EMPTY_PLACEHOLDER,a(),0),u.next(),L=_(p,3,"}"),p.braceNest--,p.braceNest>0&&M(u),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),L;case"@":return p.braceNest>0&&g(J.UNTERMINATED_CLOSING_BRACE,a(),0),L=I(u,p)||k(p),p.braceNest=0,L;default:{let S=!0,A=!0,v=!0;if(X(u))return p.braceNest>0&&g(J.UNTERMINATED_CLOSING_BRACE,a(),0),L=_(p,1,N(u)),p.braceNest=0,p.inLinked=!1,L;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return g(J.UNTERMINATED_CLOSING_BRACE,a(),0),p.braceNest=0,V(u,p);if(S=y(u,p))return L=_(p,5,so(u)),M(u),L;if(A=m(u,p))return L=_(p,6,Se(u)),M(u),L;if(v=x(u,p))return L=_(p,7,re(u)),M(u),L;if(!S&&!A&&!v)return L=_(p,13,f(u)),g(J.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,L.value),M(u),L;break}}return L}function I(u,p){const{currentType:L}=p;let $=null;const S=u.currentChar();switch((L===8||L===9||L===12||L===10)&&(S===Ke||S===Do)&&g(J.INVALID_LINKED_FORMAT,a(),0),S){case"@":return u.next(),$=_(p,8,"@"),p.inLinked=!0,$;case".":return M(u),u.next(),_(p,9,".");case":":return M(u),u.next(),_(p,10,":");default:return X(u)?($=_(p,1,N(u)),p.braceNest=0,p.inLinked=!1,$):R(u,p)||G(u,p)?(M(u),I(u,p)):C(u,p)?(M(u),_(p,12,b(u))):F(u,p)?(M(u),S==="{"?D(u,p)||$:_(p,11,h(u))):(L===8&&g(J.INVALID_LINKED_FORMAT,a(),0),p.braceNest=0,p.inLinked=!1,V(u,p))}}function V(u,p){let L={type:14};if(p.braceNest>0)return D(u,p)||k(p);if(p.inLinked)return I(u,p)||k(p);switch(u.currentChar()){case"{":return D(u,p)||k(p);case"}":return g(J.UNBALANCED_CLOSING_BRACE,a(),0),u.next(),_(p,3,"}");case"@":return I(u,p)||k(p);default:{if(X(u))return L=_(p,1,N(u)),p.braceNest=0,p.inLinked=!1,L;const{isModulo:S,hasSpace:A}=K(u);if(S)return A?_(p,0,ao(u)):_(p,4,Xe(u));if(W(u))return _(p,0,ao(u));break}}return L}function B(){const{currentType:u,offset:p,startLoc:L,endLoc:$}=l;return l.lastType=u,l.lastOffset=p,l.lastStartLoc=L,l.lastEndLoc=$,l.offset=s(),l.startLoc=a(),n.currentChar()===qo?_(l,14):V(n,l)}return{nextToken:B,currentOffset:s,currentPosition:a,context:c}}const nd="parser",ad=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function sd(e,o,t){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(o||t,16);return n<=55295||n>=57344?String.fromCodePoint(n):"<22>"}}}function rd(e={}){const o=e.location!==!1,{onError:t,onWarn:n}=e;function s(y,m,x,R,...C){const G=y.currentPosition();if(G.offset+=R,G.column+=R,t){const F=o?Bn(x,G):null,X=_t(m,F,{domain:nd,args:C});t(X)}}function a(y,m,x,R,...C){const G=y.currentPosition();if(G.offset+=R,G.column+=R,n){const F=o?Bn(x,G):null;n(qp(m,F,C))}}function r(y,m,x){const R={type:y};return o&&(R.start=m,R.end=m,R.loc={start:x,end:x}),R}function i(y,m,x,R){o&&(y.end=m,y.loc&&(y.loc.end=x))}function l(y,m){const x=y.context(),R=r(3,x.offset,x.startLoc);return R.value=m,i(R,y.currentOffset(),y.currentPosition()),R}function c(y,m){const x=y.context(),{lastOffset:R,lastStartLoc:C}=x,G=r(5,R,C);return G.index=parseInt(m,10),y.nextToken(),i(G,y.currentOffset(),y.currentPosition()),G}function d(y,m,x){const R=y.context(),{lastOffset:C,lastStartLoc:G}=R,F=r(4,C,G);return F.key=m,x===!0&&(F.modulo=!0),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function g(y,m){const x=y.context(),{lastOffset:R,lastStartLoc:C}=x,G=r(9,R,C);return G.value=m.replace(ad,sd),y.nextToken(),i(G,y.currentOffset(),y.currentPosition()),G}function _(y){const m=y.nextToken(),x=y.context(),{lastOffset:R,lastStartLoc:C}=x,G=r(8,R,C);return m.type!==12?(s(y,J.UNEXPECTED_EMPTY_LINKED_MODIFIER,x.lastStartLoc,0),G.value="",i(G,R,C),{nextConsumeToken:m,node:G}):(m.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,ho(m)),G.value=m.value||"",i(G,y.currentOffset(),y.currentPosition()),{node:G})}function k(y,m){const x=y.context(),R=r(7,x.offset,x.startLoc);return R.value=m,i(R,y.currentOffset(),y.currentPosition()),R}function E(y){const m=y.context(),x=r(6,m.offset,m.startLoc);let R=y.nextToken();if(R.type===9){const C=_(y);x.modifier=C.node,R=C.nextConsumeToken||y.nextToken()}switch(R.type!==10&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(R)),R=y.nextToken(),R.type===2&&(R=y.nextToken()),R.type){case 11:R.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(R)),x.key=k(y,R.value||"");break;case 5:R.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(R)),x.key=d(y,R.value||"");break;case 6:R.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(R)),x.key=c(y,R.value||"");break;case 7:R.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(R)),x.key=g(y,R.value||"");break;default:{s(y,J.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const C=y.context(),G=r(7,C.offset,C.startLoc);return G.value="",i(G,C.offset,C.startLoc),x.key=G,i(x,C.offset,C.startLoc),{nextConsumeToken:R,node:x}}}return i(x,y.currentOffset(),y.currentPosition()),{node:x}}function P(y){const m=y.context(),x=m.currentType===1?y.currentOffset():m.offset,R=m.currentType===1?m.endLoc:m.startLoc,C=r(2,x,R);C.items=[];let G=null,F=null;do{const W=G||y.nextToken();switch(G=null,W.type){case 0:W.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(W)),C.items.push(l(y,W.value||""));break;case 6:W.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(W)),C.items.push(c(y,W.value||""));break;case 4:F=!0;break;case 5:W.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(W)),C.items.push(d(y,W.value||"",!!F)),F&&(a(y,Wa.USE_MODULO_SYNTAX,m.lastStartLoc,0,ho(W)),F=null);break;case 7:W.value==null&&s(y,J.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,ho(W)),C.items.push(g(y,W.value||""));break;case 8:{const se=E(y);C.items.push(se.node),G=se.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const X=m.currentType===1?m.lastOffset:y.currentOffset(),K=m.currentType===1?m.lastEndLoc:y.currentPosition();return i(C,X,K),C}function M(y,m,x,R){const C=y.context();let G=R.items.length===0;const F=r(1,m,x);F.cases=[],F.cases.push(R);do{const X=P(y);G||(G=X.items.length===0),F.cases.push(X)}while(C.currentType!==14);return G&&s(y,J.MUST_HAVE_MESSAGES_IN_PLURAL,x,0),i(F,y.currentOffset(),y.currentPosition()),F}function O(y){const m=y.context(),{offset:x,startLoc:R}=m,C=P(y);return m.currentType===14?C:M(y,x,R,C)}function w(y){const m=td(y,yi({},e)),x=m.context(),R=r(0,x.offset,x.startLoc);return o&&R.loc&&(R.loc.source=y),R.body=O(m),e.onCacheKey&&(R.cacheKey=e.onCacheKey(y)),x.currentType!==14&&s(m,J.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,y[x.offset]||""),i(R,m.currentOffset(),m.currentPosition()),R}return{parse:w}}function ho(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 id(e,o={}){const t={ast:e,helpers:new Set};return{context:()=>t,helper:a=>(t.helpers.add(a),a)}}function Li(e,o){for(let t=0;t<e.length;t++)Ha(e[t],o)}function Ha(e,o){switch(e.type){case 1:Li(e.cases,o),o.helper("plural");break;case 2:Li(e.items,o);break;case 6:{Ha(e.key,o),o.helper("linked"),o.helper("type");break}case 5:o.helper("interpolate"),o.helper("list");break;case 4:o.helper("interpolate"),o.helper("named");break}}function ld(e,o={}){const t=id(e);t.helper("normalize"),e.body&&Ha(e.body,t);const n=t.context();e.helpers=Array.from(n.helpers)}function cd(e){const o=e.body;return o.type===2?Pi(o):o.cases.forEach(t=>Pi(t)),e}function Pi(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;t<e.items.length;t++){const n=e.items[t];if(!(n.type===3||n.type===9)||n.value==null)break;o.push(n.value)}if(o.length===e.items.length){e.static=ki(o);for(let t=0;t<e.items.length;t++){const n=e.items[t];(n.type===3||n.type===9)&&delete n.value}}}}const ud="minifier";function mt(e){switch(e.t=e.type,e.type){case 0:{const o=e;mt(o.body),o.b=o.body,delete o.body;break}case 1:{const o=e,t=o.cases;for(let n=0;n<t.length;n++)mt(t[n]);o.c=t,delete o.cases;break}case 2:{const o=e,t=o.items;for(let n=0;n<t.length;n++)mt(t[n]);o.i=t,delete o.items,o.static&&(o.s=o.static,delete o.static);break}case 3:case 9:case 8:case 7:{const o=e;o.value&&(o.v=o.value,delete o.value);break}case 6:{const o=e;mt(o.key),o.k=o.key,delete o.key,o.modifier&&(mt(o.modifier),o.m=o.modifier,delete o.modifier);break}case 5:{const o=e;o.i=o.index,delete o.index;break}case 4:{const o=e;o.k=o.key,delete o.key;break}default:throw _t(J.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:ud,args:[e.type]})}delete e.type}const pd="parser";function dd(e,o){const{filename:t,breakLineCode:n,needIndent:s}=o,a=o.location!==!1,r={filename:t,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:s,indentLevel:0};a&&e.loc&&(r.source=e.loc.source);const i=()=>r;function l(P,M){r.code+=P}function c(P,M=!0){const O=M?n:"";l(s?O+" ".repeat(P):O)}function d(P=!0){const M=++r.indentLevel;P&&c(M)}function g(P=!0){const M=--r.indentLevel;P&&c(M)}function _(){c(r.indentLevel)}return{context:i,push:l,indent:d,deindent:g,newline:_,helper:P=>`_${P}`,needIndent:()=>r.needIndent}}function gd(e,o){const{helper:t}=e;e.push(`${t("linked")}(`),bt(e,o.key),o.modifier?(e.push(", "),bt(e,o.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function $d(e,o){const{helper:t,needIndent:n}=e;e.push(`${t("normalize")}([`),e.indent(n());const s=o.items.length;for(let a=0;a<s&&(bt(e,o.items[a]),a!==s-1);a++)e.push(", ");e.deindent(n()),e.push("])")}function fd(e,o){const{helper:t,needIndent:n}=e;if(o.cases.length>1){e.push(`${t("plural")}([`),e.indent(n());const s=o.cases.length;for(let a=0;a<s&&(bt(e,o.cases[a]),a!==s-1);a++)e.push(", ");e.deindent(n()),e.push("])")}}function hd(e,o){o.body?bt(e,o.body):e.push("null")}function bt(e,o){const{helper:t}=e;switch(o.type){case 0:hd(e,o);break;case 1:fd(e,o);break;case 2:$d(e,o);break;case 6:gd(e,o);break;case 8:e.push(JSON.stringify(o.value),o);break;case 7:e.push(JSON.stringify(o.value),o);break;case 5:e.push(`${t("interpolate")}(${t("list")}(${o.index}))`,o);break;case 4:e.push(`${t("interpolate")}(${t("named")}(${JSON.stringify(o.key)}))`,o);break;case 9:e.push(JSON.stringify(o.value),o);break;case 3:e.push(JSON.stringify(o.value),o);break;default:throw _t(J.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:pd,args:[o.type]})}}const _d=(e,o={})=>{const t=vi(o.mode)?o.mode:"normal",n=vi(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=dd(e,{filename:n,breakLineCode:s,needIndent:a});i.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(a),r.length>0&&(i.push(`const { ${ki(r.map(d=>`${d}: _${d}`),", ")} } = ctx`),i.newline()),i.push("return "),bt(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 md(e,o={}){const t=yi({},o),n=!!t.jit,s=!!t.minify,a=t.optimize==null?!0:t.optimize,i=rd(t).parse(e);return n?(a&&cd(i),s&&mt(i),{ast:i,code:""}):(ld(i,t),_d(i,t))}/*!
|
||
* core-base v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function bd(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Io().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Eo(e){return pe(e)&&qa(e)===0&&(fo(e,"b")||fo(e,"body"))}const Si=["b","body"];function yd(e){return Ko(e,Si)}const Ai=["c","cases"];function vd(e){return Ko(e,Ai,[])}const Ei=["s","static"];function kd(e){return Ko(e,Ei)}const xi=["i","items"];function wd(e){return Ko(e,xi,[])}const Ti=["t","type"];function qa(e){return Ko(e,Ti)}const Ri=["v","value"];function Vn(e,o){const t=Ko(e,Ri);if(t!=null)return t;throw Wt(o)}const Ci=["m","modifier"];function Ld(e){return Ko(e,Ci)}const Ni=["k","key"];function Pd(e){const o=Ko(e,Ni);if(o)return o;throw Wt(6)}function Ko(e,o,t){for(let n=0;n<o.length;n++){const s=o[n];if(fo(e,s)&&e[s]!=null)return e[s]}return t}const Mi=[...Si,...Ai,...Ei,...xi,...Ni,...Ci,...Ri,...Ti];function Wt(e){return new Error(`unhandled node type: ${e}`)}const Xo=[];Xo[0]={w:[0],i:[3,0],"[":[4],o:[7]},Xo[1]={w:[1],".":[2],"[":[4],o:[7]},Xo[2]={w:[2],i:[3,0],0:[3,0]},Xo[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},Xo[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},Xo[5]={"'":[4,0],o:8,l:[5,0]},Xo[6]={'"':[4,0],o:8,l:[6,0]};const Sd=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Ad(e){return Sd.test(e)}function Ed(e){const o=e.charCodeAt(0),t=e.charCodeAt(e.length-1);return o===t&&(o===34||o===39)?e.slice(1,-1):e}function xd(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function Td(e){const o=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:Ad(o)?Ed(o):"*"+o}function Rd(e){const o=[];let t=-1,n=0,s=0,a,r,i,l,c,d,g;const _=[];_[0]=()=>{r===void 0?r=i:r+=i},_[1]=()=>{r!==void 0&&(o.push(r),r=void 0)},_[2]=()=>{_[0](),s++},_[3]=()=>{if(s>0)s--,n=4,_[0]();else{if(s=0,r===void 0||(r=Td(r),r===!1))return!1;_[1]()}};function k(){const E=e[t+1];if(n===5&&E==="'"||n===6&&E==='"')return t++,i="\\"+E,_[0](),!0}for(;n!==null;)if(t++,a=e[t],!(a==="\\"&&k())){if(l=xd(a),g=Xo[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(d=_[c[1]],d&&(i=a,d()===!1))))return;if(n===7)return o}}const Oi=new Map;function Cd(e,o){return pe(e)?e[o]:null}function Nd(e,o){if(!pe(e))return null;let t=Oi.get(o);if(t||(t=Rd(o),t&&Oi.set(o,t)),!t)return null;const n=t.length;let s=e,a=0;for(;a<n;){const r=t[a];if(Mi.includes(r)&&Eo(s))return null;const i=s[r];if(i===void 0||ve(s))return null;s=i,a++}return s}const Md=e=>e,Od=e=>"",Fd="text",Id=e=>e.length===0?"":Vp(e),Dd=Bp;function Fi(e,o){return e=Math.abs(e),o===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Gd(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 Ud(e,o){o.count||(o.count=e),o.n||(o.n=e)}function Bd(e={}){const o=e.locale,t=Gd(e),n=pe(e.pluralRules)&&z(o)&&ve(e.pluralRules[o])?e.pluralRules[o]:Fi,s=pe(e.pluralRules)&&z(o)&&ve(e.pluralRules[o])?Fi:void 0,a=O=>O[n(t,O.length,s)],r=e.list||[],i=O=>r[O],l=e.named||fe();Te(e.pluralIndex)&&Ud(t,l);const c=O=>l[O];function d(O){const w=ve(e.messages)?e.messages(O):pe(e.messages)?e.messages[O]:!1;return w||(e.parent?e.parent.message(O):Od)}const g=O=>e.modifiers?e.modifiers[O]:Md,_=ne(e.processor)&&ve(e.processor.normalize)?e.processor.normalize:Id,k=ne(e.processor)&&ve(e.processor.interpolate)?e.processor.interpolate:Dd,E=ne(e.processor)&&z(e.processor.type)?e.processor.type:Fd,M={list:i,named:c,plural:a,linked:(O,...w)=>{const[y,m]=w;let x="text",R="";w.length===1?pe(y)?(R=y.modifier||R,x=y.type||x):z(y)&&(R=y||R):w.length===2&&(z(y)&&(R=y||R),z(m)&&(x=m||x));const C=d(O)(M),G=x==="vnode"&&Pe(C)&&R?C[0]:C;return R?g(R)(G,x):G},message:d,type:E,interpolate:k,normalize:_,values:Ge(fe(),r,l)};return M}let Ht=null;function Vd(e){Ht=e}function zd(e,o,t){Ht&&Ht.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:o,meta:t})}const jd=Wd("function:translate");function Wd(e){return o=>Ht&&Ht.emit(e,o)}const Hd=Wa.__EXTEND_POINT__,nt=Dn(Hd),qd={FALLBACK_TO_TRANSLATE:nt(),CANNOT_FORMAT_NUMBER:nt(),FALLBACK_TO_NUMBER_FORMAT:nt(),CANNOT_FORMAT_DATE:nt(),FALLBACK_TO_DATE_FORMAT:nt(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:nt(),__EXTEND_POINT__:nt()},Ii=J.__EXTEND_POINT__,at=Dn(Ii),_o={INVALID_ARGUMENT:Ii,INVALID_DATE_ARGUMENT:at(),INVALID_ISO_DATE_ARGUMENT:at(),NOT_SUPPORT_NON_STRING_MESSAGE:at(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:at(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:at(),NOT_SUPPORT_LOCALE_TYPE:at(),__EXTEND_POINT__:at()};function xo(e){return _t(e,null,void 0)}function Ka(e,o){return o.locale!=null?Di(o.locale):Di(e.locale)}let Xa;function Di(e){if(z(e))return e;if(ve(e)){if(e.resolvedOnce&&Xa!=null)return Xa;if(e.constructor.name==="Function"){const o=e();if(Up(o))throw xo(_o.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Xa=o}else throw xo(_o.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw xo(_o.NOT_SUPPORT_LOCALE_TYPE)}function Kd(e,o,t){return[...new Set([t,...Pe(o)?o:pe(o)?Object.keys(o):z(o)?[o]:[t]])]}function Gi(e,o,t){const n=z(t)?t:yt,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let a=s.__localeChainCache.get(n);if(!a){a=[];let r=[t];for(;Pe(r);)r=Ui(a,r,o);const i=Pe(o)||!ne(o)?o:o.default?o.default:null;r=z(i)?[i]:i,Pe(r)&&Ui(a,r,!1),s.__localeChainCache.set(n,a)}return a}function Ui(e,o,t){let n=!0;for(let s=0;s<o.length&&le(n);s++){const a=o[s];z(a)&&(n=Xd(e,o[s],t))}return n}function Xd(e,o,t){let n;const s=o.split("-");do{const a=s.join("-");n=Yd(e,a,t),s.splice(-1,1)}while(s.length&&n===!0);return n}function Yd(e,o,t){let n=!1;if(!e.includes(o)&&(n=!0,o)){n=o[o.length-1]!=="!";const s=o.replace(/!/g,"");e.push(s),(Pe(t)||ne(t))&&t[s]&&(n=t[s])}return n}const Zd="9.14.5",zn=-1,yt="en-US",Bi="",Vi=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Jd(){return{upper:(e,o)=>o==="text"&&z(e)?e.toUpperCase():o==="vnode"&&pe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,o)=>o==="text"&&z(e)?e.toLowerCase():o==="vnode"&&pe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,o)=>o==="text"&&z(e)?Vi(e):o==="vnode"&&pe(e)&&"__v_isVNode"in e?Vi(e.children):e}}let zi;function ji(e){zi=e}let Wi;function Qd(e){Wi=e}let Hi;function eg(e){Hi=e}let qi=null;const og=e=>{qi=e},tg=()=>qi;let Ki=null;const Xi=e=>{Ki=e},ng=()=>Ki;let Yi=0;function ag(e={}){const o=ve(e.onWarn)?e.onWarn:Np,t=z(e.version)?e.version:Zd,n=z(e.locale)||ve(e.locale)?e.locale:yt,s=ve(n)?yt:n,a=Pe(e.fallbackLocale)||ne(e.fallbackLocale)||z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,r=ne(e.messages)?e.messages:Ya(s),i=ne(e.datetimeFormats)?e.datetimeFormats:Ya(s),l=ne(e.numberFormats)?e.numberFormats:Ya(s),c=Ge(fe(),e.modifiers,Jd()),d=e.pluralRules||fe(),g=ve(e.missing)?e.missing:null,_=le(e.missingWarn)||Ho(e.missingWarn)?e.missingWarn:!0,k=le(e.fallbackWarn)||Ho(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,P=!!e.unresolving,M=ve(e.postTranslation)?e.postTranslation:null,O=ne(e.processor)?e.processor:null,w=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,m=ve(e.messageCompiler)?e.messageCompiler:zi,x=ve(e.messageResolver)?e.messageResolver:Wi||Cd,R=ve(e.localeFallbacker)?e.localeFallbacker:Hi||Kd,C=pe(e.fallbackContext)?e.fallbackContext:void 0,G=e,F=pe(G.__datetimeFormatters)?G.__datetimeFormatters:new Map,X=pe(G.__numberFormatters)?G.__numberFormatters:new Map,K=pe(G.__meta)?G.__meta:{};Yi++;const W={version:t,cid:Yi,locale:n,fallbackLocale:a,messages:r,modifiers:c,pluralRules:d,missing:g,missingWarn:_,fallbackWarn:k,fallbackFormat:E,unresolving:P,postTranslation:M,processor:O,warnHtmlMessage:w,escapeParameter:y,messageCompiler:m,messageResolver:x,localeFallbacker:R,fallbackContext:C,onWarn:o,__meta:K};return W.datetimeFormats=i,W.numberFormats=l,W.__datetimeFormatters=F,W.__numberFormatters=X,__INTLIFY_PROD_DEVTOOLS__&&zd(W,t,K),W}const Ya=e=>({[e]:fe()});function Za(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 qt(e,o,t){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,t,o)}function sg(e,o){return e===o?!1:e.split("-")[0]===o.split("-")[0]}function rg(e,o){const t=o.indexOf(e);if(t===-1)return!1;for(let n=t+1;n<o.length;n++)if(sg(e,o[n]))return!0;return!1}function Ja(e){return t=>ig(t,e)}function ig(e,o){const t=yd(o);if(t==null)throw Wt(0);if(qa(t)===1){const a=vd(t);return e.plural(a.reduce((r,i)=>[...r,Zi(e,i)],[]))}else return Zi(e,t)}function Zi(e,o){const t=kd(o);if(t!=null)return e.type==="text"?t:e.normalize([t]);{const n=wd(o).reduce((s,a)=>[...s,Qa(e,a)],[]);return e.normalize(n)}}function Qa(e,o){const t=qa(o);switch(t){case 3:return Vn(o,t);case 9:return Vn(o,t);case 4:{const n=o;if(fo(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(fo(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Wt(t)}case 5:{const n=o;if(fo(n,"i")&&Te(n.i))return e.interpolate(e.list(n.i));if(fo(n,"index")&&Te(n.index))return e.interpolate(e.list(n.index));throw Wt(t)}case 6:{const n=o,s=Ld(n),a=Pd(n);return e.linked(Qa(e,a),s?Qa(e,s):void 0,e.type)}case 7:return Vn(o,t);case 8:return Vn(o,t);default:throw new Error(`unhandled node on format message part: ${t}`)}}const Ji=e=>e;let vt=fe();function Qi(e,o={}){let t=!1;const n=o.onError||Xp;return o.onError=s=>{t=!0,n(s)},{...md(e,o),detectError:t}}const lg=(e,o)=>{if(!z(e))throw xo(_o.NOT_SUPPORT_NON_STRING_MESSAGE);{le(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Ji)(e),s=vt[n];if(s)return s;const{code:a,detectError:r}=Qi(e,o),i=new Function(`return ${a}`)();return r?i:vt[n]=i}};function cg(e,o){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&z(e)){le(o.warnHtmlMessage)&&o.warnHtmlMessage;const n=(o.onCacheKey||Ji)(e),s=vt[n];if(s)return s;const{ast:a,detectError:r}=Qi(e,{...o,location:!1,jit:!0}),i=Ja(a);return r?i:vt[n]=i}else{const t=e.cacheKey;if(t){const n=vt[t];return n||(vt[t]=Ja(e))}else return Ja(e)}}const el=()=>"",lo=e=>ve(e);function ol(e,...o){const{fallbackFormat:t,postTranslation:n,unresolving:s,messageCompiler:a,fallbackLocale:r,messages:i}=e,[l,c]=es(...o),d=le(c.missingWarn)?c.missingWarn:e.missingWarn,g=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,E=z(c.default)||le(c.default)?le(c.default)?a?l:()=>l:c.default:t?a?l:()=>l:"",P=t||E!=="",M=Ka(e,c);_&&ug(c);let[O,w,y]=k?[l,M,i[M]||fe()]:tl(e,l,M,r,g,d),m=O,x=l;if(!k&&!(z(m)||Eo(m)||lo(m))&&P&&(m=E,x=m),!k&&(!(z(m)||Eo(m)||lo(m))||!z(w)))return s?zn:l;let R=!1;const C=()=>{R=!0},G=lo(m)?m:nl(e,l,w,m,x,C);if(R)return m;const F=gg(e,w,y,c),X=Bd(F),K=pg(e,G,X);let W=n?n(K,l):K;if(_&&z(W)&&(W=Dp(W)),__INTLIFY_PROD_DEVTOOLS__){const se={timestamp:Date.now(),key:z(l)?l:lo(m)?m.key:"",locale:w||(lo(m)?m.locale:""),format:z(m)?m:lo(m)?m.source:"",message:W};se.meta=Ge({},e.__meta,tg()||{}),jd(se)}return W}function ug(e){Pe(e.list)?e.list=e.list.map(o=>z(o)?fi(o):o):pe(e.named)&&Object.keys(e.named).forEach(o=>{z(e.named[o])&&(e.named[o]=fi(e.named[o]))})}function tl(e,o,t,n,s,a){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,d=c(e,n,t);let g=fe(),_,k=null;const E="translate";for(let P=0;P<d.length&&(_=d[P],g=r[_]||fe(),(k=l(g,o))===null&&(k=g[o]),!(z(k)||Eo(k)||lo(k)));P++)if(!rg(_,d)){const M=Za(e,o,_,a,E);M!==o&&(k=M)}return[k,_,g]}function nl(e,o,t,n,s,a){const{messageCompiler:r,warnHtmlMessage:i}=e;if(lo(n)){const c=n;return c.locale=c.locale||t,c.key=c.key||o,c}if(r==null){const c=()=>n;return c.locale=t,c.key=o,c}const l=r(n,dg(e,t,s,n,i,a));return l.locale=t,l.key=o,l.source=n,l}function pg(e,o,t){return o(t)}function es(...e){const[o,t,n]=e,s=fe();if(!z(o)&&!Te(o)&&!lo(o)&&!Eo(o))throw xo(_o.INVALID_ARGUMENT);const a=Te(o)?String(o):(lo(o),o);return Te(t)?s.plural=t:z(t)?s.default=t:ne(t)&&!In(t)?s.named=t:Pe(t)&&(s.list=t),Te(n)?s.plural=n:z(n)?s.default=n:ne(n)&&Ge(s,n),[a,s]}function dg(e,o,t,n,s,a){return{locale:o,key:t,warnHtmlMessage:s,onError:r=>{throw a&&a(r),r},onCacheKey:r=>Mp(o,t,r)}}function gg(e,o,t,n){const{modifiers:s,pluralRules:a,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:d}=e,_={locale:o,modifiers:s,pluralRules:a,messages:k=>{let E=r(t,k);if(E==null&&d){const[,,P]=tl(d,k,o,i,l,c);E=r(P,k)}if(z(E)||Eo(E)){let P=!1;const O=nl(e,k,o,E,k,()=>{P=!0});return P?el:O}else return lo(E)?E:el}};return e.processor&&(_.processor=e.processor),n.list&&(_.list=n.list),n.named&&(_.named=n.named),Te(n.plural)&&(_.pluralIndex=n.plural),_}function al(e,...o){const{datetimeFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,d,g]=os(...o),_=le(d.missingWarn)?d.missingWarn:e.missingWarn;le(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const k=!!d.part,E=Ka(e,d),P=r(e,s,E);if(!z(l)||l==="")return new Intl.DateTimeFormat(E,g).format(c);let M={},O,w=null;const y="datetime format";for(let R=0;R<P.length&&(O=P[R],M=t[O]||{},w=M[l],!ne(w));R++)Za(e,l,O,_,y);if(!ne(w)||!z(O))return n?zn:l;let m=`${O}__${l}`;In(g)||(m=`${m}__${JSON.stringify(g)}`);let x=i.get(m);return x||(x=new Intl.DateTimeFormat(O,Ge({},w,g)),i.set(m,x)),k?x.formatToParts(c):x.format(c)}const sl=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function os(...e){const[o,t,n,s]=e,a=fe();let r=fe(),i;if(z(o)){const l=o.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw xo(_o.INVALID_ISO_DATE_ARGUMENT);const c=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();i=new Date(c);try{i.toISOString()}catch{throw xo(_o.INVALID_ISO_DATE_ARGUMENT)}}else if(Fp(o)){if(isNaN(o.getTime()))throw xo(_o.INVALID_DATE_ARGUMENT);i=o}else if(Te(o))i=o;else throw xo(_o.INVALID_ARGUMENT);return z(t)?a.key=t:ne(t)&&Object.keys(t).forEach(l=>{sl.includes(l)?r[l]=t[l]:a[l]=t[l]}),z(n)?a.locale=n:ne(n)&&(r=n),ne(s)&&(r=s),[a.key||"",i,a,r]}function rl(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function il(e,...o){const{numberFormats:t,unresolving:n,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,d,g]=ts(...o),_=le(d.missingWarn)?d.missingWarn:e.missingWarn;le(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const k=!!d.part,E=Ka(e,d),P=r(e,s,E);if(!z(l)||l==="")return new Intl.NumberFormat(E,g).format(c);let M={},O,w=null;const y="number format";for(let R=0;R<P.length&&(O=P[R],M=t[O]||{},w=M[l],!ne(w));R++)Za(e,l,O,_,y);if(!ne(w)||!z(O))return n?zn:l;let m=`${O}__${l}`;In(g)||(m=`${m}__${JSON.stringify(g)}`);let x=i.get(m);return x||(x=new Intl.NumberFormat(O,Ge({},w,g)),i.set(m,x)),k?x.formatToParts(c):x.format(c)}const ll=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function ts(...e){const[o,t,n,s]=e,a=fe();let r=fe();if(!Te(o))throw xo(_o.INVALID_ARGUMENT);const i=o;return z(t)?a.key=t:ne(t)&&Object.keys(t).forEach(l=>{ll.includes(l)?r[l]=t[l]:a[l]=t[l]}),z(n)?a.locale=n:ne(n)&&(r=n),ne(s)&&(r=s),[a.key||"",i,a,r]}function cl(e,o,t){const n=e;for(const s in t){const a=`${o}__${s}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}bd();/*!
|
||
* vue-i18n v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/const $g="9.14.5";function fg(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Io().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Io().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Io().__INTLIFY_PROD_DEVTOOLS__=!1)}const hg=qd.__EXTEND_POINT__,Go=Dn(hg);Go(),Go(),Go(),Go(),Go(),Go(),Go(),Go(),Go();const ul=_o.__EXTEND_POINT__,eo=Dn(ul),Ne={UNEXPECTED_RETURN_TYPE:ul,INVALID_ARGUMENT:eo(),MUST_BE_CALL_SETUP_TOP:eo(),NOT_INSTALLED:eo(),NOT_AVAILABLE_IN_LEGACY_MODE:eo(),REQUIRED_VALUE:eo(),INVALID_VALUE:eo(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:eo(),NOT_INSTALLED_WITH_PROVIDE:eo(),UNEXPECTED_ERROR:eo(),NOT_COMPATIBLE_LEGACY_VUE_I18N:eo(),BRIDGE_SUPPORT_VUE_2_ONLY:eo(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:eo(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:eo(),__EXTEND_POINT__:eo()};function Oe(e,...o){return _t(e,null,void 0)}const ns=Wo("__translateVNode"),as=Wo("__datetimeParts"),ss=Wo("__numberParts"),pl=Wo("__setPluralRules"),dl=Wo("__injectWithOption"),rs=Wo("__dispose");function Kt(e){if(!pe(e)||Eo(e))return e;for(const o in e)if(fo(e,o))if(!o.includes("."))pe(e[o])&&Kt(e[o]);else{const t=o.split("."),n=t.length-1;let s=e,a=!1;for(let r=0;r<n;r++){if(t[r]==="__proto__")throw new Error(`unsafe key: ${t[r]}`);if(t[r]in s||(s[t[r]]=fe()),!pe(s[t[r]])){a=!0;break}s=s[t[r]]}if(a||(Eo(s)?Mi.includes(t[n])||delete e[o]:(s[t[n]]=e[o],delete e[o])),!Eo(s)){const r=s[t[n]];pe(r)&&Kt(r)}}return e}function jn(e,o){const{messages:t,__i18n:n,messageResolver:s,flatJson:a}=o,r=ne(t)?t:Pe(n)?fe():{[e]:fe()};if(Pe(n)&&n.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||fe(),Un(c,r[l])):Un(c,r)}else z(i)&&Un(JSON.parse(i),r)}),s==null&&a)for(const i in r)fo(r,i)&&Kt(r[i]);return r}function gl(e){return e.type}function $l(e,o,t){let n=pe(o.messages)?o.messages:fe();"__i18nGlobal"in t&&(n=jn(e.locale.value,{messages:n,__i18n:t.__i18nGlobal}));const s=Object.keys(n);s.length&&s.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(pe(o.datetimeFormats)){const a=Object.keys(o.datetimeFormats);a.length&&a.forEach(r=>{e.mergeDateTimeFormat(r,o.datetimeFormats[r])})}if(pe(o.numberFormats)){const a=Object.keys(o.numberFormats);a.length&&a.forEach(r=>{e.mergeNumberFormat(r,o.numberFormats[r])})}}}function fl(e){return Re(Ft,null,e,0)}const hl="__INTLIFY_META__",_l=()=>[],_g=()=>!1;let ml=0;function bl(e){return(o,t,n,s)=>e(t,n,tt()||void 0,s)}const mg=()=>{const e=tt();let o=null;return e&&(o=gl(e)[hl])?{[hl]:o}:null};function is(e={},o){const{__root:t,__injectWithOption:n}=e,s=t===void 0,a=e.flatJson,r=Fn?Le:$a,i=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=r(t&&l?t.locale.value:z(e.locale)?e.locale:yt),d=r(t&&l?t.fallbackLocale.value:z(e.fallbackLocale)||Pe(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=r(jn(c.value,e)),_=r(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=r(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let E=t?t.missingWarn:le(e.missingWarn)||Ho(e.missingWarn)?e.missingWarn:!0,P=t?t.fallbackWarn:le(e.fallbackWarn)||Ho(e.fallbackWarn)?e.fallbackWarn:!0,M=t?t.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,O=!!e.fallbackFormat,w=ve(e.missing)?e.missing:null,y=ve(e.missing)?bl(e.missing):null,m=ve(e.postTranslation)?e.postTranslation:null,x=t?t.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,R=!!e.escapeParameter;const C=t?t.modifiers:ne(e.modifiers)?e.modifiers:{};let G=e.pluralRules||t&&t.pluralRules,F;F=(()=>{s&&Xi(null);const v={version:$g,locale:c.value,fallbackLocale:d.value,messages:g.value,modifiers:C,pluralRules:G,missing:y===null?void 0:y,missingWarn:E,fallbackWarn:P,fallbackFormat:O,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:x,escapeParameter:R,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};v.datetimeFormats=_.value,v.numberFormats=k.value,v.__datetimeFormatters=ne(F)?F.__datetimeFormatters:void 0,v.__numberFormatters=ne(F)?F.__numberFormatters:void 0;const T=ag(v);return s&&Xi(T),T})(),qt(F,c.value,d.value);function K(){return[c.value,d.value,g.value,_.value,k.value]}const W=De({get:()=>c.value,set:v=>{c.value=v,F.locale=c.value}}),se=De({get:()=>d.value,set:v=>{d.value=v,F.fallbackLocale=d.value,qt(F,c.value,v)}}),ce=De(()=>g.value),j=De(()=>_.value),U=De(()=>k.value);function H(){return ve(m)?m:null}function oe(v){m=v,F.postTranslation=v}function he(){return w}function Ve(v){v!==null&&(y=bl(v)),w=v,F.missing=y}const Ae=(v,T,q,Y,te,ge)=>{K();let Z;try{__INTLIFY_PROD_DEVTOOLS__,s||(F.fallbackContext=t?ng():void 0),Z=v(F)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(F.fallbackContext=void 0)}if(q!=="translate exists"&&Te(Z)&&Z===zn||q==="translate exists"&&!Z){const[Ue,Jt]=T();return t&&M?Y(t):te(Ue)}else{if(ge(Z))return Z;throw Oe(Ne.UNEXPECTED_RETURN_TYPE)}};function ke(...v){return Ae(T=>Reflect.apply(ol,null,[T,...v]),()=>es(...v),"translate",T=>Reflect.apply(T.t,T,[...v]),T=>T,T=>z(T))}function Xe(...v){const[T,q,Y]=v;if(Y&&!pe(Y))throw Oe(Ne.INVALID_ARGUMENT);return ke(T,q,Ge({resolvedMessage:!0},Y||{}))}function ao(...v){return Ae(T=>Reflect.apply(al,null,[T,...v]),()=>os(...v),"datetime format",T=>Reflect.apply(T.d,T,[...v]),()=>Bi,T=>z(T))}function so(...v){return Ae(T=>Reflect.apply(il,null,[T,...v]),()=>ts(...v),"number format",T=>Reflect.apply(T.n,T,[...v]),()=>Bi,T=>z(T))}function Se(v){return v.map(T=>z(T)||Te(T)||le(T)?fl(String(T)):T)}const re={normalize:Se,interpolate:v=>v,type:"vnode"};function ie(...v){return Ae(T=>{let q;const Y=T;try{Y.processor=re,q=Reflect.apply(ol,null,[Y,...v])}finally{Y.processor=null}return q},()=>es(...v),"translate",T=>T[ns](...v),T=>[fl(T)],T=>Pe(T))}function me(...v){return Ae(T=>Reflect.apply(il,null,[T,...v]),()=>ts(...v),"number format",T=>T[ss](...v),_l,T=>z(T)||Pe(T))}function ze(...v){return Ae(T=>Reflect.apply(al,null,[T,...v]),()=>os(...v),"datetime format",T=>T[as](...v),_l,T=>z(T)||Pe(T))}function f(v){G=v,F.pluralRules=G}function b(v,T){return Ae(()=>{if(!v)return!1;const q=z(T)?T:c.value,Y=D(q),te=F.messageResolver(Y,v);return i?te!=null:Eo(te)||lo(te)||z(te)},()=>[v],"translate exists",q=>Reflect.apply(q.te,q,[v,T]),_g,q=>le(q))}function h(v){let T=null;const q=Gi(F,d.value,c.value);for(let Y=0;Y<q.length;Y++){const te=g.value[q[Y]]||{},ge=F.messageResolver(te,v);if(ge!=null){T=ge;break}}return T}function N(v){const T=h(v);return T??(t?t.tm(v)||{}:{})}function D(v){return g.value[v]||{}}function I(v,T){if(a){const q={[v]:T};for(const Y in q)fo(q,Y)&&Kt(q[Y]);T=q[v]}g.value[v]=T,F.messages=g.value}function V(v,T){g.value[v]=g.value[v]||{};const q={[v]:T};if(a)for(const Y in q)fo(q,Y)&&Kt(q[Y]);T=q[v],Un(T,g.value[v]),F.messages=g.value}function B(v){return _.value[v]||{}}function u(v,T){_.value[v]=T,F.datetimeFormats=_.value,rl(F,v,T)}function p(v,T){_.value[v]=Ge(_.value[v]||{},T),F.datetimeFormats=_.value,rl(F,v,T)}function L(v){return k.value[v]||{}}function $(v,T){k.value[v]=T,F.numberFormats=k.value,cl(F,v,T)}function S(v,T){k.value[v]=Ge(k.value[v]||{},T),F.numberFormats=k.value,cl(F,v,T)}ml++,t&&Fn&&(Lo(t.locale,v=>{l&&(c.value=v,F.locale=v,qt(F,c.value,d.value))}),Lo(t.fallbackLocale,v=>{l&&(d.value=v,F.fallbackLocale=v,qt(F,c.value,d.value))}));const A={id:ml,locale:W,fallbackLocale:se,get inheritLocale(){return l},set inheritLocale(v){l=v,v&&t&&(c.value=t.locale.value,d.value=t.fallbackLocale.value,qt(F,c.value,d.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ce,get modifiers(){return C},get pluralRules(){return G||{}},get isGlobal(){return s},get missingWarn(){return E},set missingWarn(v){E=v,F.missingWarn=E},get fallbackWarn(){return P},set fallbackWarn(v){P=v,F.fallbackWarn=P},get fallbackRoot(){return M},set fallbackRoot(v){M=v},get fallbackFormat(){return O},set fallbackFormat(v){O=v,F.fallbackFormat=O},get warnHtmlMessage(){return x},set warnHtmlMessage(v){x=v,F.warnHtmlMessage=v},get escapeParameter(){return R},set escapeParameter(v){R=v,F.escapeParameter=v},t:ke,getLocaleMessage:D,setLocaleMessage:I,mergeLocaleMessage:V,getPostTranslationHandler:H,setPostTranslationHandler:oe,getMissingHandler:he,setMissingHandler:Ve,[pl]:f};return A.datetimeFormats=j,A.numberFormats=U,A.rt=Xe,A.te=b,A.tm=N,A.d=ao,A.n=so,A.getDateTimeFormat=B,A.setDateTimeFormat=u,A.mergeDateTimeFormat=p,A.getNumberFormat=L,A.setNumberFormat=$,A.mergeNumberFormat=S,A[dl]=n,A[ns]=ie,A[as]=ze,A[ss]=me,A}function bg(e){const o=z(e.locale)?e.locale:yt,t=z(e.fallbackLocale)||Pe(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:o,n=ve(e.missing)?e.missing:void 0,s=le(e.silentTranslationWarn)||Ho(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=le(e.silentFallbackWarn)||Ho(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=le(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,d=ve(e.postTranslation)?e.postTranslation:void 0,g=z(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,_=!!e.escapeParameterHtml,k=le(e.sync)?e.sync:!0;let E=e.messages;if(ne(e.sharedMessages)){const R=e.sharedMessages;E=Object.keys(R).reduce((G,F)=>{const X=G[F]||(G[F]={});return Ge(X,R[F]),G},E||{})}const{__i18n:P,__root:M,__injectWithOption:O}=e,w=e.datetimeFormats,y=e.numberFormats,m=e.flatJson,x=e.translateExistCompatible;return{locale:o,fallbackLocale:t,messages:E,flatJson:m,datetimeFormats:w,numberFormats:y,missing:n,missingWarn:s,fallbackWarn:a,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:d,warnHtmlMessage:g,escapeParameter:_,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:x,__i18n:P,__root:M,__injectWithOption:O}}function ls(e={},o){{const t=is(bg(e)),{__extender:n}=e,s={id:t.id,get locale(){return t.locale.value},set locale(a){t.locale.value=a},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(a){t.fallbackLocale.value=a},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(a){},get missing(){return t.getMissingHandler()},set missing(a){t.setMissingHandler(a)},get silentTranslationWarn(){return le(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(a){t.missingWarn=le(a)?!a:a},get silentFallbackWarn(){return le(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(a){t.fallbackWarn=le(a)?!a:a},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(a){t.fallbackFormat=a},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(a){t.setPostTranslationHandler(a)},get sync(){return t.inheritLocale},set sync(a){t.inheritLocale=a},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){t.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(a){t.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...a){const[r,i,l]=a,c={};let d=null,g=null;if(!z(r))throw Oe(Ne.INVALID_ARGUMENT);const _=r;return z(i)?c.locale=i:Pe(i)?d=i:ne(i)&&(g=i),Pe(l)?d=l:ne(l)&&(g=l),Reflect.apply(t.t,t,[_,d||g||{},c])},rt(...a){return Reflect.apply(t.rt,t,[...a])},tc(...a){const[r,i,l]=a,c={plural:1};let d=null,g=null;if(!z(r))throw Oe(Ne.INVALID_ARGUMENT);const _=r;return z(i)?c.locale=i:Te(i)?c.plural=i:Pe(i)?d=i:ne(i)&&(g=i),z(l)?c.locale=l:Pe(l)?d=l:ne(l)&&(g=l),Reflect.apply(t.t,t,[_,d||g||{},c])},te(a,r){return t.te(a,r)},tm(a){return t.tm(a)},getLocaleMessage(a){return t.getLocaleMessage(a)},setLocaleMessage(a,r){t.setLocaleMessage(a,r)},mergeLocaleMessage(a,r){t.mergeLocaleMessage(a,r)},d(...a){return Reflect.apply(t.d,t,[...a])},getDateTimeFormat(a){return t.getDateTimeFormat(a)},setDateTimeFormat(a,r){t.setDateTimeFormat(a,r)},mergeDateTimeFormat(a,r){t.mergeDateTimeFormat(a,r)},n(...a){return Reflect.apply(t.n,t,[...a])},getNumberFormat(a){return t.getNumberFormat(a)},setNumberFormat(a,r){t.setNumberFormat(a,r)},mergeNumberFormat(a,r){t.mergeNumberFormat(a,r)},getChoiceIndex(a,r){return-1}};return s.__extender=n,s}}const cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function yg({slots:e},o){return o.length===1&&o[0]==="default"?(e.default?e.default():[]).reduce((n,s)=>[...n,...s.type===Ie?s.children:[s]],[]):o.reduce((t,n)=>{const s=e[n];return s&&(t[n]=s()),t},fe())}function yl(e){return Ie}const vl=wn({name:"i18n-t",props:Ge({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},cs),setup(e,o){const{slots:t,attrs:n}=o,s=e.i18n||Xt({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(t).filter(g=>g!=="_"),r=fe();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=z(e.plural)?+e.plural:e.plural);const i=yg(o,a),l=s[ns](e.keypath,i,r),c=Ge(fe(),n),d=z(e.tag)||pe(e.tag)?e.tag:yl();return jr(d,c,l)}}});function vg(e){return Pe(e)&&!z(e[0])}function kl(e,o,t,n){const{slots:s,attrs:a}=o;return()=>{const r={part:!0};let i=fe();e.locale&&(r.locale=e.locale),z(e.format)?r.key=e.format:pe(e.format)&&(z(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((_,k)=>t.includes(k)?Ge(fe(),_,{[k]:e.format[k]}):_,fe()));const l=n(e.value,r,i);let c=[r.key];Pe(l)?c=l.map((_,k)=>{const E=s[_.type],P=E?E({[_.type]:_.value,index:k,parts:l}):[_.value];return vg(P)&&(P[0].key=`${_.type}-${k}`),P}):z(l)&&(c=[l]);const d=Ge(fe(),a),g=z(e.tag)||pe(e.tag)?e.tag:yl();return jr(g,d,c)}}const wl=wn({name:"i18n-n",props:Ge({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,o){const t=e.i18n||Xt({useScope:e.scope,__useComponent:!0});return kl(e,o,ll,(...n)=>t[ss](...n))}}),Ll=wn({name:"i18n-d",props:Ge({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,o){const t=e.i18n||Xt({useScope:e.scope,__useComponent:!0});return kl(e,o,sl,(...n)=>t[as](...n))}});function kg(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 wg(e){const o=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Oe(Ne.UNEXPECTED_ERROR);const d=kg(e,i.$),g=Pl(c);return[Reflect.apply(d.t,d,[...Sl(g)]),d]};return{created:(r,i)=>{const[l,c]=o(i);Fn&&e.global===c&&(r.__i18nWatcher=Lo(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Fn&&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=Pl(i);r.textContent=Reflect.apply(l.t,l,[...Sl(c)])}},getSSRProps:r=>{const[i]=o(r);return{textContent:i}}}}function Pl(e){if(z(e))return{path:e};if(ne(e)){if(!("path"in e))throw Oe(Ne.REQUIRED_VALUE,"path");return e}else throw Oe(Ne.INVALID_VALUE)}function Sl(e){const{path:o,locale:t,args:n,choice:s,plural:a}=e,r={},i=n||{};return z(t)&&(r.locale=t),Te(s)&&(r.plural=s),Te(a)&&(r.plural=a),[o,i,r]}function Lg(e,o,...t){const n=ne(t[0])?t[0]:{},s=!!n.useI18nComponentName;(le(n.globalInstall)?n.globalInstall:!0)&&([s?"i18n":vl.name,"I18nT"].forEach(r=>e.component(r,vl)),[wl.name,"I18nN"].forEach(r=>e.component(r,wl)),[Ll.name,"I18nD"].forEach(r=>e.component(r,Ll))),e.directive("t",wg(o))}function Pg(e,o,t){return{beforeCreate(){const n=tt();if(!n)throw Oe(Ne.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const a=s.i18n;if(s.__i18n&&(a.__i18n=s.__i18n),a.__root=o,this===this.$root)this.$i18n=Al(e,a);else{a.__injectWithOption=!0,a.__extender=t.__vueI18nExtend,this.$i18n=ls(a);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Al(e,s);else{this.$i18n=ls({__i18n:s.__i18n,__injectWithOption:!0,__extender:t.__vueI18nExtend,__root:o});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&$l(o,s,s),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,r)=>this.$i18n.te(a,r),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),t.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=tt();if(!n)throw Oe(Ne.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),t.__deleteInstance(n),delete this.$i18n}}}function Al(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[pl](o.pluralizationRules||e.pluralizationRules);const t=jn(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 Sg=Wo("global-vue-i18n");function Ag(e={},o){const t=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=le(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&t?!!e.allowComposition:!0,a=new Map,[r,i]=Eg(e,t),l=Wo("");function c(_){return a.get(_)||null}function d(_,k){a.set(_,k)}function g(_){a.delete(_)}{const _={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},get allowComposition(){return s},async install(k,...E){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,_),ne(E[0])){const O=E[0];_.__composerExtend=O.__composerExtend,_.__vueI18nExtend=O.__vueI18nExtend}let P=null;!t&&n&&(P=Ig(k,_.global)),__VUE_I18N_FULL_INSTALL__&&Lg(k,_,...E),__VUE_I18N_LEGACY_API__&&t&&k.mixin(Pg(i,i.__composer,_));const M=k.unmount;k.unmount=()=>{P&&P(),_.dispose(),M()}},get global(){return i},dispose(){r.stop()},__instances:a,__getInstance:c,__setInstance:d,__deleteInstance:g};return _}}function Xt(e={}){const o=tt();if(o==null)throw Oe(Ne.MUST_BE_CALL_SETUP_TOP);if(!o.isCE&&o.appContext.app!=null&&!o.appContext.app.__VUE_I18N_SYMBOL__)throw Oe(Ne.NOT_INSTALLED);const t=xg(o),n=Rg(t),s=gl(o),a=Tg(e,s);if(__VUE_I18N_LEGACY_API__&&t.mode==="legacy"&&!e.__useComponent){if(!t.allowComposition)throw Oe(Ne.NOT_AVAILABLE_IN_LEGACY_MODE);return Og(o,a,n,e)}if(a==="global")return $l(n,e,s),n;if(a==="parent"){let l=Cg(t,o,e.__useComponent);return l==null&&(l=n),l}const r=t;let i=r.__getInstance(o);if(i==null){const l=Ge({},e);"__i18n"in s&&(l.__i18n=s.__i18n),n&&(l.__root=n),i=is(l),r.__composerExtend&&(i[rs]=r.__composerExtend(i)),Mg(r,o,i),r.__setInstance(o,i)}return i}function Eg(e,o,t){const n=zl();{const s=__VUE_I18N_LEGACY_API__&&o?n.run(()=>ls(e)):n.run(()=>is(e));if(s==null)throw Oe(Ne.UNEXPECTED_ERROR);return[n,s]}}function xg(e){{const o=$o(e.isCE?Sg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!o)throw Oe(e.isCE?Ne.NOT_INSTALLED_WITH_PROVIDE:Ne.UNEXPECTED_ERROR);return o}}function Tg(e,o){return In(e)?"__i18n"in o?"local":"global":e.useScope?e.useScope:"local"}function Rg(e){return e.mode==="composition"?e.global:e.global.__composer}function Cg(e,o,t=!1){let n=null;const s=o.root;let a=Ng(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[dl]&&(n=null))}if(n!=null||s===a)break;a=a.parent}return n}function Ng(e,o=!1){return e==null?null:o&&e.vnode.ctx||e.parent}function Mg(e,o,t){dt(()=>{},o),ka(()=>{const n=t;e.__deleteInstance(o);const s=n[rs];s&&(s(),delete n[rs])},o)}function Og(e,o,t,n={}){const s=o==="local",a=$a(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Oe(Ne.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=le(n.inheritLocale)?n.inheritLocale:!z(n.locale),i=Le(!s||r?t.locale.value:z(n.locale)?n.locale:yt),l=Le(!s||r?t.fallbackLocale.value:z(n.fallbackLocale)||Pe(n.fallbackLocale)||ne(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=Le(jn(i.value,n)),d=Le(ne(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=Le(ne(n.numberFormats)?n.numberFormats:{[i.value]:{}}),_=s?t.missingWarn:le(n.missingWarn)||Ho(n.missingWarn)?n.missingWarn:!0,k=s?t.fallbackWarn:le(n.fallbackWarn)||Ho(n.fallbackWarn)?n.fallbackWarn:!0,E=s?t.fallbackRoot:le(n.fallbackRoot)?n.fallbackRoot:!0,P=!!n.fallbackFormat,M=ve(n.missing)?n.missing:null,O=ve(n.postTranslation)?n.postTranslation:null,w=s?t.warnHtmlMessage:le(n.warnHtmlMessage)?n.warnHtmlMessage:!0,y=!!n.escapeParameter,m=s?t.modifiers:ne(n.modifiers)?n.modifiers:{},x=n.pluralRules||s&&t.pluralRules;function R(){return[i.value,l.value,c.value,d.value,g.value]}const C=De({get:()=>a.value?a.value.locale.value:i.value,set:h=>{a.value&&(a.value.locale.value=h),i.value=h}}),G=De({get:()=>a.value?a.value.fallbackLocale.value:l.value,set:h=>{a.value&&(a.value.fallbackLocale.value=h),l.value=h}}),F=De(()=>a.value?a.value.messages.value:c.value),X=De(()=>d.value),K=De(()=>g.value);function W(){return a.value?a.value.getPostTranslationHandler():O}function se(h){a.value&&a.value.setPostTranslationHandler(h)}function ce(){return a.value?a.value.getMissingHandler():M}function j(h){a.value&&a.value.setMissingHandler(h)}function U(h){return R(),h()}function H(...h){return a.value?U(()=>Reflect.apply(a.value.t,null,[...h])):U(()=>"")}function oe(...h){return a.value?Reflect.apply(a.value.rt,null,[...h]):""}function he(...h){return a.value?U(()=>Reflect.apply(a.value.d,null,[...h])):U(()=>"")}function Ve(...h){return a.value?U(()=>Reflect.apply(a.value.n,null,[...h])):U(()=>"")}function Ae(h){return a.value?a.value.tm(h):{}}function ke(h,N){return a.value?a.value.te(h,N):!1}function Xe(h){return a.value?a.value.getLocaleMessage(h):{}}function ao(h,N){a.value&&(a.value.setLocaleMessage(h,N),c.value[h]=N)}function so(h,N){a.value&&a.value.mergeLocaleMessage(h,N)}function Se(h){return a.value?a.value.getDateTimeFormat(h):{}}function Ye(h,N){a.value&&(a.value.setDateTimeFormat(h,N),d.value[h]=N)}function re(h,N){a.value&&a.value.mergeDateTimeFormat(h,N)}function ie(h){return a.value?a.value.getNumberFormat(h):{}}function me(h,N){a.value&&(a.value.setNumberFormat(h,N),g.value[h]=N)}function ze(h,N){a.value&&a.value.mergeNumberFormat(h,N)}const f={get id(){return a.value?a.value.id:-1},locale:C,fallbackLocale:G,messages:F,datetimeFormats:X,numberFormats:K,get inheritLocale(){return a.value?a.value.inheritLocale:r},set inheritLocale(h){a.value&&(a.value.inheritLocale=h)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:m},get pluralRules(){return a.value?a.value.pluralRules:x},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:_},set missingWarn(h){a.value&&(a.value.missingWarn=h)},get fallbackWarn(){return a.value?a.value.fallbackWarn:k},set fallbackWarn(h){a.value&&(a.value.missingWarn=h)},get fallbackRoot(){return a.value?a.value.fallbackRoot:E},set fallbackRoot(h){a.value&&(a.value.fallbackRoot=h)},get fallbackFormat(){return a.value?a.value.fallbackFormat:P},set fallbackFormat(h){a.value&&(a.value.fallbackFormat=h)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:w},set warnHtmlMessage(h){a.value&&(a.value.warnHtmlMessage=h)},get escapeParameter(){return a.value?a.value.escapeParameter:y},set escapeParameter(h){a.value&&(a.value.escapeParameter=h)},t:H,getPostTranslationHandler:W,setPostTranslationHandler:se,getMissingHandler:ce,setMissingHandler:j,rt:oe,d:he,n:Ve,tm:Ae,te:ke,getLocaleMessage:Xe,setLocaleMessage:ao,mergeLocaleMessage:so,getDateTimeFormat:Se,setDateTimeFormat:Ye,mergeDateTimeFormat:re,getNumberFormat:ie,setNumberFormat:me,mergeNumberFormat:ze};function b(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(N=>{h.mergeLocaleMessage(N,c.value[N])}),Object.keys(d.value).forEach(N=>{h.mergeDateTimeFormat(N,d.value[N])}),Object.keys(g.value).forEach(N=>{h.mergeNumberFormat(N,g.value[N])}),h.escapeParameter=y,h.fallbackFormat=P,h.fallbackRoot=E,h.fallbackWarn=k,h.missingWarn=_,h.warnHtmlMessage=w}return ur(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Oe(Ne.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=a.value=e.proxy.$i18n.__composer;o==="global"?(i.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,d.value=h.datetimeFormats.value,g.value=h.numberFormats.value):s&&b(h)}),f}const Fg=["locale","fallbackLocale","availableLocales"],El=["t","rt","d","n","tm","te"];function Ig(e,o){const t=Object.create(null);return Fg.forEach(s=>{const a=Object.getOwnPropertyDescriptor(o,s);if(!a)throw Oe(Ne.UNEXPECTED_ERROR);const r=Me(a.value)?{get(){return a.value.value},set(i){a.value.value=i}}:{get(){return a.get&&a.get()}};Object.defineProperty(t,s,r)}),e.config.globalProperties.$i18n=t,El.forEach(s=>{const a=Object.getOwnPropertyDescriptor(o,s);if(!a||!a.value)throw Oe(Ne.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,a)}),()=>{delete e.config.globalProperties.$i18n,El.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(fg(),__INTLIFY_JIT_COMPILATION__?ji(cg):ji(lg),Qd(Nd),eg(Gi),__INTLIFY_PROD_DEVTOOLS__){const e=Io();e.__INTLIFY__=!0,Vd(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Dg=Kn&&Kn.tagName.toUpperCase()==="SCRIPT"&&Kn.src||new URL("prayer-walk-planner.js",document.baseURI).href,us=e=>String(e||"").trim().replace(/\/+$/,"");function Gg(){try{const o=String(Dg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!o||o[2]!==o[3]?null:o[1]||null}catch{return null}}function Ug(e){const o=e==null?void 0:e.embedBaseUrl;if(typeof o=="string"&&o.trim())return us(o);if(typeof window<"u"){const t=window.MAP_EMBED_BASE_URL;if(typeof t=="string"&&t.trim())return us(t)}return us(Gg()||"")}function Bg({shareUrl:e,embedPath:o,profileConfig:t}={}){const n=t||null,s=typeof window<"u",a=e||(n==null?void 0:n.shareUrl);if(typeof a=="string"&&a.trim())return a.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 s?window.location.origin+r:r;const i=Ug(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 s?window.location.origin+window.location.pathname:""}const Vg=["title","aria-label","disabled"],xl={__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 On(`
|
||
.mcb{
|
||
width:var(--map-btn-size,40px);height:var(--map-btn-size,40px);
|
||
background:#fff;
|
||
border:none;
|
||
border-radius:50%;
|
||
cursor:pointer;
|
||
user-select:none;-webkit-user-select:none;
|
||
display:flex;align-items:center;justify-content:center;
|
||
box-shadow:0 1px 3px rgba(0,0,0,0.18);
|
||
transition:background-color 0.2s,box-shadow 0.2s,transform 0.1s;
|
||
color:#333;
|
||
flex-shrink:0;
|
||
outline:none;
|
||
-webkit-tap-highlight-color:transparent;
|
||
}
|
||
.mcb:hover:not(:disabled){background:#f0f0f0;box-shadow:0 2px 8px rgba(0,0,0,0.18),0 4px 16px rgba(0,0,0,0.12);}
|
||
.mcb:active:not(:disabled){transform:scale(0.93);}
|
||
.mcb:disabled{opacity:0.4;cursor:not-allowed;}
|
||
.mcb:focus-visible{outline:2px solid #1a73e8;outline-offset:2px;}
|
||
.mcb.dark:focus-visible{outline:2px solid #92b195;outline-offset:2px;}
|
||
.mcb.active{background:#e8f0fe;color:#1a73e8;}
|
||
.mcb.dark{background:#3b463d;color:#F3F3F1;border:1px solid rgba(255,255,255,0.14);box-shadow:0 1px 4px rgba(0,0,0,0.4);}
|
||
.mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);}
|
||
.mcb.dark.active{background:#4e594f;color:#92b195;}
|
||
@media(max-width:767px){.mcb{width:36px;height:36px;}}
|
||
`,"map-control-button"),(o,t)=>(_e(),Ee("button",{class:to(["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"))},[pr(o.$slots,"default")],10,Vg))}},zg=["aria-label"],jg={class:"mcm-header"},Wg={class:"mcm-title"},Hg={class:"mcm-body"},qg=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",ps="doxa-map-menu-open",Kg={__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}){On(`
|
||
.mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box;
|
||
background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45);
|
||
color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;
|
||
overflow:hidden;opacity:0;transform:translateY(-4px) scale(0.98);animation:mcm-in 0.18s ease-out forwards;}
|
||
@keyframes mcm-in{to{opacity:1;transform:translateY(0) scale(1);}}
|
||
.mcm.light{background:#ffffff;border-color:#d8dee4;box-shadow:0 6px 24px rgba(0,0,0,0.16);color:#1f2328;}
|
||
.mcm-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;min-height:32px;flex:0 0 auto;border-bottom:1px solid #21262d;}
|
||
.mcm.light .mcm-header{border-bottom-color:#d8dee4;}
|
||
.mcm-title{font:600 10px ui-monospace,monospace;color:#73A17F;text-transform:uppercase;letter-spacing:0.07em;}
|
||
.mcm.light .mcm-title{color:#3b463d;}
|
||
.mcm-close{width:22px;height:20px;border:1px solid #30363d;background:rgba(110,118,129,0.12);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#8b949e;padding:0;transition:color 0.1s,background 0.1s,border-color 0.1s;}
|
||
.mcm-close:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;}
|
||
.mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;}
|
||
.mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;}
|
||
.mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;}
|
||
`,"map-control-menu");const t=e,n=o,s=$o("mapToolbar",null),a=Le(null),r=Le(null),i=Le({});function l(){var F;const k=(F=s==null?void 0:s.el)==null?void 0:F.value,E=a.value;if(!k||!E){i.value={};return}const P=E.getBoundingClientRect(),M=k.getBoundingClientRect(),O=(M.left+M.right)/2>(P.left+P.right)/2,w=8,y=12,m=O?P.right-M.left+w:M.right-P.left+w,x=Math.max(200,Math.min(t.width,P.width-m-y)),R=Math.max(0,M.top-P.top);let G=E.getAttribute&&E.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-M.top-y):Math.max(120,P.height-R-y);t.matchToolbar&&(G=Math.max(120,Math.min(G,M.height))),t.maxHeight&&(G=Math.min(G,t.maxHeight)),i.value={top:`${Math.round(R)}px`,[O?"right":"left"]:`${Math.round(m)}px`,width:`${Math.round(x)}px`,maxHeight:`${Math.round(G)}px`,...t.height?{height:`${Math.round(Math.min(t.height,G))}px`}:{}}}function c(k){t.open&&k.detail!==r.value&&n("close")}Lo(()=>t.open,async k=>{var E;if(k){await mn(),l();try{(E=a.value)==null||E.dispatchEvent(new CustomEvent(ps,{detail:r.value}))}catch{}}});function d(){t.open&&l()}function g(k){k.key==="Escape"&&t.open&&n("close")}function _(k){var P;if(!t.open)return;const E=k.composedPath?k.composedPath():[k.target];r.value&&E.includes(r.value)||(P=s==null?void 0:s.el)!=null&&P.value&&E.includes(s.el.value)||E.some(M=>{var O,w,y,m;return((w=(O=M==null?void 0:M.classList)==null?void 0:O.contains)==null?void 0:w.call(O,"mapboxgl-canvas"))||((m=(y=M==null?void 0:M.classList)==null?void 0:y.contains)==null?void 0:m.call(y,"maplibregl-canvas"))})&&n("close")}return dt(()=>{var k,E,P;a.value=((E=(k=s==null?void 0:s.el)==null?void 0:k.value)==null?void 0:E.closest(qg))||null,(P=a.value)==null||P.addEventListener(ps,c),window.addEventListener("resize",d),document.addEventListener("click",_,!0),document.addEventListener("keydown",g)}),Sn(()=>{var k;(k=a.value)==null||k.removeEventListener(ps,c),window.removeEventListener("resize",d),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",g)}),(k,E)=>(_e(),Dt(xc,{to:a.value,disabled:!a.value},[e.open?(_e(),Ee("div",{key:0,ref_key:"el",ref:r,class:to(["mcm",{light:!e.isDark}]),style:sn(i.value),role:"dialog","aria-label":e.title},[Q("div",jg,[Q("span",Wg,Ce(e.title),1),Q("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:E[0]||(E[0]=P=>n("close"))},[...E[1]||(E[1]=[Q("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[Q("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),Q("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),Q("div",Hg,[pr(k.$slots,"default")])],14,zg)):ft("",!0)],8,["to","disabled"]))}},Xg={class:"share-steps"},Yg={class:"share-tabs"},Zg={key:0,class:"share-body"},Jg={class:"share-url-box"},Qg={class:"share-url-text"},e$={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},o$={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"},t$={key:1,class:"share-body"},n$={class:"share-size-pills"},a$=["onClick"],s$={class:"share-code-box"},r$={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},i$={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"},l$={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){On(`
|
||
.share-wrap{position:relative;display:inline-block;border-radius:50%;}
|
||
.share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none;
|
||
background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b);
|
||
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
|
||
opacity:0.6;animation:share-ring-turn 5s linear infinite;}
|
||
.share-wrap:hover::before{opacity:0.95;}
|
||
@keyframes share-ring-turn{to{transform:rotate(360deg);}}
|
||
@media(prefers-reduced-motion:reduce){.share-wrap::before{animation:none;}}
|
||
.share-steps{margin:10px 14px 6px;padding:0 0 0 15px;list-style:'- ';font:14px/1.55 system-ui,sans-serif;color:#c9d1d9;}
|
||
.share-steps li{margin:0 0 3px;padding-left:3px;}
|
||
.share-steps li:last-child{font-weight:600;color:#92b195;}
|
||
.share-pop.light .share-steps{color:#3b463d;}
|
||
.share-pop.light .share-steps li:last-child{color:#3b463d;}
|
||
.share-pop{
|
||
font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
||
font-size:13px;
|
||
color:#e6edf3;
|
||
}
|
||
.share-pop.light{color:#1f2328;}
|
||
.share-tabs{
|
||
display:flex;
|
||
gap:0;
|
||
padding:0 16px;
|
||
margin-top:8px;
|
||
border-bottom:1px solid rgba(255,255,255,0.08);
|
||
}
|
||
.share-pop.light .share-tabs{border-bottom:1px solid rgba(0,0,0,0.08);}
|
||
.share-tab{
|
||
padding:6px 0;
|
||
margin-right:20px;
|
||
font-size:12.5px;
|
||
font-weight:600;
|
||
background:none;border:none;
|
||
color:inherit;opacity:0.5;
|
||
cursor:pointer;
|
||
border-bottom:2px solid transparent;
|
||
transition:opacity 0.15s,border-color 0.2s;
|
||
font-family:inherit;
|
||
white-space:nowrap;
|
||
}
|
||
.share-tab:hover{opacity:0.75;}
|
||
.share-tab.active{
|
||
opacity:1;
|
||
border-bottom-color:#4a90d9;
|
||
}
|
||
.share-pop.light .share-tab.active{
|
||
border-bottom-color:#1a73e8;
|
||
}
|
||
.share-body{
|
||
padding:12px 16px 14px 16px;
|
||
}
|
||
.share-url-box{
|
||
display:flex;
|
||
align-items:center;
|
||
gap:0;
|
||
background:rgba(0,0,0,0.22);
|
||
border:1px solid rgba(255,255,255,0.08);
|
||
border-radius:10px;
|
||
overflow:hidden;
|
||
}
|
||
.share-pop.light .share-url-box{
|
||
background:rgba(0,0,0,0.035);
|
||
border:1px solid rgba(0,0,0,0.10);
|
||
}
|
||
.share-url-text{
|
||
flex:1;
|
||
padding:11px 14px;
|
||
font-size:13px;
|
||
color:#b0b8c8;
|
||
overflow:hidden;
|
||
text-overflow:ellipsis;
|
||
white-space:nowrap;
|
||
-webkit-user-select:all;
|
||
user-select:all;
|
||
}
|
||
.share-pop.light .share-url-text{color:#555;}
|
||
.share-primary-btn{
|
||
display:flex;
|
||
align-items:center;
|
||
justify-content:center;
|
||
gap:8px;
|
||
width:100%;
|
||
padding:12px 0;
|
||
margin-top:14px;
|
||
background:#4a90d9;
|
||
border:none;
|
||
border-radius:10px;
|
||
color:#fff;
|
||
font-size:14.5px;
|
||
font-weight:600;
|
||
cursor:pointer;
|
||
transition:background 0.15s,transform 0.1s;
|
||
font-family:inherit;
|
||
}
|
||
.share-primary-btn:hover{background:#3d7ec5;}
|
||
.share-primary-btn:active{transform:scale(0.98);}
|
||
.share-primary-btn.copied{
|
||
background:#2ea44f;
|
||
}
|
||
.share-pop.light .share-primary-btn{
|
||
background:#1a73e8;
|
||
}
|
||
.share-pop.light .share-primary-btn:hover{
|
||
background:#1565c0;
|
||
}
|
||
.share-pop.light .share-primary-btn.copied{
|
||
background:#2ea44f;
|
||
}
|
||
.share-social-row{
|
||
display:flex;
|
||
align-items:center;
|
||
gap:10px;
|
||
margin-top:16px;
|
||
padding-top:14px;
|
||
border-top:1px solid rgba(255,255,255,0.06);
|
||
}
|
||
.share-pop.light .share-social-row{
|
||
border-top:1px solid rgba(0,0,0,0.06);
|
||
}
|
||
.share-social-label{
|
||
font-size:12px;
|
||
opacity:0.45;
|
||
font-weight:500;
|
||
margin-right:auto;
|
||
white-space:nowrap;
|
||
}
|
||
.share-social-btn{
|
||
width:36px;height:36px;
|
||
border-radius:50%;
|
||
border:1px solid rgba(255,255,255,0.10);
|
||
background:rgba(255,255,255,0.06);
|
||
display:flex;align-items:center;justify-content:center;
|
||
cursor:pointer;
|
||
color:inherit;
|
||
transition:background 0.15s,border-color 0.15s;
|
||
}
|
||
.share-social-btn:hover{
|
||
background:rgba(255,255,255,0.12);
|
||
border-color:rgba(255,255,255,0.18);
|
||
}
|
||
.share-pop.light .share-social-btn{
|
||
border:1px solid rgba(0,0,0,0.10);
|
||
background:rgba(0,0,0,0.03);
|
||
}
|
||
.share-pop.light .share-social-btn:hover{
|
||
background:rgba(0,0,0,0.07);
|
||
border-color:rgba(0,0,0,0.16);
|
||
}
|
||
.share-embed-desc{
|
||
font-size:13.5px;
|
||
line-height:1.55;
|
||
opacity:0.72;
|
||
margin-bottom:16px;
|
||
}
|
||
.share-size-pills{
|
||
display:flex;
|
||
gap:8px;
|
||
margin-bottom:14px;
|
||
}
|
||
.share-size-pill{
|
||
padding:6px 14px;
|
||
border-radius:20px;
|
||
border:1px solid rgba(255,255,255,0.12);
|
||
background:transparent;
|
||
color:inherit;
|
||
font-size:12.5px;
|
||
font-weight:500;
|
||
cursor:pointer;
|
||
transition:background 0.15s,border-color 0.15s;
|
||
font-family:inherit;
|
||
}
|
||
.share-size-pill:hover{
|
||
background:rgba(255,255,255,0.06);
|
||
}
|
||
.share-size-pill.active{
|
||
background:rgba(74,144,217,0.18);
|
||
border-color:rgba(74,144,217,0.45);
|
||
color:#7ab8f5;
|
||
}
|
||
.share-pop.light .share-size-pill{
|
||
border:1px solid rgba(0,0,0,0.12);
|
||
}
|
||
.share-pop.light .share-size-pill:hover{
|
||
background:rgba(0,0,0,0.04);
|
||
}
|
||
.share-pop.light .share-size-pill.active{
|
||
background:rgba(26,115,232,0.10);
|
||
border-color:rgba(26,115,232,0.40);
|
||
color:#1a73e8;
|
||
}
|
||
.share-code-box{
|
||
background:rgba(0,0,0,0.28);
|
||
border:1px solid rgba(255,255,255,0.06);
|
||
border-radius:10px;
|
||
padding:12px 14px;
|
||
font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;
|
||
font-size:11.5px;
|
||
line-height:1.5;
|
||
color:#a0aab8;
|
||
word-break:break-all;
|
||
white-space:pre-wrap;
|
||
height:auto;
|
||
-webkit-user-select:all;
|
||
user-select:all;
|
||
}
|
||
.share-pop.light .share-code-box{
|
||
background:rgba(0,0,0,0.035);
|
||
border:1px solid rgba(0,0,0,0.08);
|
||
color:#444;
|
||
}
|
||
.share-secondary-btn{
|
||
display:flex;
|
||
align-items:center;
|
||
justify-content:center;
|
||
gap:8px;
|
||
width:100%;
|
||
padding:11px 0;
|
||
margin-top:12px;
|
||
background:rgba(255,255,255,0.08);
|
||
border:1px solid rgba(255,255,255,0.12);
|
||
border-radius:10px;
|
||
color:#e0e4ec;
|
||
font-size:14px;
|
||
font-weight:600;
|
||
cursor:pointer;
|
||
transition:background 0.15s,border-color 0.15s,transform 0.1s;
|
||
font-family:inherit;
|
||
}
|
||
.share-secondary-btn:hover{
|
||
background:rgba(255,255,255,0.13);
|
||
border-color:rgba(255,255,255,0.18);
|
||
}
|
||
.share-secondary-btn:active{transform:scale(0.98);}
|
||
.share-secondary-btn.copied{
|
||
background:rgba(46,164,79,0.16);
|
||
border-color:rgba(46,164,79,0.35);
|
||
color:#5cd680;
|
||
}
|
||
.share-pop.light .share-secondary-btn{
|
||
background:rgba(0,0,0,0.04);
|
||
border:1px solid rgba(0,0,0,0.12);
|
||
color:#333;
|
||
}
|
||
.share-pop.light .share-secondary-btn:hover{
|
||
background:rgba(0,0,0,0.07);
|
||
}
|
||
.share-pop.light .share-secondary-btn.copied{
|
||
background:rgba(46,164,79,0.10);
|
||
border-color:rgba(46,164,79,0.30);
|
||
color:#2ea44f;
|
||
}
|
||
`,"share-button");const{t:o,tm:t,rt:n}=Xt(),s=e,a=Le(null),r=Le(!1),i=Le(null),l=Le(null),c=Le("link"),d=Le(!1),g=Le(!1),_=Le("medium"),k={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},E=$o("profileConfig",null),P=De(()=>Bg({embedPath:s.embedPath,profileConfig:Bo(E)||null})),M=De(()=>{const X=k[_.value].height;return'<iframe src="'+P.value+'" width="100%" height="'+X+'" style="border:none; border-radius:12px;" allowfullscreen></iframe>'});function O(){r.value=!r.value,r.value&&(c.value="link",d.value=!1,g.value=!1)}function w(){r.value=!1}async function y(X){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(X),!0}catch{}try{const K=document.createElement("textarea");K.value=X,K.setAttribute("readonly",""),K.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(K),K.select();const W=document.execCommand("copy");return document.body.removeChild(K),W}catch{return!1}}async function m(){await y(P.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}async function x(){await y(M.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const R=$o("mapToolbar",null),C=Le(null);Qs("mapToolbar",R||{el:C});const G=!R;function F(X){if(a.value=X||null,!G||!X){X||(C.value=null);return}const K=X.offsetParent||X.parentElement;K&&!K.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&K.setAttribute("data-map-area","share-fallback"),C.value=X}return(X,K)=>(_e(),Ee("div",{ref:F,class:"share-wrap","data-share-root":""},[Re(xl,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:r.value,title:Bo(o)("buttons.share"),onClick:O},{default:yn(()=>[...K[2]||(K[2]=[Q("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"},[Q("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),Q("polyline",{points:"16 6 12 2 8 6"}),Q("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Re(Kg,{open:r.value,title:Bo(o)("buttons.share"),"is-dark":e.isDark,onClose:w},{default:yn(()=>[Q("div",{ref_key:"popoverEl",ref:i,class:to(["share-pop",{light:!e.isDark}])},[Q("ul",Xg,[(_e(!0),Ee(Ie,null,wa(Bo(t)("buttons.shareSteps"),(W,se)=>(_e(),Ee("li",{key:se},Ce(Bo(n)(W)),1))),128))]),Q("div",Yg,[Q("button",{class:to(["share-tab",{active:c.value==="link"}]),onClick:K[0]||(K[0]=W=>c.value="link")},"Embed link",2),Q("button",{class:to(["share-tab",{active:c.value==="embed"}]),onClick:K[1]||(K[1]=W=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(_e(),Ee("div",Zg,[Q("div",Jg,[Q("div",Qg,Ce(P.value),1)]),Q("button",{class:to(["share-primary-btn",{copied:d.value}]),onClick:m},[d.value?(_e(),Ee("svg",o$,[...K[4]||(K[4]=[Q("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(_e(),Ee("svg",e$,[...K[3]||(K[3]=[Q("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),Q("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),Oa(" "+Ce(d.value?"Copied!":"Copy Link"),1)],2)])):ft("",!0),c.value==="embed"?(_e(),Ee("div",t$,[K[7]||(K[7]=Q("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),Q("div",n$,[(_e(),Ee(Ie,null,wa(k,(W,se)=>Q("button",{key:se,class:to(["share-size-pill",{active:_.value===se}]),onClick:ce=>_.value=se},Ce(W.label),11,a$)),64))]),Q("div",s$,Ce(M.value),1),Q("button",{class:to(["share-secondary-btn",{copied:g.value}]),onClick:x},[g.value?(_e(),Ee("svg",i$,[...K[6]||(K[6]=[Q("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(_e(),Ee("svg",r$,[...K[5]||(K[5]=[Q("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),Q("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),Oa(" "+Ce(g.value?"Copied!":"Copy Code"),1)],2)])):ft("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},c$={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},u$={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},p$={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:o}){const{t}=Xt(),n=e,s=o,a=Le(!1);let r=null,i=null,l=null,c=null,d=null,g=null,_=null,k=null,E=null,P=null,M=null,O=0,w=0,y=null,m=null;function x(){if(typeof document>"u")return!1;const j=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(j)||j.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function R(){var j,U,H;return((H=(U=(j=n.mapContainer)==null?void 0:j.getRootNode)==null?void 0:U.call(j))==null?void 0:H.host)??null}function C(){var U,H;const j=(H=(U=n.mapContainer)==null?void 0:U.getRootNode)==null?void 0:H.call(U);return document.fullscreenElement||document.webkitFullscreenElement||(j&&j instanceof ShadowRoot?j.fullscreenElement:null)||null}function G(j){const U=j.requestFullscreen||j.webkitRequestFullscreen;if(!U)return Promise.reject(new Error("Fullscreen API unavailable"));const H=U.call(j);return H&&typeof H.then=="function"?H:Promise.resolve()}function F(){const j=document.exitFullscreen||document.webkitExitFullscreen;if(!j)return Promise.reject(new Error("Fullscreen API unavailable"));const U=j.call(document);return U&&typeof U.then=="function"?U:Promise.resolve()}function X(){const j=R();if(!j)return!1;if(l=j,i=j.style.cssText,j.style.position="fixed",j.style.top="0",j.style.left="0",j.style.right="0",j.style.bottom="0",j.style.width="100vw",j.style.height="100vh",j.style.height="100dvh",j.style.zIndex="2147483647",j.style.margin="0",j.style.borderRadius="0",j.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){O=window.scrollY||window.pageYOffset||0,w=window.scrollX||window.pageXOffset||0;const U=document.body,H=document.documentElement;c=U?U.style.overflow:null,d=H?H.style.overflow:null,g=U?U.style.position:null,_=U?U.style.top:null,k=U?U.style.left:null,E=U?U.style.width:null,P=U?U.style.touchAction:null,M=H?H.style.touchAction:null,H&&(H.style.overflow="hidden",H.style.touchAction="none"),U&&(U.style.overflow="hidden",U.style.position="fixed",U.style.top=`-${O}px`,U.style.left=`-${w}px`,U.style.width="100%",U.style.touchAction="none"),y=oe=>{if(!l)return;const he=oe.target;he&&(he===l||l.contains&&l.contains(he))||oe.cancelable&&oe.preventDefault()},m=oe=>{if(!l)return;const he=oe.target;he&&(he===l||l.contains&&l.contains(he))||oe.cancelable&&oe.preventDefault()},document.addEventListener("touchmove",y,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function K(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const j=document.body,U=document.documentElement;j&&(j.style.overflow=c??"",j.style.position=g??"",j.style.top=_??"",j.style.left=k??"",j.style.width=E??"",j.style.touchAction=P??""),U&&(U.style.overflow=d??"",U.style.touchAction=M??""),y&&(document.removeEventListener("touchmove",y,{capture:!0}),y=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(O||w)&&window.scrollTo(w,O)}c=null,d=null,g=null,_=null,k=null,E=null,P=null,M=null,O=0,w=0}}function W(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function se(){if(!x()){a.value?(K(),a.value=!1,s("change",!1)):X()&&(a.value=!0,s("change",!0)),W();return}if(C())F().then(()=>{a.value=!1,s("change",!1)}).catch(()=>{});else{const U=R()??document.documentElement;G(U).then(()=>{a.value=!0,s("change",!0)}).catch(()=>{G(document.documentElement).then(()=>{a.value=!0,s("change",!0)}).catch(()=>{})})}}function ce(){a.value=!!C(),s("change",a.value)}return dt(()=>{var U,H;document.addEventListener("fullscreenchange",ce),document.addEventListener("webkitfullscreenchange",ce);const j=(H=(U=n.mapContainer)==null?void 0:U.getRootNode)==null?void 0:H.call(U);j instanceof ShadowRoot&&(r=j,j.addEventListener("fullscreenchange",ce),j.addEventListener("webkitfullscreenchange",ce))}),Sn(()=>{document.removeEventListener("fullscreenchange",ce),document.removeEventListener("webkitfullscreenchange",ce),r&&(r.removeEventListener("fullscreenchange",ce),r.removeEventListener("webkitfullscreenchange",ce),r=null),l&&K()}),(j,U)=>(_e(),Dt(xl,{"is-dark":e.isDark,active:a.value,title:Bo(t)("buttons.toggleFullscreen"),onClick:se},{default:yn(()=>[a.value?(_e(),Ee("svg",u$,[...U[1]||(U[1]=[Q("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(_e(),Ee("svg",c$,[...U[0]||(U[0]=[Q("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},Wn={en:{draw:"Draw polygon",drawing:"Drawing… (click map)",finish:"Finish polygon ({n} pts)",deleteSelected:"Delete selected",deleteSelectedAria:"Delete selected polygons",selectAll:"Select all",clearSelection:"Clear selection",countSelected:"{n} / {total} selected",printSelected:"Print selected",printAria:"Print selected prayer-walking zones",emptyList:"No zones yet — draw a polygon on the map to start a prayer-walking plan.",delete:"Delete",deleteAria:"Delete {title}",zone:"Zone {n}",clickToPlace:"Click to place points. Double-click (or Finish) to close the polygon.",need3:"Need at least 3 points to make a polygon.",added:"Polygon added.",selectOne:"Select at least one polygon to print.",printUnavailable:"Print frame unavailable in this host.",preparing:"Preparing the print map…",shareScope:"This link shares the planner. Your drawn zones stay on this device.",mapFailed:"Map failed to load (no WebGL?) — drawing needs the map, but your saved zones and Print still work.",kicker:"Prayer walking map · centre {c}",charge:"Walk the streets of this zone and pray for the people who live, work and worship along them.",corners:"Zone corners",mapAlt:"Walking map of {title}",footer:"Prayer Walk Planner · generated {date} · Map © OpenFreeMap · Data © OpenStreetMap contributors",docTitleOne:"Prayer Walking Plan — 1 zone",docTitleMany:"Prayer Walking Plan — {n} zones"},es:{draw:"Dibujar polígono",drawing:"Dibujando… (haz clic en el mapa)",finish:"Terminar polígono ({n} puntos)",deleteSelected:"Eliminar selección",deleteSelectedAria:"Eliminar los polígonos seleccionados",selectAll:"Seleccionar todo",clearSelection:"Quitar selección",countSelected:"{n} / {total} seleccionadas",printSelected:"Imprimir selección",printAria:"Imprimir las zonas de caminata de oración seleccionadas",emptyList:"Aún no hay zonas: dibuja un polígono en el mapa para empezar un plan de caminata de oración.",delete:"Eliminar",deleteAria:"Eliminar {title}",zone:"Zona {n}",clickToPlace:"Haz clic para colocar puntos. Doble clic (o Terminar) para cerrar el polígono.",need3:"Se necesitan al menos 3 puntos para formar un polígono.",added:"Polígono añadido.",selectOne:"Selecciona al menos un polígono para imprimir.",printUnavailable:"La impresión no está disponible en esta página.",preparing:"Preparando el mapa para imprimir…",shareScope:"Este enlace comparte el planificador. Tus zonas dibujadas se quedan en este dispositivo.",mapFailed:"No se pudo cargar el mapa (¿sin WebGL?). Para dibujar hace falta el mapa, pero tus zonas guardadas y la impresión siguen funcionando.",kicker:"Mapa de caminata de oración · centro {c}",charge:"Recorre las calles de esta zona y ora por las personas que viven, trabajan y adoran en ellas.",corners:"Esquinas de la zona",mapAlt:"Mapa para caminar de {title}",footer:"Planificador de caminatas de oración · generado el {date} · Mapa © OpenFreeMap · Datos © colaboradores de OpenStreetMap",docTitleOne:"Plan de caminata de oración — 1 zona",docTitleMany:"Plan de caminata de oración — {n} zonas"},fr:{draw:"Dessiner un polygone",drawing:"Dessin en cours… (cliquez sur la carte)",finish:"Terminer le polygone ({n} points)",deleteSelected:"Supprimer la sélection",deleteSelectedAria:"Supprimer les polygones sélectionnés",selectAll:"Tout sélectionner",clearSelection:"Effacer la sélection",countSelected:"{n} / {total} sélectionnées",printSelected:"Imprimer la sélection",printAria:"Imprimer les zones de marche de prière sélectionnées",emptyList:"Aucune zone pour l’instant — dessinez un polygone sur la carte pour commencer un plan de marche de prière.",delete:"Supprimer",deleteAria:"Supprimer {title}",zone:"Zone {n}",clickToPlace:"Cliquez pour placer des points. Double-cliquez (ou Terminer) pour fermer le polygone.",need3:"Il faut au moins 3 points pour former un polygone.",added:"Polygone ajouté.",selectOne:"Sélectionnez au moins un polygone à imprimer.",printUnavailable:"L’impression n’est pas disponible sur cette page.",preparing:"Préparation de la carte à imprimer…",shareScope:"Ce lien partage le planificateur. Vos zones dessinées restent sur cet appareil.",mapFailed:"La carte n’a pas pu se charger (pas de WebGL ?). Le dessin nécessite la carte, mais vos zones enregistrées et l’impression fonctionnent toujours.",kicker:"Carte de marche de prière · centre {c}",charge:"Parcourez les rues de cette zone et priez pour les personnes qui y vivent, y travaillent et y adorent.",corners:"Coins de la zone",mapAlt:"Carte de marche de {title}",footer:"Planificateur de marches de prière · généré le {date} · Carte © OpenFreeMap · Données © contributeurs OpenStreetMap",docTitleOne:"Plan de marche de prière — 1 zone",docTitleMany:"Plan de marche de prière — {n} zones"},de:{draw:"Polygon zeichnen",drawing:"Zeichnen… (auf die Karte klicken)",finish:"Polygon abschließen ({n} Punkte)",deleteSelected:"Auswahl löschen",deleteSelectedAria:"Ausgewählte Polygone löschen",selectAll:"Alle auswählen",clearSelection:"Auswahl aufheben",countSelected:"{n} / {total} ausgewählt",printSelected:"Auswahl drucken",printAria:"Ausgewählte Gebetsspaziergang-Zonen drucken",emptyList:"Noch keine Zonen — zeichnen Sie ein Polygon auf der Karte, um einen Gebetsspaziergang zu planen.",delete:"Löschen",deleteAria:"{title} löschen",zone:"Zone {n}",clickToPlace:"Klicken, um Punkte zu setzen. Doppelklick (oder Abschließen) schließt das Polygon.",need3:"Für ein Polygon sind mindestens 3 Punkte nötig.",added:"Polygon hinzugefügt.",selectOne:"Wählen Sie mindestens ein Polygon zum Drucken aus.",printUnavailable:"Drucken ist auf dieser Seite nicht verfügbar.",preparing:"Druckkarte wird vorbereitet…",shareScope:"Dieser Link teilt den Planer. Ihre gezeichneten Zonen bleiben auf diesem Gerät.",mapFailed:"Die Karte konnte nicht geladen werden (kein WebGL?). Zum Zeichnen wird die Karte benötigt, aber gespeicherte Zonen und Drucken funktionieren weiterhin.",kicker:"Karte für den Gebetsspaziergang · Mitte {c}",charge:"Gehen Sie durch die Straßen dieser Zone und beten Sie für die Menschen, die hier leben, arbeiten und Gott anbeten.",corners:"Eckpunkte der Zone",mapAlt:"Spaziergangskarte von {title}",footer:"Gebetsspaziergang-Planer · erstellt am {date} · Karte © OpenFreeMap · Daten © OpenStreetMap-Mitwirkende",docTitleOne:"Gebetsspaziergang-Plan — 1 Zone",docTitleMany:"Gebetsspaziergang-Plan — {n} Zonen"},pt:{draw:"Desenhar polígono",drawing:"Desenhando… (clique no mapa)",finish:"Concluir polígono ({n} pontos)",deleteSelected:"Excluir seleção",deleteSelectedAria:"Excluir os polígonos selecionados",selectAll:"Selecionar tudo",clearSelection:"Limpar seleção",countSelected:"{n} / {total} selecionadas",printSelected:"Imprimir seleção",printAria:"Imprimir as zonas de caminhada de oração selecionadas",emptyList:"Ainda não há zonas — desenhe um polígono no mapa para começar um plano de caminhada de oração.",delete:"Excluir",deleteAria:"Excluir {title}",zone:"Zona {n}",clickToPlace:"Clique para marcar pontos. Clique duas vezes (ou Concluir) para fechar o polígono.",need3:"São necessários pelo menos 3 pontos para formar um polígono.",added:"Polígono adicionado.",selectOne:"Selecione pelo menos um polígono para imprimir.",printUnavailable:"A impressão não está disponível nesta página.",preparing:"Preparando o mapa para impressão…",shareScope:"Este link compartilha o planejador. Suas zonas desenhadas ficam neste dispositivo.",mapFailed:"O mapa não carregou (sem WebGL?). Desenhar exige o mapa, mas suas zonas salvas e a impressão continuam funcionando.",kicker:"Mapa de caminhada de oração · centro {c}",charge:"Caminhe pelas ruas desta zona e ore pelas pessoas que vivem, trabalham e adoram nelas.",corners:"Cantos da zona",mapAlt:"Mapa de caminhada de {title}",footer:"Planejador de caminhadas de oração · gerado em {date} · Mapa © OpenFreeMap · Dados © colaboradores do OpenStreetMap",docTitleOne:"Plano de caminhada de oração — 1 zona",docTitleMany:"Plano de caminhada de oração — {n} zonas"},it:{draw:"Disegna poligono",drawing:"Disegno in corso… (clicca sulla mappa)",finish:"Completa poligono ({n} punti)",deleteSelected:"Elimina selezionati",deleteSelectedAria:"Elimina i poligoni selezionati",selectAll:"Seleziona tutto",clearSelection:"Deseleziona",countSelected:"{n} / {total} selezionate",printSelected:"Stampa selezionate",printAria:"Stampa le zone di passeggiata di preghiera selezionate",emptyList:"Ancora nessuna zona — disegna un poligono sulla mappa per iniziare un piano di passeggiata di preghiera.",delete:"Elimina",deleteAria:"Elimina {title}",zone:"Zona {n}",clickToPlace:"Clicca per posizionare i punti. Doppio clic (o Completa) per chiudere il poligono.",need3:"Servono almeno 3 punti per formare un poligono.",added:"Poligono aggiunto.",selectOne:"Seleziona almeno un poligono da stampare.",printUnavailable:"La stampa non è disponibile in questa pagina.",preparing:"Preparazione della mappa di stampa…",shareScope:"Questo link condivide il pianificatore. Le zone che hai disegnato restano su questo dispositivo.",mapFailed:"Impossibile caricare la mappa (niente WebGL?). Per disegnare serve la mappa, ma le zone salvate e la stampa funzionano ancora.",kicker:"Mappa della passeggiata di preghiera · centro {c}",charge:"Percorri le strade di questa zona e prega per le persone che vi abitano, vi lavorano e vi adorano.",corners:"Vertici della zona",mapAlt:"Mappa della passeggiata di {title}",footer:"Pianificatore di passeggiate di preghiera · generato il {date} · Mappa © OpenFreeMap · Dati © contributori OpenStreetMap",docTitleOne:"Piano di passeggiata di preghiera — 1 zona",docTitleMany:"Piano di passeggiata di preghiera — {n} zone"},ro:{draw:"Desenează poligon",drawing:"Se desenează… (dă clic pe hartă)",finish:"Finalizează poligonul ({n} puncte)",deleteSelected:"Șterge selecția",deleteSelectedAria:"Șterge poligoanele selectate",selectAll:"Selectează tot",clearSelection:"Anulează selecția",countSelected:"{n} / {total} selectate",printSelected:"Tipărește selecția",printAria:"Tipărește zonele de plimbare de rugăciune selectate",emptyList:"Încă nu există zone — desenează un poligon pe hartă pentru a începe un plan de plimbare de rugăciune.",delete:"Șterge",deleteAria:"Șterge {title}",zone:"Zona {n}",clickToPlace:"Dă clic pentru a plasa puncte. Dublu clic (sau Finalizează) pentru a închide poligonul.",need3:"Sunt necesare cel puțin 3 puncte pentru un poligon.",added:"Poligon adăugat.",selectOne:"Selectează cel puțin un poligon de tipărit.",printUnavailable:"Tipărirea nu este disponibilă pe această pagină.",preparing:"Se pregătește harta de tipărit…",shareScope:"Acest link partajează planificatorul. Zonele desenate rămân pe acest dispozitiv.",mapFailed:"Harta nu s-a încărcat (fără WebGL?). Desenarea are nevoie de hartă, dar zonele salvate și tipărirea funcționează în continuare.",kicker:"Hartă pentru plimbarea de rugăciune · centru {c}",charge:"Plimbă-te pe străzile acestei zone și roagă-te pentru oamenii care locuiesc, lucrează și se închină aici.",corners:"Colțurile zonei",mapAlt:"Harta de plimbare pentru {title}",footer:"Planificator de plimbări de rugăciune · generat pe {date} · Hartă © OpenFreeMap · Date © contribuitorii OpenStreetMap",docTitleOne:"Plan de plimbare de rugăciune — 1 zonă",docTitleMany:"Plan de plimbare de rugăciune — {n} zone"},ru:{draw:"Нарисовать область",drawing:"Рисование… (щёлкайте по карте)",finish:"Завершить область (точек: {n})",deleteSelected:"Удалить выбранные",deleteSelectedAria:"Удалить выбранные области",selectAll:"Выбрать все",clearSelection:"Снять выбор",countSelected:"Выбрано: {n} из {total}",printSelected:"Печать выбранных",printAria:"Печать выбранных зон молитвенной прогулки",emptyList:"Зон пока нет — нарисуйте область на карте, чтобы начать план молитвенной прогулки.",delete:"Удалить",deleteAria:"Удалить: {title}",zone:"Зона {n}",clickToPlace:"Щёлкайте, чтобы ставить точки. Двойной щелчок (или «Завершить») замыкает область.",need3:"Для области нужно не менее 3 точек.",added:"Область добавлена.",selectOne:"Выберите хотя бы одну область для печати.",printUnavailable:"Печать недоступна на этой странице.",preparing:"Подготовка карты для печати…",shareScope:"Эта ссылка открывает планировщик. Нарисованные зоны остаются на этом устройстве.",mapFailed:"Не удалось загрузить карту (нет WebGL?). Для рисования нужна карта, но сохранённые зоны и печать по-прежнему работают.",kicker:"Карта молитвенной прогулки · центр {c}",charge:"Пройдите по улицам этой зоны и помолитесь о людях, которые здесь живут, работают и поклоняются.",corners:"Углы зоны",mapAlt:"Карта прогулки: {title}",footer:"Планировщик молитвенных прогулок · создано {date} · Карта © OpenFreeMap · Данные © участники OpenStreetMap",docTitleOne:"План молитвенной прогулки — 1 зона",docTitleMany:"План молитвенной прогулки — зон: {n}"},ar:{draw:"ارسم مضلّعًا",drawing:"جارٍ الرسم… (انقر على الخريطة)",finish:"إنهاء المضلّع ({n} نقاط)",deleteSelected:"حذف المحدد",deleteSelectedAria:"حذف المضلّعات المحددة",selectAll:"تحديد الكل",clearSelection:"إلغاء التحديد",countSelected:"{n} / {total} محدد",printSelected:"طباعة المحدد",printAria:"طباعة مناطق جولات الصلاة المحددة",emptyList:"لا توجد مناطق بعد — ارسم مضلّعًا على الخريطة لتبدأ خطة جولة صلاة.",delete:"حذف",deleteAria:"حذف {title}",zone:"المنطقة {n}",clickToPlace:"انقر لوضع النقاط. انقر نقرًا مزدوجًا (أو «إنهاء») لإغلاق المضلّع.",need3:"يلزم 3 نقاط على الأقل لتكوين مضلّع.",added:"أُضيف المضلّع.",selectOne:"حدّد مضلّعًا واحدًا على الأقل للطباعة.",printUnavailable:"الطباعة غير متاحة في هذه الصفحة.",preparing:"جارٍ تجهيز خريطة الطباعة…",shareScope:"يشارك هذا الرابط المخطِّط. تبقى المناطق التي رسمتها على هذا الجهاز.",mapFailed:"تعذّر تحميل الخريطة (لا يوجد WebGL؟). الرسم يحتاج إلى الخريطة، لكن مناطقك المحفوظة والطباعة ما زالت تعمل.",kicker:"خريطة جولة الصلاة · المركز {c}",charge:"امشِ في شوارع هذه المنطقة وصلِّ من أجل الناس الذين يسكنون ويعملون ويعبدون فيها.",corners:"زوايا المنطقة",mapAlt:"خريطة جولة {title}",footer:"مخطِّط جولات الصلاة · أُنشئت في {date} · الخريطة © OpenFreeMap · البيانات © مساهمو OpenStreetMap",docTitleOne:"خطة جولة الصلاة — منطقة واحدة",docTitleMany:"خطة جولة الصلاة — عدد المناطق: {n}"},hi:{draw:"बहुभुज बनाएँ",drawing:"बनाया जा रहा है… (मानचित्र पर क्लिक करें)",finish:"बहुभुज पूरा करें ({n} बिंदु)",deleteSelected:"चयनित हटाएँ",deleteSelectedAria:"चयनित बहुभुज हटाएँ",selectAll:"सभी चुनें",clearSelection:"चयन हटाएँ",countSelected:"{n} / {total} चयनित",printSelected:"चयनित प्रिंट करें",printAria:"चयनित प्रार्थना पदयात्रा क्षेत्र प्रिंट करें",emptyList:"अभी कोई क्षेत्र नहीं — प्रार्थना पदयात्रा की योजना शुरू करने के लिए मानचित्र पर बहुभुज बनाएँ।",delete:"हटाएँ",deleteAria:"{title} हटाएँ",zone:"क्षेत्र {n}",clickToPlace:"बिंदु लगाने के लिए क्लिक करें। बहुभुज बंद करने के लिए डबल-क्लिक करें (या पूरा करें)।",need3:"बहुभुज बनाने के लिए कम से कम 3 बिंदु चाहिए।",added:"बहुभुज जोड़ा गया।",selectOne:"प्रिंट करने के लिए कम से कम एक बहुभुज चुनें।",printUnavailable:"इस पेज पर प्रिंट उपलब्ध नहीं है।",preparing:"प्रिंट मानचित्र तैयार हो रहा है…",shareScope:"यह लिंक योजनाकार साझा करता है। आपके बनाए क्षेत्र इसी डिवाइस पर रहते हैं।",mapFailed:"मानचित्र लोड नहीं हुआ (WebGL नहीं?)। बनाने के लिए मानचित्र चाहिए, पर आपके सहेजे क्षेत्र और प्रिंट अब भी काम करते हैं।",kicker:"प्रार्थना पदयात्रा मानचित्र · केंद्र {c}",charge:"इस क्षेत्र की गलियों में चलें और यहाँ रहने, काम करने और आराधना करने वाले लोगों के लिए प्रार्थना करें।",corners:"क्षेत्र के कोने",mapAlt:"{title} का पदयात्रा मानचित्र",footer:"प्रार्थना पदयात्रा योजनाकार · {date} को बनाया गया · मानचित्र © OpenFreeMap · डेटा © OpenStreetMap योगदानकर्ता",docTitleOne:"प्रार्थना पदयात्रा योजना — 1 क्षेत्र",docTitleMany:"प्रार्थना पदयात्रा योजना — {n} क्षेत्र"},zh:{draw:"绘制多边形",drawing:"正在绘制…(点击地图)",finish:"完成多边形({n} 个点)",deleteSelected:"删除所选",deleteSelectedAria:"删除所选多边形",selectAll:"全选",clearSelection:"清除选择",countSelected:"已选 {n} / {total}",printSelected:"打印所选",printAria:"打印所选的祷告行走区域",emptyList:"还没有区域——在地图上绘制一个多边形,开始制定祷告行走计划。",delete:"删除",deleteAria:"删除{title}",zone:"区域 {n}",clickToPlace:"点击放置顶点。双击(或点“完成”)闭合多边形。",need3:"多边形至少需要 3 个点。",added:"已添加多边形。",selectOne:"请至少选择一个要打印的多边形。",printUnavailable:"此页面无法打印。",preparing:"正在准备打印地图…",shareScope:"此链接分享的是规划工具。您绘制的区域保留在本设备上。",mapFailed:"地图加载失败(没有 WebGL?)。绘制需要地图,但已保存的区域和打印仍可使用。",kicker:"祷告行走地图 · 中心 {c}",charge:"走遍这个区域的街道,为在这里生活、工作和敬拜的人祷告。",corners:"区域顶点",mapAlt:"{title}的行走地图",footer:"祷告行走规划 · 生成于 {date} · 地图 © OpenFreeMap · 数据 © OpenStreetMap 贡献者",docTitleOne:"祷告行走计划 — 1 个区域",docTitleMany:"祷告行走计划 — {n} 个区域"}},Tl=Object.keys(Wn);function d$(e,o,t){let s=(Wn[e]||Wn.en)[o]??Wn.en[o]??o;if(t)for(const a in t)s=s.split("{"+a+"}").join(String(t[a]));return s}const g$=["dir","lang"],$$={class:"pwp-toolbar"},f$=["aria-pressed"],h$=["disabled"],_$=["disabled","aria-label"],m$=["disabled"],b$=["disabled"],y$={class:"pwp-count"},v$=["disabled","aria-label"],k$={key:0,class:"pwp-status"},w$={class:"pwp-body"},L$={class:"pwp-map"},P$={class:"pwp-map-controls"},S$={class:"pwp-list"},A$={key:0,class:"pwp-list-empty"},E$=["onClick"],x$=["value","onKeydown","onBlur"],T$=["onDblclick","title"],R$=["onClick","aria-label"],C$="prayer-walk-planner/prayer-walk-planner/index.html",Yt="pwp-draw",Zt="pwp-polygons",Rl=1200,N$=1344,M$=2,O$=Object.assign({inheritAttrs:!1},{__name:"prayer-walk-planner",props:{instanceId:{type:String,default:""},profileConfig:{type:[String,Object],default:""},language:{type:String,default:""}},setup(e,{expose:o}){const t=e,n=De(()=>{let $=t.profileConfig;if(typeof $=="string")try{$=$?JSON.parse($):{}}catch{$={}}return $&&typeof $=="object"?$:{}});function s(){try{const $=new URLSearchParams(location.search),S=($.get("lang")||$.get("locale")||"").split("-")[0].toLowerCase();if(Tl.includes(S))return S}catch{}try{return(document.documentElement.lang||"").split("-")[0].toLowerCase()}catch{return""}}const a=De(()=>{const $=String(t.language||n.value.locale||n.value.lang||s()||"en").split("-")[0].toLowerCase();return Tl.includes($)?$:"en"}),r=De(()=>a.value==="ar"?"rtl":"ltr"),i=($,S)=>d$(a.value,$,S),l=$o("appI18n",null);Lo(a,$=>{try{l&&l.global&&(typeof l.global.locale=="object"?l.global.locale.value=$:l.global.locale=$)}catch{}},{immediate:!0});const c=t.instanceId||"pwp-"+Math.random().toString(36).slice(2,10),d="prayer-walk-planner:v1:"+c,g=dn([]),_=Le(!1),k=Le([]),E=Le(""),P=Le(null);function M(){const $=i("shareScope");E.value=$,setTimeout(()=>{E.value===$&&(E.value="")},6e3)}const O=De(()=>g.filter($=>$.selected).length);function w(){try{const $=window.localStorage.getItem(d);if(!$)return;const S=JSON.parse($);Array.isArray(S)&&g.splice(0,g.length,...S.map(A=>({...A,selected:!1})))}catch($){console.error("[prayer-walk-planner] failed to load localStorage:",$)}}function y(){try{const $=g.map(({selected:S,...A})=>A);window.localStorage.setItem(d,JSON.stringify($))}catch($){console.error("[prayer-walk-planner] failed to save localStorage:",$)}}const m=Le(null),{map:x,isMapReady:R,initializeMap:C,destroy:G}=Tp({containerRef:m,provider:"maplibre",style:"daylight",center:[0,20],zoom:2,showEdgeBorders:!1});function F($){if($.length<3)return $;const[S,A]=$[0],[v,T]=$[$.length-1];return S===v&&A===T?$:[...$,$[0]]}function X(){return{type:"FeatureCollection",features:g.map($=>({type:"Feature",id:$.id,properties:{id:$.id,title:$.title,selected:!!$.selected},geometry:{type:"Polygon",coordinates:[F($.coords)]}}))}}function K(){const $=k.value;if($.length===0)return{type:"FeatureCollection",features:[]};const S=[];return S.push({type:"Feature",geometry:{type:"MultiPoint",coordinates:$},properties:{}}),$.length>=2&&S.push({type:"Feature",geometry:{type:"LineString",coordinates:$},properties:{}}),$.length>=3&&S.push({type:"Feature",geometry:{type:"Polygon",coordinates:[F($)]},properties:{preview:!0}}),{type:"FeatureCollection",features:S}}function W(){if(!x.value||!R.value)return;const $=x.value.getSource(Zt);$&&$.setData(X());const S=x.value.getSource(Yt);S&&S.setData(K())}function se(){x.value&&(x.value.addSource(Zt,{type:"geojson",data:X()}),x.value.addLayer({id:"pwp-polygons-fill",type:"fill",source:Zt,paint:{"fill-color":["case",["get","selected"],"#92b195","#6d766e"],"fill-opacity":["case",["get","selected"],.35,.18]}}),x.value.addLayer({id:"pwp-polygons-line",type:"line",source:Zt,paint:{"line-color":["case",["get","selected"],"#3b463d","#92b195"],"line-width":["case",["get","selected"],3,2]}}),x.value.addLayer({id:"pwp-polygons-label",type:"symbol",source:Zt,layout:{...lp(x.value),"text-field":["get","title"],"text-size":12,"text-anchor":"center"},paint:{"text-color":"#3b463d","text-halo-color":"#ffffff","text-halo-width":1.5}}),x.value.addSource(Yt,{type:"geojson",data:K()}),x.value.addLayer({id:"pwp-draw-fill",type:"fill",source:Yt,filter:["==","$type","Polygon"],paint:{"fill-color":"#92b195","fill-opacity":.25}}),x.value.addLayer({id:"pwp-draw-line",type:"line",source:Yt,filter:["==","$type","LineString"],paint:{"line-color":"#3b463d","line-width":2,"line-dasharray":[2,1]}}),x.value.addLayer({id:"pwp-draw-points",type:"circle",source:Yt,filter:["==","$type","Point"],paint:{"circle-radius":5,"circle-color":"#3b463d","circle-stroke-color":"#fff","circle-stroke-width":2}}),x.value.on("click","pwp-polygons-fill",$=>{var A,v,T;if(_.value)return;const S=(T=(v=(A=$.features)==null?void 0:A[0])==null?void 0:v.properties)==null?void 0:T.id;S!=null&&he(String(S))}),x.value.on("click",$=>{_.value&&(k.value=[...k.value,[$.lngLat.lng,$.lngLat.lat]],W())}),x.value.on("dblclick",()=>{_.value&&U()}))}function ce(){_.value||(_.value=!0,k.value=[],E.value=i("clickToPlace"),x.value&&(x.value.getCanvas().style.cursor="crosshair"))}function j(){_.value=!1,k.value=[],E.value="",x.value&&(x.value.getCanvas().style.cursor=""),W()}function U(){if(k.value.length<3){E.value=i("need3");return}const $=F(k.value),S=i("zone",{n:g.length+1});H($,S),_.value=!1,k.value=[],x.value&&(x.value.getCanvas().style.cursor="");const A=i("added");E.value=A,setTimeout(()=>{E.value===A&&(E.value="")},2e3)}function H($,S){if(!Array.isArray($)||$.length<3)throw new Error("[prayer-walk-planner] addPolygon needs at least 3 [lng,lat] points");const A="zone-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,7);return g.push({id:A,title:S||i("zone",{n:g.length+1}),coords:F($),createdAt:new Date().toISOString(),selected:!1}),y(),W(),A}function oe($){const S=g.findIndex(A=>A.id===$);return S===-1?!1:(g.splice(S,1),y(),W(),!0)}function he($,S){const A=g.find(v=>v.id===$);return A?(A.selected=S===void 0?!A.selected:!!S,W(),!0):!1}function Ve(){g.forEach($=>{$.selected=!1}),W()}function Ae($){let S=0,A=0;const v=$.length;for(const[T,q]of $)S+=T,A+=q;return[S/v,A/v]}function ke($,S){const A=S>=0?"N":"S",v=$>=0?"E":"W";return Math.abs(S).toFixed(5)+"°"+A+", "+Math.abs($).toFixed(5)+"°"+v}async function Xe($){const S=typeof window<"u"&&window.maplibregl;if(!S)return null;await _p(S);let A=1/0,v=1/0,T=-1/0,q=-1/0;for(const[ge,Z]of $.coords)ge<A&&(A=ge),ge>T&&(T=ge),Z<v&&(v=Z),Z>q&&(q=Z);const Y=document.createElement("div");Y.setAttribute("aria-hidden","true"),Y.style.cssText=`position:fixed;left:-${Rl*3}px;top:0;width:${Rl}px;height:${N$}px;pointer-events:none;`,document.body.appendChild(Y);let te=null;try{return te=new S.Map({container:Y,style:li("daylight","maplibre").style,bounds:[[A,v],[T,q]],fitBoundsOptions:{padding:90,maxZoom:18},pixelRatio:M$,interactive:!1,attributionControl:!1,fadeDuration:0,canvasContextAttributes:{preserveDrawingBuffer:!0},preserveDrawingBuffer:!0}),await new Promise((ge,Z)=>{te.once("load",ge),te.once("error",Ue=>Z(Ue&&Ue.error||Ue)),setTimeout(()=>Z(new Error("style load timeout")),3e4)}),Mn(te,a.value),te.addSource("pwp-print-zone",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[F($.coords)]}}}),te.addLayer({id:"pwp-print-fill",type:"fill",source:"pwp-print-zone",paint:{"fill-color":"#92b195","fill-opacity":.12}}),te.addLayer({id:"pwp-print-casing",type:"line",source:"pwp-print-zone",paint:{"line-color":"#ffffff","line-width":9}}),te.addLayer({id:"pwp-print-line",type:"line",source:"pwp-print-zone",paint:{"line-color":"#1f5f3a","line-width":5}}),await new Promise(ge=>{const Z=()=>{te.loaded()&&te.areTilesLoaded()?ge():te.once("idle",Z)};te.once("idle",Z),setTimeout(ge,25e3)}),await new Promise(ge=>{te.once("render",()=>{try{ge(te.getCanvas().toDataURL("image/png"))}catch{ge(null)}}),te.triggerRepaint()})}finally{try{te&&te.remove()}catch{}Y.remove()}}async function ao($){const S=$&&$.length?g.filter(Z=>$.includes(Z.id)):g.filter(Z=>Z.selected);if(S.length===0)return E.value=i("selectOne"),{opened:!1,count:0};const A=Z=>String(Z??"").replace(/[<>&]/g,Ue=>({"<":"<",">":">","&":"&"})[Ue]);E.value=i("preparing");const v={};for(const Z of S){try{v[Z.id]=await Xe(Z)}catch(Ue){console.error("[prayer-walk-planner] print map failed for",Z.title,Ue)}v[Z.id]||delete v[Z.id]}E.value===i("preparing")&&(E.value="");const T=A(new Date().toLocaleDateString(a.value)),q=Z=>'<bdi dir="ltr">'+A(Z)+"</bdi>",Y=S.map(Z=>{const[Ue,Jt]=Ae(Z.coords),Ze=Z.coords.slice(0,-1).map(([Hn,qn])=>q(ke(Hn,qn))).join(" · "),ro=v[Z.id];return'<section class="zone-page"><header class="band"><h1>'+A(Z.title)+'</h1><p class="kicker">'+A(i("kicker",{c:"\0"})).replace("\0",q(ke(Ue,Jt)))+"</p></header>"+(ro?'<figure class="mapframe"><img class="snapshot" src="'+ro+'" alt="'+A(i("mapAlt",{title:Z.title}))+'"></figure>':"")+'<p class="charge">'+A(i("charge"))+'</p><p class="points"><b>'+A(i("corners"))+":</b> "+Ze+'</p><p class="footer">'+A(i("footer",{date:"\0"})).replace("\0",T)+"</p></section>"}).join(""),te=S.length===1?i("docTitleOne"):i("docTitleMany",{n:S.length});return Cp('<!DOCTYPE html><html lang="'+a.value+'" dir="'+r.value+'"><head><meta charset="utf-8"><title>'+A(te)+'</title><style>@page{size:letter portrait;margin:12mm}html,body{margin:0;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3b463d}.zone-page{page-break-after:always;break-inside:avoid;margin:0 auto}.zone-page:last-child{page-break-after:auto}.band{background:#3b463d;color:#fff;border-radius:6px;padding:8px 14px;margin:0 0 6px;-webkit-print-color-adjust:exact;print-color-adjust:exact}h1{font-size:20px;margin:0;letter-spacing:-0.01em}.kicker{margin:2px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#d1d4cd}.mapframe{margin:0;border:1px solid #d1d4cd;border-radius:4px;overflow:hidden}.snapshot{display:block;width:100%;height:8.4in;object-fit:cover}.charge{font-size:12px;line-height:1.45;color:#3b463d;margin:6px 0 0}.points{font-size:9.5px;line-height:1.5;color:#6d766e;margin:4px 0 0}.footer{margin-top:4px;font-size:9px;color:#6d766e;border-top:1px solid #d1d4cd;padding-top:4px}</style></head><body>'+Y+"</body></html>",{autoprint:!0})?{opened:!0,count:S.length}:(E.value=i("printUnavailable"),{opened:!1,count:0})}function so($,S){return H($,S)}function Se($){return oe($)}function Ye($,S=!0){return he($,S)}function re(){Ve()}function ie(){return g.map($=>({...$}))}function me($){const S=g.find(A=>A.id===$);return S?{...S}:null}function ze($=null){return ao($)}async function f($){const S=g.find(A=>A.id===$);return S?Xe(S):null}o({addPolygon:so,deletePolygon:Se,selectPolygon:Ye,clearSelection:re,listPolygons:ie,getPolygon:me,print:ze,renderZoneMap:f,startDrawing:ce,stopDrawing:j,instanceId:c});function b(){if(typeof window>"u")return;const $={addPolygon:so,deletePolygon:Se,selectPolygon:Ye,clearSelection:re,listPolygons:ie,getPolygon:me,print:ze,renderZoneMap:f,startDrawing:ce,stopDrawing:j,instanceId:c};window.PrayerWalkPlanner=window.PrayerWalkPlanner||{instances:{}},window.PrayerWalkPlanner.instances[c]=$,window.PrayerWalkPlanner.first=()=>{const S=Object.keys(window.PrayerWalkPlanner.instances);return S.length?window.PrayerWalkPlanner.instances[S[0]]:null}}function h(){typeof window>"u"||!window.PrayerWalkPlanner||delete window.PrayerWalkPlanner.instances[c]}function N(){_.value?j():ce()}function D(){U()}function I(){g.filter(S=>S.selected).map(S=>S.id).forEach(S=>oe(S))}function V(){g.forEach($=>{$.selected=!0}),W()}function B(){Ve()}function u(){ao(null)}function p($){P.value=$}function L($,S){const A=g.find(v=>v.id===$);A&&(A.title=(S||"").trim()||A.title,y(),W()),P.value=null}return dt(async()=>{w(),b(),await mn();try{await C(),x.value&&x.value.on("load",()=>{Mn(x.value,a.value),se(),W()})}catch($){console.error("[prayer-walk-planner] map failed to initialize — polygon list, localStorage and print still work:",$),E.value=i("mapFailed")}}),Sn(()=>{h(),G()}),On(":host{display:block;position:relative;width:100%;height:100%;min-height:420px}.pwp{position:absolute;inset:0;display:flex;flex-direction:column;background:#f3f3f1;color:#3b463d;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.pwp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid #d1d4cd;z-index:5}.pwp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1px solid #d1d4cd;background:#fff;color:#3b463d;font-size:13px;font-weight:600;cursor:pointer}.pwp-btn:hover{border-color:#92b195}.pwp-btn.is-active{background:#92b195;border-color:#92b195;color:#fff}.pwp-btn.is-accent{background:#92b195;border-color:#92b195;color:#fff}.pwp-btn.is-accent:hover{opacity:.9}.pwp-btn:disabled{opacity:.45;cursor:not-allowed}.pwp-btn.is-danger{color:#8a3b3b;border-color:#e0c4c4}.pwp-spacer{flex:1}.pwp-count{font-size:12px;color:#6d766e}.pwp-status{padding:6px 12px;font-size:12px;color:#6d766e;background:#fff;border-bottom:1px solid #d1d4cd}.pwp-body{position:relative;flex:1;min-height:0;display:flex}.pwp-map{position:relative;flex:1;min-width:0}.pwp-map-el{position:absolute;inset:0}.pwp-map-controls{position:absolute;top:10px;right:10px;z-index:4}.pwp[dir=rtl] .pwp-map-controls{right:auto;left:10px}.pwp-list{width:260px;flex-shrink:0;overflow-y:auto;background:#fff;border-left:1px solid #d1d4cd;padding:8px}.pwp-list-empty{padding:16px 10px;font-size:12px;color:#6d766e}.pwp-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;margin-bottom:4px;border:1px solid transparent;cursor:pointer}.pwp-item:hover{background:#f3f3f1}.pwp-item.is-selected{background:rgba(146,177,149,.18);border-color:#92b195}.pwp-item-title{flex:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwp-item-title-input{flex:1;font-size:13px;font-weight:600;padding:2px 4px;border:1px solid #92b195;border-radius:4px}.pwp-item-del{border:none;background:transparent;color:#8a3b3b;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}.pwp-item-del:hover{background:rgba(138,59,59,.12)}@media (max-width:640px){.pwp-list{display:none}}@media (max-width:640px){.pwp-toolbar{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px 10px;gap:6px}.pwp-toolbar::-webkit-scrollbar{display:none}.pwp-toolbar>*{flex:0 0 auto}.pwp-btn{white-space:nowrap;padding:8px 12px}.pwp-spacer{display:none}.pwp-draw{order:-2}.pwp-print{order:-1}}"),($,S)=>(_e(),Ee("div",{class:"pwp",dir:r.value,lang:a.value},[Q("div",$$,[Q("button",{type:"button",class:to(["pwp-btn pwp-draw",{"is-active":_.value}]),"aria-pressed":_.value,onClick:N},Ce(_.value?i("drawing"):i("draw")),11,f$),_.value?(_e(),Ee("button",{key:0,type:"button",class:"pwp-btn is-accent",disabled:k.value.length<3,onClick:D},Ce(i("finish",{n:k.value.length})),9,h$)):ft("",!0),Q("button",{type:"button",class:"pwp-btn is-danger",disabled:O.value===0,onClick:I,"aria-label":i("deleteSelectedAria")},Ce(i("deleteSelected")),9,_$),Q("button",{type:"button",class:"pwp-btn",disabled:g.length===0,onClick:V},Ce(i("selectAll")),9,m$),Q("button",{type:"button",class:"pwp-btn",disabled:O.value===0,onClick:B},Ce(i("clearSelection")),9,b$),S[1]||(S[1]=Q("div",{class:"pwp-spacer"},null,-1)),Q("span",y$,Ce(i("countSelected",{n:O.value,total:g.length})),1),Q("button",{type:"button",class:"pwp-btn is-accent pwp-print",disabled:O.value===0,onClick:u,"aria-label":i("printAria")},Ce(i("printSelected")),9,v$),Re(l$,{"is-dark":!1,"embed-path":C$,onClick:M})]),E.value?(_e(),Ee("div",k$,Ce(E.value),1)):ft("",!0),Q("div",w$,[Q("div",L$,[Q("div",{ref_key:"mapContainer",ref:m,class:"pwp-map-el"},null,512),Q("div",P$,[Re(p$,{"map-container":m.value},null,8,["map-container"])])]),Q("div",S$,[g.length===0?(_e(),Ee("div",A$,Ce(i("emptyList")),1)):ft("",!0),(_e(!0),Ee(Ie,null,wa(g,A=>(_e(),Ee("div",{key:A.id,class:to(["pwp-item",{"is-selected":A.selected}]),onClick:v=>he(A.id)},[P.value===A.id?(_e(),Ee("input",{key:0,class:"pwp-item-title-input",type:"text",value:A.title,onClick:S[0]||(S[0]=Ba(()=>{},["stop"])),onKeydown:tp(v=>L(A.id,v.target.value),["enter"]),onBlur:v=>L(A.id,v.target.value),autofocus:""},null,40,x$)):(_e(),Ee("span",{key:1,class:"pwp-item-title",onDblclick:Ba(v=>p(A.id),["stop"]),title:A.title},Ce(A.title),41,T$)),Q("button",{type:"button",class:"pwp-item-del",onClick:Ba(v=>oe(A.id),["stop"]),"aria-label":i("deleteAria",{title:A.title})},Ce(i("delete")),9,R$)],10,E$))),128))])])],8,g$))}}),F$=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 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم <strong>باسم شعبهم</strong>."},"./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 <strong>mit dem Namen ihrer Volksgruppe</strong> 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 <strong>by their people group name</strong>."},"./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 <strong>por el nombre de su pueblo</strong>."},"./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 <strong>par le nom de leur peuple</strong>."},"./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 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए <strong>उनके जनसमूह के नाम से</strong> प्रार्थना करते हुए।"},"./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 <strong>con il nome del loro popolo</strong>."},"./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 <strong>pelo nome do seu povo</strong>."},"./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 <strong>pe numele poporului lor</strong>."},"./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, о котором можно молиться, распечатать и повесить на стену, молясь о них <strong>по имени их народа</strong>."},"./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 人名單,你可以為他們禱告、列印出來、貼在牆上 — <strong>按著他們族群的名字</strong>為他們禱告。"},"./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 数据匹配。并非全部都是前沿族群。"}}),kt={};for(const[e,o]of Object.entries(F$)){const t=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!t)continue;const[,n,s]=t;kt[n]??(kt[n]={}),kt[n][s]=o}kt.en;const ds=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],I$=new Set(["ar"]);function D$(){try{const e=new URLSearchParams(window.location.search);return(e.get("lang")||e.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}}function G$(){var n;const e=D$();if(ds.includes(e))return e;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return ds.includes(t)?t:"en"}function U$(){const e=G$();try{I$.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}const o=Ag({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:kt,missingWarn:!1,fallbackWarn:!1});Lo(o.global.locale,n=>V$(n),{immediate:!0});const t=o.install.bind(o);return o.install=(n,...s)=>{const a=t(n,...s);return n.provide("appI18n",o),a},o}const B$="__DOXA_PAGE_LOCALE";function V$(e){const o=String(e||"").split("-")[0].toLowerCase();if(ds.includes(o))try{typeof window<"u"&&(window[B$]=o)}catch{}}const z$=Zu(O$,{configureApp(e){const o=U$();e.use(o),e.provide("appI18n",o)}});typeof customElements<"u"&&!customElements.get("prayer-walk-planner")&&customElements.define("prayer-walk-planner",z$)})();
|