doxa-maps/public/doxa-maps/cities-internet/cities-internet.js
doxa-maps-88655c70 4cb04480cc
Some checks are pending
build-gate / build (push) Waiting to run
Localize tab labels for it/ro/zh, and prove the catalog is actually read
120 keys across three locales: legend.json (12 each), search.json kinds (10
each) and tabs.json (18 each, previously absent entirely). Each locale follows
its own established vocabulary rather than a parallel one — Popolo/Popor/民族,
matching the terms already used in that catalog's detail and legend strings.
zh stays Simplified here, as the rest of this tree is, even though the prayer
packet's zh block is Traditional: a reader sees 民族 next to 祷告进度, never
the two files side by side.

Ceilings drop 94 -> 54 per locale. regions.json is the only i18n debt left in
the app: 54 keys of full sentences, three locales.

WHY THE NEW GATE. check:i18n-parity compares catalogs TO EACH OTHER, so it
certifies a file no t() call ever reaches — perfect symmetry, zero consumers,
green forever. Grepping for t('tabs. found ZERO call sites and tabs.json was
nearly recorded as dead. It is not: the only consumer builds the key
dynamically (SemanticTreeLegend.vue:40, 'tabs.' + (tab.i18nKey || tab.id)),
which no literal-prefix grep can see. The reverse error appeared in the same
pass — regions. and options. matched only poster-regions.mjs and a JS options
parameter. Static reachability is unavailable in both directions, so
check:tabs-localized renders the labels and reads them.

It asserts DIFFERENCE from English, not mere presence: te() falls back to the
hardcoded English label, so "shows some text" passes on the exact failure
being tested. Mutation-tested three ways — missing catalog FAILs, an all-English
catalog FAILs (first draft PASSed it, taking a per-pair exemption seven times),
one legitimate collision still passes with a note.

Both i18n gates now run in gates:post; neither was wired into the build before.

Also fixed, found by the build rather than sought:
- check-i18n-parity hardcoded an absolute path, so the studio copy silently
  graded wt-packet's locales and reported PASS on a tree it never read. Now
  repo-relative. That exposed the studio's own locale tree as a strict subset,
  103 keys behind including buttons.json:share — the very orphan this gate's
  header says it was written to catch, reappeared unseen in a second repo.
  Synced forward: zero studio-only keys, zero text conflicts, lossless.
- index.json still declared field-access-visas with rows:1146, a leftover from
  the commit that removed that table as private. The generator already filters
  private tables; the committed artifact predated the filter. Removing the
  declaration also removes the row-count leak. Copying the file in would have
  reopened the leak.
- check:sfc-parse needs an installed node_modules and is the first pre-gate to
  fail without one, so a dependency-less worktree reads as a parse error.
  Documented, with the reason switching it to bun only appears to fix it.
2026-09-24 06:23:30 +00:00

380 lines
403 KiB
JavaScript
Generated
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function(){"use strict";var cr=typeof document<"u"?document.currentScript:null;const lb="modulepreload",cb=function(e){return"/"+e},ub={},ur=function(t,n,o){let s=Promise.resolve();function r(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return s.then(a=>{for(const i of a||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/**
* @vue/shared v3.5.42
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function pr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},_n=[],ft=()=>{},Es=()=>!1,ho=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),mo=e=>e.startsWith("onUpdate:"),Ne=Object.assign,dr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Kl=Object.prototype.hasOwnProperty,fe=(e,t)=>Kl.call(e,t),ee=Array.isArray,jt=e=>Mn(e)==="[object Map]",_o=e=>Mn(e)==="[object Set]",Ps=e=>Mn(e)==="[object Date]",oe=e=>typeof e=="function",be=e=>typeof e=="string",Xe=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",Ss=e=>(he(e)||oe(e))&&oe(e.then)&&oe(e.catch),Ls=Object.prototype.toString,Mn=e=>Ls.call(e),Xl=e=>Mn(e).slice(8,-1),bo=e=>Mn(e)==="[object Object]",yo=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rn=pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$o=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Jl=/-\w/g,xe=$o(e=>e.replace(Jl,t=>t.slice(1).toUpperCase())),Zl=/\B([A-Z])/g,tt=$o(e=>e.replace(Zl,"-$1").toLowerCase()),wo=$o(e=>e.charAt(0).toUpperCase()+e.slice(1)),gr=$o(e=>e?`on${wo(e)}`:""),ht=(e,t)=>!Object.is(e,t),fr=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Fs=(e,t,n,o=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Ql=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ts=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let xs;const vo=()=>xs||(xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bn(e){if(ee(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],s=be(o)?oc(o):bn(o);if(s)for(const r in s)t[r]=s[r]}return t}else if(be(e)||he(e))return e}const ec=/;(?![^(]*\))/g,tc=/:([^]+)/,nc=/\/\*[^]*?\*\//g;function oc(e){const t={};return e.replace(nc,"").split(ec).forEach(n=>{if(n){const o=n.split(tc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Pe(e){let t="";if(be(e))t=e;else if(ee(e))for(let n=0;n<e.length;n++){const o=Pe(e[n]);o&&(t+=o+" ")}else if(he(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const rc=pr("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Is(e){return!!e||e===""}function sc(e,t){if(e.length!==t.length)return!1;let n=!0;for(let o=0;n&&o<e.length;o++)n=ko(e[o],t[o]);return n}function Ms(e,t){if(e.size!==t.size)return!1;const n=Array.from(t),o=new Uint8Array(n.length);for(const s of e){let r=-1;for(let a=0;a<n.length;a++)if(!o[a]&&ko(s,n[a])){r=a;break}if(r<0)return!1;o[r]=1}return!0}function ko(e,t){if(e===t)return!0;let n=Ps(e),o=Ps(t);if(n||o)return n&&o?e.getTime()===t.getTime():!1;if(n=Xe(e),o=Xe(t),n||o)return e===t;if(n=ee(e),o=ee(t),n||o)return n&&o?sc(e,t):!1;if(n=he(e),o=he(t),n||o){if(!n||!o)return!1;if(n=jt(e),o=jt(t),n||o||(n=_o(e),o=_o(t),n||o))return n&&o?Ms(e,t):!1;const s=Object.keys(e).length,r=Object.keys(t).length;if(s!==r)return!1;for(const a in e){const i=e.hasOwnProperty(a),l=t.hasOwnProperty(a);if(i&&!l||!i&&l||!ko(e[a],t[a]))return!1}}return String(e)===String(t)}const Rs=e=>!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":ee(e)||he(e)&&(e.toString===Ls||!oe(e.toString))?Rs(e)?Q(e.value):JSON.stringify(e,Bs,2):String(e),Bs=(e,t)=>Rs(t)?Bs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[hr(o,r)+" =>"]=s,n),{})}:_o(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>hr(n))}:Xe(t)?hr(t):he(t)&&!ee(t)&&!bo(t)?String(t):t,hr=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.42
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Le;class Ds{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Le&&(Le.active?(this.parent=Le,this.index=(Le.scopes||(Le.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t<n;t++)o[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}const o=this.effects.slice();for(t=0,n=o.length;t<n;t++)o[t].resume()}}run(t){if(this._active){const n=Le;try{return Le=this,t()}finally{Le=n}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){if(this._on>0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(this.effects.length=0,n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const s=this.scopes.slice();for(n=0,o=s.length;n<o;n++)s[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0}}}function mr(e){return new Ds(e)}function Ws(){return Le}function ac(e,t=!1){Le&&Le.cleanups.push(e)}let ye;const _r=new WeakSet;class Gs{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Le&&(Le.active?Le.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,_r.has(this)&&(_r.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||js(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,qs(this),Vs(this);const t=ye,n=at;ye=this,at=!0;try{return this.fn()}finally{Ys(this),ye=t,at=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)wr(t);this.deps=this.depsTail=void 0,qs(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?_r.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){$r(this)&&this.run()}get dirty(){return $r(this)}}let Us=0,Bn,Dn;function js(e,t=!1){if(e.flags|=8,t){e.next=Dn,Dn=e;return}e.next=Bn,Bn=e}function br(){Us++}function yr(){if(--Us>0)return;if(Dn){let t=Dn;for(Dn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Bn;){let t=Bn;for(Bn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Vs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ys(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),wr(o),ic(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function $r(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(zs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function zs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wn)||(e.globalVersion=Wn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$r(e))))return;e.flags|=2;const t=e.dep,n=ye,o=at;ye=e,at=!0;try{Vs(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ye=n,at=o,Ys(e),e.flags&=-3}}function wr(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)wr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ic(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const Hs=[];function mt(){Hs.push(at),at=!1}function _t(){const e=Hs.pop();at=e===void 0?!0:e}function qs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let Wn=0;class lc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class vr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ye||!at||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new lc(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,Ks(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,Wn++,this.notify(t)}notify(t){br();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{yr()}}}function Ks(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Ks(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Oo=new WeakMap,an=Symbol(""),kr=Symbol(""),Gn=Symbol("");function Ue(e,t,n){if(at&&ye){let o=Oo.get(e);o||Oo.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new vr),s.map=o,s.key=n),s.track()}}function At(e,t,n,o,s,r){const a=Oo.get(e);if(!a){Wn++;return}const i=l=>{l&&l.trigger()};if(br(),t==="clear")a.forEach(i);else{const l=ee(e),c=l&&yo(n);if(l&&n==="length"){const u=Number(o);a.forEach((g,f)=>{(f==="length"||f===Gn||!Xe(f)&&f>=u)&&i(g)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(Gn)),t){case"add":l?c&&i(a.get("length")):(i(a.get(an)),jt(e)&&i(a.get(kr)));break;case"delete":l||(i(a.get(an)),jt(e)&&i(a.get(kr)));break;case"set":jt(e)&&i(a.get(an));break}}yr()}function cc(e,t){const n=Oo.get(e);return n&&n.get(t)}function yn(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Gn),Je(e)?t:t.map(it))}function Co(e){return Ue(e=pe(e),"iterate",Gn),e}function bt(e,t){return St(e)?wn(Pt(e)?it(t):t):it(t)}const uc={__proto__:null,[Symbol.iterator](){return Or(this,Symbol.iterator,e=>bt(this,e))},concat(...e){return yn(this).concat(...e.map(t=>ee(t)?yn(t):t))},entries(){return Or(this,"entries",e=>(e[1]=bt(this,e[1]),e))},every(e,t){return Et(this,"every",e,t,void 0,arguments)},filter(e,t){return Et(this,"filter",e,t,n=>n.map(o=>bt(this,o)),arguments)},find(e,t){return Et(this,"find",e,t,n=>bt(this,n),arguments)},findIndex(e,t){return Et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Et(this,"findLast",e,t,n=>bt(this,n),arguments)},findLastIndex(e,t){return Et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Et(this,"forEach",e,t,void 0,arguments)},includes(...e){return Cr(this,"includes",e)},indexOf(...e){return Cr(this,"indexOf",e)},join(e){return yn(this).join(e)},lastIndexOf(...e){return Cr(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return Un(this,"pop")},push(...e){return Un(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Un(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return Un(this,"splice",e)},toReversed(){return yn(this).toReversed()},toSorted(e){return yn(this).toSorted(e)},toSpliced(...e){return yn(this).toSpliced(...e)},unshift(...e){return Un(this,"unshift",e)},values(){return Or(this,"values",e=>bt(this,e))}};function Or(e,t,n){const o=Co(e),s=o[t]();return o!==e&&!Je(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=n(r.value)),r}),s}const pc=Array.prototype;function Et(e,t,n,o,s,r){const a=Co(e),i=a!==e&&!Je(e),l=a[t];if(l!==pc[t]){const g=l.apply(e,r);return i?it(g):g}let c=n;a!==e&&(i?c=function(g,f){return n.call(this,bt(e,g),f,e)}:n.length>2&&(c=function(g,f){return n.call(this,g,f,e)}));const u=l.call(a,c,o);return i&&s?s(u):u}function Xs(e,t,n,o){const s=Co(e),r=s!==e&&!Je(e);let a=n,i=!1;s!==e&&(r?(i=o.length===0,a=function(c,u,g){return i&&(i=!1,c=bt(e,c)),n.call(this,c,bt(e,u),g,e)}):n.length>3&&(a=function(c,u,g){return n.call(this,c,u,g,e)}));const l=s[t](a,...o);return i?bt(e,l):l}function Cr(e,t,n){const o=pe(e);Ue(o,"iterate",Gn);const s=o[t](...n);return(s===-1||s===!1)&&Lo(n[0])?(n[0]=pe(n[0]),o[t](...n)):s}function Un(e,t,n=[]){mt(),br();const o=pe(e)[t].apply(e,n);return yr(),_t(),o}const dc=pr("__proto__,__v_isRef,__isVue"),Js=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function gc(e){Xe(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Zs{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return r;if(n==="__v_raw")return o===(s?r?ra:oa:r?na:ta).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=ee(t);if(!s){let l;if(a&&(l=uc[n]))return l;if(n==="hasOwnProperty")return gc}const i=Reflect.get(t,n,Ce(t)?t:o);if((Xe(n)?Js.has(n):dc(n))||(s||Ue(t,"get",n),r))return i;if(Ce(i)){const l=a&&yo(n)?i:i.value;return s&&he(l)?Ar(l):l}return he(i)?s?Ar(i):Po(i):i}}class Qs extends Zs{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const a=ee(t)&&yo(n);if(!this._isShallow){const c=St(r);if(!Je(o)&&!St(o)&&(r=pe(r),o=pe(o)),!a&&Ce(r)&&!Ce(o))return c||(r.value=o),!0}const i=a?Number(n)<t.length:fe(t,n),l=Reflect.set(t,n,o,Ce(t)?t:s);return t===pe(s)&&l&&(i?ht(o,r)&&At(t,"set",n,o):At(t,"add",n,o)),l}deleteProperty(t,n){const o=fe(t,n);t[n];const s=Reflect.deleteProperty(t,n);return s&&o&&At(t,"delete",n,void 0),s}has(t,n){const o=Reflect.has(t,n);return(!Xe(n)||!Js.has(n))&&Ue(t,"has",n),o}ownKeys(t){return Ue(t,"iterate",ee(t)?"length":an),Reflect.ownKeys(t)}}class ea extends Zs{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const fc=new Qs,hc=new ea,mc=new Qs(!0),_c=new ea(!0),Nr=e=>e,No=e=>Reflect.getPrototypeOf(e);function bc(e,t,n){return function(...o){const s=this.__v_raw,r=pe(s),a=jt(r),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=s[e](...o),u=n?Nr:t?wn:it;return!t&&Ue(r,"iterate",l?kr:an),Ne(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:i?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Ao(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yc(e,t){const n={get(s){const r=this.__v_raw,a=pe(r),i=pe(s);e||(ht(s,i)&&Ue(a,"get",s),Ue(a,"get",i));const{has:l}=No(a),c=t?Nr:e?wn:it;if(l.call(a,s))return c(r.get(s));if(l.call(a,i))return c(r.get(i));r!==a&&r.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(pe(s),"iterate",an),s.size},has(s){const r=this.__v_raw,a=pe(r),i=pe(s);return e||(ht(s,i)&&Ue(a,"has",s),Ue(a,"has",i)),s===i?r.has(s):r.has(s)||r.has(i)},forEach(s,r){const a=this,i=a.__v_raw,l=pe(i),c=t?Nr:e?wn:it;return!e&&Ue(l,"iterate",an),i.forEach((u,g)=>s.call(r,c(u),c(g),a))}};return Ne(n,e?{add:Ao("add"),set:Ao("set"),delete:Ao("delete"),clear:Ao("clear")}:{add(s){const r=pe(this),a=No(r),i=pe(s),l=!t&&!Je(s)&&!St(s)?i:s;return a.has.call(r,l)||ht(s,l)&&a.has.call(r,s)||ht(i,l)&&a.has.call(r,i)||(r.add(l),At(r,"add",l,l)),this},set(s,r){!t&&!Je(r)&&!St(r)&&(r=pe(r));const a=pe(this),{has:i,get:l}=No(a);let c=i.call(a,s);c||(s=pe(s),c=i.call(a,s));const u=l.call(a,s);return a.set(s,r),c?ht(r,u)&&At(a,"set",s,r):At(a,"add",s,r),this},delete(s){const r=pe(this),{has:a,get:i}=No(r);let l=a.call(r,s);l||(s=pe(s),l=a.call(r,s)),i&&i.call(r,s);const c=r.delete(s);return l&&At(r,"delete",s,void 0),c},clear(){const s=pe(this),r=s.size!==0,a=s.clear();return r&&At(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=bc(s,e,t)}),n}function Eo(e,t){const n=yc(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(fe(n,s)&&s in o?n:o,s,r)}const $c={get:Eo(!1,!1)},wc={get:Eo(!1,!0)},vc={get:Eo(!0,!1)},kc={get:Eo(!0,!0)},ta=new WeakMap,na=new WeakMap,oa=new WeakMap,ra=new WeakMap;function Oc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Po(e){return St(e)?e:So(e,!1,fc,$c,ta)}function Cc(e){return So(e,!1,mc,wc,na)}function Ar(e){return So(e,!0,hc,vc,oa)}function db(e){return So(e,!0,_c,kc,ra)}function So(e,t,n,o,s){if(!he(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=s.get(e);if(r)return r;const a=Oc(Xl(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return s.set(e,i),i}function Pt(e){return St(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function St(e){return!!(e&&e.__v_isReadonly)}function Je(e){return!!(e&&e.__v_isShallow)}function Lo(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function $n(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&Fs(e,"__v_skip",!0),e}const it=e=>he(e)?Po(e):e,wn=e=>he(e)?Ar(e):e;function Ce(e){return e?e.__v_isRef===!0:!1}function re(e){return sa(e,!1)}function jn(e){return sa(e,!0)}function sa(e,t){return Ce(e)?e:new Nc(e,t)}class Nc{constructor(t,n){this.dep=new vr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:pe(t),this._value=n?t:it(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Je(t)||St(t);t=o?t:pe(t),ht(t,n)&&(this._rawValue=t,this._value=o?t:it(t),this.dep.trigger())}}function qe(e){return Ce(e)?e.value:e}const Ac={get:(e,t,n)=>t==="__v_raw"?e:qe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Ce(s)&&!Ce(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function aa(e){return Pt(e)?e:new Proxy(e,Ac)}function Ec(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=Sc(e,n);return t}class Pc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=pe(t);let s=!0,r=t;if(!ee(t)||Xe(this._key)||!yo(this._key))do s=!Lo(r)||Je(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=qe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ce(this._raw[this._key])){const n=this._object[this._key];if(Ce(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return cc(this._raw,this._key)}}function Sc(e,t,n){return new Pc(e,t,n)}class Lc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new vr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return js(this,!0),!0}get value(){const t=this.dep.track();return zs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Fc(e,t,n=!1){let o,s;return oe(e)?o=e:(o=e.get,s=e.set),new Lc(o,s,n)}const Fo={},To=new WeakMap;let ln;function Tc(e,t=!1,n=ln){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function xc(e,t,n=_e){const{immediate:o,deep:s,once:r,scheduler:a,augmentJob:i,call:l}=n,c=b=>s?b:Je(b)||s===!1||s===0?Lt(b,1):Lt(b);let u,g,f,_,$=!1,k=!1;if(Ce(e)?(g=()=>e.value,$=Je(e)):Pt(e)?(g=()=>c(e),$=!0):ee(e)?(k=!0,$=e.some(b=>Pt(b)||Je(b)),g=()=>e.map(b=>{if(Ce(b))return b.value;if(Pt(b))return c(b);if(oe(b))return l?l(b,2):b()})):oe(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){mt();try{f()}finally{_t()}}const b=ln;ln=u;try{return l?l(e,3,[_]):e(_)}finally{ln=b}}:g=ft,t&&s){const b=g,A=s===!0?1/0:s;g=()=>Lt(b(),A)}const C=Ws(),L=()=>{u.stop(),C&&C.active&&dr(C.effects,u)};if(r&&t){const b=t;t=(...A)=>{const O=b(...A);return L(),O}}let N=k?new Array(e.length).fill(Fo):Fo;const h=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const A=u.run();if(b||s||$||(k?A.some((O,E)=>ht(O,N[E])):ht(A,N))){f&&f();const O=ln;ln=u;try{const E=[A,N===Fo?void 0:k&&N[0]===Fo?[]:N,_];N=A,l?l(t,3,E):t(...E)}finally{ln=O}}}else u.run()};return i&&i(h),u=new Gs(g),u.scheduler=a?()=>a(h,!1):h,_=b=>Tc(b,!1,u),f=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const A of b)A();To.delete(u)}},t?o?h(!0):N=u.run():a?a(h.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function Lt(e,t=1/0,n){if(t<=0||!he(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ce(e))Lt(e.value,t,n);else if(ee(e))for(let o=0;o<e.length;o++)Lt(e[o],t,n);else if(_o(e)||jt(e))e.forEach(o=>{Lt(o,t,n)});else if(bo(e)){for(const o in e)Lt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Lt(e[o],t,n)}return e}/**
* @vue/runtime-core v3.5.42
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/const Vn=[];let Er=!1;function gb(e,...t){if(Er)return;Er=!0,mt();const n=Vn.length?Vn[Vn.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=Ic();if(o)vn(o,n,11,[e+t.map(r=>{var a,i;return(i=(a=r.toString)==null?void 0:a.call(r))!=null?i:JSON.stringify(r)}).join(""),n&&n.proxy,s.map(({vnode:r})=>`at <${si(n,r.type)}>`).join(`
`),s]);else{const r=[`[Vue warn]: ${e}`,...t];s.length&&r.push(`
`,...Mc(s)),console.warn(...r)}_t(),Er=!1}function Ic(){let e=Vn[Vn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Mc(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[`
`],...Rc(n))}),t}function Rc({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${si(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...Bc(e.props),r]:[s+r]}function Bc(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...ia(o,e[o]))}),n.length>3&&t.push(" ..."),t}function ia(e,t,n){return be(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ce(t)?(t=ia(e,pe(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),n?t:[`${e}=`,t])}function vn(e,t,n,o){try{return o?e(...o):e()}catch(s){Yn(s,t,n)}}function lt(e,t,n,o){if(oe(e)){const s=vn(e,t,n,o);return s&&Ss(s)&&s.catch(r=>{Yn(r,t,n)}),s}if(ee(e)){const s=[];for(let r=0;r<e.length;r++)s.push(lt(e[r],t,n,o));return s}}function Yn(e,t,n,o=!0){const s=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:a}=t&&t.appContext.config||_e;if(t){let i=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;i;){const u=i.ec;if(u){for(let g=0;g<u.length;g++)if(u[g](e,l,c)===!1)return}i=i.parent}if(r){mt(),vn(r,null,10,[e,l,c]),_t();return}}Dc(e,n,s,o,a)}function Dc(e,t,n,o=!0,s=!1){if(s)throw e;console.error(e)}const je=[];let yt=-1;const kn=[];let Vt=null,On=0;const la=Promise.resolve();let xo=null;function zn(e){const t=xo||la;return e?t.then(this?e.bind(this):e):t}function Wc(e){let t=yt+1,n=je.length;for(;t<n;){const o=t+n>>>1,s=je[o],r=Hn(s);r<e||r===e&&s.flags&2?t=o+1:n=o}return t}function Pr(e){if(!(e.flags&1)){const t=Hn(e),n=je[je.length-1];!n||!(e.flags&2)&&t>=Hn(n)?je.push(e):je.splice(Wc(t),0,e),e.flags|=1,ca()}}function ca(){xo||(xo=la.then(da))}function Gc(e){if(!ee(e))Vt&&e.id===-1?Vt.splice(On+1,0,e):e.flags&1||(kn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)kn.push(e[t]);ca()}function ua(e,t,n=yt+1){for(;n<je.length;n++){const o=je[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;je.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2)}}}function pa(e){if(kn.length){const t=[...new Set(kn)].sort((n,o)=>Hn(n)-Hn(o));if(kn.length=0,Vt){for(let n=0;n<t.length;n++)Vt.push(t[n]);return}for(Vt=t,On=0;On<Vt.length;On++){const n=Vt[On];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Vt=null,On=0}}const Hn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function da(e){try{for(yt=0;yt<je.length;yt++){const t=je[yt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),vn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;yt<je.length;yt++){const t=je[yt];t&&(t.flags&=-2)}yt=-1,je.length=0,pa(),xo=null,(je.length||kn.length)&&da()}}let Be=null,ga=null;function Io(e){const t=Be;return Be=e,ga=e&&e.type.__scopeId||null,t}function Yt(e,t=Be,n){if(!t||e._n)return e;const o=(...s)=>{o._d&&Yo(-1);const r=Io(t),a=Tt.length;let i;try{i=e(...s)}finally{for(let l=Tt.length;l>a;l--)Hr();Io(r),o._d&&Yo(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Uc(e,t){if(Be===null)return e;const n=Ko(Be),o=e.dirs||(e.dirs=[]);for(let s=0;s<t.length;s++){let[r,a,i,l=_e]=t[s];r&&(oe(r)&&(r={mounted:r,updated:r}),r.deep&&Lt(a),o.push({dir:r,instance:n,value:a,oldValue:void 0,arg:i,modifiers:l}))}return e}function cn(e,t,n,o){const s=e.dirs,r=t&&t.dirs;for(let a=0;a<s.length;a++){const i=s[a];r&&(i.oldValue=r[a].value);let l=i.dir[o];l&&(mt(),lt(l,n,8,[e.el,i,e,t]),_t())}}function nt(e,t){if(De){let n=De.provides;const o=De.parent&&De.parent.provides;o===n&&(n=De.provides=Object.create(o)),n[e]=t}}function Ie(e,t,n=!1){const o=It();if(o||pn){let s=pn?pn._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&oe(t)?t.call(o&&o.proxy):t}}function jc(){return!!(It()||pn)}const Vc=Symbol.for("v-scx"),Yc=()=>Ie(Vc);function zc(e,t){return Sr(e,null,t)}function ot(e,t,n){return Sr(e,t,n)}function Sr(e,t,n=_e){const{immediate:o,deep:s,flush:r,once:a}=n,i=Ne({},n),l=t&&o||!t&&r!=="post";let c;if(An){if(r==="sync"){const _=Yc();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=ft,_.resume=ft,_.pause=ft,_}}const u=De;i.call=(_,$,k)=>lt(_,u,$,k);let g=!1;r==="post"?i.scheduler=_=>{Ye(_,u&&u.suspense)}:r!=="sync"&&(g=!0,i.scheduler=(_,$)=>{$?_():Pr(_)}),i.augmentJob=_=>{t&&(_.flags|=4),g&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const f=xc(e,t,i);return An&&(c?c.push(f):l&&f()),f}function Hc(e,t,n){const o=this.proxy,s=be(e)?e.includes(".")?fa(o,e):()=>o[e]:e.bind(o,o);let r;oe(t)?r=t:(r=t.handler,n=t);const a=ro(this),i=Sr(s,r.bind(o),n);return a(),i}function fa(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;s<n.length&&o;s++)o=o[n[s]];return o}}const zt=new WeakMap,ha=Symbol("_vte"),Mo=e=>e.__isTeleport,un=e=>e&&(e.disabled||e.disabled===""),qc=e=>e&&(e.defer||e.defer===""),ma=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_a=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Lr=(e,t)=>{const n=e&&e.to;return be(n)?t?t(n):null:n},Kc={name:"Teleport",__isTeleport:!0,process(e,t,n,o,s,r,a,i,l,c){const{mc:u,pc:g,pbc:f,o:{insert:_,querySelector:$,createText:k,createComment:C,parentNode:L}}=c,N=un(t.props);let{dynamicChildren:h}=t;const b=(E,F,v)=>{E.shapeFlag&16&&u(E.children,F,v,s,r,a,i,l)},A=(E=t)=>{const F=un(E.props),v=E.target=Lr(E.props,$),D=Fr(v,E,k,_);v&&(a!=="svg"&&ma(v)?a="svg":a!=="mathml"&&_a(v)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(v),F||(b(E,v,D),qn(E,!1)))},O=E=>{const F=()=>{if(zt.get(E)===F){if(zt.delete(E),un(E.props)){const v=L(E.el)||n;b(E,v,E.anchor),qn(E,!0)}A(E)}};zt.set(E,F),Ye(F,r)};if(e==null){const E=t.el=k(""),F=t.anchor=k("");if(_(E,n,o),_(F,n,o),qc(t.props)||r&&r.pendingBranch){O(t);return}N&&(b(t,n,F),qn(t,!0)),A()}else{t.el=e.el;const E=t.anchor=e.anchor,F=zt.get(e);if(F){F.flags|=8,zt.delete(e),O(t);return}t.targetStart=e.targetStart;const v=t.target=e.target,D=t.targetAnchor=e.targetAnchor,U=un(e.props),K=U?n:v,ne=U?E:D;if(a==="svg"||ma(v)?a="svg":(a==="mathml"||_a(v))&&(a="mathml"),h?(f(e.dynamicChildren,h,K,s,r,a,i),Yr(e,t,!0)):l||g(e,t,K,ne,s,r,a,i,!1),N)U?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ro(t,n,E,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ue=Lr(t.props,$);ue&&(t.target=ue,Ro(t,ue,null,c,0))}else U&&Ro(t,v,D,c,1);qn(t,N)}},remove(e,t,n,{um:o,o:{remove:s}},r){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,_=un(f),$=r||!_,k=zt.get(e);if(k&&(k.flags|=8,zt.delete(e)),g&&(s(c),s(u)),r&&s(l),!k&&(_||g)&&a&16)for(let C=0;C<i.length;C++){const L=i[C];o(L,t,n,$,!!L.dynamicChildren)}},move:Ro,hydrate:Xc};function Ro(e,t,n,{o:{insert:o},m:s},r=2){r===0&&o(e.targetAnchor,t,n);const{el:a,anchor:i,shapeFlag:l,children:c,props:u}=e,g=r===2;if(g&&o(a,t,n),!zt.has(e)&&(!g||un(u))&&l&16)for(let f=0;f<c.length;f++)s(c[f],t,n,2);g&&o(i,t,n)}function Xc(e,t,n,o,s,r,{o:{nextSibling:a,parentNode:i,querySelector:l,insert:c,createText:u}},g){function f(C,L){let N=L;for(;N;){if(N&&N.nodeType===8){if(N.data==="teleport start anchor")t.targetStart=N;else if(N.data==="teleport anchor"){t.targetAnchor=N,C._lpa=t.targetAnchor&&a(t.targetAnchor);break}}N=a(N)}}function _(C,L){L.anchor=g(a(C),L,i(C),n,o,s,r)}const $=t.target=Lr(t.props,l),k=un(t.props);if($){const C=$._lpa||$.firstChild;t.shapeFlag&16&&(k?(_(e,t),f($,C),t.targetAnchor||Fr($,t,u,c,i(e)===$?e:null)):(t.anchor=a(e),f($,C),t.targetAnchor||Fr($,t,u,c),g(C&&a(C),t,$,n,o,s,r))),qn(t,k)}else k&&t.shapeFlag&16&&(_(e,t),t.targetStart=e,t.targetAnchor=a(e));return t.anchor&&a(t.anchor)}const Jc=Kc;function qn(e,t){const n=e.ctx;if(n&&n.ut){let o,s;for(t?(o=e.el,s=e.anchor):(o=e.targetStart,s=e.targetAnchor);o&&o!==s;)o.nodeType===1&&o.setAttribute("data-v-owner",n.uid),o=o.nextSibling;n.ut()}}function Fr(e,t,n,o,s=null){const r=t.targetStart=n(""),a=t.targetAnchor=n("");return r[ha]=a,e&&(o(r,e,s),o(a,e,s)),a}const Tr=Symbol("_leaveCb");function Zc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==$t){t=n;break}}return t}function ba(e){if(!Wo(e))return Mo(e.type)&&e.children?Zc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&oe(n.default))return n.default()}}function xr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;xr(Mo(n.type)&&ba(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Kn(e,t){return oe(e)?Ne({name:e.name},t,{setup:e}):e}function Ir(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ya(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Bo=new WeakMap;function Xn(e,t,n,o,s=!1){if(ee(e)){e.forEach((k,C)=>Xn(k,t&&(ee(t)?t[C]:t),n,o,s));return}if(Cn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Xn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?Ko(o.component):o.el,a=s?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===_e?i.refs={}:i.refs,g=i.setupState,f=pe(g),_=g===_e?Es:k=>ya(u,k)?!1:fe(f,k),$=(k,C)=>!(C&&ya(u,C));if(c!=null&&c!==l){if($a(t),be(c))u[c]=null,_(c)&&(g[c]=null);else if(Ce(c)){const k=t;$(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(oe(l))vn(l,i,12,[a,u]);else{const k=be(l),C=Ce(l);if(k||C){const L=()=>{if(e.f){const N=k?_(l)?g[l]:u[l]:$()||!e.k?l.value:u[e.k];if(s)ee(N)&&dr(N,r);else if(ee(N))N.includes(r)||N.push(r);else if(k)u[l]=[r],_(l)&&(g[l]=u[l]);else{const h=[r];$(l,e.k)&&(l.value=h),e.k&&(u[e.k]=h)}}else k?(u[l]=a,_(l)&&(g[l]=a)):C&&($(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const N=()=>{L(),Bo.delete(e)};N.id=-1,Bo.set(e,N),Ye(N,n)}else $a(e),L()}}}function $a(e){const t=Bo.get(e);t&&(t.flags|=8,Bo.delete(e))}const wa=e=>e.nodeType===8;vo().requestIdleCallback,vo().cancelIdleCallback;function Qc(e,t){if(wa(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(wa(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Cn=e=>!!e.type.__asyncLoader;function eu(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,_()),_=()=>{let $;return c||($=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((C,L)=>{l(k,()=>C(f()),()=>L(k),g+1)});throw k}).then(k=>$!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Kn({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate($,k,C){const L=$.isConnected;let N=!1;(k.bu||(k.bu=[])).push(()=>N=!0);const h=()=>{N||!$.parentNode||L&&!$.isConnected||C()},b=r?()=>{const A=r(h,O=>Qc($,O));A&&(k.bum||(k.bum=[])).push(A)}:h;u?b():_().then(()=>!k.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const $=De;if(Ir($),u)return()=>Do(u,$);const k=A=>{c=null,Yn(A,$,13,!o)};if(i&&$.suspense||An)return _().then(A=>()=>Do(A,$)).catch(A=>(k(A),()=>o?$e(o,{error:A}):null));const C=re(!1),L=re(),N=re(!!s);let h,b;return Uo(()=>{h!=null&&clearTimeout(h),b!=null&&clearTimeout(b)}),s&&(b=setTimeout(()=>{$.isUnmounted||(N.value=!1)},s)),a!=null&&(h=setTimeout(()=>{if(!$.isUnmounted&&!C.value&&!L.value){const A=new Error(`Async component timed out after ${a}ms.`);k(A),L.value=A}},a)),_().then(()=>{$.isUnmounted||(C.value=!0,$.parent&&Wo($.parent.vnode)&&$.parent.update())}).catch(A=>{if($.isUnmounted){c=null;return}k(A),L.value=A}),()=>{if(C.value&&u)return Do(u,$);if(L.value&&o)return $e(o,{error:L.value});if(n&&!N.value)return Do(n,$)}}})}function Do(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,a=$e(e,o,s);return a.ref=n,a.ce=r,delete t.vnode.ce,a}const Wo=e=>e.type.__isKeepAlive;function tu(e,t){va(e,"a",t)}function nu(e,t){va(e,"da",t)}function va(e,t,n=De){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Go(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Wo(s.parent.vnode)&&ou(o,t,n,s),s=s.parent}}function ou(e,t,n,o){const s=Go(t,e,o,!0);Uo(()=>{dr(o[t],s)},n)}function Go(e,t,n=De,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...a)=>{mt();const i=ro(n),l=lt(t,n,e,a);return i(),_t(),l});return o?s.unshift(r):s.push(r),r}}const Ft=e=>(t,n=De)=>{(!An||e==="sp")&&Go(e,(...o)=>t(...o),n)},ka=Ft("bm"),Ht=Ft("m"),ru=Ft("bu"),su=Ft("u"),qt=Ft("bum"),Uo=Ft("um"),au=Ft("sp"),iu=Ft("rtg"),lu=Ft("rtc");function cu(e,t=De){Go("ec",e,t)}const uu="components",Oa=Symbol.for("v-ndc");function Ca(e){return be(e)?pu(uu,e,!1)||e:e||Oa}function pu(e,t,n=!0,o=!1){const s=Be||De;if(s){const r=s.type;{const i=ri(r,!1);if(i&&(i===t||i===xe(t)||i===wo(xe(t))))return r}const a=Na(s[e]||r[e],t)||Na(s.appContext[e],t);return!a&&o?r:a}}function Na(e,t){return e&&(e[t]||e[xe(t)]||e[wo(xe(t))])}function ct(e,t,n,o){let s;const r=n,a=ee(e);if(a||be(e)){const i=a&&Pt(e);let l=!1,c=!1;i&&(l=!Je(e),c=St(e),e=Co(e)),s=new Array(e.length);for(let u=0,g=e.length;u<g;u++)s[u]=t(l?c?wn(it(e[u])):it(e[u]):e[u],u,void 0,r)}else if(typeof e=="number"){s=new Array(e);for(let i=0;i<e;i++)s[i]=t(i+1,i,void 0,r)}else if(he(e))if(e[Symbol.iterator])s=Array.from(e,(i,l)=>t(i,l,void 0,r));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;l<c;l++){const u=i[l];s[l]=t(e[u],u,l,r)}}else s=[];return s}function Mr(e,t,n,o,s,r){if(n==null&&(n={}),Be.ce||Be.parent&&Cn(Be.parent)&&Be.parent.ce){const c=n,u=Object.keys(c).length>0;return z(),Qe(de,null,[$e("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=Tt.length;z();let l;try{const c=a&&Aa(a(n)),u=n.key||r||c&&c.key;l=Qe(de,{key:(u&&!Xe(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=Tt.length;u>i;u--)Hr();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Aa(e){return e.some(t=>to(t)?!(t.type===$t||t.type===de&&!Aa(t.children)):!0)?e:null}const Rr=e=>e?ti(e)?Ko(e):Rr(e.parent):null,Jn=Ne(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=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>La(e),$forceUpdate:e=>e.f||(e.f=()=>{Pr(e.update)}),$nextTick:e=>e.n||(e.n=zn.bind(e.proxy)),$watch:e=>Hc.bind(e)}),Br=(e,t)=>e!==_e&&!e.__isScriptSetup&&fe(e,t),du={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const f=a[t];if(f!==void 0)switch(f){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(Br(o,t))return a[t]=1,o[t];if(s!==_e&&fe(s,t))return a[t]=2,s[t];if(fe(r,t))return a[t]=3,r[t];if(n!==_e&&fe(n,t))return a[t]=4,n[t];Dr&&(a[t]=0)}}const c=Jn[t];let u,g;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==_e&&fe(n,t))return a[t]=4,n[t];if(g=l.config.globalProperties,fe(g,t))return g[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return Br(s,t)?(s[t]=n,!0):o!==_e&&fe(o,t)?(o[t]=n,!0):fe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,props:r,type:a}},i){let l;return!!(n[i]||e!==_e&&i[0]!=="$"&&fe(e,i)||Br(t,i)||fe(r,i)||fe(o,i)||fe(Jn,i)||fe(s.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:fe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ea(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Dr=!0;function gu(e){const t=La(e),n=e.proxy,o=e.ctx;Dr=!1,t.beforeCreate&&Pa(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:_,updated:$,activated:k,deactivated:C,beforeDestroy:L,beforeUnmount:N,destroyed:h,unmounted:b,render:A,renderTracked:O,renderTriggered:E,errorCaptured:F,serverPrefetch:v,expose:D,inheritAttrs:U,components:K,directives:ne,filters:ue}=t;if(c&&fu(c,o,null),a)for(const X in a){const le=a[X];oe(le)&&(o[X]=le.bind(n))}if(s){const X=s.call(n,n);he(X)&&(e.data=Po(X))}if(Dr=!0,r)for(const X in r){const le=r[X],Ee=oe(le)?le.bind(n,n):oe(le.get)?le.get.bind(n,n):ft,Ct=!oe(le)&&oe(le.set)?le.set.bind(n):ft,Te=ae({get:Ee,set:Ct});Object.defineProperty(o,X,{enumerable:!0,configurable:!0,get:()=>Te.value,set:Re=>Te.value=Re})}if(i)for(const X in i)Sa(i[X],o,n,X);if(l){const X=oe(l)?l.call(n):l;Reflect.ownKeys(X).forEach(le=>{nt(le,X[le])})}u&&Pa(u,e,"c");function W(X,le){ee(le)?le.forEach(Ee=>X(Ee.bind(n))):le&&X(le.bind(n))}if(W(ka,g),W(Ht,f),W(ru,_),W(su,$),W(tu,k),W(nu,C),W(cu,F),W(lu,O),W(iu,E),W(qt,N),W(Uo,b),W(au,v),ee(D))if(D.length){const X=e.exposed||(e.exposed={});D.forEach(le=>{Object.defineProperty(X,le,{get:()=>n[le],set:Ee=>n[le]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===ft&&(e.render=A),U!=null&&(e.inheritAttrs=U),K&&(e.components=K),ne&&(e.directives=ne),v&&Ir(e)}function fu(e,t,n=ft){ee(e)&&(e=Wr(e));for(const o in e){const s=e[o];let r;he(s)?"default"in s?r=Ie(s.from||o,s.default,!0):r=Ie(s.from||o):r=Ie(s),Ce(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[o]=r}}function Pa(e,t,n){lt(ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Sa(e,t,n,o){let s=o.includes(".")?fa(n,o):()=>n[o];if(be(e)){const r=t[e];oe(r)&&ot(s,r)}else if(oe(e))ot(s,e.bind(n));else if(he(e))if(ee(e))e.forEach(r=>Sa(r,t,n,o));else{const r=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(r)&&ot(s,r,e)}}function La(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:a}}=e.appContext,i=r.get(t);let l;return i?l=i:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>jo(l,c,a,!0)),jo(l,t,a)),he(t)&&r.set(t,l),l}function jo(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&jo(e,r,n,!0),s&&s.forEach(a=>jo(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=hu[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const hu={data:Fa,props:Ta,emits:Ta,methods:Zn,computed:Zn,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:Zn,directives:Zn,watch:_u,provide:Fa,inject:mu};function Fa(e,t){return t?e?function(){return Ne(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function mu(e,t){return Zn(Wr(e),Wr(t))}function Wr(e){if(ee(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ve(e,t){return e?[...new Set([].concat(e,t))]:t}function Zn(e,t){return e?Ne(Object.create(null),e,t):t}function Ta(e,t){return e?ee(e)&&ee(t)?[...new Set([...e,...t])]:Ne(Object.create(null),Ea(e),Ea(t??{})):t}function _u(e,t){if(!e)return t;if(!t)return e;const n=Ne(Object.create(null),e);for(const o in t)n[o]=Ve(e[o],t[o]);return n}function xa(){return{app:null,config:{isNativeTag:Es,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 bu=0;function yu(e,t){return function(o,s=null){oe(o)||(o=Ne({},o)),s!=null&&!he(s)&&(s=null);const r=xa(),a=new WeakSet,i=[];let l=!1;const c=r.app={_uid:bu++,_component:o,_props:s,_container:null,_context:r,_instance:null,version:Ju,get config(){return r.config},set config(u){},use(u,...g){return a.has(u)||(u&&oe(u.install)?(a.add(u),u.install(c,...g)):oe(u)&&(a.add(u),u(c,...g))),c},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),c},component(u,g){return g?(r.components[u]=g,c):r.components[u]},directive(u,g){return g?(r.directives[u]=g,c):r.directives[u]},mount(u,g,f){if(!l){const _=c._ceVNode||$e(o,s);return _.appContext=r,f===!0?f="svg":f===!1&&(f=void 0),e(_,u,f),l=!0,c._container=u,u.__vue_app__=c,Ko(_.component)}},onUnmount(u){i.push(u)},unmount(){l&&(lt(i,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,g){return r.provides[u]=g,c},runWithContext(u){const g=pn;pn=c;try{return u()}finally{pn=g}}};return c}}let pn=null;const $u=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${tt(t)}Modifiers`];function wu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let s=n;const r=t.startsWith("update:"),a=r&&$u(o,t.slice(7));a&&(a.trim&&(s=n.map(u=>be(u)?u.trim():u)),a.number&&(s=s.map(Ql)));let i,l=o[i=gr(t)]||o[i=gr(xe(t))];!l&&r&&(l=o[i=gr(tt(t))]),l&&lt(l,e,6,s);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,lt(c,e,6,s)}}const vu=new WeakMap;function Ia(e,t,n=!1){const o=n?vu:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let a={},i=!1;if(!oe(e)){const l=c=>{const u=Ia(c,t,!0);u&&(i=!0,Ne(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(he(e)&&o.set(e,null),null):(ee(r)?r.forEach(l=>a[l]=null):Ne(a,r),he(e)&&o.set(e,a),a)}function Vo(e,t){return!e||!ho(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,tt(t))||fe(e,t))}function fb(){}function Ma(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:g,data:f,setupState:_,ctx:$,inheritAttrs:k}=e,C=Io(e);let L,N;try{if(n.shapeFlag&4){const b=s||o,A=b;L=wt(c.call(A,b,u,g,_,f,$)),N=i}else{const b=t;L=wt(b.length>1?b(g,{attrs:i,slots:a,emit:l}):b(g,null)),N=t.props?i:ku(i)}}catch(b){Tt.length=0,Yn(b,e,1),L=$e($t)}let h=L;if(N&&k!==!1){const b=Object.keys(N),{shapeFlag:A}=h;b.length&&A&7&&(r&&b.some(mo)&&(N=Ou(N,r)),h=Nn(h,N,!1,!0))}if(n.dirs&&(h=Nn(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(n.dirs):n.dirs),n.transition){const b=Mo(h.type)&&ba(h)||h;xr(b,n.transition)}return L=h,Io(C),L}const ku=e=>{let t;for(const n in e)(n==="class"||n==="style"||ho(n))&&((t||(t={}))[n]=e[n]);return t},Ou=(e,t)=>{const n={};for(const o in e)(!mo(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Cu(e,t,n){const{props:o,children:s,component:r}=e,{props:a,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Ra(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let g=0;g<u.length;g++){const f=u[g];if(Ba(a,o,f)&&!Vo(c,f))return!0}}}else return(s||i)&&(!i||!i.$stable)?!0:o===a?!1:o?a?Ra(o,a,c):!0:!!a;return!1}function Ra(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let s=0;s<o.length;s++){const r=o[s];if(Ba(t,e,r)&&!Vo(n,r))return!0}return!1}function Ba(e,t,n){const o=e[n],s=t[n];return n==="style"&&he(o)&&he(s)?!ko(o,s):o!==s}function Nu({vnode:e,parent:t,suspense:n},o){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.suspense.vnode.el=s.el=o,e=s),s===e)(e=t.vnode).el=o,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=o)}const Da={},Wa=()=>Object.create(Da),Ga=e=>Object.getPrototypeOf(e)===Da;function Au(e,t,n,o=!1){const s={},r=Wa();e.propsDefaults=Object.create(null),Ua(e,t,s,r);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=o?s:Cc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function Eu(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:a}}=e,i=pe(s),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let g=0;g<u.length;g++){let f=u[g];if(Vo(e.emitsOptions,f))continue;const _=t[f];if(l)if(fe(r,f))_!==r[f]&&(r[f]=_,c=!0);else{const $=xe(f);s[$]=Gr(l,i,$,_,e,!1)}else _!==r[f]&&(r[f]=_,c=!0)}}}else{Ua(e,t,s,r)&&(c=!0);let u;for(const g in i)(!t||!fe(t,g)&&((u=tt(g))===g||!fe(t,u)))&&(l?n&&(n[g]!==void 0||n[u]!==void 0)&&(s[g]=Gr(l,i,g,void 0,e,!0)):delete s[g]);if(r!==i)for(const g in r)(!t||!fe(t,g))&&(delete r[g],c=!0)}c&&At(e.attrs,"set","")}function Ua(e,t,n,o){const[s,r]=e.propsOptions;let a=!1,i;if(t)for(let l in t){if(Rn(l))continue;const c=t[l];let u;s&&fe(s,u=xe(l))?!r||!r.includes(u)?n[u]=c:(i||(i={}))[u]=c:Vo(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,a=!0)}if(r){const l=pe(n),c=i||_e;for(let u=0;u<r.length;u++){const g=r[u];n[g]=Gr(s,l,g,c[g],e,!fe(c,g))}}return a}function Gr(e,t,n,o,s,r){const a=e[n];if(a!=null){const i=fe(a,"default");if(i&&o===void 0){const l=a.default;if(a.type!==Function&&!a.skipFactory&&oe(l)){const{propsDefaults:c}=s;if(n in c)o=c[n];else{const u=ro(s);o=c[n]=l.call(null,t),u()}}else o=l;s.ce&&s.ce._setProp(n,o)}a[0]&&(r&&!i?o=!1:a[1]&&(o===""||o===tt(n))&&(o=!0))}return o}const Pu=new WeakMap;function ja(e,t,n=!1){const o=n?Pu:t.propsCache,s=o.get(e);if(s)return s;const r=e.props,a={},i=[];let l=!1;if(!oe(e)){const u=g=>{l=!0;const[f,_]=ja(g,t,!0);Ne(a,f),_&&i.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return he(e)&&o.set(e,_n),_n;if(ee(r))for(let u=0;u<r.length;u++){const g=xe(r[u]);Va(g)&&(a[g]=_e)}else if(r)for(const u in r){const g=xe(u);if(Va(g)){const f=r[u],_=a[g]=ee(f)||oe(f)?{type:f}:Ne({},f),$=_.type;let k=!1,C=!0;if(ee($))for(let L=0;L<$.length;++L){const N=$[L],h=oe(N)&&N.name;if(h==="Boolean"){k=!0;break}else h==="String"&&(C=!1)}else k=oe($)&&$.name==="Boolean";_[0]=k,_[1]=C,(k||fe(_,"default"))&&i.push(g)}}const c=[a,i];return he(e)&&o.set(e,c),c}function Va(e){return e[0]!=="$"&&!Rn(e)}const Ur=e=>e==="_"||e==="_ctx"||e==="$stable",jr=e=>ee(e)?e.map(wt):[wt(e)],Su=(e,t,n)=>{if(t._n)return t;const o=Yt((...s)=>jr(t(...s)),n);return o._c=!1,o},Ya=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Ur(s))continue;const r=e[s];if(oe(r))t[s]=Su(s,r,o);else if(r!=null){const a=jr(r);t[s]=()=>a}}},za=(e,t)=>{const n=jr(t);e.slots.default=()=>n},Ha=(e,t,n)=>{for(const o in t)(n||!Ur(o))&&(e[o]=t[o])},Lu=(e,t,n)=>{const o=e.slots=Wa();if(e.vnode.shapeFlag&32){const s=t._;s?(Ha(o,t,n),n&&Fs(o,"_",s,!0)):Ya(t,o)}else t&&za(e,t)},Fu=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,a=_e;if(o.shapeFlag&32){const i=t._;i?n&&i===1?r=!1:Ha(s,t,n):(r=!t.$stable,Ya(t,s)),a=t}else t&&(za(e,t),a={default:1});if(r)for(const i in s)!Ur(i)&&a[i]==null&&delete s[i]},Ye=Ru;function Tu(e){return xu(e)}function xu(e,t){const n=vo();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:_=ft,insertStaticContent:$}=e,k=(m,w,y,T=null,B=null,R=null,V=void 0,j=null,p=!!w.dynamicChildren)=>{if(m===w)return;m&&!no(m,w)&&(T=Gt(m),Re(m,B,R,!0),m=null),w.patchFlag===-2&&(p=!1,w.dynamicChildren=null);const{type:d,ref:S,shapeFlag:x}=w;switch(d){case Qn:C(m,w,y,T);break;case $t:L(m,w,y,T);break;case zr:m==null&&N(w,y,T,V);break;case de:K(m,w,y,T,B,R,V,j,p);break;default:x&1?A(m,w,y,T,B,R,V,j,p):x&6?ne(m,w,y,T,B,R,V,j,p):(x&64||x&128)&&d.process(m,w,y,T,B,R,V,j,p,st)}S!=null&&B?Xn(S,m&&m.ref,R,w||m,!w):S==null&&m&&m.ref!=null&&Xn(m.ref,null,R,m,!0)},C=(m,w,y,T)=>{if(m==null)o(w.el=i(w.children),y,T);else{const B=w.el=m.el;w.children!==m.children&&c(B,w.children)}},L=(m,w,y,T)=>{m==null?o(w.el=l(w.children||""),y,T):w.el=m.el},N=(m,w,y,T)=>{[m.el,m.anchor]=$(m.children,w,y,T,m.el,m.anchor)},h=({el:m,anchor:w},y,T)=>{let B;for(;m&&m!==w;)B=f(m),o(m,y,T),m=B;o(w,y,T)},b=({el:m,anchor:w})=>{let y;for(;m&&m!==w;)y=f(m),s(m),m=y;s(w)},A=(m,w,y,T,B,R,V,j,p)=>{if(w.type==="svg"?V="svg":w.type==="math"&&(V="mathml"),m==null)O(w,y,T,B,R,V,j,p);else{const d=m.el&&m.el._isVueCE?m.el:null;try{d&&d._beginPatch(),v(m,w,B,R,V,j,p)}finally{d&&d._endPatch()}}},O=(m,w,y,T,B,R,V,j)=>{let p,d;const{props:S,shapeFlag:x,transition:Y,dirs:G}=m;if(p=m.el=a(m.type,R,S&&S.is,S),x&8?u(p,m.children):x&16&&F(m.children,p,null,T,B,Vr(m,R),V,j),G&&cn(m,null,T,"created"),E(p,m,m.scopeId,V,T),S){for(const M in S)M!=="value"&&!Rn(M)&&r(p,M,null,S[M],R,T);"value"in S&&r(p,"value",null,S.value,R),(d=S.onVnodeBeforeMount)&&vt(d,T,m)}G&&cn(m,null,T,"beforeMount");const P=Iu(B,Y);P&&Y.beforeEnter(p),o(p,w,y),((d=S&&S.onVnodeMounted)||P||G)&&Ye(()=>{try{d&&vt(d,T,m),P&&Y.enter(p),G&&cn(m,null,T,"mounted")}finally{}},B)},E=(m,w,y,T,B)=>{if(y&&_(m,y),T)for(let R=0;R<T.length;R++)_(m,T[R]);if(B){let R=B.subTree;if(w===R||Ja(R.type)&&(R.ssContent===w||R.ssFallback===w)){const V=B.vnode;E(m,V,V.scopeId,V.slotScopeIds,B.parent)}}},F=(m,w,y,T,B,R,V,j,p=0)=>{for(let d=p;d<m.length;d++){const S=m[d]=j?xt(m[d]):wt(m[d]);k(null,S,w,y,T,B,R,V,j)}},v=(m,w,y,T,B,R,V)=>{const j=w.el=m.el;let{patchFlag:p,dynamicChildren:d,dirs:S}=w;p|=m.patchFlag&16;const x=m.props||_e,Y=w.props||_e;let G;if(y&&dn(y,!1),(G=Y.onVnodeBeforeUpdate)&&vt(G,y,w,m),S&&cn(w,m,y,"beforeUpdate"),y&&dn(y,!0),d&&(!m.dynamicChildren||m.dynamicChildren.length!==d.length)&&(p=0,V=!1,d=null),(x.innerHTML&&Y.innerHTML==null||x.textContent&&Y.textContent==null)&&u(j,""),d?D(m.dynamicChildren,d,j,y,T,Vr(w,B),R):V||le(m,w,j,null,y,T,Vr(w,B),R,!1),p>0){if(p&16)U(j,x,Y,y,B);else if(p&2&&x.class!==Y.class&&r(j,"class",null,Y.class,B),p&4&&r(j,"style",x.style,Y.style,B),p&8){const P=w.dynamicProps;for(let M=0;M<P.length;M++){const Z=P[M],ie=x[Z],ve=Y[Z];(ve!==ie||Z==="value")&&r(j,Z,ie,ve,B,y)}}p&1&&m.children!==w.children&&u(j,w.children)}else!V&&d==null&&U(j,x,Y,y,B);((G=Y.onVnodeUpdated)||S)&&Ye(()=>{G&&vt(G,y,w,m),S&&cn(w,m,y,"updated")},T)},D=(m,w,y,T,B,R,V)=>{for(let j=0;j<w.length;j++){const p=m[j],d=w[j],S=p.el&&(p.type===de||!no(p,d)||p.shapeFlag&198)?g(p.el):y;k(p,d,S,null,T,B,R,V,!0)}},U=(m,w,y,T,B)=>{if(w!==y){if(w!==_e)for(const R in w)!Rn(R)&&!(R in y)&&r(m,R,w[R],null,B,T);for(const R in y){if(Rn(R))continue;const V=y[R],j=w[R];V!==j&&R!=="value"&&r(m,R,j,V,B,T)}"value"in y&&r(m,"value",w.value,y.value,B)}},K=(m,w,y,T,B,R,V,j,p)=>{const d=w.el=m?m.el:i(""),S=w.anchor=m?m.anchor:i("");let{patchFlag:x,dynamicChildren:Y,slotScopeIds:G}=w;G&&(j=j?j.concat(G):G),m==null?(o(d,y,T),o(S,y,T),F(w.children||[],y,S,B,R,V,j,p)):x>0&&x&64&&Y&&m.dynamicChildren&&m.dynamicChildren.length===Y.length?(D(m.dynamicChildren,Y,y,B,R,V,j),(w.key!=null||B&&w===B.subTree)&&Yr(m,w,!0)):le(m,w,y,S,B,R,V,j,p)},ne=(m,w,y,T,B,R,V,j,p)=>{w.slotScopeIds=j,m==null?w.shapeFlag&512?B.ctx.activate(w,y,T,V,p):ue(w,y,T,B,R,V,p):q(m,w,p)},ue=(m,w,y,T,B,R,V)=>{const j=m.component=ju(m,T,B);if(Wo(m)&&(j.ctx.renderer=st),Vu(j,!1,V),j.asyncDep){if(B&&B.registerDep(j,W,V),!m.el){const p=j.subTree=$e($t);L(null,p,w,y),m.placeholder=p.el}}else W(j,m,w,y,B,R,V)},q=(m,w,y)=>{const T=w.component=m.component;if(Cu(m,w,y))if(T.asyncDep&&!T.asyncResolved){X(T,w,y);return}else T.next=w,T.update();else w.el=m.el,T.vnode=w},W=(m,w,y,T,B,R,V)=>{const j=()=>{if(m.isMounted){let{next:x,bu:Y,u:G,parent:P,vnode:M}=m;{const Ge=qa(m);if(Ge){x&&(x.el=M.el,X(m,x,V)),Ge.asyncDep.then(()=>{Ye(()=>{m.isUnmounted||d()},B)});return}}let Z=x,ie;dn(m,!1),x?(x.el=M.el,X(m,x,V)):x=M,Y&&fr(Y),(ie=x.props&&x.props.onVnodeBeforeUpdate)&&vt(ie,P,x,M),dn(m,!0);const ve=Ma(m),He=m.subTree;m.subTree=ve,k(He,ve,g(He.el),Gt(He),m,B,R),x.el=ve.el,Z===null&&Nu(m,ve.el),G&&Ye(G,B),(ie=x.props&&x.props.onVnodeUpdated)&&Ye(()=>vt(ie,P,x,M),B)}else{let x;const{el:Y,props:G}=w,{bm:P,m:M,parent:Z,root:ie,type:ve}=m,He=Cn(w);dn(m,!1),P&&fr(P),!He&&(x=G&&G.onVnodeBeforeMount)&&vt(x,Z,w),dn(m,!0);{ie.ce&&ie.ce._hasShadowRoot()&&ie.ce._injectChildStyle(ve,m.parent?m.parent.type:void 0);const Ge=m.subTree=Ma(m);k(null,Ge,y,T,m,B,R),w.el=Ge.el}if(M&&Ye(M,B),!He&&(x=G&&G.onVnodeMounted)){const Ge=w;Ye(()=>vt(x,Z,Ge),B)}(w.shapeFlag&256||Z&&Cn(Z.vnode)&&Z.vnode.shapeFlag&256)&&m.a&&Ye(m.a,B),m.isMounted=!0,w=y=T=null}};m.scope.on();const p=m.effect=new Gs(j);m.scope.off();const d=m.update=p.run.bind(p),S=m.job=p.runIfDirty.bind(p);S.i=m,S.id=m.uid,p.scheduler=()=>Pr(S),dn(m,!0),d()},X=(m,w,y)=>{w.component=m;const T=m.vnode.props;m.vnode=w,m.next=null,Eu(m,w.props,T,y),Fu(m,w.children,y),mt(),ua(m),_t()},le=(m,w,y,T,B,R,V,j,p=!1)=>{const d=m&&m.children,S=m?m.shapeFlag:0,x=w.children,{patchFlag:Y,shapeFlag:G}=w;if(Y>0){if(Y&128){Ct(d,x,y,T,B,R,V,j,p);return}else if(Y&256){Ee(d,x,y,T,B,R,V,j,p);return}}G&8?(S&16&&gt(d,B,R),x!==d&&u(y,x)):S&16?G&16?Ct(d,x,y,T,B,R,V,j,p):gt(d,B,R,!0):(S&8&&u(y,""),G&16&&F(x,y,T,B,R,V,j,p))},Ee=(m,w,y,T,B,R,V,j,p)=>{m=m||_n,w=w||_n;const d=m.length,S=w.length,x=Math.min(d,S);let Y;for(Y=0;Y<x;Y++){const G=w[Y]=p?xt(w[Y]):wt(w[Y]);k(m[Y],G,y,null,B,R,V,j,p)}d>S?gt(m,B,R,!0,!1,x):F(w,y,T,B,R,V,j,p,x)},Ct=(m,w,y,T,B,R,V,j,p)=>{let d=0;const S=w.length;let x=m.length-1,Y=S-1;for(;d<=x&&d<=Y;){const G=m[d],P=w[d]=p?xt(w[d]):wt(w[d]);if(no(G,P))k(G,P,y,null,B,R,V,j,p);else break;d++}for(;d<=x&&d<=Y;){const G=m[x],P=w[Y]=p?xt(w[Y]):wt(w[Y]);if(no(G,P))k(G,P,y,null,B,R,V,j,p);else break;x--,Y--}if(d>x){if(d<=Y){const G=Y+1,P=G<S?w[G].el:T;for(;d<=Y;)k(null,w[d]=p?xt(w[d]):wt(w[d]),y,P,B,R,V,j,p),d++}}else if(d>Y)for(;d<=x;)Re(m[d],B,R,!0),d++;else{const G=d,P=d,M=new Map;for(d=P;d<=Y;d++){const et=w[d]=p?xt(w[d]):wt(w[d]);et.key!=null&&M.set(et.key,d)}let Z,ie=0;const ve=Y-P+1;let He=!1,Ge=0;const mn=new Array(ve);for(d=0;d<ve;d++)mn[d]=0;for(d=G;d<=x;d++){const et=m[d];if(ie>=ve){Re(et,B,R,!0);continue}let Nt;if(et.key!=null)Nt=M.get(et.key);else for(Z=P;Z<=Y;Z++)if(mn[Z-P]===0&&no(et,w[Z])){Nt=Z;break}Nt===void 0?Re(et,B,R,!0):(mn[Nt-P]=d+1,Nt>=Ge?Ge=Nt:He=!0,k(et,w[Nt],y,null,B,R,V,j,p),ie++)}const As=He?Mu(mn):_n;for(Z=As.length-1,d=ve-1;d>=0;d--){const et=P+d,Nt=w[et],Hl=w[et+1],ql=et+1<S?Hl.el||Xa(Hl):T;mn[d]===0?k(null,Nt,y,ql,B,R,V,j,p):He&&(Z<0||d!==As[Z]?Te(Nt,y,ql,2):Z--)}}},Te=(m,w,y,T,B=null)=>{const{el:R,type:V,transition:j,children:p,shapeFlag:d}=m;if(d&6){Te(m.component.subTree,w,y,T);return}if(d&128){m.suspense.move(w,y,T);return}if(d&64){V.move(m,w,y,st);return}if(V===de){o(R,w,y);for(let x=0;x<p.length;x++)Te(p[x],w,y,T);o(m.anchor,w,y);return}if(V===zr){h(m,w,y);return}if(T!==2&&d&1&&j)if(T===0)j.persisted&&!R[Tr]?o(R,w,y):(j.beforeEnter(R),o(R,w,y),Ye(()=>j.enter(R),B));else{const{leave:x,delayLeave:Y,afterLeave:G}=j,P=()=>{m.ctx.isUnmounted?s(R):o(R,w,y)},M=()=>{const Z=R._isLeaving||!!R[Tr];R._isLeaving&&R[Tr](!0),j.persisted&&!Z?P():x(R,()=>{P(),G&&G()})};Y?Y(R,P,M):M()}else o(R,w,y)},Re=(m,w,y,T=!1,B=!1)=>{const{type:R,props:V,ref:j,children:p,dynamicChildren:d,shapeFlag:S,patchFlag:x,dirs:Y,cacheIndex:G,memo:P}=m;if(x===-2&&(B=!1),j!=null&&(mt(),Xn(j,null,y,m,!0),_t()),G!=null&&(w.renderCache[G]=void 0),S&256){w.ctx.deactivate(m);return}const M=S&1&&Y,Z=!Cn(m);let ie;if(Z&&(ie=V&&V.onVnodeBeforeUnmount)&&vt(ie,w,m),S&6)hn(m.component,y,T);else{if(S&128){m.suspense.unmount(y,T);return}M&&cn(m,null,w,"beforeUnmount"),S&64?m.type.remove(m,w,y,st,T):d&&!d.hasOnce&&(R!==de||x>0&&x&64)?gt(d,w,y,!1,!0):(R===de&&x&384||!B&&S&16)&&gt(p,w,y),T&&on(m)}const ve=P!=null&&G==null;(Z&&(ie=V&&V.onVnodeUnmounted)||M||ve)&&Ye(()=>{ie&&vt(ie,w,m),M&&cn(m,null,w,"unmounted"),ve&&(m.el=null)},y)},on=m=>{const{type:w,el:y,anchor:T,transition:B}=m;if(w===de){rn(y,T);return}if(w===zr){b(m);return}const R=()=>{s(y),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(m.shapeFlag&1&&B&&!B.persisted){const{leave:V,delayLeave:j}=B,p=()=>V(y,R);j?j(m.el,R,p):p()}else R()},rn=(m,w)=>{let y;for(;m!==w;)y=f(m),s(m),m=y;s(w)},hn=(m,w,y)=>{const{bum:T,scope:B,job:R,subTree:V,um:j,m:p,a:d}=m;Ka(p),Ka(d),T&&fr(T),B.stop(),R&&(R.flags|=8,Re(V,m,w,y)),j&&Ye(j,w),Ye(()=>{m.isUnmounted=!0},w)},gt=(m,w,y,T=!1,B=!1,R=0)=>{for(let V=R;V<m.length;V++)Re(m[V],w,y,T,B)},Gt=m=>{if(m.shapeFlag&6)return Gt(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const w=f(m.anchor||m.el),y=w&&w[ha];return y?f(y):w};let Ut=!1;const sn=(m,w,y)=>{let T;m==null?w._vnode&&(Re(w._vnode,null,null,!0),T=w._vnode.component):k(w._vnode||null,m,w,null,null,null,y),w._vnode=m,Ut||(Ut=!0,ua(T),pa(),Ut=!1)},st={p:k,um:Re,m:Te,r:on,mt:ue,mc:F,pc:le,pbc:D,n:Gt,o:e};return{render:sn,hydrate:void 0,createApp:yu(sn)}}function Vr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Iu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yr(e,t,n=!1){const o=e.children,s=t.children;if(ee(o)&&ee(s))for(let r=0;r<o.length;r++){const a=o[r];let i=s[r];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=s[r]=xt(s[r]),i.el=a.el),!n&&i.patchFlag!==-2&&Yr(a,i)),i.type===Qn&&(i.patchFlag===-1&&(i=s[r]=xt(i)),i.el=a.el),i.type===$t&&!i.el&&(i.el=a.el)}}function Mu(e){const t=e.slice(),n=[0];let o,s,r,a,i;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(s=n[n.length-1],e[s]<c){t[o]=s,n.push(o);continue}for(r=0,a=n.length-1;r<a;)i=r+a>>1,e[n[i]]<c?r=i+1:a=i;c<e[n[r]]&&(r>0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,a=n[r-1];r-- >0;)n[r]=a,a=t[a];return n}function qa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qa(t)}function Ka(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Xa(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Xa(t.subTree):null}const Ja=e=>e.__isSuspense;function Ru(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):Gc(e)}const de=Symbol.for("v-fgt"),Qn=Symbol.for("v-txt"),$t=Symbol.for("v-cmt"),zr=Symbol.for("v-stc"),Tt=[];let Ze=null;function z(e=!1){Tt.push(Ze=e?null:[])}function Hr(){Tt.pop(),Ze=Tt[Tt.length-1]||null}let eo=1;function Yo(e,t=!1){eo+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Za(e){return e.dynamicChildren=eo>0?Ze||_n:null,Hr(),eo>0&&Ze&&Ze.push(e),e}function J(e,t,n,o,s,r){return Za(I(e,t,n,o,s,r,!0))}function Qe(e,t,n,o,s){return Za($e(e,t,n,o,s,!0))}function to(e){return e?e.__v_isVNode===!0:!1}function no(e,t){return e.type===t.type&&e.key===t.key}const Qa=({key:e})=>e??null,zo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ce(e)||oe(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function I(e,t=null,n=null,o=0,s=null,r=e===de?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qa(t),ref:t&&zo(t),scopeId:ga,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return i?(Ho(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=be(n)?8:16),eo>0&&!a&&Ze&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Ze.push(l),l}const $e=Bu;function Bu(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===Oa)&&(e=$t),to(e)){const i=Nn(e,t,!0);return n&&Ho(i,n),eo>0&&!r&&Ze&&(i.shapeFlag&6?Ze[Ze.indexOf(e)]=i:Ze.push(i)),i.patchFlag=-2,i}if(Xu(e)&&(e=e.__vccOpts),t){t=Du(t);let{class:i,style:l}=t;i&&!be(i)&&(t.class=Pe(i)),he(l)&&(Lo(l)&&!ee(l)&&(l=Ne({},l)),t.style=bn(l))}const a=be(e)?1:Ja(e)?128:Mo(e)?64:he(e)?4:oe(e)?2:0;return I(e,t,n,o,s,a,r,!0)}function Du(e){return e?Lo(e)||Ga(e)?Ne({},e):e:null}function Nn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:a,children:i,transition:l}=e,c=t?Wu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qa(c),ref:t&&t.ref?n&&r?ee(r)?r.concat(zo(t)):[r,zo(t)]:zo(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Nn(e.ssContent),ssFallback:e.ssFallback&&Nn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&xr(u,l.clone(u)),u}function ke(e=" ",t=0){return $e(Qn,null,e,t)}function Se(e="",t=!1){return t?(z(),Qe($t,null,e)):$e($t,null,e)}function wt(e){return e==null||typeof e=="boolean"?$e($t):ee(e)?$e(de,null,e.slice()):to(e)?xt(e):$e(Qn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Nn(e)}function Ho(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Ho(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Ga(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Ho(e,{default:t});return}t={default:t,_ctx:Be},n=32}else t=String(t),o&64?(n=16,t=[ke(t)]):n=8;e.children=t,e.shapeFlag|=n}function Wu(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const s in o)if(s==="class")t.class!==o.class&&(t.class=Pe([t.class,o.class]));else if(s==="style")t.style=bn([t.style,o.style]);else if(ho(s)){const r=t[s],a=o[s];a&&r!==a&&!(ee(r)&&r.includes(a))?t[s]=r?[].concat(r,a):a:a==null&&r==null&&!mo(s)&&(t[s]=a)}else s!==""&&(t[s]=o[s])}return t}function vt(e,t,n,o=null){lt(e,t,7,[n,o])}const Gu=xa();let Uu=0;function ju(e,t,n){const o=e.type,s=(t?t.appContext:e.appContext)||Gu,r={uid:Uu++,vnode:e,type:o,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ds(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(s.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ja(o,s),emitsOptions:Ia(o,s),emit:null,emitted:null,propsDefaults:_e,inheritAttrs:o.inheritAttrs,ctx:_e,data:_e,props:_e,attrs:_e,slots:_e,refs:_e,setupState:_e,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=wu.bind(null,r),e.ce&&e.ce(r),r}let De=null;const It=()=>De||Be;let qo,oo;{const e=vo(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(a=>a(r)):s[0](r)}};qo=t("__VUE_INSTANCE_SETTERS__",n=>De=n),oo=t("__VUE_SSR_SETTERS__",n=>An=n)}const ro=e=>{const t=De;return qo(e),e.scope.on(),()=>{e.scope.off(),qo(t)}},ei=()=>{De&&De.scope.off(),qo(null)};function ti(e){return e.vnode.shapeFlag&4}let An=!1;function Vu(e,t=!1,n=!1){t&&oo(t);const{props:o,children:s}=e.vnode,r=ti(e);Au(e,o,r,t),Lu(e,s,n||t);const a=r?Yu(e,t):void 0;return t&&oo(!1),a}function Yu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,du);const{setup:o}=n;if(o){mt();const s=e.setupContext=o.length>1?Hu(e):null,r=ro(e),a=vn(o,e,0,[e.props,s]),i=Ss(a);if(_t(),r(),(i||e.sp)&&!Cn(e)&&Ir(e),i){if(a.then(ei,ei),t)return a.then(l=>{oo(!0);try{ni(e,l,t)}finally{oo(!1)}}).catch(l=>{Yn(l,e,0)});e.asyncDep=a}else ni(e,a)}else oi(e)}function ni(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=aa(t)),oi(e)}function oi(e,t,n){const o=e.type;e.render||(e.render=o.render||ft);{const s=ro(e);mt();try{gu(e)}finally{_t(),s()}}}const zu={get(e,t){return Ue(e,"get",""),e[t]}};function Hu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,zu),slots:e.slots,emit:e.emit,expose:t}}function Ko(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(aa($n(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Jn)return Jn[n](e)},has(t,n){return n in t||n in Jn}})):e.proxy}const qu=/(?:^|[-_])\w/g,Ku=e=>e.replace(qu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ri(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function si(e,t,n=!1){let o=ri(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=r=>{for(const a in r)if(r[a]===t)return a};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?Ku(o):n?"App":"Anonymous"}function Xu(e){return oe(e)&&"__vccOpts"in e}const ae=(e,t)=>Fc(e,t,An);function ai(e,t,n){try{Yo(-1);const o=arguments.length;return o===2?he(t)&&!ee(t)?to(t)?$e(e,null,[t]):$e(e,t):$e(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&to(n)&&(n=[n]),$e(e,t,n))}finally{Yo(1)}}const Ju="3.5.42";/**
* @vue/runtime-dom v3.5.42
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let qr;const ii=typeof window<"u"&&window.trustedTypes;if(ii)try{qr=ii.createPolicy("vue",{createHTML:e=>e})}catch{}const li=qr?e=>qr.createHTML(e):e=>e,Zu="http://www.w3.org/2000/svg",Qu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,ci=Mt&&Mt.createElement("template"),ep={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const s=t==="svg"?Mt.createElementNS(Zu,e):t==="mathml"?Mt.createElementNS(Qu,e):n?Mt.createElement(e,{is:n}):Mt.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>Mt.createTextNode(e),createComment:e=>Mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,r){const a=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{ci.innerHTML=li(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const i=ci.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},tp=Symbol("_vtc");function np(e,t,n){const o=e[tp];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xo=Symbol("_vod"),ui=Symbol("_vsh"),op={name:"show",beforeMount(e,{value:t},{transition:n}){e[Xo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):so(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),so(e,!0),o.enter(e)):o.leave(e,()=>{so(e,!1)}):so(e,t))},beforeUnmount(e,{value:t}){so(e,t)}};function so(e,t){e.style.display=t?e[Xo]:"none",e[ui]=!t}const rp=Symbol(""),sp=/(?:^|;)\s*display\s*:/;function ap(e,t,n){const o=e.style,s=be(n);let r=!1;if(n&&!s){if(t)if(be(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&ao(o,i,"")}else for(const a in t)n[a]==null&&ao(o,a,"");for(const a in n){a==="display"&&(r=!0);const i=n[a];i!=null?lp(e,a,!be(t)&&t?t[a]:void 0,i)||ao(o,a,i):ao(o,a,"")}}else if(s){if(t!==n){const a=o[rp];a&&(n+=";"+a),o.cssText=n,r=sp.test(n)}}else t&&e.removeAttribute("style");Xo in e&&(e[Xo]=r?o.display:"",e[ui]&&(o.display="none"))}const Jo=/\s*!important$/;function ao(e,t,n){if(ee(n))n.forEach(o=>ao(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Jo.test(n)?e.setProperty(t,n.replace(Jo,""),"important"):e.setProperty(t,n);else{const o=ip(e,t);Jo.test(n)?e.setProperty(tt(o),n.replace(Jo,""),"important"):e[o]=n}}const pi=["Webkit","Moz","ms"],Kr={};function ip(e,t){const n=Kr[t];if(n)return n;let o=xe(t);if(o!=="filter"&&o in e)return Kr[t]=o;o=wo(o);for(let s=0;s<pi.length;s++){const r=pi[s]+o;if(r in e)return Kr[t]=r}return t}function lp(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&be(o)&&n===o}const di="http://www.w3.org/1999/xlink";function gi(e,t,n,o,s,r=rc(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(di,t.slice(6,t.length)):e.setAttributeNS(di,t,n):n==null||r&&!Is(n)?e.removeAttribute(t):e.setAttribute(t,r?"":Xe(n)?String(n):n)}function fi(e,t,n,o,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?li(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const i=r==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(i!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let a=!1;if(n===""||n==null){const i=typeof e[t];i==="boolean"?n=Is(n):n==null&&i==="string"?(n="",a=!0):i==="number"&&(n=0,a=!0)}try{e[t]=n}catch{}a&&e.removeAttribute(s||t)}function cp(e,t,n,o){e.addEventListener(t,n,o)}function up(e,t,n,o){e.removeEventListener(t,n,o)}const hi=Symbol("_vei");function pp(e,t,n,o,s=null){const r=e[hi]||(e[hi]={}),a=r[t];if(o&&a)a.value=o;else{const[i,l]=fp(t);if(o){const c=r[t]=_p(o,s);cp(e,i,c,l)}else a&&(up(e,i,a,l),r[t]=void 0)}}const dp=/(Once|Passive|Capture)$/,gp=/^on:?(?:Once|Passive|Capture)$/;function fp(e){let t,n;for(;(n=e.match(dp))&&!gp.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):tt(e.slice(2)),t]}let Xr=0;const hp=Promise.resolve(),mp=()=>Xr||(hp.then(()=>Xr=0),Xr=Date.now());function _p(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(ee(s)){const r=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{r.call(o),o._stopped=!0};const a=s.slice(),i=[o];for(let l=0;l<a.length&&!o._stopped;l++){const c=a[l];c&&lt(c,t,5,i)}}else lt(s,t,5,[o])};return n.value=e,n.attached=mp(),n}const mi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bp=(e,t,n,o,s,r)=>{const a=s==="svg";t==="class"?np(e,o,a):t==="style"?ap(e,n,o):ho(t)?mo(t)||pp(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):yp(e,t,o,a))?(fi(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&gi(e,t,o,a,r,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(o)))?fi(e,xe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),gi(e,t,o,a))};function yp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&mi(t)&&oe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return mi(t)&&be(n)?!1:t in e}function $p(e,t){const n=e._def.props;if(!n)return!1;const o=xe(t);return Array.isArray(n)?n.some(s=>xe(s)===o):Object.keys(n).some(s=>xe(s)===o)}const _i={};function wp(e,t,n){let o=Kn(e,t);bo(o)&&(o=Ne({},o,t));class s extends Jr{constructor(a){super(o,a,n)}}return s.def=o,s}const vp=typeof HTMLElement<"u"?HTMLElement:class{};class Jr extends vp{constructor(t,n={},o=$i){super(),this._def=t,this._props=n,this._createApp=o,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&&o!==$i?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ne({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Jr){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,zn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o<this.attributes.length;o++)this._setAttr(this.attributes[o].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(o,s=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:a}=o;let i;if(r&&!ee(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ts(this._props[l])),(i||(i=Object.create(null)))[xe(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)fe(this,o)||Object.defineProperty(this,o,{get:()=>qe(n[o])})}_resolveProps(t){const{props:n}=t,o=ee(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(xe))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(r){this._setProp(s,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):_i;const s=xe(t);n&&this._numberProps&&this._numberProps[s]&&(o=Ts(o)),this._setProp(s,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===_i?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),n===!0?this.setAttribute(tt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(tt(t),n+""):n||this.removeAttribute(tt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Ap(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=$e(this._def,Ne(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(r,a)=>{this.dispatchEvent(new CustomEvent(r,bo(a[0])?Ne({detail:a},a[0]):{detail:a}))};o.emit=(r,...a)=>{s(r,a),tt(r)!==r&&s(tt(r),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,r=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");s&&c.setAttribute("nonce",s),c.textContent=t[l],r.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n<t.childNodes.length;n++){const o=t.childNodes[n];if(!(o instanceof HTMLStyleElement))return o}return null}_parseSlots(){const t=this._slots={};let n;for(;n=this.firstChild;){const o=n.nodeType===1&&n.getAttribute("slot")||"default";(t[o]||(t[o]=[])).push(n),this.removeChild(n)}}_renderSlots(){const t=this._getSlots(),n=this._instance.type.__scopeId;for(let o=0;o<t.length;o++){const s=t[o],r=s.getAttribute("name")||"default",a=this._slots[r],i=s.parentNode;if(a)for(const l of a){if(n&&l.nodeType===1){const c=n+"-s",u=document.createTreeWalker(l,1);l.setAttribute(c,"");let g;for(;g=u.nextNode();)g.setAttribute(c,"")}i.insertBefore(l,s)}else for(;s.firstChild;)i.insertBefore(s.firstChild,s);i.removeChild(s)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const n=new Set;for(const o of t){const s=o.querySelectorAll("slot");for(let r=0;r<s.length;r++)n.add(s[r])}return Array.from(n)}_injectChildStyle(t,n){this._applyStyles(t.styles,t,n)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const kp=["ctrl","shift","alt","meta"],Op={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kp.some(n=>e[`${n}Key`]&&!t.includes(n))},Cp=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...r)=>{for(let a=0;a<t.length;a++){const i=Op[t[a]];if(i&&i(s,t))return}return e(s,...r)})},Np=Ne({patchProp:bp},ep);let bi;function yi(){return bi||(bi=Tu(Np))}const Ap=(...e)=>{yi().render(...e)},$i=(...e)=>{const t=yi().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=Pp(o);if(!s)return;const r=t._component;!oe(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,Ep(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function Ep(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Pp(e){return be(e)?document.querySelector(e):e}/*!
* pinia v2.3.1
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/let wi;const Zo=e=>wi=e,vi=Symbol();function Zr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var io;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(io||(io={}));function Sp(){const e=mr(!0),t=e.run(()=>re({}));let n=[],o=[];const s=$n({install(r){Zo(s),s._a=r,r.provide(vi,s),r.config.globalProperties.$pinia=s,o.forEach(a=>n.push(a)),o=[]},use(r){return this._a?n.push(r):o.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const ki=()=>{};function Oi(e,t,n,o=ki){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Ws()&&ac(s),s}function En(e,...t){e.slice().forEach(n=>{n(...t)})}const Lp=e=>e(),Ci=Symbol(),Qr=Symbol();function es(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],s=e[n];Zr(s)&&Zr(o)&&e.hasOwnProperty(n)&&!Ce(o)&&!Pt(o)?e[n]=es(s,o):e[n]=o}return e}const Fp=Symbol();function Tp(e){return!Zr(e)||!e.hasOwnProperty(Fp)}const{assign:Kt}=Object;function xp(e){return!!(Ce(e)&&e.effect)}function Ip(e,t,n,o){const{state:s,actions:r,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=s?s():{});const u=Ec(n.state.value[e]);return Kt(u,r,Object.keys(a||{}).reduce((g,f)=>(g[f]=$n(ae(()=>{Zo(n);const _=n._s.get(e);return a[f].call(_,_)})),g),{}))}return l=Ni(e,c,t,n,o,!0),l}function Ni(e,t,n={},o,s,r){let a;const i=Kt({actions:{}},n),l={deep:!0};let c,u,g=[],f=[],_;const $=o.state.value[e];!r&&!$&&(o.state.value[e]={});let k;function C(F){let v;c=u=!1,typeof F=="function"?(F(o.state.value[e]),v={type:io.patchFunction,storeId:e,events:_}):(es(o.state.value[e],F),v={type:io.patchObject,payload:F,storeId:e,events:_});const D=k=Symbol();zn().then(()=>{k===D&&(c=!0)}),u=!0,En(g,v,o.state.value[e])}const L=r?function(){const{state:v}=n,D=v?v():{};this.$patch(U=>{Kt(U,D)})}:ki;function N(){a.stop(),g=[],f=[],o._s.delete(e)}const h=(F,v="")=>{if(Ci in F)return F[Qr]=v,F;const D=function(){Zo(o);const U=Array.from(arguments),K=[],ne=[];function ue(X){K.push(X)}function q(X){ne.push(X)}En(f,{args:U,name:D[Qr],store:A,after:ue,onError:q});let W;try{W=F.apply(this&&this.$id===e?this:A,U)}catch(X){throw En(ne,X),X}return W instanceof Promise?W.then(X=>(En(K,X),X)).catch(X=>(En(ne,X),Promise.reject(X))):(En(K,W),W)};return D[Ci]=!0,D[Qr]=v,D},b={_p:o,$id:e,$onAction:Oi.bind(null,f),$patch:C,$reset:L,$subscribe(F,v={}){const D=Oi(g,F,v.detached,()=>U()),U=a.run(()=>ot(()=>o.state.value[e],K=>{(v.flush==="sync"?u:c)&&F({storeId:e,type:io.direct,events:_},K)},Kt({},l,v)));return D},$dispose:N},A=Po(b);o._s.set(e,A);const E=(o._a&&o._a.runWithContext||Lp)(()=>o._e.run(()=>(a=mr()).run(()=>t({action:h}))));for(const F in E){const v=E[F];if(Ce(v)&&!xp(v)||Pt(v))r||($&&Tp(v)&&(Ce(v)?v.value=$[F]:es(v,$[F])),o.state.value[e][F]=v);else if(typeof v=="function"){const D=h(v,F);E[F]=D,i.actions[F]=v}}return Kt(A,E),Kt(pe(A),E),Object.defineProperty(A,"$state",{get:()=>o.state.value[e],set:F=>{C(v=>{Kt(v,F)})}}),o._p.forEach(F=>{Kt(A,a.run(()=>F({store:A,app:o._a,pinia:o,options:i})))}),$&&r&&n.hydrate&&n.hydrate(A.$state,$),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function ts(e,t,n){let o,s;const r=typeof t=="function";typeof e=="string"?(o=e,s=r?n:t):(s=e,o=e.id);function a(i,l){const c=jc();return i=i||(c?Ie(vi,null):null),i&&Zo(i),i=wi,i._s.has(o)||(r?Ni(o,t,s,i):Ip(o,s,i)),i._s.get(o)}return a.$id=o,a}const ns="__doxaMapToken",os="doxa:map-token",Ai="__doxaMapTokenBridge",Pn=()=>{if(typeof window>"u")return"";const e=window[ns];return typeof e=="string"?e:""};function Ei(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Pn())return Pn();window[ns]=t;try{window.dispatchEvent(new CustomEvent(os,{detail:t}))}catch{}return t}function Mp(){if(typeof window>"u"||window[Ai])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Pn()&&(window[ns]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Pn()},set(t){Ei(t)}}),window[Ai]=!0}catch{}}function Rp(){Mp();const e=re(Pn());if(typeof window<"u"){const t=()=>{e.value=Pn()};window.addEventListener(os,t);try{qt(()=>window.removeEventListener(os,t))}catch{}}return e}function Bp(e){return eu({loader:e,onError(t,n,o,s){s<=3?setTimeout(n,s*500):o()}})}const Dp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Wp={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} على الخريطة",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Up={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},jp={menuComingSoon:"القائمة قادمة قريباً"},Vp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Yp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},zp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Hp={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","View country posters":"عرض ملصقات الدولة","Hide country posters":"إخفاء ملصقات الدولة","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد."},qp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Kp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Jp={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",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!"]},Zp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Qp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"}},ed={menuComingSoon:"Menü folgt in Kürze"},td={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},nd={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},od={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","View country posters":"Länderposter ansehen","Hide country posters":"Länderposter ausblenden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt."},sd={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"}},ad={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"},id={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ld={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"},cd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},ud={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},pd={menuComingSoon:"Menu coming soon"},dd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},gd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},fd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},md={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"}},_d={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"},bd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},yd={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",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!"]},$d={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."}},wd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},vd={menuComingSoon:"Menú próximamente"},kd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Od={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},Cd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Nd={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","View country posters":"Ver los carteles del país","Hide country posters":"Ocultar los carteles del país","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país."},Ad={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"}},Ed={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"},Pd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Sd={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",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 !"]},Ld={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Fd={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Td={menuComingSoon:"Menu bientôt disponible"},xd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Id={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Md={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Rd={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","View country posters":"Voir les affiches du pays","Hide country posters":"Masquer les affiches du pays","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays."},Bd={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"}},Dd={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"},Wd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Gd={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} को मानचित्र पर देखें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Ud={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},jd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"}},Vd={menuComingSoon:"मेनू शीघ्र आ रहा है"},Yd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},zd={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Hd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qd={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","View country posters":"देश के पोस्टर देखें","Hide country posters":"देश के पोस्टर छिपाएँ","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"},Kd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Xd={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश"},Jd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zd={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",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ù!"]},Qd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},eg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"}},tg={menuComingSoon:"Menu in arrivo"},ng={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},og={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},rg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},sg={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"}},ag={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"},ig={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},lg={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",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!"]},cg={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."}},ug={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},pg={menuComingSoon:"Menu em breve"},dg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},gg={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},fg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},hg={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","View country posters":"Ver os cartazes do país","Hide country posters":"Ocultar os cartazes do país","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país."},mg={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"}},_g={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"},bg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},yg={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ă",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!"]},$g={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ă."}},wg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"}},vg={menuComingSoon:"Meniu în curând"},kg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Og={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Cg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ng={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"}},Ag={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ă"},Eg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Pg={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} на карте",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},Sg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Lg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Fg={menuComingSoon:"Меню скоро появится"},Tg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},xg={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Ig={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Mg={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","View country posters":"Показать плакаты страны","Hide country posters":"Скрыть плакаты страны","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан."},Rg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Bg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Dg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Wg={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}",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},Gg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Ug={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"}},jg={menuComingSoon:"菜单即将推出"},Vg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Yg={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},zg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Hg={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},qg={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家"};/*!
* shared v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Kg(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Qo=typeof window<"u",Xt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Xg=(e,t,n)=>Jg({l:e,k:t,s:n}),Jg=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=e=>typeof e=="number"&&isFinite(e),Zg=e=>Ti(e)==="[object Date]",Jt=e=>Ti(e)==="[object RegExp]",er=e=>se(e)&&Object.keys(e).length===0,We=Object.assign,Qg=Object.create,me=(e=null)=>Qg(e);let Pi;const Rt=()=>Pi||(Pi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Si(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\//g,"&#x2F;").replace(/=/g,"&#x3D;")}function Li(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ef(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,s,r)=>`${s}="${Li(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,s,r)=>`${s}='${Li(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1&#111;n$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript&#58;")}),e}const tf=Object.prototype.hasOwnProperty;function ut(e,t){return tf.call(e,t)}const Oe=Array.isArray,we=e=>typeof e=="function",H=e=>typeof e=="string",ce=e=>typeof e=="boolean",ge=e=>e!==null&&typeof e=="object",nf=e=>ge(e)&&we(e.then)&&we(e.catch),Fi=Object.prototype.toString,Ti=e=>Fi.call(e),se=e=>{if(!ge(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},of=e=>e==null?"":Oe(e)||se(e)&&e.toString===Fi?JSON.stringify(e,null,2):String(e);function rf(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}function tr(e){let t=e;return()=>++t}const nr=e=>!ge(e)||Oe(e);function or(e,t){if(nr(e)||nr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:s}=n.pop();Object.keys(o).forEach(r=>{r!=="__proto__"&&(ge(o[r])&&!ge(s[r])&&(s[r]=Array.isArray(o[r])?[]:me()),nr(s[r])||nr(o[r])?s[r]=o[r]:n.push({src:o[r],des:s[r]}))})}}/*!
* message-compiler v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function sf(e,t,n){return{line:e,column:t,offset:n}}function rr(e,t,n){return{start:e,end:t}}const af=/\{([0-9a-zA-Z]+)\}/g;function xi(e,...t){return t.length===1&&lf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(af,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ii=Object.assign,Mi=e=>typeof e=="string",lf=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const rs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},cf={[rs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function uf(e,t,...n){const o=xi(cf[e],...n||[]),s={message:String(o),code:e};return t&&(s.location=t),s}const te={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},pf={[te.EXPECTED_TOKEN]:"Expected token: '{0}'",[te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[te.EMPTY_PLACEHOLDER]:"Empty placeholder",[te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[te.INVALID_LINKED_FORMAT]:"Invalid linked format",[te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:s,args:r}=n,a=xi((s||pf)[e]||"",...r||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=o,i}function df(e){throw e}const Bt=" ",gf="\r",ze=`
`,ff="\u2028",hf="\u2029";function mf(e){const t=e;let n=0,o=1,s=1,r=0;const a=E=>t[E]===gf&&t[E+1]===ze,i=E=>t[E]===ze,l=E=>t[E]===hf,c=E=>t[E]===ff,u=E=>a(E)||i(E)||l(E)||c(E),g=()=>n,f=()=>o,_=()=>s,$=()=>r,k=E=>a(E)||l(E)||c(E)?ze:t[E],C=()=>k(n),L=()=>k(n+r);function N(){return r=0,u(n)&&(o++,s=0),a(n)&&n++,n++,s++,t[n]}function h(){return a(n+r)&&r++,r++,t[n+r]}function b(){n=0,o=1,s=1,r=0}function A(E=0){r=E}function O(){const E=n+r;for(;E!==n;)N();r=0}return{index:g,line:f,column:_,peekOffset:$,charAt:k,currentChar:C,currentPeek:L,next:N,peek:h,reset:b,resetPeek:A,skipToPeek:O}}const Zt=void 0,_f=".",Bi="'",bf="tokenizer";function yf(e,t={}){const n=t.location!==!1,o=mf(e),s=()=>o.index(),r=()=>sf(o.line(),o.column(),o.index()),a=r(),i=s(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(p,d,S,...x){const Y=c();if(d.column+=S,d.offset+=S,u){const G=n?rr(Y.startLoc,d):null,P=Sn(p,G,{domain:bf,args:x});u(P)}}function f(p,d,S){p.endLoc=r(),p.currentType=d;const x={type:d};return n&&(x.loc=rr(p.startLoc,p.endLoc)),S!=null&&(x.value=S),x}const _=p=>f(p,14);function $(p,d){return p.currentChar()===d?(p.next(),d):(g(te.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===ze;)d+=p.currentPeek(),p.peek();return d}function C(p){const d=k(p);return p.skipToPeek(),d}function L(p){if(p===Zt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function N(p){if(p===Zt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function h(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=L(p.currentPeek());return p.resetPeek(),x}function b(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=p.currentPeek()==="-"?p.peek():p.currentPeek(),Y=N(x);return p.resetPeek(),Y}function A(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=p.currentPeek()===Bi;return p.resetPeek(),x}function O(p,d){const{currentType:S}=d;if(S!==8)return!1;k(p);const x=p.currentPeek()===".";return p.resetPeek(),x}function E(p,d){const{currentType:S}=d;if(S!==9)return!1;k(p);const x=L(p.currentPeek());return p.resetPeek(),x}function F(p,d){const{currentType:S}=d;if(!(S===8||S===12))return!1;k(p);const x=p.currentPeek()===":";return p.resetPeek(),x}function v(p,d){const{currentType:S}=d;if(S!==10)return!1;const x=()=>{const G=p.currentPeek();return G==="{"?L(p.peek()):G==="@"||G==="%"||G==="|"||G===":"||G==="."||G===Bt||!G?!1:G===ze?(p.peek(),x()):K(p,!1)},Y=x();return p.resetPeek(),Y}function D(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function U(p){const d=k(p),S=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:S,hasSpace:d.length>0}}function K(p,d=!0){const S=(Y=!1,G="",P=!1)=>{const M=p.currentPeek();return M==="{"?G==="%"?!1:Y:M==="@"||!M?G==="%"?!0:Y:M==="%"?(p.peek(),S(Y,"%",!0)):M==="|"?G==="%"||P?!0:!(G===Bt||G===ze):M===Bt?(p.peek(),S(!0,Bt,P)):M===ze?(p.peek(),S(!0,ze,P)):!0},x=S();return d&&p.resetPeek(),x}function ne(p,d){const S=p.currentChar();return S===Zt?Zt:d(S)?(p.next(),S):null}function ue(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function q(p){return ne(p,ue)}function W(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function X(p){return ne(p,W)}function le(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ee(p){return ne(p,le)}function Ct(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Te(p){return ne(p,Ct)}function Re(p){let d="",S="";for(;d=Ee(p);)S+=d;return S}function on(p){C(p);const d=p.currentChar();return d!=="%"&&g(te.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function rn(p){let d="";for(;;){const S=p.currentChar();if(S==="{"||S==="}"||S==="@"||S==="|"||!S)break;if(S==="%")if(K(p))d+=S,p.next();else break;else if(S===Bt||S===ze)if(K(p))d+=S,p.next();else{if(D(p))break;d+=S,p.next()}else d+=S,p.next()}return d}function hn(p){C(p);let d="",S="";for(;d=X(p);)S+=d;return p.currentChar()===Zt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S}function gt(p){C(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Re(p)}`):d+=Re(p),p.currentChar()===Zt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Gt(p){return p!==Bi&&p!==ze}function Ut(p){C(p),$(p,"'");let d="",S="";for(;d=ne(p,Gt);)d==="\\"?S+=sn(p):S+=d;const x=p.currentChar();return x===ze||x===Zt?(g(te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===ze&&(p.next(),$(p,"'")),S):($(p,"'"),S)}function sn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return st(p,d,4);case"U":return st(p,d,6);default:return g(te.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function st(p,d,S){$(p,d);let x="";for(let Y=0;Y<S;Y++){const G=Te(p);if(!G){g(te.INVALID_UNICODE_ESCAPE_SEQUENCE,r(),0,`\\${d}${x}${p.currentChar()}`);break}x+=G}return`\\${d}${x}`}function In(p){return p!=="{"&&p!=="}"&&p!==Bt&&p!==ze}function m(p){C(p);let d="",S="";for(;d=ne(p,In);)S+=d;return S}function w(p){let d="",S="";for(;d=q(p);)S+=d;return S}function y(p){const d=S=>{const x=p.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Bt?S:(S+=x,p.next(),d(S))};return d("")}function T(p){C(p);const d=$(p,"|");return C(p),d}function B(p,d){let S=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&g(te.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),S=f(d,2,"{"),C(p),d.braceNest++,S;case"}":return d.braceNest>0&&d.currentType===2&&g(te.EMPTY_PLACEHOLDER,r(),0),p.next(),S=f(d,3,"}"),d.braceNest--,d.braceNest>0&&C(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),S;case"@":return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S=R(p,d)||_(d),d.braceNest=0,S;default:{let Y=!0,G=!0,P=!0;if(D(p))return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,S;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,V(p,d);if(Y=h(p,d))return S=f(d,5,hn(p)),C(p),S;if(G=b(p,d))return S=f(d,6,gt(p)),C(p),S;if(P=A(p,d))return S=f(d,7,Ut(p)),C(p),S;if(!Y&&!G&&!P)return S=f(d,13,m(p)),g(te.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,S.value),C(p),S;break}}return S}function R(p,d){const{currentType:S}=d;let x=null;const Y=p.currentChar();switch((S===8||S===9||S===12||S===10)&&(Y===ze||Y===Bt)&&g(te.INVALID_LINKED_FORMAT,r(),0),Y){case"@":return p.next(),x=f(d,8,"@"),d.inLinked=!0,x;case".":return C(p),p.next(),f(d,9,".");case":":return C(p),p.next(),f(d,10,":");default:return D(p)?(x=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,x):O(p,d)||F(p,d)?(C(p),R(p,d)):E(p,d)?(C(p),f(d,12,w(p))):v(p,d)?(C(p),Y==="{"?B(p,d)||x:f(d,11,y(p))):(S===8&&g(te.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,V(p,d))}}function V(p,d){let S={type:14};if(d.braceNest>0)return B(p,d)||_(d);if(d.inLinked)return R(p,d)||_(d);switch(p.currentChar()){case"{":return B(p,d)||_(d);case"}":return g(te.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),f(d,3,"}");case"@":return R(p,d)||_(d);default:{if(D(p))return S=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,S;const{isModulo:Y,hasSpace:G}=U(p);if(Y)return G?f(d,0,rn(p)):f(d,4,on(p));if(K(p))return f(d,0,rn(p));break}}return S}function j(){const{currentType:p,offset:d,startLoc:S,endLoc:x}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=S,l.lastEndLoc=x,l.offset=s(),l.startLoc=r(),o.currentChar()===Zt?f(l,14):V(o,l)}return{nextToken:j,currentOffset:s,currentPosition:r,context:c}}const $f="parser",wf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function vf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"<22>"}}}function kf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(h,b,A,O,...E){const F=h.currentPosition();if(F.offset+=O,F.column+=O,n){const v=t?rr(A,F):null,D=Sn(b,v,{domain:$f,args:E});n(D)}}function r(h,b,A,O,...E){const F=h.currentPosition();if(F.offset+=O,F.column+=O,o){const v=t?rr(A,F):null;o(uf(b,v,E))}}function a(h,b,A){const O={type:h};return t&&(O.start=b,O.end=b,O.loc={start:A,end:A}),O}function i(h,b,A,O){t&&(h.end=b,h.loc&&(h.loc.end=A))}function l(h,b){const A=h.context(),O=a(3,A.offset,A.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function c(h,b){const A=h.context(),{lastOffset:O,lastStartLoc:E}=A,F=a(5,O,E);return F.index=parseInt(b,10),h.nextToken(),i(F,h.currentOffset(),h.currentPosition()),F}function u(h,b,A){const O=h.context(),{lastOffset:E,lastStartLoc:F}=O,v=a(4,E,F);return v.key=b,A===!0&&(v.modulo=!0),h.nextToken(),i(v,h.currentOffset(),h.currentPosition()),v}function g(h,b){const A=h.context(),{lastOffset:O,lastStartLoc:E}=A,F=a(9,O,E);return F.value=b.replace(wf,vf),h.nextToken(),i(F,h.currentOffset(),h.currentPosition()),F}function f(h){const b=h.nextToken(),A=h.context(),{lastOffset:O,lastStartLoc:E}=A,F=a(8,O,E);return b.type!==12?(s(h,te.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),F.value="",i(F,O,E),{nextConsumeToken:b,node:F}):(b.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,pt(b)),F.value=b.value||"",i(F,h.currentOffset(),h.currentPosition()),{node:F})}function _(h,b){const A=h.context(),O=a(7,A.offset,A.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function $(h){const b=h.context(),A=a(6,b.offset,b.startLoc);let O=h.nextToken();if(O.type===9){const E=f(h);A.modifier=E.node,O=E.nextConsumeToken||h.nextToken()}switch(O.type!==10&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),O=h.nextToken(),O.type===2&&(O=h.nextToken()),O.type){case 11:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),A.key=_(h,O.value||"");break;case 5:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),A.key=u(h,O.value||"");break;case 6:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),A.key=c(h,O.value||"");break;case 7:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),A.key=g(h,O.value||"");break;default:{s(h,te.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const E=h.context(),F=a(7,E.offset,E.startLoc);return F.value="",i(F,E.offset,E.startLoc),A.key=F,i(A,E.offset,E.startLoc),{nextConsumeToken:O,node:A}}}return i(A,h.currentOffset(),h.currentPosition()),{node:A}}function k(h){const b=h.context(),A=b.currentType===1?h.currentOffset():b.offset,O=b.currentType===1?b.endLoc:b.startLoc,E=a(2,A,O);E.items=[];let F=null,v=null;do{const K=F||h.nextToken();switch(F=null,K.type){case 0:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),E.items.push(l(h,K.value||""));break;case 6:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),E.items.push(c(h,K.value||""));break;case 4:v=!0;break;case 5:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),E.items.push(u(h,K.value||"",!!v)),v&&(r(h,rs.USE_MODULO_SYNTAX,b.lastStartLoc,0,pt(K)),v=null);break;case 7:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),E.items.push(g(h,K.value||""));break;case 8:{const ne=$(h);E.items.push(ne.node),F=ne.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const D=b.currentType===1?b.lastOffset:h.currentOffset(),U=b.currentType===1?b.lastEndLoc:h.currentPosition();return i(E,D,U),E}function C(h,b,A,O){const E=h.context();let F=O.items.length===0;const v=a(1,b,A);v.cases=[],v.cases.push(O);do{const D=k(h);F||(F=D.items.length===0),v.cases.push(D)}while(E.currentType!==14);return F&&s(h,te.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(v,h.currentOffset(),h.currentPosition()),v}function L(h){const b=h.context(),{offset:A,startLoc:O}=b,E=k(h);return b.currentType===14?E:C(h,A,O,E)}function N(h){const b=yf(h,Ii({},e)),A=b.context(),O=a(0,A.offset,A.startLoc);return t&&O.loc&&(O.loc.source=h),O.body=L(b),e.onCacheKey&&(O.cacheKey=e.onCacheKey(h)),A.currentType!==14&&s(b,te.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,h[A.offset]||""),i(O,b.currentOffset(),b.currentPosition()),O}return{parse:N}}function pt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Of(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function Di(e,t){for(let n=0;n<e.length;n++)ss(e[n],t)}function ss(e,t){switch(e.type){case 1:Di(e.cases,t),t.helper("plural");break;case 2:Di(e.items,t);break;case 6:{ss(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function Cf(e,t={}){const n=Of(e);n.helper("normalize"),e.body&&ss(e.body,n);const o=n.context();e.helpers=Array.from(o.helpers)}function Nf(e){const t=e.body;return t.type===2?Wi(t):t.cases.forEach(n=>Wi(n)),e}function Wi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const o=e.items[n];if(!(o.type===3||o.type===9)||o.value==null)break;t.push(o.value)}if(t.length===e.items.length){e.static=Ri(t);for(let n=0;n<e.items.length;n++){const o=e.items[n];(o.type===3||o.type===9)&&delete o.value}}}}const Af="minifier";function Ln(e){switch(e.t=e.type,e.type){case 0:{const t=e;Ln(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let o=0;o<n.length;o++)Ln(n[o]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let o=0;o<n.length;o++)Ln(n[o]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;Ln(t.key),t.k=t.key,delete t.key,t.modifier&&(Ln(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}default:throw Sn(te.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:Af,args:[e.type]})}delete e.type}const Ef="parser";function Pf(e,t){const{filename:n,breakLineCode:o,needIndent:s}=t,r=t.location!==!1,a={filename:n,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:o,needIndent:s,indentLevel:0};r&&e.loc&&(a.source=e.loc.source);const i=()=>a;function l(k,C){a.code+=k}function c(k,C=!0){const L=C?o:"";l(s?L+" ".repeat(k):L)}function u(k=!0){const C=++a.indentLevel;k&&c(C)}function g(k=!0){const C=--a.indentLevel;k&&c(C)}function f(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:f,helper:k=>`_${k}`,needIndent:()=>a.needIndent}}function Sf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Fn(e,t.key),t.modifier?(e.push(", "),Fn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Lf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const s=t.items.length;for(let r=0;r<s&&(Fn(e,t.items[r]),r!==s-1);r++)e.push(", ");e.deindent(o()),e.push("])")}function Ff(e,t){const{helper:n,needIndent:o}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(o());const s=t.cases.length;for(let r=0;r<s&&(Fn(e,t.cases[r]),r!==s-1);r++)e.push(", ");e.deindent(o()),e.push("])")}}function Tf(e,t){t.body?Fn(e,t.body):e.push("null")}function Fn(e,t){const{helper:n}=e;switch(t.type){case 0:Tf(e,t);break;case 1:Ff(e,t);break;case 2:Lf(e,t);break;case 6:Sf(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break;default:throw Sn(te.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:Ef,args:[t.type]})}}const xf=(e,t={})=>{const n=Mi(t.mode)?t.mode:"normal",o=Mi(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":`
`,r=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],i=Pf(e,{filename:o,breakLineCode:s,needIndent:r});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),a.length>0&&(i.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Fn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function If(e,t={}){const n=Ii({},t),o=!!n.jit,s=!!n.minify,r=n.optimize==null?!0:n.optimize,i=kf(n).parse(e);return o?(r&&Nf(i),s&&Ln(i),{ast:i,code:""}):(Cf(i,n),xf(i,n))}/*!
* core-base v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Mf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function kt(e){return ge(e)&&as(e)===0&&(ut(e,"b")||ut(e,"body"))}const Gi=["b","body"];function Rf(e){return Qt(e,Gi)}const Ui=["c","cases"];function Bf(e){return Qt(e,Ui,[])}const ji=["s","static"];function Df(e){return Qt(e,ji)}const Vi=["i","items"];function Wf(e){return Qt(e,Vi,[])}const Yi=["t","type"];function as(e){return Qt(e,Yi)}const zi=["v","value"];function sr(e,t){const n=Qt(e,zi);if(n!=null)return n;throw lo(t)}const Hi=["m","modifier"];function Gf(e){return Qt(e,Hi)}const qi=["k","key"];function Uf(e){const t=Qt(e,qi);if(t)return t;throw lo(6)}function Qt(e,t,n){for(let o=0;o<t.length;o++){const s=t[o];if(ut(e,s)&&e[s]!=null)return e[s]}return n}const Ki=[...Gi,...Ui,...ji,...Vi,...qi,...Hi,...zi,...Yi];function lo(e){return new Error(`unhandled node type: ${e}`)}const en=[];en[0]={w:[0],i:[3,0],"[":[4],o:[7]},en[1]={w:[1],".":[2],"[":[4],o:[7]},en[2]={w:[2],i:[3,0],0:[3,0]},en[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},en[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},en[5]={"'":[4,0],o:8,l:[5,0]},en[6]={'"':[4,0],o:8,l:[6,0]};const jf=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Vf(e){return jf.test(e)}function Yf(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function zf(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 Hf(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:Vf(t)?Yf(t):"*"+t}function qf(e){const t=[];let n=-1,o=0,s=0,r,a,i,l,c,u,g;const f=[];f[0]=()=>{a===void 0?a=i:a+=i},f[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},f[2]=()=>{f[0](),s++},f[3]=()=>{if(s>0)s--,o=4,f[0]();else{if(s=0,a===void 0||(a=Hf(a),a===!1))return!1;f[1]()}};function _(){const $=e[n+1];if(o===5&&$==="'"||o===6&&$==='"')return n++,i="\\"+$,f[0](),!0}for(;o!==null;)if(n++,r=e[n],!(r==="\\"&&_())){if(l=zf(r),g=en[o],c=g[l]||g.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=r,u()===!1))))return;if(o===7)return t}}const Xi=new Map;function Kf(e,t){return ge(e)?e[t]:null}function Xf(e,t){if(!ge(e))return null;let n=Xi.get(t);if(n||(n=qf(t),n&&Xi.set(t,n)),!n)return null;const o=n.length;let s=e,r=0;for(;r<o;){const a=n[r];if(Ki.includes(a)&&kt(s))return null;const i=s[a];if(i===void 0||we(s))return null;s=i,r++}return s}const Jf=e=>e,Zf=e=>"",Qf="text",eh=e=>e.length===0?"":rf(e),th=of;function Ji(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function nh(e){const t=Ae(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ae(e.named.count)||Ae(e.named.n))?Ae(e.named.count)?e.named.count:Ae(e.named.n)?e.named.n:t:t}function oh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function rh(e={}){const t=e.locale,n=nh(e),o=ge(e.pluralRules)&&H(t)&&we(e.pluralRules[t])?e.pluralRules[t]:Ji,s=ge(e.pluralRules)&&H(t)&&we(e.pluralRules[t])?Ji:void 0,r=L=>L[o(n,L.length,s)],a=e.list||[],i=L=>a[L],l=e.named||me();Ae(e.pluralIndex)&&oh(n,l);const c=L=>l[L];function u(L){const N=we(e.messages)?e.messages(L):ge(e.messages)?e.messages[L]:!1;return N||(e.parent?e.parent.message(L):Zf)}const g=L=>e.modifiers?e.modifiers[L]:Jf,f=se(e.processor)&&we(e.processor.normalize)?e.processor.normalize:eh,_=se(e.processor)&&we(e.processor.interpolate)?e.processor.interpolate:th,$=se(e.processor)&&H(e.processor.type)?e.processor.type:Qf,C={list:i,named:c,plural:r,linked:(L,...N)=>{const[h,b]=N;let A="text",O="";N.length===1?ge(h)?(O=h.modifier||O,A=h.type||A):H(h)&&(O=h||O):N.length===2&&(H(h)&&(O=h||O),H(b)&&(A=b||A));const E=u(L)(C),F=A==="vnode"&&Oe(E)&&O?E[0]:E;return O?g(O)(F,A):F},message:u,type:$,interpolate:_,normalize:f,values:We(me(),a,l)};return C}let co=null;function sh(e){co=e}function ah(e,t,n){co&&co.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const ih=lh("function:translate");function lh(e){return t=>co&&co.emit(e,t)}const ch=rs.__EXTEND_POINT__,gn=tr(ch),uh={FALLBACK_TO_TRANSLATE:gn(),CANNOT_FORMAT_NUMBER:gn(),FALLBACK_TO_NUMBER_FORMAT:gn(),CANNOT_FORMAT_DATE:gn(),FALLBACK_TO_DATE_FORMAT:gn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:gn(),__EXTEND_POINT__:gn()},Zi=te.__EXTEND_POINT__,fn=tr(Zi),dt={INVALID_ARGUMENT:Zi,INVALID_DATE_ARGUMENT:fn(),INVALID_ISO_DATE_ARGUMENT:fn(),NOT_SUPPORT_NON_STRING_MESSAGE:fn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:fn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:fn(),NOT_SUPPORT_LOCALE_TYPE:fn(),__EXTEND_POINT__:fn()};function Ot(e){return Sn(e,null,void 0)}function is(e,t){return t.locale!=null?Qi(t.locale):Qi(e.locale)}let ls;function Qi(e){if(H(e))return e;if(we(e)){if(e.resolvedOnce&&ls!=null)return ls;if(e.constructor.name==="Function"){const t=e();if(nf(t))throw Ot(dt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ls=t}else throw Ot(dt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ot(dt.NOT_SUPPORT_LOCALE_TYPE)}function ph(e,t,n){return[...new Set([n,...Oe(t)?t:ge(t)?Object.keys(t):H(t)?[t]:[n]])]}function el(e,t,n){const o=H(n)?n:Tn,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(o);if(!r){r=[];let a=[n];for(;Oe(a);)a=tl(r,a,t);const i=Oe(t)||!se(t)?t:t.default?t.default:null;a=H(i)?[i]:i,Oe(a)&&tl(r,a,!1),s.__localeChainCache.set(o,r)}return r}function tl(e,t,n){let o=!0;for(let s=0;s<t.length&&ce(o);s++){const r=t[s];H(r)&&(o=dh(e,t[s],n))}return o}function dh(e,t,n){let o;const s=t.split("-");do{const r=s.join("-");o=gh(e,r,n),s.splice(-1,1)}while(s.length&&o===!0);return o}function gh(e,t,n){let o=!1;if(!e.includes(t)&&(o=!0,t)){o=t[t.length-1]!=="!";const s=t.replace(/!/g,"");e.push(s),(Oe(n)||se(n))&&n[s]&&(o=n[s])}return o}const fh="9.14.5",ar=-1,Tn="en-US",nl="",ol=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function hh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ol(e):t==="vnode"&&ge(e)&&"__v_isVNode"in e?ol(e.children):e}}let rl;function sl(e){rl=e}let al;function mh(e){al=e}let il;function _h(e){il=e}let ll=null;const bh=e=>{ll=e},yh=()=>ll;let cl=null;const ul=e=>{cl=e},$h=()=>cl;let pl=0;function wh(e={}){const t=we(e.onWarn)?e.onWarn:Kg,n=H(e.version)?e.version:fh,o=H(e.locale)||we(e.locale)?e.locale:Tn,s=we(o)?Tn:o,r=Oe(e.fallbackLocale)||se(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,a=se(e.messages)?e.messages:cs(s),i=se(e.datetimeFormats)?e.datetimeFormats:cs(s),l=se(e.numberFormats)?e.numberFormats:cs(s),c=We(me(),e.modifiers,hh()),u=e.pluralRules||me(),g=we(e.missing)?e.missing:null,f=ce(e.missingWarn)||Jt(e.missingWarn)?e.missingWarn:!0,_=ce(e.fallbackWarn)||Jt(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,k=!!e.unresolving,C=we(e.postTranslation)?e.postTranslation:null,L=se(e.processor)?e.processor:null,N=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,b=we(e.messageCompiler)?e.messageCompiler:rl,A=we(e.messageResolver)?e.messageResolver:al||Kf,O=we(e.localeFallbacker)?e.localeFallbacker:il||ph,E=ge(e.fallbackContext)?e.fallbackContext:void 0,F=e,v=ge(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,D=ge(F.__numberFormatters)?F.__numberFormatters:new Map,U=ge(F.__meta)?F.__meta:{};pl++;const K={version:n,cid:pl,locale:o,fallbackLocale:r,messages:a,modifiers:c,pluralRules:u,missing:g,missingWarn:f,fallbackWarn:_,fallbackFormat:$,unresolving:k,postTranslation:C,processor:L,warnHtmlMessage:N,escapeParameter:h,messageCompiler:b,messageResolver:A,localeFallbacker:O,fallbackContext:E,onWarn:t,__meta:U};return K.datetimeFormats=i,K.numberFormats=l,K.__datetimeFormatters=v,K.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&ah(K,n,U),K}const cs=e=>({[e]:me()});function us(e,t,n,o,s){const{missing:r,onWarn:a}=e;if(r!==null){const i=r(e,n,t,s);return H(i)?i:t}else return t}function uo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function vh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function kh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;o<t.length;o++)if(vh(e,t[o]))return!0;return!1}function ps(e){return n=>Oh(n,e)}function Oh(e,t){const n=Rf(t);if(n==null)throw lo(0);if(as(n)===1){const r=Bf(n);return e.plural(r.reduce((a,i)=>[...a,dl(e,i)],[]))}else return dl(e,n)}function dl(e,t){const n=Df(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Wf(t).reduce((s,r)=>[...s,ds(e,r)],[]);return e.normalize(o)}}function ds(e,t){const n=as(t);switch(n){case 3:return sr(t,n);case 9:return sr(t,n);case 4:{const o=t;if(ut(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(ut(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw lo(n)}case 5:{const o=t;if(ut(o,"i")&&Ae(o.i))return e.interpolate(e.list(o.i));if(ut(o,"index")&&Ae(o.index))return e.interpolate(e.list(o.index));throw lo(n)}case 6:{const o=t,s=Gf(o),r=Uf(o);return e.linked(ds(e,r),s?ds(e,s):void 0,e.type)}case 7:return sr(t,n);case 8:return sr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const gl=e=>e;let xn=me();function fl(e,t={}){let n=!1;const o=t.onError||df;return t.onError=s=>{n=!0,o(s)},{...If(e,t),detectError:n}}const Ch=(e,t)=>{if(!H(e))throw Ot(dt.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||gl)(e),s=xn[o];if(s)return s;const{code:r,detectError:a}=fl(e,t),i=new Function(`return ${r}`)();return a?i:xn[o]=i}};function Nh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||gl)(e),s=xn[o];if(s)return s;const{ast:r,detectError:a}=fl(e,{...t,location:!1,jit:!0}),i=ps(r);return a?i:xn[o]=i}else{const n=e.cacheKey;if(n){const o=xn[n];return o||(xn[n]=ps(e))}else return ps(e)}}const hl=()=>"",rt=e=>we(e);function ml(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:s,messageCompiler:r,fallbackLocale:a,messages:i}=e,[l,c]=gs(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,g=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,_=!!c.resolvedMessage,$=H(c.default)||ce(c.default)?ce(c.default)?r?l:()=>l:c.default:n?r?l:()=>l:"",k=n||$!=="",C=is(e,c);f&&Ah(c);let[L,N,h]=_?[l,C,i[C]||me()]:_l(e,l,C,a,g,u),b=L,A=l;if(!_&&!(H(b)||kt(b)||rt(b))&&k&&(b=$,A=b),!_&&(!(H(b)||kt(b)||rt(b))||!H(N)))return s?ar:l;let O=!1;const E=()=>{O=!0},F=rt(b)?b:bl(e,l,N,b,A,E);if(O)return b;const v=Sh(e,N,h,c),D=rh(v),U=Eh(e,F,D);let K=o?o(U,l):U;if(f&&H(K)&&(K=ef(K)),__INTLIFY_PROD_DEVTOOLS__){const ne={timestamp:Date.now(),key:H(l)?l:rt(b)?b.key:"",locale:N||(rt(b)?b.locale:""),format:H(b)?b:rt(b)?b.source:"",message:K};ne.meta=We({},e.__meta,yh()||{}),ih(ne)}return K}function Ah(e){Oe(e.list)?e.list=e.list.map(t=>H(t)?Si(t):t):ge(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Si(e.named[t]))})}function _l(e,t,n,o,s,r){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let g=me(),f,_=null;const $="translate";for(let k=0;k<u.length&&(f=u[k],g=a[f]||me(),(_=l(g,t))===null&&(_=g[t]),!(H(_)||kt(_)||rt(_)));k++)if(!kh(f,u)){const C=us(e,t,f,r,$);C!==t&&(_=C)}return[_,f,g]}function bl(e,t,n,o,s,r){const{messageCompiler:a,warnHtmlMessage:i}=e;if(rt(o)){const c=o;return c.locale=c.locale||n,c.key=c.key||t,c}if(a==null){const c=()=>o;return c.locale=n,c.key=t,c}const l=a(o,Ph(e,n,s,o,i,r));return l.locale=n,l.key=t,l.source=o,l}function Eh(e,t,n){return t(n)}function gs(...e){const[t,n,o]=e,s=me();if(!H(t)&&!Ae(t)&&!rt(t)&&!kt(t))throw Ot(dt.INVALID_ARGUMENT);const r=Ae(t)?String(t):(rt(t),t);return Ae(n)?s.plural=n:H(n)?s.default=n:se(n)&&!er(n)?s.named=n:Oe(n)&&(s.list=n),Ae(o)?s.plural=o:H(o)?s.default=o:se(o)&&We(s,o),[r,s]}function Ph(e,t,n,o,s,r){return{locale:t,key:n,warnHtmlMessage:s,onError:a=>{throw r&&r(a),a},onCacheKey:a=>Xg(t,n,a)}}function Sh(e,t,n,o){const{modifiers:s,pluralRules:r,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:s,pluralRules:r,messages:_=>{let $=a(n,_);if($==null&&u){const[,,k]=_l(u,_,t,i,l,c);$=a(k,_)}if(H($)||kt($)){let k=!1;const L=bl(e,_,t,$,_,()=>{k=!0});return k?hl:L}else return rt($)?$:hl}};return e.processor&&(f.processor=e.processor),o.list&&(f.list=o.list),o.named&&(f.named=o.named),Ae(o.plural)&&(f.pluralIndex=o.plural),f}function yl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=fs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.DateTimeFormat($,g).format(c);let C={},L,N=null;const h="datetime format";for(let O=0;O<k.length&&(L=k[O],C=n[L]||{},N=C[l],!se(N));O++)us(e,l,L,f,h);if(!se(N)||!H(L))return o?ar:l;let b=`${L}__${l}`;er(g)||(b=`${b}__${JSON.stringify(g)}`);let A=i.get(b);return A||(A=new Intl.DateTimeFormat(L,We({},N,g)),i.set(b,A)),_?A.formatToParts(c):A.format(c)}const $l=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function fs(...e){const[t,n,o,s]=e,r=me();let a=me(),i;if(H(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw Ot(dt.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 Ot(dt.INVALID_ISO_DATE_ARGUMENT)}}else if(Zg(t)){if(isNaN(t.getTime()))throw Ot(dt.INVALID_DATE_ARGUMENT);i=t}else if(Ae(t))i=t;else throw Ot(dt.INVALID_ARGUMENT);return H(n)?r.key=n:se(n)&&Object.keys(n).forEach(l=>{$l.includes(l)?a[l]=n[l]:r[l]=n[l]}),H(o)?r.locale=o:se(o)&&(a=o),se(s)&&(a=s),[r.key||"",i,r,a]}function wl(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__datetimeFormatters.has(r)&&o.__datetimeFormatters.delete(r)}}function vl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,g]=hs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.NumberFormat($,g).format(c);let C={},L,N=null;const h="number format";for(let O=0;O<k.length&&(L=k[O],C=n[L]||{},N=C[l],!se(N));O++)us(e,l,L,f,h);if(!se(N)||!H(L))return o?ar:l;let b=`${L}__${l}`;er(g)||(b=`${b}__${JSON.stringify(g)}`);let A=i.get(b);return A||(A=new Intl.NumberFormat(L,We({},N,g)),i.set(b,A)),_?A.formatToParts(c):A.format(c)}const kl=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function hs(...e){const[t,n,o,s]=e,r=me();let a=me();if(!Ae(t))throw Ot(dt.INVALID_ARGUMENT);const i=t;return H(n)?r.key=n:se(n)&&Object.keys(n).forEach(l=>{kl.includes(l)?a[l]=n[l]:r[l]=n[l]}),H(o)?r.locale=o:se(o)&&(a=o),se(s)&&(a=s),[r.key||"",i,r,a]}function Ol(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__numberFormatters.has(r)&&o.__numberFormatters.delete(r)}}Mf();/*!
* vue-i18n v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/const Lh="9.14.5";function Fh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Th=uh.__EXTEND_POINT__,Dt=tr(Th);Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt();const Cl=dt.__EXTEND_POINT__,Ke=tr(Cl),Fe={UNEXPECTED_RETURN_TYPE:Cl,INVALID_ARGUMENT:Ke(),MUST_BE_CALL_SETUP_TOP:Ke(),NOT_INSTALLED:Ke(),NOT_AVAILABLE_IN_LEGACY_MODE:Ke(),REQUIRED_VALUE:Ke(),INVALID_VALUE:Ke(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ke(),NOT_INSTALLED_WITH_PROVIDE:Ke(),UNEXPECTED_ERROR:Ke(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ke(),BRIDGE_SUPPORT_VUE_2_ONLY:Ke(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ke(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ke(),__EXTEND_POINT__:Ke()};function Me(e,...t){return Sn(e,null,void 0)}const ms=Xt("__translateVNode"),_s=Xt("__datetimeParts"),bs=Xt("__numberParts"),Nl=Xt("__setPluralRules"),Al=Xt("__injectWithOption"),ys=Xt("__dispose");function po(e){if(!ge(e)||kt(e))return e;for(const t in e)if(ut(e,t))if(!t.includes("."))ge(e[t])&&po(e[t]);else{const n=t.split("."),o=n.length-1;let s=e,r=!1;for(let a=0;a<o;a++){if(n[a]==="__proto__")throw new Error(`unsafe key: ${n[a]}`);if(n[a]in s||(s[n[a]]=me()),!ge(s[n[a]])){r=!0;break}s=s[n[a]]}if(r||(kt(s)?Ki.includes(n[o])||delete e[t]:(s[n[o]]=e[t],delete e[t])),!kt(s)){const a=s[n[o]];ge(a)&&po(a)}}return e}function ir(e,t){const{messages:n,__i18n:o,messageResolver:s,flatJson:r}=t,a=se(n)?n:Oe(o)?me():{[e]:me()};if(Oe(o)&&o.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||me(),or(c,a[l])):or(c,a)}else H(i)&&or(JSON.parse(i),a)}),s==null&&r)for(const i in a)ut(a,i)&&po(a[i]);return a}function El(e){return e.type}function Pl(e,t,n){let o=ge(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ir(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(ge(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ge(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Sl(e){return $e(Qn,null,e,0)}const Ll="__INTLIFY_META__",Fl=()=>[],xh=()=>!1;let Tl=0;function xl(e){return(t,n,o,s)=>e(n,o,It()||void 0,s)}const Ih=()=>{const e=It();let t=null;return e&&(t=El(e)[Ll])?{[Ll]:t}:null};function $s(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,a=Qo?re:jn,i=!!e.translateExistCompatible;let l=ce(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:H(e.locale)?e.locale:Tn),u=a(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=a(ir(c.value,e)),f=a(se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=a(se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let $=n?n.missingWarn:ce(e.missingWarn)||Jt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:ce(e.fallbackWarn)||Jt(e.fallbackWarn)?e.fallbackWarn:!0,C=n?n.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,L=!!e.fallbackFormat,N=we(e.missing)?e.missing:null,h=we(e.missing)?xl(e.missing):null,b=we(e.postTranslation)?e.postTranslation:null,A=n?n.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const E=n?n.modifiers:se(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,v;v=(()=>{s&&ul(null);const P={version:Lh,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:E,pluralRules:F,missing:h===null?void 0:h,missingWarn:$,fallbackWarn:k,fallbackFormat:L,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:A,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};P.datetimeFormats=f.value,P.numberFormats=_.value,P.__datetimeFormatters=se(v)?v.__datetimeFormatters:void 0,P.__numberFormatters=se(v)?v.__numberFormatters:void 0;const M=wh(P);return s&&ul(M),M})(),uo(v,c.value,u.value);function U(){return[c.value,u.value,g.value,f.value,_.value]}const K=ae({get:()=>c.value,set:P=>{c.value=P,v.locale=c.value}}),ne=ae({get:()=>u.value,set:P=>{u.value=P,v.fallbackLocale=u.value,uo(v,c.value,P)}}),ue=ae(()=>g.value),q=ae(()=>f.value),W=ae(()=>_.value);function X(){return we(b)?b:null}function le(P){b=P,v.postTranslation=P}function Ee(){return N}function Ct(P){P!==null&&(h=xl(P)),N=P,v.missing=h}const Te=(P,M,Z,ie,ve,He)=>{U();let Ge;try{__INTLIFY_PROD_DEVTOOLS__,s||(v.fallbackContext=n?$h():void 0),Ge=P(v)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(v.fallbackContext=void 0)}if(Z!=="translate exists"&&Ae(Ge)&&Ge===ar||Z==="translate exists"&&!Ge){const[mn,As]=M();return n&&C?ie(n):ve(mn)}else{if(He(Ge))return Ge;throw Me(Fe.UNEXPECTED_RETURN_TYPE)}};function Re(...P){return Te(M=>Reflect.apply(ml,null,[M,...P]),()=>gs(...P),"translate",M=>Reflect.apply(M.t,M,[...P]),M=>M,M=>H(M))}function on(...P){const[M,Z,ie]=P;if(ie&&!ge(ie))throw Me(Fe.INVALID_ARGUMENT);return Re(M,Z,We({resolvedMessage:!0},ie||{}))}function rn(...P){return Te(M=>Reflect.apply(yl,null,[M,...P]),()=>fs(...P),"datetime format",M=>Reflect.apply(M.d,M,[...P]),()=>nl,M=>H(M))}function hn(...P){return Te(M=>Reflect.apply(vl,null,[M,...P]),()=>hs(...P),"number format",M=>Reflect.apply(M.n,M,[...P]),()=>nl,M=>H(M))}function gt(P){return P.map(M=>H(M)||Ae(M)||ce(M)?Sl(String(M)):M)}const Ut={normalize:gt,interpolate:P=>P,type:"vnode"};function sn(...P){return Te(M=>{let Z;const ie=M;try{ie.processor=Ut,Z=Reflect.apply(ml,null,[ie,...P])}finally{ie.processor=null}return Z},()=>gs(...P),"translate",M=>M[ms](...P),M=>[Sl(M)],M=>Oe(M))}function st(...P){return Te(M=>Reflect.apply(vl,null,[M,...P]),()=>hs(...P),"number format",M=>M[bs](...P),Fl,M=>H(M)||Oe(M))}function In(...P){return Te(M=>Reflect.apply(yl,null,[M,...P]),()=>fs(...P),"datetime format",M=>M[_s](...P),Fl,M=>H(M)||Oe(M))}function m(P){F=P,v.pluralRules=F}function w(P,M){return Te(()=>{if(!P)return!1;const Z=H(M)?M:c.value,ie=B(Z),ve=v.messageResolver(ie,P);return i?ve!=null:kt(ve)||rt(ve)||H(ve)},()=>[P],"translate exists",Z=>Reflect.apply(Z.te,Z,[P,M]),xh,Z=>ce(Z))}function y(P){let M=null;const Z=el(v,u.value,c.value);for(let ie=0;ie<Z.length;ie++){const ve=g.value[Z[ie]]||{},He=v.messageResolver(ve,P);if(He!=null){M=He;break}}return M}function T(P){const M=y(P);return M??(n?n.tm(P)||{}:{})}function B(P){return g.value[P]||{}}function R(P,M){if(r){const Z={[P]:M};for(const ie in Z)ut(Z,ie)&&po(Z[ie]);M=Z[P]}g.value[P]=M,v.messages=g.value}function V(P,M){g.value[P]=g.value[P]||{};const Z={[P]:M};if(r)for(const ie in Z)ut(Z,ie)&&po(Z[ie]);M=Z[P],or(M,g.value[P]),v.messages=g.value}function j(P){return f.value[P]||{}}function p(P,M){f.value[P]=M,v.datetimeFormats=f.value,wl(v,P,M)}function d(P,M){f.value[P]=We(f.value[P]||{},M),v.datetimeFormats=f.value,wl(v,P,M)}function S(P){return _.value[P]||{}}function x(P,M){_.value[P]=M,v.numberFormats=_.value,Ol(v,P,M)}function Y(P,M){_.value[P]=We(_.value[P]||{},M),v.numberFormats=_.value,Ol(v,P,M)}Tl++,n&&Qo&&(ot(n.locale,P=>{l&&(c.value=P,v.locale=P,uo(v,c.value,u.value))}),ot(n.fallbackLocale,P=>{l&&(u.value=P,v.fallbackLocale=P,uo(v,c.value,u.value))}));const G={id:Tl,locale:K,fallbackLocale:ne,get inheritLocale(){return l},set inheritLocale(P){l=P,P&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,uo(v,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ue,get modifiers(){return E},get pluralRules(){return F||{}},get isGlobal(){return s},get missingWarn(){return $},set missingWarn(P){$=P,v.missingWarn=$},get fallbackWarn(){return k},set fallbackWarn(P){k=P,v.fallbackWarn=k},get fallbackRoot(){return C},set fallbackRoot(P){C=P},get fallbackFormat(){return L},set fallbackFormat(P){L=P,v.fallbackFormat=L},get warnHtmlMessage(){return A},set warnHtmlMessage(P){A=P,v.warnHtmlMessage=P},get escapeParameter(){return O},set escapeParameter(P){O=P,v.escapeParameter=P},t:Re,getLocaleMessage:B,setLocaleMessage:R,mergeLocaleMessage:V,getPostTranslationHandler:X,setPostTranslationHandler:le,getMissingHandler:Ee,setMissingHandler:Ct,[Nl]:m};return G.datetimeFormats=q,G.numberFormats=W,G.rt=on,G.te=w,G.tm=T,G.d=rn,G.n=hn,G.getDateTimeFormat=j,G.setDateTimeFormat=p,G.mergeDateTimeFormat=d,G.getNumberFormat=S,G.setNumberFormat=x,G.mergeNumberFormat=Y,G[Al]=o,G[ms]=sn,G[_s]=In,G[bs]=st,G}function Mh(e){const t=H(e.locale)?e.locale:Tn,n=H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=we(e.missing)?e.missing:void 0,s=ce(e.silentTranslationWarn)||Jt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ce(e.silentFallbackWarn)||Jt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=ce(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=we(e.postTranslation)?e.postTranslation:void 0,g=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,_=ce(e.sync)?e.sync:!0;let $=e.messages;if(se(e.sharedMessages)){const O=e.sharedMessages;$=Object.keys(O).reduce((F,v)=>{const D=F[v]||(F[v]={});return We(D,O[v]),F},$||{})}const{__i18n:k,__root:C,__injectWithOption:L}=e,N=e.datetimeFormats,h=e.numberFormats,b=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:$,flatJson:b,datetimeFormats:N,numberFormats:h,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:_,translateExistCompatible:A,__i18n:k,__root:C,__injectWithOption:L}}function ws(e={},t){{const n=$s(Mh(e)),{__extender:o}=e,s={id:n.id,get locale(){return n.locale.value},set locale(r){n.locale.value=r},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(r){n.fallbackLocale.value=r},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return n.getMissingHandler()},set missing(r){n.setMissingHandler(r)},get silentTranslationWarn(){return ce(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ce(r)?!r:r},get silentFallbackWarn(){return ce(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ce(r)?!r:r},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(r){n.fallbackFormat=r},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(r){n.setPostTranslationHandler(r)},get sync(){return n.inheritLocale},set sync(r){n.inheritLocale=r},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){n.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(r){n.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...r){const[a,i,l]=r,c={};let u=null,g=null;if(!H(a))throw Me(Fe.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Oe(i)?u=i:se(i)&&(g=i),Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(n.t,n,[f,u||g||{},c])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[a,i,l]=r,c={plural:1};let u=null,g=null;if(!H(a))throw Me(Fe.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Ae(i)?c.plural=i:Oe(i)?u=i:se(i)&&(g=i),H(l)?c.locale=l:Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(n.t,n,[f,u||g||{},c])},te(r,a){return n.te(r,a)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,a){n.setLocaleMessage(r,a)},mergeLocaleMessage(r,a){n.mergeLocaleMessage(r,a)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,a){n.setDateTimeFormat(r,a)},mergeDateTimeFormat(r,a){n.mergeDateTimeFormat(r,a)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,a){n.setNumberFormat(r,a)},mergeNumberFormat(r,a){n.mergeNumberFormat(r,a)},getChoiceIndex(r,a){return-1}};return s.__extender=o,s}}const vs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Rh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===de?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},me())}function Il(e){return de}const Ml=Kn({name:"i18n-t",props:We({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ae(e)||!isNaN(e)}},vs),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||tn({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(g=>g!=="_"),a=me();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=H(e.plural)?+e.plural:e.plural);const i=Rh(t,r),l=s[ms](e.keypath,i,a),c=We(me(),o),u=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(u,c,l)}}});function Bh(e){return Oe(e)&&!H(e[0])}function Rl(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const a={part:!0};let i=me();e.locale&&(a.locale=e.locale),H(e.format)?a.key=e.format:ge(e.format)&&(H(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((f,_)=>n.includes(_)?We(me(),f,{[_]:e.format[_]}):f,me()));const l=o(e.value,a,i);let c=[a.key];Oe(l)?c=l.map((f,_)=>{const $=s[f.type],k=$?$({[f.type]:f.value,index:_,parts:l}):[f.value];return Bh(k)&&(k[0].key=`${f.type}-${_}`),k}):H(l)&&(c=[l]);const u=We(me(),r),g=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(g,u,c)}}const Bl=Kn({name:"i18n-n",props:We({value:{type:Number,required:!0},format:{type:[String,Object]}},vs),setup(e,t){const n=e.i18n||tn({useScope:e.scope,__useComponent:!0});return Rl(e,t,kl,(...o)=>n[bs](...o))}}),Dl=Kn({name:"i18n-d",props:We({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},vs),setup(e,t){const n=e.i18n||tn({useScope:e.scope,__useComponent:!0});return Rl(e,t,$l,(...o)=>n[_s](...o))}});function Dh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Wh(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw Me(Fe.UNEXPECTED_ERROR);const u=Dh(e,i.$),g=Wl(c);return[Reflect.apply(u.t,u,[...Gl(g)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Qo&&e.global===c&&(a.__i18nWatcher=ot(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Qo&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=Wl(i);a.textContent=Reflect.apply(l.t,l,[...Gl(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function Wl(e){if(H(e))return{path:e};if(se(e)){if(!("path"in e))throw Me(Fe.REQUIRED_VALUE,"path");return e}else throw Me(Fe.INVALID_VALUE)}function Gl(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,a={},i=o||{};return H(n)&&(a.locale=n),Ae(s)&&(a.plural=s),Ae(r)&&(a.plural=r),[t,i,a]}function Gh(e,t,...n){const o=se(n[0])?n[0]:{},s=!!o.useI18nComponentName;(ce(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":Ml.name,"I18nT"].forEach(a=>e.component(a,Ml)),[Bl.name,"I18nN"].forEach(a=>e.component(a,Bl)),[Dl.name,"I18nD"].forEach(a=>e.component(a,Dl))),e.directive("t",Wh(t))}function Uh(e,t,n){return{beforeCreate(){const o=It();if(!o)throw Me(Fe.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const r=s.i18n;if(s.__i18n&&(r.__i18n=s.__i18n),r.__root=t,this===this.$root)this.$i18n=Ul(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=ws(r);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Ul(e,s);else{this.$i18n=ws({__i18n:s.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&Pl(t,s,s),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,a)=>this.$i18n.te(r,a),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=It();if(!o)throw Me(Fe.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),n.__deleteInstance(o),delete this.$i18n}}}function Ul(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Nl](t.pluralizationRules||e.pluralizationRules);const n=ir(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const jh=Xt("global-vue-i18n");function Vh(e={},t){const n=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ce(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[a,i]=Yh(e,n),l=Xt("");function c(f){return r.get(f)||null}function u(f,_){r.set(f,_)}function g(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(_,...$){if(_.__VUE_I18N_SYMBOL__=l,_.provide(_.__VUE_I18N_SYMBOL__,f),se($[0])){const L=$[0];f.__composerExtend=L.__composerExtend,f.__vueI18nExtend=L.__vueI18nExtend}let k=null;!n&&o&&(k=em(_,f.global)),__VUE_I18N_FULL_INSTALL__&&Gh(_,f,...$),__VUE_I18N_LEGACY_API__&&n&&_.mixin(Uh(i,i.__composer,f));const C=_.unmount;_.unmount=()=>{k&&k(),f.dispose(),C()}},get global(){return i},dispose(){a.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function tn(e={}){const t=It();if(t==null)throw Me(Fe.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Me(Fe.NOT_INSTALLED);const n=zh(t),o=qh(n),s=El(t),r=Hh(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Me(Fe.NOT_AVAILABLE_IN_LEGACY_MODE);return Zh(t,r,o,e)}if(r==="global")return Pl(o,e,s),o;if(r==="parent"){let l=Kh(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=We({},e);"__i18n"in s&&(l.__i18n=s.__i18n),o&&(l.__root=o),i=$s(l),a.__composerExtend&&(i[ys]=a.__composerExtend(i)),Jh(a,t,i),a.__setInstance(t,i)}return i}function Yh(e,t,n){const o=mr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ws(e)):o.run(()=>$s(e));if(s==null)throw Me(Fe.UNEXPECTED_ERROR);return[o,s]}}function zh(e){{const t=Ie(e.isCE?jh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Me(e.isCE?Fe.NOT_INSTALLED_WITH_PROVIDE:Fe.UNEXPECTED_ERROR);return t}}function Hh(e,t){return er(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function qh(e){return e.mode==="composition"?e.global:e.global.__composer}function Kh(e,t,n=!1){let o=null;const s=t.root;let r=Xh(t,n);for(;r!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(r);i!=null&&(o=i.__composer,n&&o&&!o[Al]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function Xh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Jh(e,t,n){Ht(()=>{},t),Uo(()=>{const o=n;e.__deleteInstance(t);const s=o[ys];s&&(s(),delete o[ys])},t)}function Zh(e,t,n,o={}){const s=t==="local",r=jn(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Me(Fe.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=ce(o.inheritLocale)?o.inheritLocale:!H(o.locale),i=re(!s||a?n.locale.value:H(o.locale)?o.locale:Tn),l=re(!s||a?n.fallbackLocale.value:H(o.fallbackLocale)||Oe(o.fallbackLocale)||se(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=re(ir(i.value,o)),u=re(se(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),g=re(se(o.numberFormats)?o.numberFormats:{[i.value]:{}}),f=s?n.missingWarn:ce(o.missingWarn)||Jt(o.missingWarn)?o.missingWarn:!0,_=s?n.fallbackWarn:ce(o.fallbackWarn)||Jt(o.fallbackWarn)?o.fallbackWarn:!0,$=s?n.fallbackRoot:ce(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,C=we(o.missing)?o.missing:null,L=we(o.postTranslation)?o.postTranslation:null,N=s?n.warnHtmlMessage:ce(o.warnHtmlMessage)?o.warnHtmlMessage:!0,h=!!o.escapeParameter,b=s?n.modifiers:se(o.modifiers)?o.modifiers:{},A=o.pluralRules||s&&n.pluralRules;function O(){return[i.value,l.value,c.value,u.value,g.value]}const E=ae({get:()=>r.value?r.value.locale.value:i.value,set:y=>{r.value&&(r.value.locale.value=y),i.value=y}}),F=ae({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:y=>{r.value&&(r.value.fallbackLocale.value=y),l.value=y}}),v=ae(()=>r.value?r.value.messages.value:c.value),D=ae(()=>u.value),U=ae(()=>g.value);function K(){return r.value?r.value.getPostTranslationHandler():L}function ne(y){r.value&&r.value.setPostTranslationHandler(y)}function ue(){return r.value?r.value.getMissingHandler():C}function q(y){r.value&&r.value.setMissingHandler(y)}function W(y){return O(),y()}function X(...y){return r.value?W(()=>Reflect.apply(r.value.t,null,[...y])):W(()=>"")}function le(...y){return r.value?Reflect.apply(r.value.rt,null,[...y]):""}function Ee(...y){return r.value?W(()=>Reflect.apply(r.value.d,null,[...y])):W(()=>"")}function Ct(...y){return r.value?W(()=>Reflect.apply(r.value.n,null,[...y])):W(()=>"")}function Te(y){return r.value?r.value.tm(y):{}}function Re(y,T){return r.value?r.value.te(y,T):!1}function on(y){return r.value?r.value.getLocaleMessage(y):{}}function rn(y,T){r.value&&(r.value.setLocaleMessage(y,T),c.value[y]=T)}function hn(y,T){r.value&&r.value.mergeLocaleMessage(y,T)}function gt(y){return r.value?r.value.getDateTimeFormat(y):{}}function Gt(y,T){r.value&&(r.value.setDateTimeFormat(y,T),u.value[y]=T)}function Ut(y,T){r.value&&r.value.mergeDateTimeFormat(y,T)}function sn(y){return r.value?r.value.getNumberFormat(y):{}}function st(y,T){r.value&&(r.value.setNumberFormat(y,T),g.value[y]=T)}function In(y,T){r.value&&r.value.mergeNumberFormat(y,T)}const m={get id(){return r.value?r.value.id:-1},locale:E,fallbackLocale:F,messages:v,datetimeFormats:D,numberFormats:U,get inheritLocale(){return r.value?r.value.inheritLocale:a},set inheritLocale(y){r.value&&(r.value.inheritLocale=y)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:b},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackWarn(){return r.value?r.value.fallbackWarn:_},set fallbackWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackRoot(){return r.value?r.value.fallbackRoot:$},set fallbackRoot(y){r.value&&(r.value.fallbackRoot=y)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(y){r.value&&(r.value.fallbackFormat=y)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:N},set warnHtmlMessage(y){r.value&&(r.value.warnHtmlMessage=y)},get escapeParameter(){return r.value?r.value.escapeParameter:h},set escapeParameter(y){r.value&&(r.value.escapeParameter=y)},t:X,getPostTranslationHandler:K,setPostTranslationHandler:ne,getMissingHandler:ue,setMissingHandler:q,rt:le,d:Ee,n:Ct,tm:Te,te:Re,getLocaleMessage:on,setLocaleMessage:rn,mergeLocaleMessage:hn,getDateTimeFormat:gt,setDateTimeFormat:Gt,mergeDateTimeFormat:Ut,getNumberFormat:sn,setNumberFormat:st,mergeNumberFormat:In};function w(y){y.locale.value=i.value,y.fallbackLocale.value=l.value,Object.keys(c.value).forEach(T=>{y.mergeLocaleMessage(T,c.value[T])}),Object.keys(u.value).forEach(T=>{y.mergeDateTimeFormat(T,u.value[T])}),Object.keys(g.value).forEach(T=>{y.mergeNumberFormat(T,g.value[T])}),y.escapeParameter=h,y.fallbackFormat=k,y.fallbackRoot=$,y.fallbackWarn=_,y.missingWarn=f,y.warnHtmlMessage=N}return ka(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Me(Fe.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const y=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=y.locale.value,l.value=y.fallbackLocale.value,c.value=y.messages.value,u.value=y.datetimeFormats.value,g.value=y.numberFormats.value):s&&w(y)}),m}const Qh=["locale","fallbackLocale","availableLocales"],jl=["t","rt","d","n","tm","te"];function em(e,t){const n=Object.create(null);return Qh.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Me(Fe.UNEXPECTED_ERROR);const a=Ce(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,s,a)}),e.config.globalProperties.$i18n=n,jl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Me(Fe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,jl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Fh(),__INTLIFY_JIT_COMPILATION__?sl(Nh):sl(Ch),mh(Xf),_h(el),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,sh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const tm=Object.assign({"./locales/ar/aria.json":Dp,"./locales/ar/buttons.json":Wp,"./locales/ar/detail.json":Gp,"./locales/ar/legend.json":Up,"./locales/ar/messages.json":jp,"./locales/ar/options.json":Vp,"./locales/ar/popup.json":Yp,"./locales/ar/prayerLaps.json":zp,"./locales/ar/regions.json":Hp,"./locales/ar/search.json":qp,"./locales/ar/tabs.json":Kp,"./locales/de/aria.json":Xp,"./locales/de/buttons.json":Jp,"./locales/de/detail.json":Zp,"./locales/de/legend.json":Qp,"./locales/de/messages.json":ed,"./locales/de/options.json":td,"./locales/de/popup.json":nd,"./locales/de/prayerLaps.json":od,"./locales/de/regions.json":rd,"./locales/de/search.json":sd,"./locales/de/tabs.json":ad,"./locales/en/aria.json":id,"./locales/en/buttons.json":ld,"./locales/en/detail.json":cd,"./locales/en/legend.json":ud,"./locales/en/messages.json":pd,"./locales/en/options.json":dd,"./locales/en/popup.json":gd,"./locales/en/prayerLaps.json":fd,"./locales/en/regions.json":hd,"./locales/en/search.json":md,"./locales/en/tabs.json":_d,"./locales/es/aria.json":bd,"./locales/es/buttons.json":yd,"./locales/es/detail.json":$d,"./locales/es/legend.json":wd,"./locales/es/messages.json":vd,"./locales/es/options.json":kd,"./locales/es/popup.json":Od,"./locales/es/prayerLaps.json":Cd,"./locales/es/regions.json":Nd,"./locales/es/search.json":Ad,"./locales/es/tabs.json":Ed,"./locales/fr/aria.json":Pd,"./locales/fr/buttons.json":Sd,"./locales/fr/detail.json":Ld,"./locales/fr/legend.json":Fd,"./locales/fr/messages.json":Td,"./locales/fr/options.json":xd,"./locales/fr/popup.json":Id,"./locales/fr/prayerLaps.json":Md,"./locales/fr/regions.json":Rd,"./locales/fr/search.json":Bd,"./locales/fr/tabs.json":Dd,"./locales/hi/aria.json":Wd,"./locales/hi/buttons.json":Gd,"./locales/hi/detail.json":Ud,"./locales/hi/legend.json":jd,"./locales/hi/messages.json":Vd,"./locales/hi/options.json":Yd,"./locales/hi/popup.json":zd,"./locales/hi/prayerLaps.json":Hd,"./locales/hi/regions.json":qd,"./locales/hi/search.json":Kd,"./locales/hi/tabs.json":Xd,"./locales/it/aria.json":Jd,"./locales/it/buttons.json":Zd,"./locales/it/detail.json":Qd,"./locales/it/legend.json":eg,"./locales/it/messages.json":tg,"./locales/it/options.json":ng,"./locales/it/popup.json":og,"./locales/it/prayerLaps.json":rg,"./locales/it/search.json":sg,"./locales/it/tabs.json":ag,"./locales/pt/aria.json":ig,"./locales/pt/buttons.json":lg,"./locales/pt/detail.json":cg,"./locales/pt/legend.json":ug,"./locales/pt/messages.json":pg,"./locales/pt/options.json":dg,"./locales/pt/popup.json":gg,"./locales/pt/prayerLaps.json":fg,"./locales/pt/regions.json":hg,"./locales/pt/search.json":mg,"./locales/pt/tabs.json":_g,"./locales/ro/aria.json":bg,"./locales/ro/buttons.json":yg,"./locales/ro/detail.json":$g,"./locales/ro/legend.json":wg,"./locales/ro/messages.json":vg,"./locales/ro/options.json":kg,"./locales/ro/popup.json":Og,"./locales/ro/prayerLaps.json":Cg,"./locales/ro/search.json":Ng,"./locales/ro/tabs.json":Ag,"./locales/ru/aria.json":Eg,"./locales/ru/buttons.json":Pg,"./locales/ru/detail.json":Sg,"./locales/ru/legend.json":Lg,"./locales/ru/messages.json":Fg,"./locales/ru/options.json":Tg,"./locales/ru/popup.json":xg,"./locales/ru/prayerLaps.json":Ig,"./locales/ru/regions.json":Mg,"./locales/ru/search.json":Rg,"./locales/ru/tabs.json":Bg,"./locales/zh/aria.json":Dg,"./locales/zh/buttons.json":Wg,"./locales/zh/detail.json":Gg,"./locales/zh/legend.json":Ug,"./locales/zh/messages.json":jg,"./locales/zh/options.json":Vg,"./locales/zh/popup.json":Yg,"./locales/zh/prayerLaps.json":zg,"./locales/zh/search.json":Hg,"./locales/zh/tabs.json":qg}),go={};for(const[e,t]of Object.entries(tm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;go[o]??(go[o]={}),go[o][s]=t}const ks=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],nm=new Set(["ar"]);function om(){var o;const e=(()=>{try{const s=new URLSearchParams(window.location.search);return(s.get("lang")||s.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(ks.includes(e))return e;const n=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return ks.includes(n)?n:"en"}function rm(){const e=om();try{nm.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return Vh({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:go,missingWarn:!1,fallbackWarn:!1})}function Wt(e,t){const n=t||sm(e);Ht(()=>{var i;const o=It();if(!o)return;const s=(i=o.proxy)==null?void 0:i.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,r.appendChild(a)})}function sm(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return"s"+Math.abs(t).toString(36)}const am={class:"pin-hint-pill"},im={__name:"PinHint",setup(e){const t=Ie("uiStore",null),n=Ie("profileConfig",null),o=ae(()=>(t==null?void 0:t.theme)==="dark"),s=ae(()=>{var C;return((C=n==null?void 0:n.value)==null?void 0:C.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=re(!1),a=re(null);let i=null,l=null,c=null,u=null,g=null;function f(){r.value=!1}function _(C,L){var h;let N=C==null?void 0:C.parentElement;for(let b=0;N&&b<12;b++,N=N.parentElement){if(N===L||(h=N.classList)!=null&&h.contains("profile-loader"))return null;let A="";try{A=getComputedStyle(N).position}catch{}if(A&&A!=="static"){const O=N.getBoundingClientRect();if(O.height>=120&&O.width>=160)return N}}return null}function $(){const C=a.value;if(C)try{C.style.removeProperty("--pin-hint-lift");const L=C.getBoundingClientRect();if(!L.height)return;const N=Math.round(L.bottom-window.innerHeight);N>0&&C.style.setProperty("--pin-hint-lift",N+8+"px")}catch{}}function k(C){const L=a.value;if(!L||!(C!=null&&C.querySelector))return;let N=0;try{const b=C.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const A=b.getBoundingClientRect(),O=L.parentElement,E=O?O.getBoundingClientRect():null;if(N=E?Math.max(A.height||0,E.bottom-A.top):A.height||0,g!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=b,c=new ResizeObserver(()=>k(C)),c.observe(b)}}}catch{}const h=Math.min(Math.max(Math.ceil(N)||20,20),72);L.style.setProperty("--pin-hint-attrib-clear",h+"px"),$()}return Ht(()=>{var h,b,A;const C=It(),L=(A=(b=(h=C==null?void 0:C.proxy)==null?void 0:h.$el)==null?void 0:b.getRootNode)==null?void 0:A.call(b);if(!L||typeof L.querySelector!="function")return;let N=0;i=setInterval(()=>{N++;const O=L.querySelector("canvas");O?(clearInterval(i),i=null,r.value=!0,zn(()=>{const E=_(O,L),F=a.value;if(E&&F&&F.parentElement!==E)try{E.appendChild(F),l=E}catch{}k(L),$();try{const v=a.value&&a.value.offsetParent||null;if(v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>$()),u.observe(v)}}catch{}})):N>40&&(clearInterval(i),i=null)},300)}),qt(()=>{var C;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((C=a.value)==null?void 0:C.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Wt(`
.pin-hint { position: absolute; left: 50%;
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
z-index: 2147482000; pointer-events: none;
max-width: calc(100% - 24px); box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
animation: pinhint-in .5s ease both; }
.pin-hint-pill { pointer-events: auto; display: inline-flex; align-items: center; gap: 9px;
padding: 9px 14px 9px 11px; border-radius: 999px;
background: rgba(23, 29, 38, .92); color: #fff; font-size: 13.5px; font-weight: 600;
letter-spacing: .01em; box-shadow: 0 4px 18px rgba(0,0,0,.30);
animation: pinhint-bob 2.6s ease-in-out 1s infinite; }
.pin-hint-dot { position: relative; width: 12px; height: 12px; flex: none; }
.pin-hint-dot::before { content: ''; position: absolute; inset: 0; border-radius: 50%;
background: #e05252; box-shadow: 0 0 0 2px rgba(224,82,82,.35); }
.pin-hint-dot::after { content: ''; position: absolute; inset: -5px; border-radius: 50%;
border: 2px solid rgba(224,82,82,.55); animation: pinhint-pulse 1.8s ease-out infinite; }
.pin-hint-x { pointer-events: auto; border: none; background: none; color: #aeb7c2;
font-size: 16px; line-height: 1; cursor: pointer; padding: 0 0 0 2px; }
.pin-hint-x:hover { color: #fff; }
.pin-hint.dark .pin-hint-pill { background: rgba(240, 243, 247, .95); color: #1b212b; }
.pin-hint.dark .pin-hint-x { color: #5a6470; }
.pin-hint.dark .pin-hint-x:hover { color: #1b212b; }
@keyframes pinhint-pulse { 0% { transform: scale(.6); opacity: .9 } 70% { transform: scale(1.5); opacity: 0 } 100% { opacity: 0 } }
@keyframes pinhint-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
@keyframes pinhint-in { from { opacity: 0; transform: translateX(-50%) translateY(10px) } to { opacity: 1; transform: translateX(-50%) translateY(0) } }
@media (prefers-reduced-motion: reduce) {
.pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; }
}
`,"pin-hint"),(C,L)=>r.value?(z(),J("div",{key:0,ref_key:"hintEl",ref:a,class:Pe(["pin-hint",{dark:o.value}]),role:"status"},[I("span",am,[L[0]||(L[0]=I("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ke(" "+Q(s.value)+" ",1),I("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:f},"×")])],2)):Se("",!0)}};let lm=0;const cm=ts("ui",{state:()=>({_storeInstanceId:++lm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:s=null,persistent:r=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(a),!r&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),um=ts("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let s=[0,0];if(n.center)s=n.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(s=[r.lng,r.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:s,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),pm=ts("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=$n({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$n({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),dm={activeSource:"pray-tools"},gm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",fm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},hm={class:"profile-loader"},mm={key:0,class:"profile-error"},_m={key:1,class:"profile-error"},bm=fm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var A;const n=e,o=Ie("profileConfig",null),s=ae(()=>{var E;if(!n.profileConfig)return null;let O;try{O=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(O&&O.assetsBase===void 0){const F=(E=o==null?void 0:o.value)==null?void 0:E.assetsBase;typeof F=="string"&&F&&(O.assetsBase=F)}return O}),r=ae(()=>{var O;return((O=s.value)==null?void 0:O.profile)||null}),a=Rp(),i=ae(()=>{var E;const O=(E=s.value)==null?void 0:E.tk;return typeof O=="string"&&O?O:a.value||""});ot(()=>{var O;return(O=s.value)==null?void 0:O.tk},O=>{typeof O=="string"&&O&&Ei(O)},{immediate:!0});const l=ae(()=>{var O;return((O=s.value)==null?void 0:O.dataSource)||dm.activeSource}),c=ae(()=>{var O;return((O=s.value)==null?void 0:O.colorSet)||"default"}),u=ae(()=>!1),g=ae(()=>{var O;return((O=s.value)==null?void 0:O.pinHint)!==!1}),f=ae(()=>{var E,F;const O=(((E=s.value)==null?void 0:E.locale)||((F=s.value)==null?void 0:F.lang)||"").split("-")[0].toLowerCase();return ks.includes(O)?O:""}),_=Ie("appI18n",null);zc(()=>{f.value&&_&&(_.global.locale.value=f.value)});const $=ae(()=>{var O,E;return f.value||((E=(O=_==null?void 0:_.global)==null?void 0:O.locale)==null?void 0:E.value)||"en"}),k=ae(()=>{var O;return((O=s.value)==null?void 0:O.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),C=Ie("profileModules",null);if(!C)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const L=ae(()=>{if(!r.value)return null;const O=`./${r.value}.vue`;return C[O]?Bp(C[O]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(C)),null)});nt("mapboxToken",i),nt("dataSource",l),nt("colorSet",c),nt("profileConfig",s),nt("instanceId",k),nt("lang",$);const N=cm(),h=um(),b=pm();try{const O=typeof localStorage<"u"?localStorage.getItem("theme"):null;O&&((A=N.setTheme)==null||A.call(N,O))}catch{}return nt("uiStore",N),nt("mapStore",h),nt("dataStore",b),(O,E)=>(z(),J("div",hm,[s.value?L.value?(z(),Qe(Ca(L.value),{key:2})):(z(),J("div",_m,[I("p",null,[E[1]||(E[1]=ke("⚠️ Profile ",-1)),I("strong",null,'"'+Q(r.value)+'"',1),E[2]||(E[2]=ke(" not found.",-1))])])):(z(),J("div",mm,[...E[0]||(E[0]=[I("p",null,[ke("⚠️ "),I("strong",null,"doxa-map"),ke(": missing or invalid "),I("code",null,"profile-config"),ke(" prop.")],-1),I("p",null,[ke("Example: "),I("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),L.value&&u.value?(z(),Qe(Ca(qe(null)),{key:3})):Se("",!0),L.value&&g.value?(z(),Qe(im,{key:4})):Se("",!0)]))}},[["styles",[gm]],["__scopeId","data-v-ba19fc13"]]),ym=Object.assign({"./connectivity-list.vue":()=>ur(()=>Promise.resolve().then(()=>Mm),void 0),"./connectivity-map.vue":()=>ur(()=>Promise.resolve().then(()=>M_),void 0),"./data-tables.vue":()=>ur(()=>Promise.resolve().then(()=>ib),void 0)});function $m(){return wp(bm,{configureApp(e){e.use(Sp()),e.use(rm()),e.provide("profileModules",ym)}})}const wm=$m();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",wm));const vm={countries:[{iso3:"IND",country:"India",region:"Asia",clusters:541,people_groups:856,multi:164,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:79.4,mobile_year:"2024",national_population:1450935791,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CHN",country:"People's Republic of China",region:"Asia",clusters:130,people_groups:154,multi:19,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:131.8,mobile_year:"2024",national_population:1408975e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SDN",country:"Sudan",region:"Middle East",clusters:75,people_groups:105,multi:20,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:70.2,mobile_year:"2022",national_population:50448963,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRA",country:"Brazil",region:"Latin America & Caribbean",clusters:99,people_groups:104,multi:5,internet_access:"yes",internet_pct:84.5,internet_year:"2024",mobile_per_100:101.9,mobile_year:"2024",national_population:211998573,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LAO",country:"Lao People's Democratic Republic",region:"Asia",clusters:65,people_groups:95,multi:24,internet_access:"yes",internet_pct:65.6,internet_year:"2024",mobile_per_100:64.8,mobile_year:"2023",national_population:7769819,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCD",country:"Chad",region:"Africa",clusters:48,people_groups:54,multi:6,internet_access:"no",internet_pct:12.6,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:20299123,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NGA",country:"Nigeria",region:"Africa",clusters:35,people_groups:38,multi:3,internet_access:"partial",internet_pct:41.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:232679478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IDN",country:"Indonesia",region:"Asia",clusters:35,people_groups:36,multi:1,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:122.5,mobile_year:"2024",national_population:283487931,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NPL",country:"Nepal",region:"Asia",clusters:25,people_groups:33,multi:5,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:99.8,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ETH",country:"Ethiopia",region:"Africa",clusters:29,people_groups:29,multi:0,internet_access:"no",internet_pct:21.9,internet_year:"2024",mobile_per_100:65.1,mobile_year:"2024",national_population:132059767,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COL",country:"Colombia",region:"Latin America & Caribbean",clusters:26,people_groups:26,multi:0,internet_access:"yes",internet_pct:79.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:52886363,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAK",country:"Pakistan",region:"Asia",clusters:21,people_groups:24,multi:2,internet_access:"partial",internet_pct:57.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:251269164,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SSD",country:"South Sudan",region:"Africa",clusters:22,people_groups:22,multi:0,internet_access:"no",internet_pct:6.7,internet_year:"2019",mobile_per_100:46.6,mobile_year:"2023",national_population:11943408,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"RUS",country:"Russian Federation",region:"Europe",clusters:17,people_groups:21,multi:2,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:186.1,mobile_year:"2024",national_population:143669648,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AFG",country:"Afghanistan",region:"Asia",clusters:15,people_groups:21,multi:5,internet_access:"no",internet_pct:16.1,internet_year:"2024",mobile_per_100:60.1,mobile_year:"2024",national_population:42647492,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRN",country:"Islamic Republic of Iran",region:"Middle East",clusters:19,people_groups:20,multi:1,internet_access:"yes",internet_pct:85.3,internet_year:"2024",mobile_per_100:174.1,mobile_year:"2024",national_population:91567738,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DZA",country:"Algeria",region:"Middle East",clusters:15,people_groups:17,multi:2,internet_access:"yes",internet_pct:77.4,internet_year:"2024",mobile_per_100:115.5,mobile_year:"2024",national_population:46814308,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VNM",country:"Vietnam",region:"Asia",clusters:15,people_groups:16,multi:1,internet_access:"yes",internet_pct:84.2,internet_year:"2024",mobile_per_100:127.6,mobile_year:"2024",national_population:100987686,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TZA",country:"United Republic of Tanzania",region:"Africa",clusters:16,people_groups:16,multi:0,internet_access:"partial",internet_pct:31.2,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:68560157,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBY",country:"Libya",region:"Middle East",clusters:13,people_groups:15,multi:2,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:193,mobile_year:"2022",national_population:7381023,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BTN",country:"Bhutan",region:"Asia",clusters:12,people_groups:13,multi:1,internet_access:"yes",internet_pct:91.3,internet_year:"2024",mobile_per_100:99.8,mobile_year:"2024",national_population:791524,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIN",country:"Guinea",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:33.3,internet_year:"2024",mobile_per_100:97.9,mobile_year:"2023",national_population:14754785,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLI",country:"Mali",region:"Africa",clusters:13,people_groups:13,multi:0,internet_access:"partial",internet_pct:36.8,internet_year:"2024",mobile_per_100:112.1,mobile_year:"2022",national_population:24478595,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYS",country:"Malaysia",region:"Asia",clusters:11,people_groups:12,multi:1,internet_access:"yes",internet_pct:98,internet_year:"2024",mobile_per_100:139.7,mobile_year:"2024",national_population:35557673,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AGO",country:"Angola",region:"Africa",clusters:9,people_groups:10,multi:1,internet_access:"partial",internet_pct:40.7,internet_year:"2024",mobile_per_100:69.7,mobile_year:"2024",national_population:37885849,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PER",country:"Peru",region:"Latin America & Caribbean",clusters:10,people_groups:10,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:124.6,mobile_year:"2024",national_population:34217848,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"YEM",country:"Yemen",region:"Middle East",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:17.5,internet_year:"2019",mobile_per_100:50.9,mobile_year:"2023",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COD",country:"Democratic Republic of the Congo",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"no",internet_pct:19.7,internet_year:"2024",mobile_per_100:58.5,mobile_year:"2024",national_population:109276265,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BEN",country:"Benin",region:"Africa",clusters:8,people_groups:9,multi:1,internet_access:"partial",internet_pct:34,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:14462724,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SOM",country:"Somalia",region:"Africa",clusters:9,people_groups:9,multi:0,internet_access:"partial",internet_pct:27.9,internet_year:"2024",mobile_per_100:54,mobile_year:"2023",national_population:19009151,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ERI",country:"Eritrea",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"no",internet_pct:14.3,internet_year:"2020",mobile_per_100:59.1,mobile_year:"2022",national_population:3535603,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"IRQ",country:"Iraq",region:"Middle East",clusters:7,people_groups:8,multi:1,internet_access:"yes",internet_pct:81.5,internet_year:"2024",mobile_per_100:100.1,mobile_year:"2024",national_population:46042015,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BFA",country:"Burkina Faso",region:"Africa",clusters:7,people_groups:8,multi:1,internet_access:"partial",internet_pct:28.3,internet_year:"2024",mobile_per_100:116.6,mobile_year:"2024",national_population:23548781,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"THA",country:"Thailand",region:"Asia",clusters:8,people_groups:8,multi:0,internet_access:"yes",internet_pct:90.9,internet_year:"2024",mobile_per_100:160.6,mobile_year:"2024",national_population:71668011,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PSE",country:"State of Palestine",region:"Middle East",clusters:3,people_groups:7,multi:1,internet_access:"yes",internet_pct:86.6,internet_year:"2023",mobile_per_100:76.7,mobile_year:"2023",national_population:5289152,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"OMN",country:"Oman",region:"Middle East",clusters:7,people_groups:7,multi:0,internet_access:"yes",internet_pct:95.3,internet_year:"2024",mobile_per_100:120.6,mobile_year:"2024",national_population:5281538,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MMR",country:"Myanmar",region:"Asia",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:45.4,internet_year:"2020",mobile_per_100:114.3,mobile_year:"2024",national_population:54500091,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CMR",country:"Cameroon",region:"Africa",clusters:7,people_groups:7,multi:0,internet_access:"partial",internet_pct:46.3,internet_year:"2024",mobile_per_100:108.2,mobile_year:"2024",national_population:29123744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TGO",country:"Togo",region:"Africa",clusters:5,people_groups:6,multi:1,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:8406558,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JPN",country:"Japan",region:"Asia",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:85.5,internet_year:"2024",mobile_per_100:178.4,mobile_year:"2023",national_population:123975371,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UGA",country:"Uganda",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"no",internet_pct:8.9,internet_year:"2024",mobile_per_100:83.2,mobile_year:"2024",national_population:50015092,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZMB",country:"Zambia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:108.7,mobile_year:"2024",national_population:21314956,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VEN",country:"Venezuela",region:"Latin America & Caribbean",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:76.7,internet_year:"2024",mobile_per_100:71,mobile_year:"2024",national_population:28405543,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NAM",country:"Namibia",region:"Africa",clusters:6,people_groups:6,multi:0,internet_access:"yes",internet_pct:64.9,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:3030131,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRN",country:"Brunei Darussalam",region:"Asia",clusters:4,people_groups:5,multi:1,internet_access:"yes",internet_pct:96.3,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:462721,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KEN",country:"Kenya",region:"Africa",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:35,internet_year:"2024",mobile_per_100:126.5,mobile_year:"2024",national_population:56432944,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SYR",country:"Syrian Arab Republic",region:"Middle East",clusters:5,people_groups:5,multi:0,internet_access:"partial",internet_pct:33.8,internet_year:"2018",mobile_per_100:71.2,mobile_year:"2024",national_population:24672760,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBN",country:"Lebanon",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:80.6,internet_year:"2024",mobile_per_100:74,mobile_year:"2022",national_population:5805962,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MOZ",country:"Mozambique",region:"Africa",clusters:4,people_groups:4,multi:0,internet_access:"no",internet_pct:20.5,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2024",national_population:34631766,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAR",country:"Morocco",region:"Middle East",clusters:4,people_groups:4,multi:0,internet_access:"yes",internet_pct:91.2,internet_year:"2024",mobile_per_100:153.1,mobile_year:"2024",national_population:38081173,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"QAT",country:"Qatar",region:"Middle East",clusters:1,people_groups:3,multi:1,internet_access:"yes",internet_pct:98.1,internet_year:"2024",mobile_per_100:153.6,mobile_year:"2024",national_population:2857822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SAU",country:"Saudi Arabia",region:"Middle East",clusters:2,people_groups:3,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:35300280,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUR",country:"Türkiye",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:87.3,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:85518661,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AZE",country:"Azerbaijan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:90.4,internet_year:"2024",mobile_per_100:109.5,mobile_year:"2024",national_population:10202830,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GMB",country:"Republic of The Gambia",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:49.5,internet_year:"2024",mobile_per_100:126.2,mobile_year:"2024",national_population:2759988,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JOR",country:"Jordan",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:95.6,internet_year:"2024",mobile_per_100:69.6,mobile_year:"2024",national_population:11552876,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZWE",country:"Zimbabwe",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:94.2,mobile_year:"2024",national_population:16634373,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COM",country:"Comoros",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:32.5,internet_year:"2024",mobile_per_100:109.9,mobile_year:"2023",national_population:866628,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"USA",country:"United States of America",region:"Other",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:94.7,internet_year:"2024",mobile_per_100:113.2,mobile_year:"2024",national_population:340003797,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGD",country:"Bangladesh",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:53.4,internet_year:"2024",mobile_per_100:108.1,mobile_year:"2024",national_population:173562364,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNB",country:"Guinea-Bissau",region:"Africa",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:29.8,internet_year:"2024",mobile_per_100:147.2,mobile_year:"2024",national_population:2201352,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KOS",country:"KOS",region:"Europe",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MRT",country:"Mauritania",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:45.8,internet_year:"2024",mobile_per_100:92.1,mobile_year:"2024",national_population:5169395,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESH",country:"Western Sahara",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TJK",country:"Tajikistan",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"partial",internet_pct:55.8,internet_year:"2024",mobile_per_100:76.2,mobile_year:"2023",national_population:10590927,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"EGY",country:"Egypt",region:"Middle East",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:74.6,internet_year:"2024",mobile_per_100:97.1,mobile_year:"2024",national_population:116538258,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNG",country:"Mongolia",region:"Asia",clusters:3,people_groups:3,multi:0,internet_access:"yes",internet_pct:85.1,internet_year:"2024",mobile_per_100:140.7,mobile_year:"2024",national_population:3524788,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHR",country:"Bahrain",region:"Middle East",clusters:1,people_groups:2,multi:1,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:159.5,mobile_year:"2024",national_population:1588670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SUR",country:"Suriname",region:"North America & Non-Spanish Caribbean",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:142.1,mobile_year:"2024",national_population:634431,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NER",country:"Niger",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:60.6,mobile_year:"2024",national_population:27032412,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ZAF",country:"South Africa",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:78.4,internet_year:"2024",mobile_per_100:179.3,mobile_year:"2024",national_population:64007187,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CCK",country:"Cocos (Keeling) Islands",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COG",country:"Republic of the Congo",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:47.3,internet_year:"2024",mobile_per_100:95.5,mobile_year:"2024",national_population:6332961,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARE",country:"United Arab Emirates",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:100,internet_year:"2024",mobile_per_100:203.2,mobile_year:"2024",national_population:10986400,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GAB",country:"Gabon",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:68.7,internet_year:"2024",mobile_per_100:125.3,mobile_year:"2024",national_population:2538952,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUF",country:"French Guiana",region:"N/A",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CIV",country:"Cote d'Ivoire",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:41.4,internet_year:"2024",mobile_per_100:183.9,mobile_year:"2024",national_population:31934230,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KGZ",country:"Kyrgyzstan",region:"Asia",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:92,internet_year:"2024",mobile_per_100:107.5,mobile_year:"2024",national_population:7221868,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LBR",country:"Liberia",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:32.2,internet_year:"2024",mobile_per_100:32.1,mobile_year:"2022",national_population:5612817,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWE",country:"Sweden",region:"Europe",clusters:2,people_groups:2,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:140.7,mobile_year:"2024",national_population:10569709,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TUN",country:"Tunisia",region:"Middle East",clusters:2,people_groups:2,multi:0,internet_access:"yes",internet_pct:76.5,internet_year:"2024",mobile_per_100:117.6,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLE",country:"Sierra Leone",region:"Africa",clusters:2,people_groups:2,multi:0,internet_access:"partial",internet_pct:25.1,internet_year:"2024",mobile_per_100:107.9,mobile_year:"2022",national_population:8642022,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"AND",country:"Andorra",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.4,internet_year:"2024",mobile_per_100:155.7,mobile_year:"2024",national_population:81938,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SEN",country:"Senegal",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:60.1,internet_year:"2024",mobile_per_100:123.9,mobile_year:"2024",national_population:18501984,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNE",country:"Montenegro",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.9,internet_year:"2024",mobile_per_100:221.7,mobile_year:"2024",national_population:623525,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BOL",country:"Bolivia",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:79.7,internet_year:"2024",mobile_per_100:98,mobile_year:"2024",national_population:12413315,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ECU",country:"Ecuador",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:77.2,internet_year:"2024",mobile_per_100:101.6,mobile_year:"2024",national_population:18135478,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VIR",country:"Virgin Islands, U.S.",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.5,mobile_year:"2022",national_population:104377,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ATG",country:"Antigua and Barbuda",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.7,internet_year:"2024",mobile_per_100:200.5,mobile_year:"2022",national_population:93772,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ARM",country:"Armenia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.3,internet_year:"2024",mobile_per_100:134.9,mobile_year:"2024",national_population:3033500,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ABW",country:"Aruba",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.6,mobile_year:"2022",national_population:107995,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BHS",country:"Bahamas",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:92.5,internet_year:"2024",mobile_per_100:96.7,mobile_year:"2024",national_population:401283,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BRB",country:"Barbados",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.4,internet_year:"2024",mobile_per_100:114.6,mobile_year:"2022",national_population:282467,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLR",country:"Belarus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:94.3,internet_year:"2024",mobile_per_100:131.1,mobile_year:"2024",national_population:9132629,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BMU",country:"Bermuda",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:96.7,mobile_year:"2024",national_population:64636,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BIH",country:"Bosnia and Herzegovina",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.1,internet_year:"2024",mobile_per_100:121.2,mobile_year:"2024",national_population:3164253,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VGB",country:"Virgin Islands, British",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:39471,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BGR",country:"Bulgaria",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82.4,internet_year:"2024",mobile_per_100:118.1,mobile_year:"2024",national_population:6441421,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KHM",country:"Cambodia",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.5,internet_year:"2024",mobile_per_100:116.1,mobile_year:"2024",national_population:17638801,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYM",country:"Cayman Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:139.3,mobile_year:"2022",national_population:74457,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CAF",country:"Central African Republic",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:13.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2022",national_population:5330690,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CXR",country:"Christmas Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"COK",country:"Cook Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUB",country:"Cuba",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.5,internet_year:"2024",mobile_per_100:72.9,mobile_year:"2024",national_population:10979783,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CUW",country:"Curaçao",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:93.8,mobile_year:"2023",national_population:155967,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CYP",country:"Cyprus",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.6,internet_year:"2024",mobile_per_100:156.2,mobile_year:"2024",national_population:1358282,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DJI",country:"Djibouti",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.3,internet_year:"2024",mobile_per_100:48.5,mobile_year:"2023",national_population:1168722,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"DMA",country:"Dominica",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:82,internet_year:"2024",mobile_per_100:85.2,mobile_year:"2022",national_population:66205,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GNQ",country:"Equatorial Guinea",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.3,internet_year:"2024",mobile_per_100:49.5,mobile_year:"2022",national_population:1892516,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FRO",country:"Faroe Islands",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:105.8,mobile_year:"2022",national_population:54640,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FJI",country:"Fiji",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:74.7,internet_year:"2024",mobile_per_100:574.2,mobile_year:"2024",national_population:928784,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PYF",country:"French Polynesia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:118.8,mobile_year:"2023",national_population:281807,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GEO",country:"Georgia",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.8,internet_year:"2024",mobile_per_100:161.2,mobile_year:"2024",national_population:3812518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GIB",country:"Gibraltar",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:97.6,mobile_year:"2022",national_population:39329,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRC",country:"Greece",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:86.3,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:10405134,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GRD",country:"Grenada",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:70.2,internet_year:"2024",mobile_per_100:95.8,mobile_year:"2022",national_population:117207,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GLP",country:"Guadeloupe",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUM",country:"Guam",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:167777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GGY",country:"Guernsey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISL",country:"Iceland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.2,internet_year:"2024",mobile_per_100:120.9,mobile_year:"2024",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KIR",country:"Kiribati",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.4,internet_year:"2024",mobile_per_100:53.5,mobile_year:"2024",national_population:134518,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JAM",country:"Jamaica",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:90.1,internet_year:"2024",mobile_per_100:117.7,mobile_year:"2024",national_population:2839175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"JEY",country:"Jersey",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KAZ",country:"Kazakhstan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.4,internet_year:"2024",mobile_per_100:127.1,mobile_year:"2024",national_population:20592571,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRK",country:"North Korea",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:24.1,mobile_year:"2022",national_population:26498823,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"KWT",country:"Kuwait",region:"Middle East",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99.7,internet_year:"2024",mobile_per_100:167.7,mobile_year:"2023",national_population:4897263,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LIE",country:"Liechtenstein",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.3,internet_year:"2024",mobile_per_100:128.9,mobile_year:"2024",national_population:40450,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LUX",country:"Luxembourg",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:98.8,internet_year:"2024",mobile_per_100:144.5,mobile_year:"2023",national_population:677012,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MYT",country:"Mayotte",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MDV",country:"Maldives",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.2,internet_year:"2024",mobile_per_100:148.1,mobile_year:"2024",national_population:527799,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MLT",country:"Malta",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.9,internet_year:"2024",mobile_per_100:142.1,mobile_year:"2024",national_population:568847,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MNP",country:"Northern Mariana Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:44278,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MHL",country:"Marshall Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:65.9,internet_year:"2024",mobile_per_100:39.7,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MUS",country:"Mauritius",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:73.3,internet_year:"2024",mobile_per_100:172.7,mobile_year:"2024",national_population:1245779,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FSM",country:"Micronesia, Federated States of",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:39.5,internet_year:"2024",mobile_per_100:20,mobile_year:"2022",national_population:113160,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MCO",country:"Monaco",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:99,internet_year:"2024",mobile_per_100:107.4,mobile_year:"2024",national_population:38631,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MSR",country:"Montserrat",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NCL",country:"New Caledonia",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:91.7,mobile_year:"2022",national_population:292639,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NIU",country:"Niue",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VUT",country:"Vanuatu",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:89.3,mobile_year:"2023",national_population:327777,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NFK",country:"Norfolk Island",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"HKG",country:"Hong Kong",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:364.8,mobile_year:"2024",national_population:7524100,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MAC",country:"Macao",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.8,internet_year:"2024",mobile_per_100:201.1,mobile_year:"2024",national_population:687e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PLW",country:"Palau",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83.9,internet_year:"2024",mobile_per_100:135.4,mobile_year:"2023",national_population:17695,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PNG",country:"Papua New Guinea",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"no",internet_pct:18.8,internet_year:"2024",mobile_per_100:38.8,mobile_year:"2024",national_population:10576502,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"BLM",country:"Saint Barthélemy",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SHN",country:"Saint Helena",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LCA",country:"Saint Lucia",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:68.2,internet_year:"2024",mobile_per_100:98.7,mobile_year:"2022",national_population:179744,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SMR",country:"San Marino",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:97.4,internet_year:"2024",mobile_per_100:120.3,mobile_year:"2022",national_population:33977,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ASM",country:"American Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46765,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WSM",country:"Samoa",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:62.4,mobile_year:"2022",national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"STP",country:"Sao Tome and Principe",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:59.1,internet_year:"2024",mobile_per_100:62.4,mobile_year:"2024",national_population:235536,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SXM",country:"Sint Maarten (Dutch part)",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:205.4,mobile_year:"2022",national_population:43350,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SLB",country:"Solomon Islands",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:29,internet_year:"2024",mobile_per_100:62.1,mobile_year:"2022",national_population:819198,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"LKA",country:"Sri Lanka",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"partial",internet_pct:54.6,internet_year:"2024",mobile_per_100:132.5,mobile_year:"2024",national_population:21916e3,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SJM",country:"Svalbard and Jan Mayen",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"SWZ",country:"Eswatini",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:63.4,internet_year:"2024",mobile_per_100:139.8,mobile_year:"2024",national_population:1242822,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TKL",country:"Tokelau",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TON",country:"Tonga",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.4,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:104175,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"TCA",country:"Turks and Caicos Islands",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:46535,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"VCT",country:"Saint Vincent and the Grenadines",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:76.2,internet_year:"2024",mobile_per_100:108.4,mobile_year:"2024",national_population:100616,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"WLF",country:"Wallis and Futuna",region:"N/A",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:null,mobile_year:null,national_population:null,population_year:null,censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PRY",country:"Paraguay",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:81.6,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2023",national_population:6929153,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"FIN",country:"Finland",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:93.7,internet_year:"2024",mobile_per_100:125.9,mobile_year:"2024",national_population:5619911,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ALB",country:"Albania",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:85.9,internet_year:"2024",mobile_per_100:89.1,mobile_year:"2024",national_population:2377128,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PAN",country:"Panama",region:"Latin America & Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.8,internet_year:"2024",mobile_per_100:156.6,mobile_year:"2023",national_population:4515577,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"NZL",country:"New Zealand",region:"Oceania",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:130.1,mobile_year:"2024",national_population:529e4,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"CZE",country:"Czech Republic",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:87.7,internet_year:"2024",mobile_per_100:126.6,mobile_year:"2024",national_population:10905028,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GHA",country:"Ghana",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:72.2,internet_year:"2024",mobile_per_100:113.6,mobile_year:"2024",national_population:34427414,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"PHL",country:"Philippines",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:67.3,internet_year:"2024",mobile_per_100:115.3,mobile_year:"2024",national_population:115843670,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ISR",country:"Israel",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:88.2,internet_year:"2024",mobile_per_100:null,mobile_year:null,national_population:10002200,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"GUY",country:"Guyana",region:"North America & Non-Spanish Caribbean",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:83,internet_year:"2024",mobile_per_100:112.6,mobile_year:"2022",national_population:831087,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"UZB",country:"Uzbekistan",region:"Asia",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:89.5,internet_year:"2024",mobile_per_100:110.5,mobile_year:"2024",national_population:36361859,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"ESP",country:"Spain",region:"Europe",clusters:1,people_groups:1,multi:0,internet_access:"yes",internet_pct:95.8,internet_year:"2024",mobile_per_100:130.3,mobile_year:"2024",national_population:48848840,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}},{iso3:"MWI",country:"Malawi",region:"Africa",clusters:1,people_groups:1,multi:0,internet_access:"unknown",internet_pct:null,internet_year:null,mobile_per_100:69.3,mobile_year:"2024",national_population:21655286,population_year:"2024",censorship:"unknown",censorship_note:"not machine-readable from this source; requires a cited report (OONI / Access Now / Freedom on the Net)",resolution:"country",banding:"yes >=60% · partial 25-59% · no <25% of population using the internet",source:{name:"World Bank Open Data",url:"https://api.worldbank.org/v2",licence:"CC BY 4.0",accessed:"2026-08-01"}}]},km={class:"ci-tot"},Om={class:"ci-chip"},Cm={class:"ci-chip"},Nm={class:"ci-chip"},Am={class:"ci-chip"},Em=["onClick"],Pm={class:"sec-name"},Sm={class:"sec-meta"},Lm={class:"r-name"},Fm={class:"r-sub"},Tm={class:"r-num"},xm={class:"r-sub"},Im={class:"r-num"},Mm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=Ie("profileConfig",re(null)),n=ae(()=>{var g;return((g=t.value)==null?void 0:g.isDark)===!0}),o=ae(()=>vm.countries||[]),s=ae(()=>{const g=new Map;for(const f of o.value){const _=f.region||"Other";g.has(_)||g.set(_,[]),g.get(_).push(f)}return[...g.entries()].map(([f,_])=>({name:f,items:_.slice().sort(($,k)=>k.people_groups-$.people_groups),groups:_.reduce(($,k)=>$+k.people_groups,0),unknown:_.filter($=>$.internet_access==="unknown").length})).sort((f,_)=>_.groups-f.groups)}),r=re({}),a=g=>!!r.value[g],i=g=>{r.value={...r.value,[g]:!r.value[g]}},l=ae(()=>{const g=o.value;return{countries:g.length,resolved:g.filter(f=>f.internet_access!=="unknown").length,unknown:g.filter(f=>f.internet_access==="unknown").length,low:g.filter(f=>f.internet_access==="no").length}}),c=g=>g==="yes"?"ok":g==="partial"?"mid":g==="no"?"low":"unk",u=g=>g==="yes"?"connected":g==="partial"?"partial":g==="no"?"low":"unknown";return Wt(".ci{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ci.is-dark{background:#0a1410;color:#e5e7eb}.ci-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.ci-sub{margin:0 auto 18px;max-width:640px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.ci-tot{display:flex;gap:14px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.ci-chip{font-size:11.5px;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:600}.is-dark .ci-chip{background:rgba(255,255,255,.10)}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px 10px 8px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:600}.r-sub{font-size:11px;opacity:.6}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.src{max-width:1080px;margin:8px auto 0;font-size:11px;line-height:1.6;opacity:.6;text-align:center}","doxa-cities-internet"),(g,f)=>(z(),J("div",{class:Pe(["ci",{"is-dark":n.value}])},[f[1]||(f[1]=I("h2",{class:"ci-h"},"Cities with Internet",-1)),f[2]||(f[2]=I("p",{class:"ci-sub"},[ke(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),I("strong",null,"unknown means unmeasured, never assumed"),ke(". ")],-1)),I("div",km,[I("span",Om,Q(l.value.countries)+" countries",1),I("span",Cm,Q(l.value.resolved)+" measured",1),I("span",Nm,Q(l.value.unknown)+" unknown",1),I("span",Am,Q(l.value.low)+" low-connectivity",1)]),(z(!0),J(de,null,ct(s.value,_=>(z(),J("section",{key:_.name,class:"sec"},[I("button",{type:"button",class:"sec-head",onClick:$=>i(_.name)},[I("span",{class:Pe(["sec-caret",{open:!a(_.name)}])},"▶",2),I("h3",Pm,Q(_.name),1),I("span",Sm,[ke(Q(_.items.length)+" countries · "+Q(_.groups.toLocaleString())+" people groups ",1),_.unknown?(z(),J(de,{key:0},[ke(" · "+Q(_.unknown)+" unmeasured",1)],64)):Se("",!0)])],8,Em),Uc(I("div",null,[(z(!0),J(de,null,ct(_.items,$=>(z(),J("div",{key:$.iso3,class:"row"},[I("div",null,[I("div",Lm,Q($.country),1),I("div",Fm,[ke(Q($.people_groups)+" people groups · "+Q($.clusters)+" locations ",1),$.multi?(z(),J(de,{key:0},[ke(" · "+Q($.multi)+" population centres",1)],64)):Se("",!0)])]),I("div",Tm,[$.internet_pct!==null&&$.internet_pct!==void 0?(z(),J(de,{key:0},[ke(Q($.internet_pct)+"% ",1),I("div",xm,Q($.internet_year),1)],64)):(z(),J(de,{key:1},[ke("—")],64))]),I("div",Im,[$.mobile_per_100!==null&&$.mobile_per_100!==void 0?(z(),J(de,{key:0},[ke(Q($.mobile_per_100)+" ",1),f[0]||(f[0]=I("div",{class:"r-sub"},"mob/100",-1))],64)):(z(),J(de,{key:1},[ke("—")],64))]),I("span",{class:Pe(["pill",c($.internet_access)])},Q(u($.internet_access)),3)]))),128))],512),[[op,!a(_.name)]])]))),128)),f[3]||(f[3]=I("p",{class:"src"}," Internet and mobile figures: World Bank Open Data (CC BY 4.0), most recent observation 2018–2024. Banding: connected ≥60% · partial 25–59% · low <25% of population using the internet. Country-resolution — per-city measurements are not publicly available at this scale. ISP names, carrier names and censorship history require per-country cited reporting and are not shown. ",-1))],2))}}},Symbol.toStringTag,{value:"Module"})),Os={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function Rm(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:n=!0,basemap:o=!0}=t,s=document.createElement("div");s.className="doxa-attribution mapboxgl-ctrl",s.style.cssText=["font:11px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif","background:rgba(255,255,255,.82)","color:#3a4048","padding:2px 6px","border-radius:3px 0 0 0","pointer-events:auto","max-width:min(92vw,420px)"].join(";");const r=[];n&&r.push(Os.boundaries),o&&(r.push(Os.mapbox),r.push(Os.osm)),s.innerHTML=r.map(i=>`<a href="${i.href}" target="_blank" rel="noopener noreferrer"`+(i.title?` title="${i.title}"`:"")+` style="color:#2a5d8f;text-decoration:none">${i.label}</a>`).join(" · ");const a={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(a,"bottom-right"),a}const Bm={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=re(null);return nt("mapToolbar",{el:t}),Wt(`
.map-toolbar {
position: absolute;
top: 6px;
inset-inline-end: 3px;
display: flex;
flex-direction: column;
gap: var(--map-toolbar-gap, 8px);
z-index: 10;
}
.map-toolbar .mcb,
.map-toolbar .hbg-btn { width: 32px; height: 32px; }
.map-toolbar .hbg-ctrl { margin: 10px 0 0 0; }
@media (max-width: 767px) {
.map-toolbar { top: 72px; gap: 6px; }
.map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; }
}
`,"map-toolbar"),(n,o)=>(z(),J("div",{ref_key:"toolbarEl",ref:t,class:Pe(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Mr(n.$slots,"default")],2))}},Dm=["title","aria-label","disabled"],fo={__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 Wt(`
.mcb{
width:var(--map-btn-size,40px);height:var(--map-btn-size,40px);
background:#fff;
border:none;
border-radius:50%;
cursor:pointer;
user-select:none;-webkit-user-select:none;
display:flex;align-items:center;justify-content:center;
box-shadow:0 1px 3px rgba(0,0,0,0.18);
transition:background-color 0.2s,box-shadow 0.2s,transform 0.1s;
color:#333;
flex-shrink:0;
outline:none;
-webkit-tap-highlight-color:transparent;
}
.mcb:hover:not(:disabled){background:#f0f0f0;box-shadow:0 2px 8px rgba(0,0,0,0.18),0 4px 16px rgba(0,0,0,0.12);}
.mcb:active:not(:disabled){transform:scale(0.93);}
.mcb:disabled{opacity:0.4;cursor:not-allowed;}
.mcb.active{background:#e8f0fe;color:#1a73e8;}
.mcb.dark{background:#3b463d;color:#F3F3F1;border:1px solid rgba(255,255,255,0.14);box-shadow:0 1px 4px rgba(0,0,0,0.4);}
.mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);}
.mcb.dark.active{background:#4e594f;color:#92b195;}
@media(max-width:767px){.mcb{width:36px;height:36px;}}
`,"map-control-button"),(t,n)=>(z(),J("button",{class:Pe(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Mr(t.$slots,"default")],10,Dm))}},Wm={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=tn(),n=e;function o(){var s;n.disabled||(s=n.map)==null||s.zoomIn()}return(s,r)=>(z(),Qe(fo,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomIn"),onClick:o},{default:Yt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Gm={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=tn(),n=e;function o(){var s;n.disabled||(s=n.map)==null||s.zoomOut()}return(s,r)=>(z(),Qe(fo,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomOut"),onClick:o},{default:Yt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Um={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=tn(),n=e;function o(){var r;(r=n.map)==null||r.flyTo({center:n.center,zoom:n.zoom,duration:1200})}function s(){if(n.map){if(typeof navigator>"u"||!navigator.geolocation){o();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:a,latitude:i}=r.coords;Number.isFinite(a)&&Number.isFinite(i)?n.map.flyTo({center:[a,i],zoom:n.userZoom,duration:1500}):o()},()=>o(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,a)=>(z(),Qe(fo,{"is-dark":e.isDark,title:qe(t)("buttons.resetView"),onClick:s},{default:Yt(()=>[...a[0]||(a[0]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[I("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},jm={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Vm={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Ym={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=tn(),o=e,s=t,r=re(!1);let a=null,i=null,l=null,c=null,u=null,g=null,f=null,_=null,$=null,k=null,C=null,L=0,N=0,h=null,b=null;function A(){if(typeof document>"u")return!1;const q=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(q)||q.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function O(){var q,W,X;return((X=(W=(q=o.mapContainer)==null?void 0:q.getRootNode)==null?void 0:W.call(q))==null?void 0:X.host)??null}function E(){var W,X;const q=(X=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);return document.fullscreenElement||document.webkitFullscreenElement||(q&&q instanceof ShadowRoot?q.fullscreenElement:null)||null}function F(q){const W=q.requestFullscreen||q.webkitRequestFullscreen;if(!W)return Promise.reject(new Error("Fullscreen API unavailable"));const X=W.call(q);return X&&typeof X.then=="function"?X:Promise.resolve()}function v(){const q=document.exitFullscreen||document.webkitExitFullscreen;if(!q)return Promise.reject(new Error("Fullscreen API unavailable"));const W=q.call(document);return W&&typeof W.then=="function"?W:Promise.resolve()}function D(){const q=O();if(!q)return!1;if(l=q,i=q.style.cssText,q.style.position="fixed",q.style.top="0",q.style.left="0",q.style.right="0",q.style.bottom="0",q.style.width="100vw",q.style.height="100vh",q.style.height="100dvh",q.style.zIndex="2147483647",q.style.margin="0",q.style.borderRadius="0",q.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){L=window.scrollY||window.pageYOffset||0,N=window.scrollX||window.pageXOffset||0;const W=document.body,X=document.documentElement;c=W?W.style.overflow:null,u=X?X.style.overflow:null,g=W?W.style.position:null,f=W?W.style.top:null,_=W?W.style.left:null,$=W?W.style.width:null,k=W?W.style.touchAction:null,C=X?X.style.touchAction:null,X&&(X.style.overflow="hidden",X.style.touchAction="none"),W&&(W.style.overflow="hidden",W.style.position="fixed",W.style.top=`-${L}px`,W.style.left=`-${N}px`,W.style.width="100%",W.style.touchAction="none"),h=le=>{if(!l)return;const Ee=le.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||le.cancelable&&le.preventDefault()},b=le=>{if(!l)return;const Ee=le.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||le.cancelable&&le.preventDefault()},document.addEventListener("touchmove",h,{passive:!1,capture:!0}),document.addEventListener("wheel",b,{passive:!1,capture:!0})}return!0}function U(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const q=document.body,W=document.documentElement;q&&(q.style.overflow=c??"",q.style.position=g??"",q.style.top=f??"",q.style.left=_??"",q.style.width=$??"",q.style.touchAction=k??""),W&&(W.style.overflow=u??"",W.style.touchAction=C??""),h&&(document.removeEventListener("touchmove",h,{capture:!0}),h=null),b&&(document.removeEventListener("wheel",b,{capture:!0}),b=null),typeof window<"u"&&(L||N)&&window.scrollTo(N,L)}c=null,u=null,g=null,f=null,_=null,$=null,k=null,C=null,L=0,N=0}}function K(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function ne(){if(!A()){r.value?(U(),r.value=!1,s("change",!1)):D()&&(r.value=!0,s("change",!0)),K();return}if(E())v().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const W=O()??document.documentElement;F(W).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{F(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!E(),s("change",r.value)}return Ht(()=>{var W,X;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const q=(X=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);q instanceof ShadowRoot&&(a=q,q.addEventListener("fullscreenchange",ue),q.addEventListener("webkitfullscreenchange",ue))}),qt(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),a&&(a.removeEventListener("fullscreenchange",ue),a.removeEventListener("webkitfullscreenchange",ue),a=null),l&&U()}),(q,W)=>(z(),Qe(fo,{"is-dark":e.isDark,active:r.value,title:qe(n)("buttons.toggleFullscreen"),onClick:ne},{default:Yt(()=>[r.value?(z(),J("svg",Vm,[...W[1]||(W[1]=[I("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)])])):(z(),J("svg",jm,[...W[0]||(W[0]=[I("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"]))}},zm=cr&&cr.tagName.toUpperCase()==="SCRIPT"&&cr.src||new URL("cities-internet.js",document.baseURI).href,nn=e=>String(e||"").trim().replace(/\/+$/,"");function Vl(){try{const t=String(zm||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Hm(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return nn(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return nn(n)}return nn(Vl()||"")}function Yl(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const o=nn(t);if(/^https?:\/\//i.test(o)||o.startsWith("/"))return o}const n=nn((e==null?void 0:e.treeBase)||"")||nn(Vl()||"");if(n)try{const o=typeof document<"u"?document.baseURI:void 0;return nn(new URL(n+"/../assets",o).href)}catch{return nn(n.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function qm({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,s=typeof window<"u",r=e||(o==null?void 0:o.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return s?window.location.origin+a:a;const i=Hm(o),l=a.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 Km=["aria-label"],Xm={class:"mcm-header"},Jm={class:"mcm-title"},Zm={class:"mcm-body"},Qm=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Cs="doxa-map-menu-open",e_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Wt(`
.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 n=e,o=t,s=Ie("mapToolbar",null),r=re(null),a=re(null),i=re({});function l(){var v;const _=(v=s==null?void 0:s.el)==null?void 0:v.value,$=r.value;if(!_||!$){i.value={};return}const k=$.getBoundingClientRect(),C=_.getBoundingClientRect(),L=(C.left+C.right)/2>(k.left+k.right)/2,N=8,h=12,b=L?k.right-C.left+N:C.right-k.left+N,A=Math.max(200,Math.min(n.width,k.width-b-h)),O=Math.max(0,C.top-k.top);let F=$.getAttribute&&$.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-C.top-h):Math.max(120,k.height-O-h);n.matchToolbar&&(F=Math.max(120,Math.min(F,C.height))),n.maxHeight&&(F=Math.min(F,n.maxHeight)),i.value={top:`${Math.round(O)}px`,[L?"right":"left"]:`${Math.round(b)}px`,width:`${Math.round(A)}px`,maxHeight:`${Math.round(F)}px`,...n.height?{height:`${Math.round(Math.min(n.height,F))}px`}:{}}}function c(_){n.open&&_.detail!==a.value&&o("close")}ot(()=>n.open,async _=>{var $;if(_){await zn(),l();try{($=r.value)==null||$.dispatchEvent(new CustomEvent(Cs,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function g(_){_.key==="Escape"&&n.open&&o("close")}function f(_){var k;if(!n.open)return;const $=_.composedPath?_.composedPath():[_.target];a.value&&$.includes(a.value)||(k=s==null?void 0:s.el)!=null&&k.value&&$.includes(s.el.value)||$.some(C=>{var L,N,h,b;return((N=(L=C==null?void 0:C.classList)==null?void 0:L.contains)==null?void 0:N.call(L,"mapboxgl-canvas"))||((b=(h=C==null?void 0:C.classList)==null?void 0:h.contains)==null?void 0:b.call(h,"maplibregl-canvas"))})&&o("close")}return Ht(()=>{var _,$,k;r.value=(($=(_=s==null?void 0:s.el)==null?void 0:_.value)==null?void 0:$.closest(Qm))||null,(k=r.value)==null||k.addEventListener(Cs,c),window.addEventListener("resize",u),document.addEventListener("click",f,!0),document.addEventListener("keydown",g)}),qt(()=>{var _;(_=r.value)==null||_.removeEventListener(Cs,c),window.removeEventListener("resize",u),document.removeEventListener("click",f,!0),document.removeEventListener("keydown",g)}),(_,$)=>(z(),Qe(Jc,{to:r.value,disabled:!r.value},[e.open?(z(),J("div",{key:0,ref_key:"el",ref:a,class:Pe(["mcm",{light:!e.isDark}]),style:bn(i.value),role:"dialog","aria-label":e.title},[I("div",Xm,[I("span",Jm,Q(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:$[0]||($[0]=k=>o("close"))},[...$[1]||($[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",Zm,[Mr(_.$slots,"default")])],14,Km)):Se("",!0)],8,["to","disabled"]))}},t_={class:"share-steps"},n_={class:"share-tabs"},o_={key:0,class:"share-body"},r_={class:"share-url-box"},s_={class:"share-url-text"},a_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},i_={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"},l_={key:1,class:"share-body"},c_={class:"share-size-pills"},u_=["onClick"],p_={class:"share-code-box"},d_={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},g_={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"},f_={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Wt(`
.share-wrap{position:relative;display:inline-block;border-radius:50%;}
.share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none;
background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b);
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
opacity:0.6;animation:share-ring-turn 5s linear infinite;}
.share-wrap:hover::before{opacity:0.95;}
@keyframes share-ring-turn{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.share-wrap::before{animation:none;}}
.share-steps{margin:10px 14px 6px;padding:0 0 0 15px;list-style:'- ';font:14px/1.55 system-ui,sans-serif;color:#c9d1d9;}
.share-steps li{margin:0 0 3px;padding-left:3px;}
.share-steps li:last-child{font-weight:600;color:#92b195;}
.share-pop.light .share-steps{color:#3b463d;}
.share-pop.light .share-steps li:last-child{color:#3b463d;}
.share-pop{
font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
font-size:13px;
color:#e6edf3;
}
.share-pop.light{color:#1f2328;}
.share-tabs{
display:flex;
gap:0;
padding:0 16px;
margin-top:8px;
border-bottom:1px solid rgba(255,255,255,0.08);
}
.share-pop.light .share-tabs{border-bottom:1px solid rgba(0,0,0,0.08);}
.share-tab{
padding:6px 0;
margin-right:20px;
font-size:12.5px;
font-weight:600;
background:none;border:none;
color:inherit;opacity:0.5;
cursor:pointer;
border-bottom:2px solid transparent;
transition:opacity 0.15s,border-color 0.2s;
font-family:inherit;
white-space:nowrap;
}
.share-tab:hover{opacity:0.75;}
.share-tab.active{
opacity:1;
border-bottom-color:#4a90d9;
}
.share-pop.light .share-tab.active{
border-bottom-color:#1a73e8;
}
.share-body{
padding:12px 16px 14px 16px;
}
.share-url-box{
display:flex;
align-items:center;
gap:0;
background:rgba(0,0,0,0.22);
border:1px solid rgba(255,255,255,0.08);
border-radius:10px;
overflow:hidden;
}
.share-pop.light .share-url-box{
background:rgba(0,0,0,0.035);
border:1px solid rgba(0,0,0,0.10);
}
.share-url-text{
flex:1;
padding:11px 14px;
font-size:13px;
color:#b0b8c8;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
-webkit-user-select:all;
user-select:all;
}
.share-pop.light .share-url-text{color:#555;}
.share-primary-btn{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
padding:12px 0;
margin-top:14px;
background:#4a90d9;
border:none;
border-radius:10px;
color:#fff;
font-size:14.5px;
font-weight:600;
cursor:pointer;
transition:background 0.15s,transform 0.1s;
font-family:inherit;
}
.share-primary-btn:hover{background:#3d7ec5;}
.share-primary-btn:active{transform:scale(0.98);}
.share-primary-btn.copied{
background:#2ea44f;
}
.share-pop.light .share-primary-btn{
background:#1a73e8;
}
.share-pop.light .share-primary-btn:hover{
background:#1565c0;
}
.share-pop.light .share-primary-btn.copied{
background:#2ea44f;
}
.share-social-row{
display:flex;
align-items:center;
gap:10px;
margin-top:16px;
padding-top:14px;
border-top:1px solid rgba(255,255,255,0.06);
}
.share-pop.light .share-social-row{
border-top:1px solid rgba(0,0,0,0.06);
}
.share-social-label{
font-size:12px;
opacity:0.45;
font-weight:500;
margin-right:auto;
white-space:nowrap;
}
.share-social-btn{
width:36px;height:36px;
border-radius:50%;
border:1px solid rgba(255,255,255,0.10);
background:rgba(255,255,255,0.06);
display:flex;align-items:center;justify-content:center;
cursor:pointer;
color:inherit;
transition:background 0.15s,border-color 0.15s;
}
.share-social-btn:hover{
background:rgba(255,255,255,0.12);
border-color:rgba(255,255,255,0.18);
}
.share-pop.light .share-social-btn{
border:1px solid rgba(0,0,0,0.10);
background:rgba(0,0,0,0.03);
}
.share-pop.light .share-social-btn:hover{
background:rgba(0,0,0,0.07);
border-color:rgba(0,0,0,0.16);
}
.share-embed-desc{
font-size:13.5px;
line-height:1.55;
opacity:0.72;
margin-bottom:16px;
}
.share-size-pills{
display:flex;
gap:8px;
margin-bottom:14px;
}
.share-size-pill{
padding:6px 14px;
border-radius:20px;
border:1px solid rgba(255,255,255,0.12);
background:transparent;
color:inherit;
font-size:12.5px;
font-weight:500;
cursor:pointer;
transition:background 0.15s,border-color 0.15s;
font-family:inherit;
}
.share-size-pill:hover{
background:rgba(255,255,255,0.06);
}
.share-size-pill.active{
background:rgba(74,144,217,0.18);
border-color:rgba(74,144,217,0.45);
color:#7ab8f5;
}
.share-pop.light .share-size-pill{
border:1px solid rgba(0,0,0,0.12);
}
.share-pop.light .share-size-pill:hover{
background:rgba(0,0,0,0.04);
}
.share-pop.light .share-size-pill.active{
background:rgba(26,115,232,0.10);
border-color:rgba(26,115,232,0.40);
color:#1a73e8;
}
.share-code-box{
background:rgba(0,0,0,0.28);
border:1px solid rgba(255,255,255,0.06);
border-radius:10px;
padding:12px 14px;
font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;
font-size:11.5px;
line-height:1.5;
color:#a0aab8;
word-break:break-all;
white-space:pre-wrap;
height:auto;
-webkit-user-select:all;
user-select:all;
}
.share-pop.light .share-code-box{
background:rgba(0,0,0,0.035);
border:1px solid rgba(0,0,0,0.08);
color:#444;
}
.share-secondary-btn{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
padding:11px 0;
margin-top:12px;
background:rgba(255,255,255,0.08);
border:1px solid rgba(255,255,255,0.12);
border-radius:10px;
color:#e0e4ec;
font-size:14px;
font-weight:600;
cursor:pointer;
transition:background 0.15s,border-color 0.15s,transform 0.1s;
font-family:inherit;
}
.share-secondary-btn:hover{
background:rgba(255,255,255,0.13);
border-color:rgba(255,255,255,0.18);
}
.share-secondary-btn:active{transform:scale(0.98);}
.share-secondary-btn.copied{
background:rgba(46,164,79,0.16);
border-color:rgba(46,164,79,0.35);
color:#5cd680;
}
.share-pop.light .share-secondary-btn{
background:rgba(0,0,0,0.04);
border:1px solid rgba(0,0,0,0.12);
color:#333;
}
.share-pop.light .share-secondary-btn:hover{
background:rgba(0,0,0,0.07);
}
.share-pop.light .share-secondary-btn.copied{
background:rgba(46,164,79,0.10);
border-color:rgba(46,164,79,0.30);
color:#2ea44f;
}
`,"share-button");const{t,tm:n,rt:o}=tn(),s=e,r=re(null),a=re(!1),i=re(null),l=re(null),c=re("link"),u=re(!1),g=re(!1),f=re("medium"),_={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},$=Ie("profileConfig",null),k=ae(()=>qm({embedPath:s.embedPath,profileConfig:qe($)||null})),C=ae(()=>{const D=_[f.value].height;return'<iframe src="'+k.value+'" width="100%" height="'+D+'" style="border:none; border-radius:12px;" allowfullscreen></iframe>'});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,g.value=!1)}function N(){a.value=!1}async function h(D){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(D),!0}catch{}try{const U=document.createElement("textarea");U.value=D,U.setAttribute("readonly",""),U.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(U),U.select();const K=document.execCommand("copy");return document.body.removeChild(U),K}catch{return!1}}async function b(){await h(k.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function A(){await h(C.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const O=Ie("mapToolbar",null),E=re(null);nt("mapToolbar",O||{el:E});const F=!O;function v(D){if(r.value=D||null,!F||!D){D||(E.value=null);return}const U=D.offsetParent||D.parentElement;U&&!U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&U.setAttribute("data-map-area","share-fallback"),E.value=D}return(D,U)=>(z(),J("div",{ref:v,class:"share-wrap","data-share-root":""},[$e(fo,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:qe(t)("buttons.share"),onClick:L},{default:Yt(()=>[...U[2]||(U[2]=[I("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"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),$e(e_,{open:a.value,title:qe(t)("buttons.share"),"is-dark":e.isDark,onClose:N},{default:Yt(()=>[I("div",{ref_key:"popoverEl",ref:i,class:Pe(["share-pop",{light:!e.isDark}])},[I("ul",t_,[(z(!0),J(de,null,ct(qe(n)("buttons.shareSteps"),(K,ne)=>(z(),J("li",{key:ne},Q(qe(o)(K)),1))),128))]),I("div",n_,[I("button",{class:Pe(["share-tab",{active:c.value==="link"}]),onClick:U[0]||(U[0]=K=>c.value="link")},"Embed link",2),I("button",{class:Pe(["share-tab",{active:c.value==="embed"}]),onClick:U[1]||(U[1]=K=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(z(),J("div",o_,[I("div",r_,[I("div",s_,Q(k.value),1)]),I("button",{class:Pe(["share-primary-btn",{copied:u.value}]),onClick:b},[u.value?(z(),J("svg",i_,[...U[4]||(U[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),J("svg",a_,[...U[3]||(U[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(u.value?"Copied!":"Copy Link"),1)],2)])):Se("",!0),c.value==="embed"?(z(),J("div",l_,[U[7]||(U[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",c_,[(z(),J(de,null,ct(_,(K,ne)=>I("button",{key:ne,class:Pe(["share-size-pill",{active:f.value===ne}]),onClick:ue=>f.value=ne},Q(K.label),11,u_)),64))]),I("div",p_,Q(C.value),1),I("button",{class:Pe(["share-secondary-btn",{copied:g.value}]),onClick:A},[g.value?(z(),J("svg",g_,[...U[6]||(U[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(z(),J("svg",d_,[...U[5]||(U[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(g.value?"Copied!":"Copy Code"),1)],2)])):Se("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},h_=["mapbox","maplibre"],zl="mapbox";function m_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function __(e){const t=m_(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,s=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(n||o||s||zl).toLowerCase().trim();return h_.includes(r)?r:zl}const b_=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 y_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=b_[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}const lr={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 Ns(e){var n;const t=((n=lr[e])==null?void 0:n.global)||lr.mapbox.global;return typeof window<"u"?window[t]:void 0}async function $_(e){const t=lr[e]||lr.mapbox;if(Ns(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(Ns(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,s)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",o,{once:!0}),r.addEventListener("error",()=>s(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}const w_={class:"gm-legend"},v_={class:"gm-keys"},k_={key:1,class:"gm-err"},O_={key:2,class:"gm-sheet"},C_={class:"gm-sh-head"},N_={class:"gm-sh-name"},A_={key:0,class:"gm-ai"},E_={class:"gm-stat"},P_={class:"gm-stat"},S_={class:"gm-stat"},L_={class:"gm-stat"},F_={class:"gm-stat"},T_={key:1,class:"gm-list"},x_={class:"gm-list-h"},I_={key:2,class:"gm-list"},M_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=Ie("profileConfig",re(null)),n=ae(()=>{var N;return((N=t.value)==null?void 0:N.isDark)===!0}),o=ae(()=>{var N;return((N=t.value)==null?void 0:N.tk)||window.DOXA_TOKEN||""}),s=ae(()=>Yl(t.value)),r=re(null),a=jn(null),i=re([]),l=re(null),c=re(!0),u=re(null),g=[{id:"yes",label:"connected 60%+",color:"#10b981"},{id:"partial",label:"partial 25–59%",color:"#e8c15a"},{id:"no",label:"low, under 25%",color:"#b42318"},{id:"unknown",label:"not measured",color:"#9aa2ad"}],f=N=>(g.find(h=>h.id===N)||{}).color||"#9aa2ad",_=ae(()=>{const N={};for(const h of i.value)N[h.iso3]=h;return N});async function $(){const[N,h]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(b=>b.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(b=>b.json())]);return i.value=N.countries||[],h}function k(N,h){const b=_.value,O={type:"FeatureCollection",features:(h.features||[]).map(E=>{var D;const F=(D=E.properties)==null?void 0:D.iso3,v=b[F];return{type:"Feature",properties:{iso3:F,band:(v==null?void 0:v.band)||"none",color:v?f(v.band):"rgba(0,0,0,0)",hasData:!!v},geometry:E.geometry}})};if(N.getSource("ci-src")){N.getSource("ci-src").setData(O);return}N.addSource("ci-src",{type:"geojson",data:O}),N.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),N.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),N.on("click","ci-fill",E=>{var v,D,U;const F=(U=(D=(v=E.features)==null?void 0:v[0])==null?void 0:D.properties)==null?void 0:U.iso3;F&&_.value[F]&&(l.value=_.value[F])}),N.on("mouseenter","ci-fill",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","ci-fill",()=>{N.getCanvas().style.cursor=""})}const C=__(Ie("profileConfig",null));Ht(async()=>{try{await $_(C)}catch{}const N=Ns(C)||window.mapboxgl;if(!N||!r.value){u.value="map engine not loaded";return}try{const h=await $(),b=new N.Map({container:r.value,style:y_(n.value?"ink":"paper",C).style||(n.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:o.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});a.value=$n(b),Rm(b,{boundaries:!0}),b.once("load",()=>k(b,h))}catch(h){u.value=String(h.message||h)}}),qt(()=>{var N;try{(N=a.value)==null||N.remove()}catch{}});const L=N=>(Number(N)||0).toLocaleString();return Wt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;width:var(--map-legend-width,380px);max-width:calc(100% - 16px);box-sizing:border-box;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}@media(max-width:480px){.gm-legend{width:auto;right:46px}}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-connectivity-map"),(N,h)=>(z(),J("div",{class:Pe(["gm",{"is-dark":n.value}])},[I("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),a.value?(z(),Qe(Bm,{key:0},{default:Yt(()=>[$e(Wm,{map:a.value,"is-dark":n.value},null,8,["map","is-dark"]),$e(Gm,{map:a.value,"is-dark":n.value},null,8,["map","is-dark"]),$e(Um,{map:a.value,"is-dark":n.value},null,8,["map","is-dark"]),$e(Ym,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),$e(f_,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Se("",!0),I("div",w_,[h[2]||(h[2]=I("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),I("div",v_,[(z(),J(de,null,ct(g,b=>I("span",{key:b.id,class:"gm-key"},[I("i",{class:"gm-sw",style:bn({background:b.color})},null,4),ke(Q(b.label),1)])),64))]),h[3]||(h[3]=I("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),u.value?(z(),J("div",k_,Q(u.value),1)):Se("",!0),l.value?(z(),J("div",O_,[I("div",C_,[I("span",N_,Q(l.value.country),1),I("button",{type:"button",class:"gm-x",onClick:h[0]||(h[0]=b=>l.value=null)},"Close")]),c.value?(z(),J("div",A_,[h[4]||(h[4]=I("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),I("button",{type:"button",class:"gm-ai-x",onClick:h[1]||(h[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Se("",!0),I("div",E_,[h[5]||(h[5]=I("span",null,"Internet users",-1)),I("b",null,Q(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),I("div",P_,[h[6]||(h[6]=I("span",null,"Measured",-1)),I("b",null,Q(l.value.internet_year||"—"),1)]),I("div",S_,[h[7]||(h[7]=I("span",null,"Mobile per 100",-1)),I("b",null,Q(l.value.mobile_per_100??"—"),1)]),I("div",L_,[h[8]||(h[8]=I("span",null,"People groups",-1)),I("b",null,Q(L(l.value.people_groups)),1)]),I("div",F_,[h[9]||(h[9]=I("span",null,"Top platform",-1)),I("b",null,[ke(Q(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(z(),J(de,{key:0},[ke(" · "+Q(l.value.top_platform_pct)+"%",1)],64)):Se("",!0)])]),l.value.carriers&&l.value.carriers.length?(z(),J("div",T_,[I("div",x_,"Carriers & ISPs ("+Q(l.value.carrier_count)+")",1),I("ul",null,[(z(!0),J(de,null,ct(l.value.carriers,(b,A)=>(z(),J("li",{key:A},Q(b),1))),128))])])):Se("",!0),l.value.platforms&&l.value.platforms.length?(z(),J("div",I_,[h[10]||(h[10]=I("div",{class:"gm-list-h"},"Social platforms",-1)),I("ul",null,[(z(!0),J(de,null,ct(l.value.platforms,(b,A)=>(z(),J("li",{key:A},Q(b.name)+" · "+Q(b.pct)+"%",1))),128))])])):Se("",!0),h[11]||(h[11]=I("p",{class:"gm-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. ",-1))])):Se("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function R_(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const n=t.ownerDocument.createElement("div");n.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(n);const o=n.getBoundingClientRect();return n.remove(),{x:o.left,y:o.top}}function B_(e){const t=re(null),n=jn({position:"fixed",inset:"0"}),o=()=>{var u,g;const r=t.value;if(!r)return;const a=R_(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((g=i==null?void 0:i.documentElement)==null?void 0:g.clientHeight)||0;n.value={position:"fixed",top:`${-a.y}px`,left:`${-a.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};ot(e,r=>{r&&requestAnimationFrame(()=>{o(),requestAnimationFrame(o)})},{flush:"post"});const s=()=>{e.value&&o()};return typeof window<"u"&&window.addEventListener("resize",s),qt(()=>{typeof window<"u"&&window.removeEventListener("resize",s)}),{scrimRef:t,scrimStyle:n}}const D_={class:"dt-head"},W_={class:"dt-title"},G_={class:"dt-count"},U_={key:0,class:"dt-grain"},j_={class:"dt-actions"},V_={key:0,class:"dt-err"},Y_={class:"dt-wrap"},z_={class:"dt-hint"},H_={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},q_={class:"dt-sheet-head"},K_={class:"dt-dl"},X_=["href"],J_={key:1},Z_={key:2},Q_={key:2,class:"dt-caveats"},eb={class:"dt-cav-k"},tb={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const n=e,o=t,s=re(!1),r=re(null),{scrimRef:a,scrimStyle:i}=B_(r),l=re(null),c=jn(null),u=re(null),g=re(!1),f=ae(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),_=ae(()=>{var v;return((v=n.table)==null?void 0:v.meta)||{}}),$=ae(()=>{var v;return(((v=n.table)==null?void 0:v.rows)||[]).length}),k=ae(()=>Object.entries(_.value).filter(([v,D])=>typeof D=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(v)).map(([v,D])=>({key:v.replace(/_/g," "),text:D})));let C=null;function L(){return window.Tabulator?Promise.resolve(window.Tabulator):C||(C=new Promise((v,D)=>{const U=document.createElement("script");U.src=`${f.value}/vendor/tabulator/tabulator.min.js`,U.onload=()=>v(window.Tabulator),U.onerror=()=>D(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(U)}),C)}async function N(v){if(!(!v||v.querySelector("style[data-tabulator]")))try{const D=await fetch(`${f.value}/vendor/tabulator/tabulator.min.css`);if(!D.ok)return;const U=document.createElement("style");U.setAttribute("data-tabulator",""),U.textContent=await D.text(),v.appendChild(U)}catch{}}function h(v){var ne,ue;if(!l.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const D=((ne=n.table)==null?void 0:ne.columns)||[],K=(s.value?D.slice(0,3):D).map((q,W)=>({title:q.title,field:q.field,headerFilter:q.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:q.type==="number"?"number":q.type==="boolean"?"boolean":"string",formatter:q.type==="boolean"?"tickCross":void 0,.../_url$/.test(q.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&W<n.frozen,minWidth:s.value?78:q.type==="number"?90:120,maxWidth:s.value?150:/method|caveat|pools|classification/.test(q.field)?260:void 0,widthGrow:/method|caveat|pools|source|classification/.test(q.field)?0:1}));c.value=new v(l.value,{data:((ue=n.table)==null?void 0:ue.rows)||[],columns:K,height:n.height,layout:s.value?"fitColumns":"fitDataStretch",pagination:!0,paginationSize:s.value?20:n.pageSize,paginationSizeSelector:[25,50,100,250],movableColumns:!0,placeholder:"No rows"}),c.value.on("rowClick",(q,W)=>{r.value=W.getData(),o("row-click",W.getData())}),c.value.on("tableBuilt",()=>{g.value=!0})}const b=v=>{var D,U;return((U=(((D=n.table)==null?void 0:D.columns)||[]).find(K=>K.field===v))==null?void 0:U.title)||v.replace(/_/g," ")},A=v=>typeof v=="string"&&v.includes(", ")&&v.length>40?v.split(", "):null,O=v=>typeof v=="string"&&/^https?:\/\//.test(v),E=ae(()=>r.value?Object.entries(r.value).filter(([,v])=>v!==""&&v!==null&&v!==void 0):[]);function F(v){var D;try{(D=c.value)==null||D.download(v,`${(_.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${v}`)}catch(U){u.value=String(U.message||U)}}return Ht(async()=>{var v,D;try{await N((D=(v=l.value)==null?void 0:v.getRootNode)==null?void 0:D.call(v)),h(await L())}catch(U){u.value=String(U.message||U)}}),qt(()=>{var v;try{(v=c.value)==null||v.destroy()}catch{}}),ot(()=>n.table,()=>{var v,D;try{(D=c.value)==null||D.replaceData(((v=n.table)==null?void 0:v.rows)||[])}catch{}}),Wt(".dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(v,D)=>{var U,K;return z(),J("div",{class:Pe(["dt",{"is-dark":e.isDark}])},[I("div",D_,[I("h3",W_,Q(_.value.title||"Data"),1),I("span",G_,Q($.value.toLocaleString())+" rows",1),_.value.grain?(z(),J("span",U_,"· "+Q(_.value.grain),1)):Se("",!0),I("span",j_,[I("button",{type:"button",class:"dt-btn",onClick:D[0]||(D[0]=ne=>F("csv"))},"CSV"),I("button",{type:"button",class:"dt-btn",onClick:D[1]||(D[1]=ne=>F("json"))},"JSON")])]),u.value?(z(),J("div",V_,Q(u.value),1)):Se("",!0),I("div",Y_,[I("div",{ref_key:"host",ref:l},null,512)]),I("p",z_,"Tap any row for its full detail"+Q(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(z(),J("div",{key:1,ref_key:"scrimRef",ref:a,style:bn(qe(i)),class:"dt-scrim",onClick:D[3]||(D[3]=Cp(ne=>r.value=null,["self"]))},[I("div",H_,[I("div",q_,[I("strong",null,Q(r.value[(K=(((U=e.table)==null?void 0:U.columns)||[])[0])==null?void 0:K.field]||"Detail"),1),I("button",{type:"button",class:"dt-close",onClick:D[2]||(D[2]=ne=>r.value=null)},"Close")]),I("dl",K_,[(z(!0),J(de,null,ct(E.value,([ne,ue])=>(z(),J(de,{key:ne},[I("dt",null,Q(b(ne)),1),I("dd",null,[O(ue)?(z(),J("a",{key:0,href:ue,target:"_blank",rel:"noopener"},Q(ue),9,X_)):A(ue)?(z(),J("ul",J_,[(z(!0),J(de,null,ct(A(ue),(q,W)=>(z(),J("li",{key:W},Q(q),1))),128))])):(z(),J("span",Z_,Q(ue===!0?"yes":ue===!1?"no":ue),1))])],64))),128))])])],4)):Se("",!0),k.value.length?(z(),J("div",Q_,[(z(!0),J(de,null,ct(k.value,ne=>(z(),J("div",{key:ne.key},[I("span",eb,Q(ne.key)+":",1),ke(" "+Q(ne.text),1)]))),128))])):Se("",!0)],2)}}},nb={class:"ct-tabs"},ob=["onClick"],rb={key:0,class:"ct-n"},sb={key:0,class:"ct-err"},ab={key:1,class:"ct-load"},ib=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Ie("profileConfig",re(null)),n=ae(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=ae(()=>Yl(t.value)),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"internet",label:"Connectivity",file:"country-connectivity"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"social",label:"Social Platforms",file:"social-platforms"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],r=re("cities"),a=ae(()=>s.find(f=>f.id===r.value)||s[0]),i=re({}),l=re(!1),c=re(null);async function u(f){if(!i.value[f]){l.value=!0,c.value=null;try{const _=await fetch(`${o.value}/tables/${f}.json`);if(!_.ok)throw new Error(`table not found (${_.status})`);i.value={...i.value,[f]:await _.json()}}catch(_){c.value=String(_.message||_)}finally{l.value=!1}}}ot(a,f=>f&&u(f.file),{immediate:!0});const g=ae(()=>{var f;return i.value[(f=a.value)==null?void 0:f.file]||null});return Wt(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(f,_)=>(z(),J("div",{class:Pe(["ct",{"is-dark":n.value}])},[_[0]||(_[0]=I("h2",{class:"ct-h"},"Cities Data",-1)),_[1]||(_[1]=I("p",{class:"ct-sub"}," Where the unengaged people groups live — and what reaches them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),I("div",nb,[(z(),J(de,null,ct(s,$=>I("button",{key:$.id,type:"button",class:Pe(["ct-tab",{on:r.value===$.id}]),onClick:k=>r.value=$.id},[ke(Q($.label),1),i.value[$.file]?(z(),J("span",rb,Q((i.value[$.file].rows||[]).length.toLocaleString()),1)):Se("",!0)],10,ob)),64))]),c.value?(z(),J("div",sb,Q(c.value),1)):g.value?(z(),Qe(tb,{key:a.value.id,table:g.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(z(),J("div",ab,"Loading "+Q(a.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})();