From c9ca2da642fe5bc0eebccf4dfc1c3c0f9ca3e30f Mon Sep 17 00:00:00 2001 From: swift-river542 Date: Wed, 16 Sep 2026 11:40:55 -0500 Subject: [PATCH] Make map share links host-agnostic, add CORS to the token endpoint, align Mapbox GL to v3.24.0 - The Share button now derives embed URLs from where the bundle is actually hosted (profile-config.shareUrl -> embedBaseUrl -> window.MAP_EMBED_BASE_URL -> the bundle's own script URL), so generated links work on localhost, on doxa.life and on any CDN - Generated map pages try token endpoints in order (override -> https://doxa.life/api/maps/token -> same-origin /api/maps/token) instead of failing on a single URL - GET /api/maps/token sends Access-Control-Allow-Origin: * so map pages hosted on another origin can fetch a token - useDoxaMap loads mapbox-gl v3.24.0 to match the bundles - Refresh the doxa-maps drop-in: upg-100 combined map+lists page, share toolbar on every map, shared legend radius token --- app/composables/useDoxaMap.ts | 4 +- public/js/doxa-maps-build/.gitignore | 1 + public/js/doxa-maps-build/_headers | 14 + .../cities-internet/cities-internet.js | 425 ++++++++++++++- .../connectivity-list/index.html | 58 ++- .../connectivity-map/index.html | 58 ++- .../cities-internet/data-tables/index.html | 58 ++- .../doxa-maps/cities-internet/index.html | 2 +- .../country-posters/countries-map/index.html | 58 ++- .../country-poster-wall/index.html | 58 ++- .../country-posters/country-posters.js | 96 ++-- .../doxa-maps/country-posters/index.html | 2 +- .../doxa-maps/demo-map/demo-map.js | 463 +++++++++++++++-- .../doxa-maps/demo-map/demo-map/index.html | 58 ++- .../demo-map/demo-map/maplibre/index.html | 58 ++- .../doxa-maps/demo-map/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 80 +-- .../doxa-maps/doxa-research-map/index.html | 2 +- .../doxa-research-map/research-map/index.html | 58 ++- .../doxa-simple-map/doxa-simple-map.js | 100 ++-- .../doxa-simple-map/adoption/index.html | 58 ++- .../doxa-simple-map/engagement/index.html | 58 ++- .../doxa-simple-map/index.html | 58 ++- .../doxa-simple-map/prayer/index.html | 58 ++- .../doxa-maps/doxa-simple-map/index.html | 2 +- .../gospel-resources/charts/index.html | 58 ++- .../gospel-resources/data-tables/index.html | 58 ++- .../gospel-resources/gospel-resources.js | 425 ++++++++++++++- .../doxa-maps/gospel-resources/index.html | 2 +- .../resources-list/index.html | 58 ++- .../gospel-resources/resources-map/index.html | 58 ++- .../js/doxa-maps-build/doxa-maps/index.html | 2 +- .../doxa-maps-build/doxa-maps/manifest.json | 84 ++- .../doxa-maps/my-upg-100-list/index.html | 2 +- .../my-upg-100-list/my-upg-100-list.js | 482 +++++++++++++++++- .../my-upg-100-list/poster-wall/index.html | 58 ++- .../my-upg-100-list/upg-100-list/index.html | 58 ++- .../my-upg-100-list/upg-100-mfe/index.html | 152 ++++++ .../doxa-maps/research-dashboard/index.html | 2 +- .../research-dashboard/research-dashboard.js | 2 +- .../research-dashboard/index.html | 58 ++- .../doxa-maps/template-bundle/index.html | 2 +- .../template-bundle/template-map-a/index.html | 56 +- .../template-bundle/template-map-b/index.html | 56 +- server/api/maps/token.get.ts | 9 + 45 files changed, 2947 insertions(+), 624 deletions(-) create mode 100644 public/js/doxa-maps-build/.gitignore create mode 100644 public/js/doxa-maps-build/_headers create mode 100644 public/js/doxa-maps-build/doxa-maps/my-upg-100-list/upg-100-mfe/index.html diff --git a/app/composables/useDoxaMap.ts b/app/composables/useDoxaMap.ts index 76bc7f62..f6715e82 100644 --- a/app/composables/useDoxaMap.ts +++ b/app/composables/useDoxaMap.ts @@ -6,7 +6,7 @@ // connectedCallback calls `new mapboxgl.Map(…)` before the global exists. // The bundle is loaded globally via nuxt.config.ts. -const MAPBOX_JS = 'https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.js' +const MAPBOX_JS = 'https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js' const MAPBOX_GEOCODER_JS = 'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js' // Map of bundle keys → CDN drop-in URLs. The built maps live under @@ -60,7 +60,7 @@ export function useDoxaMap(bundle: BundleKey = 'simple-map') { useHead({ link: [ - { rel: 'stylesheet', href: 'https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css' }, + { rel: 'stylesheet', href: 'https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css' }, { rel: 'stylesheet', href: 'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css' } ] }) diff --git a/public/js/doxa-maps-build/.gitignore b/public/js/doxa-maps-build/.gitignore new file mode 100644 index 00000000..42224683 --- /dev/null +++ b/public/js/doxa-maps-build/.gitignore @@ -0,0 +1 @@ +token.local.js diff --git a/public/js/doxa-maps-build/_headers b/public/js/doxa-maps-build/_headers new file mode 100644 index 00000000..8a0903d9 --- /dev/null +++ b/public/js/doxa-maps-build/_headers @@ -0,0 +1,14 @@ +# doxa-maps frame policy — generated by internal/generate-tree.mjs +# (see docs/architecture/embeddability.md — the server owns frame-ancestors) + +# Staging surfaces: internal preview only +/doxa-maps/index.html + Content-Security-Policy: frame-ancestors 'self' +/doxa-maps/:bundle/index.html + Content-Security-Policy: frame-ancestors 'self' + +# Direct-embed pages (the product): framable on any partner site +/doxa-maps/:bundle/:profile/index.html + Content-Security-Policy: frame-ancestors * +/doxa-maps/:bundle/:profile/:instance/index.html + Content-Security-Policy: frame-ancestors * diff --git a/public/js/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js b/public/js/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js index 59f5b33d..ed73efe9 100644 --- a/public/js/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js +++ b/public/js/doxa-maps-build/doxa-maps/cities-internet/cities-internet.js @@ -1,46 +1,46 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-b7582f77]{width:100%;height:100%;position:relative}.profile-error[data-v-b7582f77]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})(); -(function(){"use strict";const k_="modulepreload",O_=function(e){return"/"+e},N_={},Zo=function(t,n,o){let s=Promise.resolve();function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};/** +(function(){"use strict";var tr=typeof document<"u"?document.currentScript:null;const e_="modulepreload",t_=function(e){return"/"+e},n_={},nr=function(t,n,o){let s=Promise.resolve();function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Qo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const he={},an=[],lt=()=>{},ls=()=>!1,eo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),to=e=>e.startsWith("onUpdate:"),ke=Object.assign,er=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},kl=Object.prototype.hasOwnProperty,ue=(e,t)=>kl.call(e,t),z=Array.isArray,xt=e=>On(e)==="[object Map]",no=e=>On(e)==="[object Set]",cs=e=>On(e)==="[object Date]",J=e=>typeof e=="function",ye=e=>typeof e=="string",Xe=e=>typeof e=="symbol",pe=e=>e!==null&&typeof e=="object",us=e=>(pe(e)||J(e))&&J(e.then)&&J(e.catch),ps=Object.prototype.toString,On=e=>ps.call(e),Ol=e=>On(e).slice(8,-1),oo=e=>On(e)==="[object Object]",ro=e=>ye(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Nn=Qo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),so=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Nl=/-\w/g,Ee=so(e=>e.replace(Nl,t=>t.slice(1).toUpperCase())),Cl=/\B([A-Z])/g,Je=so(e=>e.replace(Cl,"-$1").toLowerCase()),io=so(e=>e.charAt(0).toUpperCase()+e.slice(1)),tr=so(e=>e?`on${io(e)}`:""),ct=(e,t)=>!Object.is(e,t),nr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Al=e=>{const t=parseFloat(e);return isNaN(t)?e:t},fs=e=>{const t=ye(e)?Number(e):NaN;return isNaN(t)?e:t};let gs;const ao=()=>gs||(gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lo(e){if(z(e)){const t={};for(let n=0;n{if(n){const o=n.split(Tl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function et(e){let t="";if(ye(e))t=e;else if(z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),X=e=>ye(e)?e:e==null?"":z(e)||pe(e)&&(e.toString===ps||!J(e.toString))?ms(e)?X(e.value):JSON.stringify(e,bs,2):String(e),bs=(e,t)=>ms(t)?bs(e,t.value):xt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[or(o,r)+" =>"]=s,n),{})}:no(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>or(n))}:Xe(t)?or(t):pe(t)&&!z(t)&&!oo(t)?String(t):t,or=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function or(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const me={},fn=[],ut=()=>{},fs=()=>!1,io=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ao=e=>e.startsWith("onUpdate:"),Ce=Object.assign,rr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Tl=Object.prototype.hasOwnProperty,fe=(e,t)=>Tl.call(e,t),Q=Array.isArray,jt=e=>Sn(e)==="[object Map]",lo=e=>Sn(e)==="[object Set]",hs=e=>Sn(e)==="[object Date]",te=e=>typeof e=="function",we=e=>typeof e=="string",Ke=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",gs=e=>(he(e)||te(e))&&te(e.then)&&te(e.catch),ms=Object.prototype.toString,Sn=e=>ms.call(e),Ll=e=>Sn(e).slice(8,-1),co=e=>Sn(e)==="[object Object]",uo=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,In=or(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),po=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sl=/-\w/g,xe=po(e=>e.replace(Sl,t=>t.slice(1).toUpperCase())),Il=/\B([A-Z])/g,Qe=po(e=>e.replace(Il,"-$1").toLowerCase()),fo=po(e=>e.charAt(0).toUpperCase()+e.slice(1)),sr=po(e=>e?`on${fo(e)}`:""),pt=(e,t)=>!Object.is(e,t),ir=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Fl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},bs=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const ho=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function go(e){if(Q(e)){const t={};for(let n=0;n{if(n){const o=n.split(Pl);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Le(e){let t="";if(we(e))t=e;else if(Q(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Z=e=>we(e)?e:e==null?"":Q(e)||he(e)&&(e.toString===ms||!te(e.toString))?ks(e)?Z(e.value):JSON.stringify(e,$s,2):String(e),$s=(e,t)=>ks(t)?$s(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[ar(o,r)+" =>"]=s,n),{})}:lo(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ar(n))}:Ke(t)?ar(t):he(t)&&!Q(t)&&!co(t)?String(t):t,ar=(e,t="")=>{var n;return Ke(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 Ne;class ys{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&&Ne&&(Ne.active?(this.parent=Ne,this.index=(Ne.scopes||(Ne.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;t0&&--this._on===0){if(Ne===this)Ne=this.prevScope;else{let t=Ne;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;n0)return;if(An){let t=An;for(An=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Cn;){let t=Cn;for(Cn=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 Os(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ns(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),cr(o),Ml(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function lr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Cs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Cs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===En)||(e.globalVersion=En,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!lr(e))))return;e.flags|=2;const t=e.dep,n=_e,o=tt;_e=e,tt=!0;try{Os(e);const s=e.fn(e._value);(t.version===0||ct(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{_e=n,tt=o,Ns(e),e.flags&=-3}}function cr(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)cr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ml(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let tt=!0;const As=[];function ut(){As.push(tt),tt=!1}function pt(){const e=As.pop();tt=e===void 0?!0:e}function Es(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let En=0;class Dl{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 ur{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(!_e||!tt||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Dl(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,Ts(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=_e.depsTail,n.nextDep=void 0,_e.depsTail.nextDep=n,_e.depsTail=n,_e.deps===n&&(_e.deps=o)}return n}trigger(t){this.version++,En++,this.notify(t)}notify(t){ir();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ar()}}}function Ts(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)Ts(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const uo=new WeakMap,Xt=Symbol(""),pr=Symbol(""),Tn=Symbol("");function De(e,t,n){if(tt&&_e){let o=uo.get(e);o||uo.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new ur),s.map=o,s.key=n),s.track()}}function $t(e,t,n,o,s,r){const i=uo.get(e);if(!i){En++;return}const a=l=>{l&&l.trigger()};if(ir(),t==="clear")i.forEach(a);else{const l=z(e),u=l&&ro(n);if(l&&n==="length"){const d=Number(o);i.forEach((f,h)=>{(h==="length"||h===Tn||!Xe(h)&&h>=d)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Tn)),t){case"add":l?u&&a(i.get("length")):(a(i.get(Xt)),xt(e)&&a(i.get(pr)));break;case"delete":l||(a(i.get(Xt)),xt(e)&&a(i.get(pr)));break;case"set":xt(e)&&a(i.get(Xt));break}}ar()}function Rl(e,t){const n=uo.get(e);return n&&n.get(t)}function ln(e){const t=ie(e);return t===e?t:(De(t,"iterate",Tn),je(e)?t:t.map(nt))}function po(e){return De(e=ie(e),"iterate",Tn),e}function dt(e,t){return Nt(e)?un(Ot(e)?nt(t):t):nt(t)}const Bl={__proto__:null,[Symbol.iterator](){return dr(this,Symbol.iterator,e=>dt(this,e))},concat(...e){return ln(this).concat(...e.map(t=>z(t)?ln(t):t))},entries(){return dr(this,"entries",e=>(e[1]=dt(this,e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(o=>dt(this,o)),arguments)},find(e,t){return kt(this,"find",e,t,n=>dt(this,n),arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,n=>dt(this,n),arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return fr(this,"includes",e)},indexOf(...e){return fr(this,"indexOf",e)},join(e){return ln(this).join(e)},lastIndexOf(...e){return fr(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return In(this,"pop")},push(...e){return In(this,"push",e)},reduce(e,...t){return Is(this,"reduce",e,t)},reduceRight(e,...t){return Is(this,"reduceRight",e,t)},shift(){return In(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return In(this,"splice",e)},toReversed(){return ln(this).toReversed()},toSorted(e){return ln(this).toSorted(e)},toSpliced(...e){return ln(this).toSpliced(...e)},unshift(...e){return In(this,"unshift",e)},values(){return dr(this,"values",e=>dt(this,e))}};function dr(e,t,n){const o=po(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 xl=Array.prototype;function kt(e,t,n,o,s,r){const i=po(e),a=i!==e&&!je(e),l=i[t];if(l!==xl[t]){const f=l.apply(e,r);return a?nt(f):f}let u=n;i!==e&&(a?u=function(f,h){return n.call(this,dt(e,f),h,e)}:n.length>2&&(u=function(f,h){return n.call(this,f,h,e)}));const d=l.call(i,u,o);return a&&s?s(d):d}function Is(e,t,n,o){const s=po(e),r=s!==e&&!je(e);let i=n,a=!1;s!==e&&(r?(a=o.length===0,i=function(u,d,f){return a&&(a=!1,u=dt(e,u)),n.call(this,u,dt(e,d),f,e)}):n.length>3&&(i=function(u,d,f){return n.call(this,u,d,f,e)}));const l=s[t](i,...o);return a?dt(e,l):l}function fr(e,t,n){const o=ie(e);De(o,"iterate",Tn);const s=o[t](...n);return(s===-1||s===!1)&&bo(n[0])?(n[0]=ie(n[0]),o[t](...n)):s}function In(e,t,n=[]){ut(),ir();const o=ie(e)[t].apply(e,n);return ar(),pt(),o}const Wl=Qo("__proto__,__v_isRef,__isVue"),Ls=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Ul(e){Xe(e)||(e=String(e));const t=ie(this);return De(t,"has",e),t.hasOwnProperty(e)}class Ss{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?Bs:Rs:r?Ds:Ms).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=z(t);if(!s){let l;if(i&&(l=Bl[n]))return l;if(n==="hasOwnProperty")return Ul}const a=Reflect.get(t,n,we(t)?t:o);if((Xe(n)?Ls.has(n):Wl(n))||(s||De(t,"get",n),r))return a;if(we(a)){const l=i&&ro(n)?a:a.value;return s&&pe(l)?hr(l):l}return pe(a)?s?hr(a):_o(a):a}}class Fs extends Ss{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=z(t)&&ro(n);if(!this._isShallow){const u=Nt(r);if(!je(o)&&!Nt(o)&&(r=ie(r),o=ie(o)),!i&&we(r)&&!we(o))return u||(r.value=o),!0}const a=i?Number(n)e,fo=e=>Reflect.getPrototypeOf(e);function Hl(e,t,n){return function(...o){const s=this.__v_raw,r=ie(s),i=xt(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=s[e](...o),d=n?gr:t?un:nt;return!t&&De(r,"iterate",l?pr:Xt),ke(Object.create(u),{next(){const{value:f,done:h}=u.next();return h?{value:f,done:h}:{value:a?[d(f[0]),d(f[1])]:d(f),done:h}}})}}function go(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ql(e,t){const n={get(s){const r=this.__v_raw,i=ie(r),a=ie(s);e||(ct(s,a)&&De(i,"get",s),De(i,"get",a));const{has:l}=fo(i),u=t?gr:e?un:nt;if(l.call(i,s))return u(r.get(s));if(l.call(i,a))return u(r.get(a));r!==i&&r.get(s)},get size(){const s=this.__v_raw;return!e&&De(ie(s),"iterate",Xt),s.size},has(s){const r=this.__v_raw,i=ie(r),a=ie(s);return e||(ct(s,a)&&De(i,"has",s),De(i,"has",a)),s===a?r.has(s):r.has(s)||r.has(a)},forEach(s,r){const i=this,a=i.__v_raw,l=ie(a),u=t?gr:e?un:nt;return!e&&De(l,"iterate",Xt),a.forEach((d,f)=>s.call(r,u(d),u(f),i))}};return ke(n,e?{add:go("add"),set:go("set"),delete:go("delete"),clear:go("clear")}:{add(s){const r=ie(this),i=fo(r),a=ie(s),l=!t&&!je(s)&&!Nt(s)?a:s;return i.has.call(r,l)||ct(s,l)&&i.has.call(r,s)||ct(a,l)&&i.has.call(r,a)||(r.add(l),$t(r,"add",l,l)),this},set(s,r){!t&&!je(r)&&!Nt(r)&&(r=ie(r));const i=ie(this),{has:a,get:l}=fo(i);let u=a.call(i,s);u||(s=ie(s),u=a.call(i,s));const d=l.call(i,s);return i.set(s,r),u?ct(r,d)&&$t(i,"set",s,r):$t(i,"add",s,r),this},delete(s){const r=ie(this),{has:i,get:a}=fo(r);let l=i.call(r,s);l||(s=ie(s),l=i.call(r,s)),a&&a.call(r,s);const u=r.delete(s);return l&&$t(r,"delete",s,void 0),u},clear(){const s=ie(this),r=s.size!==0,i=s.clear();return r&&$t(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Hl(s,e,t)}),n}function ho(e,t){const n=ql(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(ue(n,s)&&s in o?n:o,s,r)}const zl={get:ho(!1,!1)},Kl={get:ho(!1,!0)},Xl={get:ho(!0,!1)},Jl={get:ho(!0,!0)},Ms=new WeakMap,Ds=new WeakMap,Rs=new WeakMap,Bs=new WeakMap;function Zl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _o(e){return Nt(e)?e:mo(e,!1,Gl,zl,Ms)}function Ql(e){return mo(e,!1,jl,Kl,Ds)}function hr(e){return mo(e,!0,Yl,Xl,Rs)}function A_(e){return mo(e,!0,Vl,Jl,Bs)}function mo(e,t,n,o,s){if(!pe(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 i=Zl(Ol(e));if(i===0)return e;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Ot(e){return Nt(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function Nt(e){return!!(e&&e.__v_isReadonly)}function je(e){return!!(e&&e.__v_isShallow)}function bo(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function cn(e){return!ue(e,"__v_skip")&&Object.isExtensible(e)&&ds(e,"__v_skip",!0),e}const nt=e=>pe(e)?_o(e):e,un=e=>pe(e)?hr(e):e;function we(e){return e?e.__v_isRef===!0:!1}function de(e){return xs(e,!1)}function yo(e){return xs(e,!0)}function xs(e,t){return we(e)?e:new ec(e,t)}class ec{constructor(t,n){this.dep=new ur,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ie(t),this._value=n?t:nt(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)||Nt(t);t=o?t:ie(t),ct(t,n)&&(this._rawValue=t,this._value=o?t:nt(t),this.dep.trigger())}}function vo(e){return we(e)?e.value:e}const tc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return we(s)&&!we(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Ws(e){return Ot(e)?e:new Proxy(e,tc)}function nc(e){const t=z(e)?new Array(e.length):{};for(const n in e)t[n]=rc(e,n);return t}class oc{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=ie(t);let s=!0,r=t;if(!z(t)||Xe(this._key)||!ro(this._key))do s=!bo(r)||je(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&we(this._raw[this._key])){const n=this._object[this._key];if(we(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Rl(this._raw,this._key)}}function rc(e,t,n){return new oc(e,t,n)}class sc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ur(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=En-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&_e!==this)return ks(this,!0),!0}get value(){const t=this.dep.track();return Cs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ic(e,t,n=!1){let o,s;return J(e)?o=e:(o=e.get,s=e.set),new sc(o,s,n)}const wo={},$o=new WeakMap;let Jt;function ac(e,t=!1,n=Jt){if(n){let o=$o.get(n);o||$o.set(n,o=[]),o.push(e)}}function lc(e,t,n=he){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,u=_=>s?_:je(_)||s===!1||s===0?Ct(_,1):Ct(_);let d,f,h,v,w=!1,$=!1;if(we(e)?(f=()=>e.value,w=je(e)):Ot(e)?(f=()=>u(e),w=!0):z(e)?($=!0,w=e.some(_=>Ot(_)||je(_)),f=()=>e.map(_=>{if(we(_))return _.value;if(Ot(_))return u(_);if(J(_))return l?l(_,2):_()})):J(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){ut();try{h()}finally{pt()}}const _=Jt;Jt=d;try{return l?l(e,3,[v]):e(v)}finally{Jt=_}}:f=lt,t&&s){const _=f,N=s===!0?1/0:s;f=()=>Ct(_(),N)}const R=vs(),E=()=>{d.stop(),R&&R.active&&er(R.effects,d)};if(r&&t){const _=t;t=(...N)=>{const S=_(...N);return E(),S}}let I=$?new Array(e.length).fill(wo):wo;const b=_=>{if(!(!(d.flags&1)||!d.dirty&&!_))if(t){const N=d.run();if(_||s||w||($?N.some((S,C)=>ct(S,I[C])):ct(N,I))){h&&h();const S=Jt;Jt=d;try{const C=[N,I===wo?void 0:$&&I[0]===wo?[]:I,v];I=N,l?l(t,3,C):t(...C)}finally{Jt=S}}}else d.run()};return a&&a(b),d=new ws(f),d.scheduler=i?()=>i(b,!1):b,v=_=>ac(_,!1,d),h=d.onStop=()=>{const _=$o.get(d);if(_){if(l)l(_,4);else for(const N of _)N();$o.delete(d)}},t?o?b(!0):I=d.run():i?i(b.bind(null,!0),!0):d.run(),E.pause=d.pause.bind(d),E.resume=d.resume.bind(d),E.stop=E,E}function Ct(e,t=1/0,n){if(t<=0||!pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,we(e))Ct(e.value,t,n);else if(z(e))for(let o=0;o{Ct(o,t,n)});else if(oo(e)){for(const o in e)Ct(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Ct(e[o],t,n)}return e}/** +**/let Se;class Os{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&&Se&&(Se.active?(this.parent=Se,this.index=(Se.scopes||(Se.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;t0&&--this._on===0){if(Se===this)Se=this.prevScope;else{let t=Se;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;n0)return;if(xn){let t=xn;for(xn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Fn;){let t=Fn;for(Fn=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 Ts(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ls(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),fr(o),Ul(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function dr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ss(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ss(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pn)||(e.globalVersion=Pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!dr(e))))return;e.flags|=2;const t=e.dep,n=be,o=ot;be=e,ot=!0;try{Ts(e);const s=e.fn(e._value);(t.version===0||pt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{be=n,ot=o,Ls(e),e.flags&=-3}}function fr(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)fr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ot=!0;const Is=[];function dt(){Is.push(ot),ot=!1}function ft(){const e=Is.pop();ot=e===void 0?!0:e}function Fs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Pn=0;class jl{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 hr{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(!be||!ot||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new jl(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,xs(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=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Pn++,this.notify(t)}notify(t){ur();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{pr()}}}function xs(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)xs(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const _o=new WeakMap,nn=Symbol(""),gr=Symbol(""),Mn=Symbol("");function Ue(e,t,n){if(ot&&be){let o=_o.get(e);o||_o.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new hr),s.map=o,s.key=n),s.track()}}function Ct(e,t,n,o,s,r){const i=_o.get(e);if(!i){Pn++;return}const a=l=>{l&&l.trigger()};if(ur(),t==="clear")i.forEach(a);else{const l=Q(e),c=l&&uo(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,h)=>{(h==="length"||h===Mn||!Ke(h)&&h>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(Mn)),t){case"add":l?c&&a(i.get("length")):(a(i.get(nn)),jt(e)&&a(i.get(gr)));break;case"delete":l||(a(i.get(nn)),jt(e)&&a(i.get(gr)));break;case"set":jt(e)&&a(i.get(nn));break}}pr()}function Gl(e,t){const n=_o.get(e);return n&&n.get(t)}function hn(e){const t=ue(e);return t===e?t:(Ue(t,"iterate",Mn),Xe(e)?t:t.map(rt))}function bo(e){return Ue(e=ue(e),"iterate",Mn),e}function ht(e,t){return Tt(e)?mn(Et(e)?rt(t):t):rt(t)}const Yl={__proto__:null,[Symbol.iterator](){return mr(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return hn(this).concat(...e.map(t=>Q(t)?hn(t):t))},entries(){return mr(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return At(this,"every",e,t,void 0,arguments)},filter(e,t){return At(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return At(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return At(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return At(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return At(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return At(this,"forEach",e,t,void 0,arguments)},includes(...e){return _r(this,"includes",e)},indexOf(...e){return _r(this,"indexOf",e)},join(e){return hn(this).join(e)},lastIndexOf(...e){return _r(this,"lastIndexOf",e)},map(e,t){return At(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return At(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return hn(this).toReversed()},toSorted(e){return hn(this).toSorted(e)},toSpliced(...e){return hn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return mr(this,"values",e=>ht(this,e))}};function mr(e,t,n){const o=bo(e),s=o[t]();return o!==e&&!Xe(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=n(r.value)),r}),s}const Vl=Array.prototype;function At(e,t,n,o,s,r){const i=bo(e),a=i!==e&&!Xe(e),l=i[t];if(l!==Vl[t]){const f=l.apply(e,r);return a?rt(f):f}let c=n;i!==e&&(a?c=function(f,h){return n.call(this,ht(e,f),h,e)}:n.length>2&&(c=function(f,h){return n.call(this,f,h,e)}));const u=l.call(i,c,o);return a&&s?s(u):u}function Ps(e,t,n,o){const s=bo(e),r=s!==e&&!Xe(e);let i=n,a=!1;s!==e&&(r?(a=o.length===0,i=function(c,u,f){return a&&(a=!1,c=ht(e,c)),n.call(this,c,ht(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=s[t](i,...o);return a?ht(e,l):l}function _r(e,t,n){const o=ue(e);Ue(o,"iterate",Mn);const s=o[t](...n);return(s===-1||s===!1)&&Oo(n[0])?(n[0]=ue(n[0]),o[t](...n)):s}function Dn(e,t,n=[]){dt(),ur();const o=ue(e)[t].apply(e,n);return pr(),ft(),o}const Hl=or("__proto__,__v_isRef,__isVue"),Ms=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function ql(e){Ke(e)||(e=String(e));const t=ue(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Ds{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?Gs:js:r?Us:Ws).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Q(t);if(!s){let l;if(i&&(l=Yl[n]))return l;if(n==="hasOwnProperty")return ql}const a=Reflect.get(t,n,Ne(t)?t:o);if((Ke(n)?Ms.has(n):Hl(n))||(s||Ue(t,"get",n),r))return a;if(Ne(a)){const l=i&&uo(n)?a:a.value;return s&&he(l)?yr(l):l}return he(a)?s?yr(a):ko(a):a}}class Bs extends Ds{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=Q(t)&&uo(n);if(!this._isShallow){const c=Tt(r);if(!Xe(o)&&!Tt(o)&&(r=ue(r),o=ue(o)),!i&&Ne(r)&&!Ne(o))return c||(r.value=o),!0}const a=i?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function Zl(e,t,n){return function(...o){const s=this.__v_raw,r=ue(s),i=jt(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...o),u=n?br:t?mn:rt;return!t&&Ue(r,"iterate",l?gr:nn),Ce(Object.create(c),{next(){const{value:f,done:h}=c.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}}})}}function vo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ql(e,t){const n={get(s){const r=this.__v_raw,i=ue(r),a=ue(s);e||(pt(s,a)&&Ue(i,"get",s),Ue(i,"get",a));const{has:l}=yo(i),c=t?br:e?mn:rt;if(l.call(i,s))return c(r.get(s));if(l.call(i,a))return c(r.get(a));r!==i&&r.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(ue(s),"iterate",nn),s.size},has(s){const r=this.__v_raw,i=ue(r),a=ue(s);return e||(pt(s,a)&&Ue(i,"has",s),Ue(i,"has",a)),s===a?r.has(s):r.has(s)||r.has(a)},forEach(s,r){const i=this,a=i.__v_raw,l=ue(a),c=t?br:e?mn:rt;return!e&&Ue(l,"iterate",nn),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ce(n,e?{add:vo("add"),set:vo("set"),delete:vo("delete"),clear:vo("clear")}:{add(s){const r=ue(this),i=yo(r),a=ue(s),l=!t&&!Xe(s)&&!Tt(s)?a:s;return i.has.call(r,l)||pt(s,l)&&i.has.call(r,s)||pt(a,l)&&i.has.call(r,a)||(r.add(l),Ct(r,"add",l,l)),this},set(s,r){!t&&!Xe(r)&&!Tt(r)&&(r=ue(r));const i=ue(this),{has:a,get:l}=yo(i);let c=a.call(i,s);c||(s=ue(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,r),c?pt(r,u)&&Ct(i,"set",s,r):Ct(i,"add",s,r),this},delete(s){const r=ue(this),{has:i,get:a}=yo(r);let l=i.call(r,s);l||(s=ue(s),l=i.call(r,s)),a&&a.call(r,s);const c=r.delete(s);return l&&Ct(r,"delete",s,void 0),c},clear(){const s=ue(this),r=s.size!==0,i=s.clear();return r&&Ct(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Zl(s,e,t)}),n}function wo(e,t){const n=Ql(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 ec={get:wo(!1,!1)},tc={get:wo(!1,!0)},nc={get:wo(!0,!1)},oc={get:wo(!0,!0)},Ws=new WeakMap,Us=new WeakMap,js=new WeakMap,Gs=new WeakMap;function rc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ko(e){return Tt(e)?e:$o(e,!1,zl,ec,Ws)}function sc(e){return $o(e,!1,Xl,tc,Us)}function yr(e){return $o(e,!0,Kl,nc,js)}function r_(e){return $o(e,!0,Jl,oc,Gs)}function $o(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 i=rc(Ll(e));if(i===0)return e;const a=new Proxy(e,i===2?o:n);return s.set(e,a),a}function Et(e){return Tt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function Xe(e){return!!(e&&e.__v_isShallow)}function Oo(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function gn(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&_s(e,"__v_skip",!0),e}const rt=e=>he(e)?ko(e):e,mn=e=>he(e)?yr(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function ce(e){return Ys(e,!1)}function No(e){return Ys(e,!0)}function Ys(e,t){return Ne(e)?e:new ic(e,t)}class ic{constructor(t,n){this.dep=new hr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:rt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Xe(t)||Tt(t);t=o?t:ue(t),pt(t,n)&&(this._rawValue=t,this._value=o?t:rt(t),this.dep.trigger())}}function gt(e){return Ne(e)?e.value:e}const ac={get:(e,t,n)=>t==="__v_raw"?e:gt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Ne(s)&&!Ne(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Vs(e){return Et(e)?e:new Proxy(e,ac)}function lc(e){const t=Q(e)?new Array(e.length):{};for(const n in e)t[n]=uc(e,n);return t}class cc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ke(n)?n:String(n),this._raw=ue(t);let s=!0,r=t;if(!Q(t)||Ke(this._key)||!uo(this._key))do s=!Oo(r)||Xe(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=gt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ne(this._raw[this._key])){const n=this._object[this._key];if(Ne(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Gl(this._raw,this._key)}}function uc(e,t,n){return new cc(e,t,n)}class pc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new hr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Es(this,!0),!0}get value(){const t=this.dep.track();return Ss(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function dc(e,t,n=!1){let o,s;return te(e)?o=e:(o=e.get,s=e.set),new pc(o,s,n)}const Co={},Ao=new WeakMap;let on;function fc(e,t=!1,n=on){if(n){let o=Ao.get(n);o||Ao.set(n,o=[]),o.push(e)}}function hc(e,t,n=me){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,c=m=>s?m:Xe(m)||s===!1||s===0?Lt(m,1):Lt(m);let u,f,h,y,w=!1,k=!1;if(Ne(e)?(f=()=>e.value,w=Xe(e)):Et(e)?(f=()=>c(e),w=!0):Q(e)?(k=!0,w=e.some(m=>Et(m)||Xe(m)),f=()=>e.map(m=>{if(Ne(m))return m.value;if(Et(m))return c(m);if(te(m))return l?l(m,2):m()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(h){dt();try{h()}finally{ft()}}const m=on;on=u;try{return l?l(e,3,[y]):e(y)}finally{on=m}}:f=ut,t&&s){const m=f,$=s===!0?1/0:s;f=()=>Lt(m(),$)}const M=Ns(),T=()=>{u.stop(),M&&M.active&&rr(M.effects,u)};if(r&&t){const m=t;t=(...$)=>{const O=m(...$);return T(),O}}let S=k?new Array(e.length).fill(Co):Co;const b=m=>{if(!(!(u.flags&1)||!u.dirty&&!m))if(t){const $=u.run();if(m||s||w||(k?$.some((O,N)=>pt(O,S[N])):pt($,S))){h&&h();const O=on;on=u;try{const N=[$,S===Co?void 0:k&&S[0]===Co?[]:S,y];S=$,l?l(t,3,N):t(...N)}finally{on=O}}}else u.run()};return a&&a(b),u=new Cs(f),u.scheduler=i?()=>i(b,!1):b,y=m=>fc(m,!1,u),h=u.onStop=()=>{const m=Ao.get(u);if(m){if(l)l(m,4);else for(const $ of m)$();Ao.delete(u)}},t?o?b(!0):S=u.run():i?i(b.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}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--,Ne(e))Lt(e.value,t,n);else if(Q(e))for(let o=0;o{Lt(o,t,n)});else if(co(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 Ln=[];let _r=!1;function E_(e,...t){if(_r)return;_r=!0,ut();const n=Ln.length?Ln[Ln.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=cc();if(o)pn(o,n,11,[e+t.map(r=>{var i,a;return(a=(i=r.toString)==null?void 0:i.call(r))!=null?a:JSON.stringify(r)}).join(""),n&&n.proxy,s.map(({vnode:r})=>`at <${Ri(n,r.type)}>`).join(` +**/const Bn=[];let vr=!1;function s_(e,...t){if(vr)return;vr=!0,dt();const n=Bn.length?Bn[Bn.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=gc();if(o)_n(o,n,11,[e+t.map(r=>{var i,a;return(a=(i=r.toString)==null?void 0:i.call(r))!=null?a:JSON.stringify(r)}).join(""),n&&n.proxy,s.map(({vnode:r})=>`at <${Gi(n,r.type)}>`).join(` `),s]);else{const r=[`[Vue warn]: ${e}`,...t];s.length&&r.push(` -`,...uc(s)),console.warn(...r)}pt(),_r=!1}function cc(){let e=Ln[Ln.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 uc(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...pc(n))}),t}function pc({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Ri(e.component,e.type,o)}`,r=">"+n;return e.props?[s,...dc(e.props),r]:[s+r]}function dc(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Us(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Us(e,t,n){return ye(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:we(t)?(t=Us(e,ie(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):J(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ie(t),n?t:[`${e}=`,t])}function pn(e,t,n,o){try{return o?e(...o):e()}catch(s){Sn(s,t,n)}}function ot(e,t,n,o){if(J(e)){const s=pn(e,t,n,o);return s&&us(s)&&s.catch(r=>{Sn(r,t,n)}),s}if(z(e)){const s=[];for(let r=0;r>>1,s=Be[o],r=Fn(s);r=Fn(n)?Be.push(e):Be.splice(gc(t),0,e),e.flags|=1,Ys()}}function Ys(){ko||(ko=Gs.then(Hs))}function hc(e){if(!z(e))Wt&&e.id===-1?Wt.splice(fn+1,0,e):e.flags&1||(dn.push(e),e.flags|=1);else for(let t=0;tFn(n)-Fn(o));if(dn.length=0,Wt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Hs(e){try{for(ft=0;ft{o._d&&Po(-1);const r=Oo(t),i=tn.length;let a;try{a=e(...s)}finally{for(let l=tn.length;l>i;l--)Ti();Oo(r),o._d&&Po(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function mc(e,t){if(Ve===null)return e;const n=xo(Ve),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&J(t)?t.call(o&&o.proxy):t}}function bc(){return!!(St()||Qt)}const yc=Symbol.for("v-scx"),vc=()=>He(yc);function wc(e,t){return yr(e,null,t)}function At(e,t,n){return yr(e,t,n)}function yr(e,t,n=he){const{immediate:o,deep:s,flush:r,once:i}=n,a=ke({},n),l=t&&o||!t&&r!=="post";let u;if(_n){if(r==="sync"){const v=vc();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=lt,v.resume=lt,v.pause=lt,v}}const d=Fe;a.call=(v,w,$)=>ot(v,d,w,$);let f=!1;r==="post"?a.scheduler=v=>{Ge(v,d&&d.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(v,w)=>{w?v():br(v)}),a.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,d&&(v.id=d.uid,v.i=d))};const h=lc(e,t,a);return _n&&(u?u.push(h):l&&h()),h}function $c(e,t,n){const o=this.proxy,s=ye(e)?e.includes(".")?zs(o,e):()=>o[e]:e.bind(o,o);let r;J(t)?r=t:(r=t.handler,n=t);const i=jn(this),a=yr(s,r.bind(o),n);return i(),a}function zs(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,vr=Symbol("_leaveCb");function Oc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==It){t=n;break}}return t}function Ks(e){if(!Eo(e))return No(e.type)&&e.children?Oc(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&&J(n.default))return n.default()}}function wr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;wr(No(n.type)&&Ks(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 Pn(e,t){return J(e)?ke({name:e.name},t,{setup:e}):e}function $r(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Xs(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Co=new WeakMap;function Mn(e,t,n,o,s=!1){if(z(e)){e.forEach(($,R)=>Mn($,t&&(z(t)?t[R]:t),n,o,s));return}if(Dn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Mn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?xo(o.component):o.el,i=s?null:r,{i:a,r:l}=e,u=t&&t.r,d=a.refs===he?a.refs={}:a.refs,f=a.setupState,h=ie(f),v=f===he?ls:$=>Xs(d,$)?!1:ue(h,$),w=($,R)=>!(R&&Xs(d,R));if(u!=null&&u!==l){if(Js(t),ye(u))d[u]=null,v(u)&&(f[u]=null);else if(we(u)){const $=t;w(u,$.k)&&(u.value=null),$.k&&(d[$.k]=null)}}if(J(l))pn(l,a,12,[i,d]);else{const $=ye(l),R=we(l);if($||R){const E=()=>{if(e.f){const I=$?v(l)?f[l]:d[l]:w()||!e.k?l.value:d[e.k];if(s)z(I)&&er(I,r);else if(z(I))I.includes(r)||I.push(r);else if($)d[l]=[r],v(l)&&(f[l]=d[l]);else{const b=[r];w(l,e.k)&&(l.value=b),e.k&&(d[e.k]=b)}}else $?(d[l]=i,v(l)&&(f[l]=i)):R&&(w(l,e.k)&&(l.value=i),e.k&&(d[e.k]=i))};if(i){const I=()=>{E(),Co.delete(e)};I.id=-1,Co.set(e,I),Ge(I,n)}else Js(e),E()}}}function Js(e){const t=Co.get(e);t&&(t.flags|=8,Co.delete(e))}const Zs=e=>e.nodeType===8;ao().requestIdleCallback,ao().cancelIdleCallback;function Nc(e,t){if(Zs(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Zs(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Dn=e=>!!e.type.__asyncLoader;function Cc(e){J(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,d,f=0;const h=()=>(f++,u=null,v()),v=()=>{let w;return u||(w=u=t().catch($=>{if($=$ instanceof Error?$:new Error(String($)),l)return new Promise((R,E)=>{l($,()=>R(h()),()=>E($),f+1)});throw $}).then($=>w!==u&&u?u:($&&($.__esModule||$[Symbol.toStringTag]==="Module")&&($=$.default),d=$,$)))};return Pn({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(w,$,R){const E=w.isConnected;let I=!1;($.bu||($.bu=[])).push(()=>I=!0);const b=()=>{I||!w.parentNode||E&&!w.isConnected||R()},_=r?()=>{const N=r(b,S=>Nc(w,S));N&&($.bum||($.bum=[])).push(N)}:b;d?_():v().then(()=>!$.isUnmounted&&_())},get __asyncResolved(){return d},setup(){const w=Fe;if($r(w),d)return()=>Ao(d,w);const $=N=>{u=null,Sn(N,w,13,!o)};if(a&&w.suspense||_n)return v().then(N=>()=>Ao(N,w)).catch(N=>($(N),()=>o?Te(o,{error:N}):null));const R=de(!1),E=de(),I=de(!!s);let b,_;return Lo(()=>{b!=null&&clearTimeout(b),_!=null&&clearTimeout(_)}),s&&(_=setTimeout(()=>{w.isUnmounted||(I.value=!1)},s)),i!=null&&(b=setTimeout(()=>{if(!w.isUnmounted&&!R.value&&!E.value){const N=new Error(`Async component timed out after ${i}ms.`);$(N),E.value=N}},i)),v().then(()=>{w.isUnmounted||(R.value=!0,w.parent&&Eo(w.parent.vnode)&&w.parent.update())}).catch(N=>{if(w.isUnmounted){u=null;return}$(N),E.value=N}),()=>{if(R.value&&d)return Ao(d,w);if(E.value&&o)return Te(o,{error:E.value});if(n&&!I.value)return Ao(n,w)}}})}function Ao(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,i=Te(e,o,s);return i.ref=n,i.ce=r,delete t.vnode.ce,i}const Eo=e=>e.type.__isKeepAlive;function Ac(e,t){Qs(e,"a",t)}function Ec(e,t){Qs(e,"da",t)}function Qs(e,t,n=Fe){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(To(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Eo(s.parent.vnode)&&Tc(o,t,n,s),s=s.parent}}function Tc(e,t,n,o){const s=To(t,e,o,!0);Lo(()=>{er(o[t],s)},n)}function To(e,t,n=Fe,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{ut();const a=jn(n),l=ot(t,n,e,i);return a(),pt(),l});return o?s.unshift(r):s.push(r),r}}const Et=e=>(t,n=Fe)=>{(!_n||e==="sp")&&To(e,(...o)=>t(...o),n)},ei=Et("bm"),gn=Et("m"),Ic=Et("bu"),Lc=Et("u"),Io=Et("bum"),Lo=Et("um"),Sc=Et("sp"),Fc=Et("rtg"),Pc=Et("rtc");function Mc(e,t=Fe){To("ec",e,t)}const Dc="components",ti=Symbol.for("v-ndc");function ni(e){return ye(e)?Rc(Dc,e,!1)||e:e||ti}function Rc(e,t,n=!0,o=!1){const s=Ve||Fe;if(s){const r=s.type;{const a=Di(r,!1);if(a&&(a===t||a===Ee(t)||a===io(Ee(t))))return r}const i=oi(s[e]||r[e],t)||oi(s.appContext[e],t);return!i&&o?r:i}}function oi(e,t){return e&&(e[t]||e[Ee(t)]||e[io(Ee(t))])}function Tt(e,t,n,o){let s;const r=n,i=z(e);if(i||ye(e)){const a=i&&Ot(e);let l=!1,u=!1;a&&(l=!je(e),u=Nt(e),e=po(e)),s=new Array(e.length);for(let d=0,f=e.length;dt(a,l,void 0,r));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;le?Fi(e)?xo(e):kr(e.parent):null,Rn=ke(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=>kr(e.parent),$root:e=>kr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ai(e),$forceUpdate:e=>e.f||(e.f=()=>{br(e.update)}),$nextTick:e=>e.n||(e.n=mr.bind(e.proxy)),$watch:e=>$c.bind(e)}),Or=(e,t)=>e!==he&&!e.__isScriptSetup&&ue(e,t),Bc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(Or(o,t))return i[t]=1,o[t];if(s!==he&&ue(s,t))return i[t]=2,s[t];if(ue(r,t))return i[t]=3,r[t];if(n!==he&&ue(n,t))return i[t]=4,n[t];Nr&&(i[t]=0)}}const u=Rn[t];let d,f;if(u)return t==="$attrs"&&De(e.attrs,"get",""),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==he&&ue(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ue(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return Or(s,t)?(s[t]=n,!0):o!==he&&ue(o,t)?(o[t]=n,!0):ue(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:i}},a){let l;return!!(n[a]||e!==he&&a[0]!=="$"&&ue(e,a)||Or(t,a)||ue(r,a)||ue(o,a)||ue(Rn,a)||ue(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ue(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ri(e){return z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Nr=!0;function xc(e){const t=ai(e),n=e.proxy,o=e.ctx;Nr=!1,t.beforeCreate&&si(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:u,created:d,beforeMount:f,mounted:h,beforeUpdate:v,updated:w,activated:$,deactivated:R,beforeDestroy:E,beforeUnmount:I,destroyed:b,unmounted:_,render:N,renderTracked:S,renderTriggered:C,errorCaptured:A,serverPrefetch:T,expose:q,inheritAttrs:oe,components:j,directives:re,filters:Le}=t;if(u&&Wc(u,o,null),i)for(const te in i){const ce=i[te];J(ce)&&(o[te]=ce.bind(n))}if(s){const te=s.call(n,n);pe(te)&&(e.data=_o(te))}if(Nr=!0,r)for(const te in r){const ce=r[te],ze=J(ce)?ce.bind(n,n):J(ce.get)?ce.get.bind(n,n):lt,vt=!J(ce)&&J(ce.set)?ce.set.bind(n):lt,Ae=ee({get:ze,set:vt});Object.defineProperty(o,te,{enumerable:!0,configurable:!0,get:()=>Ae.value,set:Se=>Ae.value=Se})}if(a)for(const te in a)ii(a[te],o,n,te);if(l){const te=J(l)?l.call(n):l;Reflect.ownKeys(te).forEach(ce=>{gt(ce,te[ce])})}d&&si(d,e,"c");function le(te,ce){z(ce)?ce.forEach(ze=>te(ze.bind(n))):ce&&te(ce.bind(n))}if(le(ei,f),le(gn,h),le(Ic,v),le(Lc,w),le(Ac,$),le(Ec,R),le(Mc,A),le(Pc,S),le(Fc,C),le(Io,I),le(Lo,_),le(Sc,T),z(q))if(q.length){const te=e.exposed||(e.exposed={});q.forEach(ce=>{Object.defineProperty(te,ce,{get:()=>n[ce],set:ze=>n[ce]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});N&&e.render===lt&&(e.render=N),oe!=null&&(e.inheritAttrs=oe),j&&(e.components=j),re&&(e.directives=re),T&&$r(e)}function Wc(e,t,n=lt){z(e)&&(e=Cr(e));for(const o in e){const s=e[o];let r;pe(s)?"default"in s?r=He(s.from||o,s.default,!0):r=He(s.from||o):r=He(s),we(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function si(e,t,n){ot(z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function ii(e,t,n,o){let s=o.includes(".")?zs(n,o):()=>n[o];if(ye(e)){const r=t[e];J(r)&&At(s,r)}else if(J(e))At(s,e.bind(n));else if(pe(e))if(z(e))e.forEach(r=>ii(r,t,n,o));else{const r=J(e.handler)?e.handler.bind(n):t[e.handler];J(r)&&At(s,r,e)}}function ai(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(u=>So(l,u,i,!0)),So(l,t,i)),pe(t)&&r.set(t,l),l}function So(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&So(e,r,n,!0),s&&s.forEach(i=>So(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=Uc[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Uc={data:li,props:ci,emits:ci,methods:Bn,computed:Bn,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:Bn,directives:Bn,watch:Yc,provide:li,inject:Gc};function li(e,t){return t?e?function(){return ke(J(e)?e.call(this,this):e,J(t)?t.call(this,this):t)}:t:e}function Gc(e,t){return Bn(Cr(e),Cr(t))}function Cr(e){if(z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ee(t)}Modifiers`]||e[`${Je(t)}Modifiers`];function qc(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||he;let s=n;const r=t.startsWith("update:"),i=r&&Hc(o,t.slice(7));i&&(i.trim&&(s=n.map(d=>ye(d)?d.trim():d)),i.number&&(s=s.map(Al)));let a,l=o[a=tr(t)]||o[a=tr(Ee(t))];!l&&r&&(l=o[a=tr(Je(t))]),l&&ot(l,e,6,s);const u=o[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ot(u,e,6,s)}}const zc=new WeakMap;function pi(e,t,n=!1){const o=n?zc:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!J(e)){const l=u=>{const d=pi(u,t,!0);d&&(a=!0,ke(i,d))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(pe(e)&&o.set(e,null),null):(z(r)?r.forEach(l=>i[l]=null):ke(i,r),pe(e)&&o.set(e,i),i)}function Fo(e,t){return!e||!eo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ue(e,t[0].toLowerCase()+t.slice(1))||ue(e,Je(t))||ue(e,t))}function T_(){}function di(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:i,attrs:a,emit:l,render:u,renderCache:d,props:f,data:h,setupState:v,ctx:w,inheritAttrs:$}=e,R=Oo(e);let E,I;try{if(n.shapeFlag&4){const _=s||o,N=_;E=ht(u.call(N,_,d,f,v,h,w)),I=a}else{const _=t;E=ht(_.length>1?_(f,{attrs:a,slots:i,emit:l}):_(f,null)),I=t.props?a:Kc(a)}}catch(_){tn.length=0,Sn(_,e,1),E=Te(It)}let b=E;if(I&&$!==!1){const _=Object.keys(I),{shapeFlag:N}=b;_.length&&N&7&&(r&&_.some(to)&&(I=Xc(I,r)),b=hn(b,I,!1,!0))}if(n.dirs&&(b=hn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition){const _=No(b.type)&&Ks(b)||b;wr(_,n.transition)}return E=b,Oo(R),E}const Kc=e=>{let t;for(const n in e)(n==="class"||n==="style"||eo(n))&&((t||(t={}))[n]=e[n]);return t},Xc=(e,t)=>{const n={};for(const o in e)(!to(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Jc(e,t,n){const{props:o,children:s,component:r}=e,{props:i,children:a,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?fi(o,i,u):!!i;if(l&8){const d=t.dynamicProps;for(let f=0;fObject.create(hi),mi=e=>Object.getPrototypeOf(e)===hi;function Qc(e,t,n,o=!1){const s={},r=_i();e.propsDefaults=Object.create(null),bi(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:Ql(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:i}}=e,a=ie(s),[l]=e.propsOptions;let u=!1;if((o||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[h,v]=yi(f,t,!0);ke(i,h),v&&a.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!r&&!l)return pe(e)&&o.set(e,an),an;if(z(r))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Tr=e=>z(e)?e.map(ht):[ht(e)],nu=(e,t,n)=>{if(t._n)return t;const o=_c((...s)=>Tr(t(...s)),n);return o._c=!1,o},wi=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Er(s))continue;const r=e[s];if(J(r))t[s]=nu(s,r,o);else if(r!=null){const i=Tr(r);t[s]=()=>i}}},$i=(e,t)=>{const n=Tr(t);e.slots.default=()=>n},ki=(e,t,n)=>{for(const o in t)(n||!Er(o))&&(e[o]=t[o])},ou=(e,t,n)=>{const o=e.slots=_i();if(e.vnode.shapeFlag&32){const s=t._;s?(ki(o,t,n),n&&ds(o,"_",s,!0)):wi(t,o)}else t&&$i(e,t)},ru=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=he;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:ki(s,t,n):(r=!t.$stable,wi(t,s)),i=t}else t&&($i(e,t),i={default:1});if(r)for(const a in s)!Er(a)&&i[a]==null&&delete s[a]},Ge=cu;function su(e){return iu(e)}function iu(e,t){const n=ao();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:u,setElementText:d,parentNode:f,nextSibling:h,setScopeId:v=lt,insertStaticContent:w}=e,$=(g,y,m,L=null,D=null,M=null,U=void 0,W=null,c=!!y.dynamicChildren)=>{if(g===y)return;g&&!Gn(g,y)&&(L=Rt(g),Se(g,D,M,!0),g=null),y.patchFlag===-2&&(c=!1,y.dynamicChildren=null);const{type:p,ref:O,shapeFlag:F}=y;switch(p){case xn:R(g,y,m,L);break;case It:E(g,y,m,L);break;case Lr:g==null&&I(y,m,L,U);break;case fe:j(g,y,m,L,D,M,U,W,c);break;default:F&1?N(g,y,m,L,D,M,U,W,c):F&6?re(g,y,m,L,D,M,U,W,c):(F&64||F&128)&&p.process(g,y,m,L,D,M,U,W,c,Qe)}O!=null&&D?Mn(O,g&&g.ref,M,y||g,!y):O==null&&g&&g.ref!=null&&Mn(g.ref,null,M,g,!0)},R=(g,y,m,L)=>{if(g==null)o(y.el=a(y.children),m,L);else{const D=y.el=g.el;y.children!==g.children&&u(D,y.children)}},E=(g,y,m,L)=>{g==null?o(y.el=l(y.children||""),m,L):y.el=g.el},I=(g,y,m,L)=>{[g.el,g.anchor]=w(g.children,y,m,L,g.el,g.anchor)},b=({el:g,anchor:y},m,L)=>{let D;for(;g&&g!==y;)D=h(g),o(g,m,L),g=D;o(y,m,L)},_=({el:g,anchor:y})=>{let m;for(;g&&g!==y;)m=h(g),s(g),g=m;s(y)},N=(g,y,m,L,D,M,U,W,c)=>{if(y.type==="svg"?U="svg":y.type==="math"&&(U="mathml"),g==null)S(y,m,L,D,M,U,W,c);else{const p=g.el&&g.el._isVueCE?g.el:null;try{p&&p._beginPatch(),T(g,y,D,M,U,W,c)}finally{p&&p._endPatch()}}},S=(g,y,m,L,D,M,U,W)=>{let c,p;const{props:O,shapeFlag:F,transition:G,dirs:B}=g;if(c=g.el=i(g.type,M,O&&O.is,O),F&8?d(c,g.children):F&16&&A(g.children,c,null,L,D,Ir(g,M),U,W),B&&Zt(g,null,L,"created"),C(c,g,g.scopeId,U,L),O){for(const P in O)P!=="value"&&!Nn(P)&&r(c,P,null,O[P],M,L);"value"in O&&r(c,"value",null,O.value,M),(p=O.onVnodeBeforeMount)&&_t(p,L,g)}B&&Zt(g,null,L,"beforeMount");const k=au(D,G);k&&G.beforeEnter(c),o(c,y,m),((p=O&&O.onVnodeMounted)||k||B)&&Ge(()=>{try{p&&_t(p,L,g),k&&G.enter(c),B&&Zt(g,null,L,"mounted")}finally{}},D)},C=(g,y,m,L,D)=>{if(m&&v(g,m),L)for(let M=0;M{for(let p=c;p{const W=y.el=g.el;let{patchFlag:c,dynamicChildren:p,dirs:O}=y;c|=g.patchFlag&16;const F=g.props||he,G=y.props||he;let B;if(m&&en(m,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,m,y,g),O&&Zt(y,g,m,"beforeUpdate"),m&&en(m,!0),p&&(!g.dynamicChildren||g.dynamicChildren.length!==p.length)&&(c=0,U=!1,p=null),(F.innerHTML&&G.innerHTML==null||F.textContent&&G.textContent==null)&&d(W,""),p?q(g.dynamicChildren,p,W,m,L,Ir(y,D),M):U||ce(g,y,W,null,m,L,Ir(y,D),M,!1),c>0){if(c&16)oe(W,F,G,m,D);else if(c&2&&F.class!==G.class&&r(W,"class",null,G.class,D),c&4&&r(W,"style",F.style,G.style,D),c&8){const k=y.dynamicProps;for(let P=0;P{B&&_t(B,m,y,g),O&&Zt(y,g,m,"updated")},L)},q=(g,y,m,L,D,M,U)=>{for(let W=0;W{if(y!==m){if(y!==he)for(const M in y)!Nn(M)&&!(M in m)&&r(g,M,y[M],null,D,L);for(const M in m){if(Nn(M))continue;const U=m[M],W=y[M];U!==W&&M!=="value"&&r(g,M,W,U,D,L)}"value"in m&&r(g,"value",y.value,m.value,D)}},j=(g,y,m,L,D,M,U,W,c)=>{const p=y.el=g?g.el:a(""),O=y.anchor=g?g.anchor:a("");let{patchFlag:F,dynamicChildren:G,slotScopeIds:B}=y;B&&(W=W?W.concat(B):B),g==null?(o(p,m,L),o(O,m,L),A(y.children||[],m,O,D,M,U,W,c)):F>0&&F&64&&G&&g.dynamicChildren&&g.dynamicChildren.length===G.length?(q(g.dynamicChildren,G,m,D,M,U,W),(y.key!=null||D&&y===D.subTree)&&Oi(g,y,!0)):ce(g,y,m,O,D,M,U,W,c)},re=(g,y,m,L,D,M,U,W,c)=>{y.slotScopeIds=W,g==null?y.shapeFlag&512?D.ctx.activate(y,m,L,U,c):Le(y,m,L,D,M,U,c):yt(g,y,c)},Le=(g,y,m,L,D,M,U)=>{const W=g.component=hu(g,L,D);if(Eo(g)&&(W.ctx.renderer=Qe),_u(W,!1,U),W.asyncDep){if(D&&D.registerDep(W,le,U),!g.el){const c=W.subTree=Te(It);E(null,c,y,m),g.placeholder=c.el}}else le(W,g,y,m,D,M,U)},yt=(g,y,m)=>{const L=y.component=g.component;if(Jc(g,y,m))if(L.asyncDep&&!L.asyncResolved){te(L,y,m);return}else L.next=y,L.update();else y.el=g.el,L.vnode=y},le=(g,y,m,L,D,M,U)=>{const W=()=>{if(g.isMounted){let{next:F,bu:G,u:B,parent:k,vnode:P}=g;{const Me=Ni(g);if(Me){F&&(F.el=P.el,te(g,F,U)),Me.asyncDep.then(()=>{Ge(()=>{g.isUnmounted||p()},D)});return}}let V=F,ne;en(g,!1),F?(F.el=P.el,te(g,F,U)):F=P,G&&nr(G),(ne=F.props&&F.props.onVnodeBeforeUpdate)&&_t(ne,k,F,P),en(g,!0);const be=di(g),Ue=g.subTree;g.subTree=be,$(Ue,be,f(Ue.el),Rt(Ue),g,D,M),F.el=be.el,V===null&&Zc(g,be.el),B&&Ge(B,D),(ne=F.props&&F.props.onVnodeUpdated)&&Ge(()=>_t(ne,k,F,P),D)}else{let F;const{el:G,props:B}=y,{bm:k,m:P,parent:V,root:ne,type:be}=g,Ue=Dn(y);en(g,!1),k&&nr(k),!Ue&&(F=B&&B.onVnodeBeforeMount)&&_t(F,V,y),en(g,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(be,g.parent?g.parent.type:void 0);const Me=g.subTree=di(g);$(null,Me,m,L,g,D,M),y.el=Me.el}if(P&&Ge(P,D),!Ue&&(F=B&&B.onVnodeMounted)){const Me=y;Ge(()=>_t(F,V,Me),D)}(y.shapeFlag&256||V&&Dn(V.vnode)&&V.vnode.shapeFlag&256)&&g.a&&Ge(g.a,D),g.isMounted=!0,y=m=L=null}};g.scope.on();const c=g.effect=new ws(W);g.scope.off();const p=g.update=c.run.bind(c),O=g.job=c.runIfDirty.bind(c);O.i=g,O.id=g.uid,c.scheduler=()=>br(O),en(g,!0),p()},te=(g,y,m)=>{y.component=g;const L=g.vnode.props;g.vnode=y,g.next=null,eu(g,y.props,L,m),ru(g,y.children,m),ut(),js(g),pt()},ce=(g,y,m,L,D,M,U,W,c=!1)=>{const p=g&&g.children,O=g?g.shapeFlag:0,F=y.children,{patchFlag:G,shapeFlag:B}=y;if(G>0){if(G&128){vt(p,F,m,L,D,M,U,W,c);return}else if(G&256){ze(p,F,m,L,D,M,U,W,c);return}}B&8?(O&16&&at(p,D,M),F!==p&&d(m,F)):O&16?B&16?vt(p,F,m,L,D,M,U,W,c):at(p,D,M,!0):(O&8&&d(m,""),B&16&&A(F,m,L,D,M,U,W,c))},ze=(g,y,m,L,D,M,U,W,c)=>{g=g||an,y=y||an;const p=g.length,O=y.length,F=Math.min(p,O);let G;for(G=0;GO?at(g,D,M,!0,!1,F):A(y,m,L,D,M,U,W,c,F)},vt=(g,y,m,L,D,M,U,W,c)=>{let p=0;const O=y.length;let F=g.length-1,G=O-1;for(;p<=F&&p<=G;){const B=g[p],k=y[p]=c?Lt(y[p]):ht(y[p]);if(Gn(B,k))$(B,k,m,null,D,M,U,W,c);else break;p++}for(;p<=F&&p<=G;){const B=g[F],k=y[G]=c?Lt(y[G]):ht(y[G]);if(Gn(B,k))$(B,k,m,null,D,M,U,W,c);else break;F--,G--}if(p>F){if(p<=G){const B=G+1,k=BG)for(;p<=F;)Se(g[p],D,M,!0),p++;else{const B=p,k=p,P=new Map;for(p=k;p<=G;p++){const Ke=y[p]=c?Lt(y[p]):ht(y[p]);Ke.key!=null&&P.set(Ke.key,p)}let V,ne=0;const be=G-k+1;let Ue=!1,Me=0;const sn=new Array(be);for(p=0;p=be){Se(Ke,D,M,!0);continue}let wt;if(Ke.key!=null)wt=P.get(Ke.key);else for(V=k;V<=G;V++)if(sn[V-k]===0&&Gn(Ke,y[V])){wt=V;break}wt===void 0?Se(Ke,D,M,!0):(sn[wt-k]=p+1,wt>=Me?Me=wt:Ue=!0,$(Ke,y[wt],m,null,D,M,U,W,c),ne++)}const as=Ue?lu(sn):an;for(V=as.length-1,p=be-1;p>=0;p--){const Ke=k+p,wt=y[Ke],wl=y[Ke+1],$l=Ke+1{const{el:M,type:U,transition:W,children:c,shapeFlag:p}=g;if(p&6){Ae(g.component.subTree,y,m,L);return}if(p&128){g.suspense.move(y,m,L);return}if(p&64){U.move(g,y,m,Qe);return}if(U===fe){o(M,y,m);for(let F=0;FW.enter(M),D));else{const{leave:F,delayLeave:G,afterLeave:B}=W,k=()=>{g.ctx.isUnmounted?s(M):o(M,y,m)},P=()=>{const V=M._isLeaving||!!M[vr];M._isLeaving&&M[vr](!0),W.persisted&&!V?k():F(M,()=>{k(),B&&B()})};G?G(M,k,P):P()}else o(M,y,m)},Se=(g,y,m,L=!1,D=!1)=>{const{type:M,props:U,ref:W,children:c,dynamicChildren:p,shapeFlag:O,patchFlag:F,dirs:G,cacheIndex:B,memo:k}=g;if(F===-2&&(D=!1),W!=null&&(ut(),Mn(W,null,m,g,!0),pt()),B!=null&&(y.renderCache[B]=void 0),O&256){y.ctx.deactivate(g);return}const P=O&1&&G,V=!Dn(g);let ne;if(V&&(ne=U&&U.onVnodeBeforeUnmount)&&_t(ne,y,g),O&6)rn(g.component,m,L);else{if(O&128){g.suspense.unmount(m,L);return}P&&Zt(g,null,y,"beforeUnmount"),O&64?g.type.remove(g,y,m,Qe,L):p&&!p.hasOnce&&(M!==fe||F>0&&F&64)?at(p,y,m,!1,!0):(M===fe&&F&384||!D&&O&16)&&at(c,y,m),L&&qt(g)}const be=k!=null&&B==null;(V&&(ne=U&&U.onVnodeUnmounted)||P||be)&&Ge(()=>{ne&&_t(ne,y,g),P&&Zt(g,null,y,"unmounted"),be&&(g.el=null)},m)},qt=g=>{const{type:y,el:m,anchor:L,transition:D}=g;if(y===fe){zt(m,L);return}if(y===Lr){_(g);return}const M=()=>{s(m),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(g.shapeFlag&1&&D&&!D.persisted){const{leave:U,delayLeave:W}=D,c=()=>U(m,M);W?W(g.el,M,c):c()}else M()},zt=(g,y)=>{let m;for(;g!==y;)m=h(g),s(g),g=m;s(y)},rn=(g,y,m)=>{const{bum:L,scope:D,job:M,subTree:U,um:W,m:c,a:p}=g;Ci(c),Ci(p),L&&nr(L),D.stop(),M&&(M.flags|=8,Se(U,g,y,m)),W&&Ge(W,y),Ge(()=>{g.isUnmounted=!0},y)},at=(g,y,m,L=!1,D=!1,M=0)=>{for(let U=M;U{if(g.shapeFlag&6)return Rt(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const y=h(g.anchor||g.el),m=y&&y[kc];return m?h(m):y};let Bt=!1;const Kt=(g,y,m)=>{let L;g==null?y._vnode&&(Se(y._vnode,null,null,!0),L=y._vnode.component):$(y._vnode||null,g,y,null,null,null,m),y._vnode=g,Bt||(Bt=!0,js(L),Vs(),Bt=!1)},Qe={p:$,um:Se,m:Ae,r:qt,mt:Le,mc:A,pc:ce,pbc:q,n:Rt,o:e};return{render:Kt,hydrate:void 0,createApp:Vc(Kt)}}function Ir({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 en({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function au(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Oi(e,t,n=!1){const o=e.children,s=t.children;if(z(o)&&z(s))for(let r=0;r>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function Ni(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ni(t)}function Ci(e){if(e)for(let t=0;te.__isSuspense;function cu(e,t){t&&t.pendingBranch?z(e)?t.effects.push(...e):t.effects.push(e):hc(e)}const fe=Symbol.for("v-fgt"),xn=Symbol.for("v-txt"),It=Symbol.for("v-cmt"),Lr=Symbol.for("v-stc"),tn=[];let qe=null;function H(e=!1){tn.push(qe=e?null:[])}function Ti(){tn.pop(),qe=tn[tn.length-1]||null}let Wn=1;function Po(e,t=!1){Wn+=e,e<0&&qe&&t&&(qe.hasOnce=!0)}function Ii(e){return e.dynamicChildren=Wn>0?qe||an:null,Ti(),Wn>0&&qe&&qe.push(e),e}function Z(e,t,n,o,s,r){return Ii(x(e,t,n,o,s,r,!0))}function Un(e,t,n,o,s){return Ii(Te(e,t,n,o,s,!0))}function Mo(e){return e?e.__v_isVNode===!0:!1}function Gn(e,t){return e.type===t.type&&e.key===t.key}const Li=({key:e})=>e??null,Do=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ye(e)||we(e)||J(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function x(e,t=null,n=null,o=0,s=null,r=e===fe?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Li(t),ref:t&&Do(t),scopeId:qs,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:Ve};return a?(Ro(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=ye(n)?8:16),Wn>0&&!i&&qe&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&qe.push(l),l}const Te=uu;function uu(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===ti)&&(e=It),Mo(e)){const a=hn(e,t,!0);return n&&Ro(a,n),Wn>0&&!r&&qe&&(a.shapeFlag&6?qe[qe.indexOf(e)]=a:qe.push(a)),a.patchFlag=-2,a}if($u(e)&&(e=e.__vccOpts),t){t=pu(t);let{class:a,style:l}=t;a&&!ye(a)&&(t.class=et(a)),pe(l)&&(bo(l)&&!z(l)&&(l=ke({},l)),t.style=lo(l))}const i=ye(e)?1:Ei(e)?128:No(e)?64:pe(e)?4:J(e)?2:0;return x(e,t,n,o,s,i,r,!0)}function pu(e){return e?bo(e)||mi(e)?ke({},e):e:null}function hn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,u=t?du(s||{},t):s,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Li(u),ref:t&&t.ref?n&&r?z(r)?r.concat(Do(t)):[r,Do(t)]:Do(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==fe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&hn(e.ssContent),ssFallback:e.ssFallback&&hn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&wr(d,l.clone(d)),d}function $e(e=" ",t=0){return Te(xn,null,e,t)}function Re(e="",t=!1){return t?(H(),Un(It,null,e)):Te(It,null,e)}function ht(e){return e==null||typeof e=="boolean"?Te(It):z(e)?Te(fe,null,e.slice()):Mo(e)?Lt(e):Te(xn,null,String(e))}function Lt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:hn(e)}function Ro(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(z(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Ro(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!mi(t)?t._ctx=Ve:s===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(J(t)){if(o&65){Ro(e,{default:t});return}t={default:t,_ctx:Ve},n=32}else t=String(t),o&64?(n=16,t=[$e(t)]):n=8;e.children=t,e.shapeFlag|=n}function du(...e){const t={};for(let n=0;nFe||Ve;let Bo,Yn;{const e=ao(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(i=>i(r)):s[0](r)}};Bo=t("__VUE_INSTANCE_SETTERS__",n=>Fe=n),Yn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const jn=e=>{const t=Fe;return Bo(e),e.scope.on(),()=>{e.scope.off(),Bo(t)}},Si=()=>{Fe&&Fe.scope.off(),Bo(null)};function Fi(e){return e.vnode.shapeFlag&4}let _n=!1;function _u(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:s}=e.vnode,r=Fi(e);Qc(e,o,r,t),ou(e,s,n||t);const i=r?mu(e,t):void 0;return t&&Yn(!1),i}function mu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Bc);const{setup:o}=n;if(o){ut();const s=e.setupContext=o.length>1?yu(e):null,r=jn(e),i=pn(o,e,0,[e.props,s]),a=us(i);if(pt(),r(),(a||e.sp)&&!Dn(e)&&$r(e),a){if(i.then(Si,Si),t)return i.then(l=>{Yn(!0);try{Pi(e,l,t)}finally{Yn(!1)}}).catch(l=>{Sn(l,e,0)});e.asyncDep=i}else Pi(e,i)}else Mi(e)}function Pi(e,t,n){J(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:pe(t)&&(e.setupState=Ws(t)),Mi(e)}function Mi(e,t,n){const o=e.type;e.render||(e.render=o.render||lt);{const s=jn(e);ut();try{xc(e)}finally{pt(),s()}}}const bu={get(e,t){return De(e,"get",""),e[t]}};function yu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,bu),slots:e.slots,emit:e.emit,expose:t}}function xo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ws(cn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rn)return Rn[n](e)},has(t,n){return n in t||n in Rn}})):e.proxy}const vu=/(?:^|[-_])\w/g,wu=e=>e.replace(vu,t=>t.toUpperCase()).replace(/[-_]/g,"");function Di(e,t=!0){return J(e)?e.displayName||e.name:e.name||t&&e.__name}function Ri(e,t,n=!1){let o=Di(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=r=>{for(const i in r)if(r[i]===t)return i};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?wu(o):n?"App":"Anonymous"}function $u(e){return J(e)&&"__vccOpts"in e}const ee=(e,t)=>ic(e,t,_n);function Bi(e,t,n){try{Po(-1);const o=arguments.length;return o===2?pe(t)&&!z(t)?Mo(t)?Te(e,null,[t]):Te(e,t):Te(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Mo(n)&&(n=[n]),Te(e,t,n))}finally{Po(1)}}const ku="3.5.42";/** +`,...mc(s)),console.warn(...r)}ft(),vr=!1}function gc(){let e=Bn[Bn.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?[]:[` +`],..._c(n))}),t}function _c({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,s=` at <${Gi(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(...Hs(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Hs(e,t,n){return we(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ne(t)?(t=Hs(e,ue(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ue(t),n?t:[`${e}=`,t])}function _n(e,t,n,o){try{return o?e(...o):e()}catch(s){Rn(s,t,n)}}function st(e,t,n,o){if(te(e)){const s=_n(e,t,n,o);return s&&gs(s)&&s.catch(r=>{Rn(r,t,n)}),s}if(Q(e)){const s=[];for(let r=0;r>>1,s=je[o],r=Wn(s);r=Wn(n)?je.push(e):je.splice(vc(t),0,e),e.flags|=1,zs()}}function zs(){Eo||(Eo=qs.then(Js))}function wc(e){if(!Q(e))Gt&&e.id===-1?Gt.splice(yn+1,0,e):e.flags&1||(bn.push(e),e.flags|=1);else for(let t=0;tWn(n)-Wn(o));if(bn.length=0,Gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Js(e){try{for(mt=0;mt{o._d&&Bo(-1);const r=To(t),i=Ft.length;let a;try{a=e(...s)}finally{for(let l=Ft.length;l>i;l--)Mr();To(r),o._d&&Bo(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function kc(e,t){if(De===null)return e;const n=jo(De),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&te(t)?t.call(o&&o.proxy):t}}function $c(){return!!(Pt()||an)}const Oc=Symbol.for("v-scx"),Nc=()=>He(Oc);function Cc(e,t){return $r(e,null,t)}function St(e,t,n){return $r(e,t,n)}function $r(e,t,n=me){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ce({},n),l=t&&o||!t&&r!=="post";let c;if($n){if(r==="sync"){const y=Nc();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=ut,y.resume=ut,y.pause=ut,y}}const u=Be;a.call=(y,w,k)=>st(y,u,w,k);let f=!1;r==="post"?a.scheduler=y=>{qe(y,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(y,w)=>{w?y():kr(y)}),a.augmentJob=y=>{t&&(y.flags|=4),f&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const h=hc(e,t,a);return $n&&(c?c.push(h):l&&h()),h}function Ac(e,t,n){const o=this.proxy,s=we(e)?e.includes(".")?Qs(o,e):()=>o[e]:e.bind(o,o);let r;te(t)?r=t:(r=t.handler,n=t);const i=Xn(this),a=$r(s,r.bind(o),n);return i(),a}function Qs(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,Or=Symbol("_leaveCb");function Tc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==yt){t=n;break}}return t}function ei(e){if(!Fo(e))return Lo(e.type)&&e.children?Tc(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&&te(n.default))return n.default()}}function Nr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Nr(Lo(n.type)&&ei(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 Un(e,t){return te(e)?Ce({name:e.name},t,{setup:e}):e}function Cr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ti(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const So=new WeakMap;function jn(e,t,n,o,s=!1){if(Q(e)){e.forEach((k,M)=>jn(k,t&&(Q(t)?t[M]:t),n,o,s));return}if(vn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&jn(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?jo(o.component):o.el,i=s?null:r,{i:a,r:l}=e,c=t&&t.r,u=a.refs===me?a.refs={}:a.refs,f=a.setupState,h=ue(f),y=f===me?fs:k=>ti(u,k)?!1:fe(h,k),w=(k,M)=>!(M&&ti(u,M));if(c!=null&&c!==l){if(ni(t),we(c))u[c]=null,y(c)&&(f[c]=null);else if(Ne(c)){const k=t;w(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(te(l))_n(l,a,12,[i,u]);else{const k=we(l),M=Ne(l);if(k||M){const T=()=>{if(e.f){const S=k?y(l)?f[l]:u[l]:w()||!e.k?l.value:u[e.k];if(s)Q(S)&&rr(S,r);else if(Q(S))S.includes(r)||S.push(r);else if(k)u[l]=[r],y(l)&&(f[l]=u[l]);else{const b=[r];w(l,e.k)&&(l.value=b),e.k&&(u[e.k]=b)}}else k?(u[l]=i,y(l)&&(f[l]=i)):M&&(w(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const S=()=>{T(),So.delete(e)};S.id=-1,So.set(e,S),qe(S,n)}else ni(e),T()}}}function ni(e){const t=So.get(e);t&&(t.flags|=8,So.delete(e))}const oi=e=>e.nodeType===8;ho().requestIdleCallback,ho().cancelIdleCallback;function Lc(e,t){if(oi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(oi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const vn=e=>!!e.type.__asyncLoader;function Sc(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:i,suspensible:a=!0,onError:l}=e;let c=null,u,f=0;const h=()=>(f++,c=null,y()),y=()=>{let w;return c||(w=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((M,T)=>{l(k,()=>M(h()),()=>T(k),f+1)});throw k}).then(k=>w!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Un({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(w,k,M){const T=w.isConnected;let S=!1;(k.bu||(k.bu=[])).push(()=>S=!0);const b=()=>{S||!w.parentNode||T&&!w.isConnected||M()},m=r?()=>{const $=r(b,O=>Lc(w,O));$&&(k.bum||(k.bum=[])).push($)}:b;u?m():y().then(()=>!k.isUnmounted&&m())},get __asyncResolved(){return u},setup(){const w=Be;if(Cr(w),u)return()=>Io(u,w);const k=$=>{c=null,Rn($,w,13,!o)};if(a&&w.suspense||$n)return y().then($=>()=>Io($,w)).catch($=>(k($),()=>o?ke(o,{error:$}):null));const M=ce(!1),T=ce(),S=ce(!!s);let b,m;return Po(()=>{b!=null&&clearTimeout(b),m!=null&&clearTimeout(m)}),s&&(m=setTimeout(()=>{w.isUnmounted||(S.value=!1)},s)),i!=null&&(b=setTimeout(()=>{if(!w.isUnmounted&&!M.value&&!T.value){const $=new Error(`Async component timed out after ${i}ms.`);k($),T.value=$}},i)),y().then(()=>{w.isUnmounted||(M.value=!0,w.parent&&Fo(w.parent.vnode)&&w.parent.update())}).catch($=>{if(w.isUnmounted){c=null;return}k($),T.value=$}),()=>{if(M.value&&u)return Io(u,w);if(T.value&&o)return ke(o,{error:T.value});if(n&&!S.value)return Io(n,w)}}})}function Io(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,i=ke(e,o,s);return i.ref=n,i.ce=r,delete t.vnode.ce,i}const Fo=e=>e.type.__isKeepAlive;function Ic(e,t){ri(e,"a",t)}function Fc(e,t){ri(e,"da",t)}function ri(e,t,n=Be){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(xo(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Fo(s.parent.vnode)&&xc(o,t,n,s),s=s.parent}}function xc(e,t,n,o){const s=xo(t,e,o,!0);Po(()=>{rr(o[t],s)},n)}function xo(e,t,n=Be,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{dt();const a=Xn(n),l=st(t,n,e,i);return a(),ft(),l});return o?s.unshift(r):s.push(r),r}}const It=e=>(t,n=Be)=>{(!$n||e==="sp")&&xo(e,(...o)=>t(...o),n)},si=It("bm"),Yt=It("m"),Pc=It("bu"),Mc=It("u"),wn=It("bum"),Po=It("um"),Dc=It("sp"),Bc=It("rtg"),Rc=It("rtc");function Wc(e,t=Be){xo("ec",e,t)}const Uc="components",ii=Symbol.for("v-ndc");function ai(e){return we(e)?jc(Uc,e,!1)||e:e||ii}function jc(e,t,n=!0,o=!1){const s=De||Be;if(s){const r=s.type;{const a=ji(r,!1);if(a&&(a===t||a===xe(t)||a===fo(xe(t))))return r}const i=li(s[e]||r[e],t)||li(s.appContext[e],t);return!i&&o?r:i}}function li(e,t){return e&&(e[t]||e[xe(t)]||e[fo(xe(t))])}function bt(e,t,n,o){let s;const r=n,i=Q(e);if(i||we(e)){const a=i&&Et(e);let l=!1,c=!1;a&&(l=!Xe(e),c=Tt(e),e=bo(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,r));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l0;return V(),et(pe,null,[ke("slot",c,o)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Ft.length;V();let l;try{const c=i&&ui(i(n)),u=n.key||r||c&&c.key;l=et(pe,{key:(u&&!Ke(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ft.length;u>a;u--)Mr();throw c}finally{i&&i._c&&(i._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function ui(e){return e.some(t=>qn(t)?!(t.type===yt||t.type===pe&&!ui(t.children)):!0)?e:null}const Ar=e=>e?Ri(e)?jo(e):Ar(e.parent):null,Gn=Ce(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=>Ar(e.parent),$root:e=>Ar(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>hi(e),$forceUpdate:e=>e.f||(e.f=()=>{kr(e.update)}),$nextTick:e=>e.n||(e.n=wr.bind(e.proxy)),$watch:e=>Ac.bind(e)}),Er=(e,t)=>e!==me&&!e.__isScriptSetup&&fe(e,t),Gc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(Er(o,t))return i[t]=1,o[t];if(s!==me&&fe(s,t))return i[t]=2,s[t];if(fe(r,t))return i[t]=3,r[t];if(n!==me&&fe(n,t))return i[t]=4,n[t];Tr&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==me&&fe(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,fe(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return Er(s,t)?(s[t]=n,!0):o!==me&&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:i}},a){let l;return!!(n[a]||e!==me&&a[0]!=="$"&&fe(e,a)||Er(t,a)||fe(r,a)||fe(o,a)||fe(Gn,a)||fe(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},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 pi(e){return Q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Tr=!0;function Yc(e){const t=hi(e),n=e.proxy,o=e.ctx;Tr=!1,t.beforeCreate&&di(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:h,beforeUpdate:y,updated:w,activated:k,deactivated:M,beforeDestroy:T,beforeUnmount:S,destroyed:b,unmounted:m,render:$,renderTracked:O,renderTriggered:N,errorCaptured:C,serverPrefetch:L,expose:X,inheritAttrs:re,components:q,directives:ie,filters:_e}=t;if(c&&Vc(c,o,null),i)for(const H in i){const ae=i[H];te(ae)&&(o[H]=ae.bind(n))}if(s){const H=s.call(n,n);he(H)&&(e.data=ko(H))}if(Tr=!0,r)for(const H in r){const ae=r[H],Ee=te(ae)?ae.bind(n,n):te(ae.get)?ae.get.bind(n,n):ut,Ot=!te(ae)&&te(ae.set)?ae.set.bind(n):ut,Fe=oe({get:Ee,set:Ot});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:Me=>Fe.value=Me})}if(a)for(const H in a)fi(a[H],o,n,H);if(l){const H=te(l)?l.call(n):l;Reflect.ownKeys(H).forEach(ae=>{_t(ae,H[ae])})}u&&di(u,e,"c");function W(H,ae){Q(ae)?ae.forEach(Ee=>H(Ee.bind(n))):ae&&H(ae.bind(n))}if(W(si,f),W(Yt,h),W(Pc,y),W(Mc,w),W(Ic,k),W(Fc,M),W(Wc,C),W(Rc,O),W(Bc,N),W(wn,S),W(Po,m),W(Dc,L),Q(X))if(X.length){const H=e.exposed||(e.exposed={});X.forEach(ae=>{Object.defineProperty(H,ae,{get:()=>n[ae],set:Ee=>n[ae]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});$&&e.render===ut&&(e.render=$),re!=null&&(e.inheritAttrs=re),q&&(e.components=q),ie&&(e.directives=ie),L&&Cr(e)}function Vc(e,t,n=ut){Q(e)&&(e=Lr(e));for(const o in e){const s=e[o];let r;he(s)?"default"in s?r=He(s.from||o,s.default,!0):r=He(s.from||o):r=He(s),Ne(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function di(e,t,n){st(Q(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function fi(e,t,n,o){let s=o.includes(".")?Qs(n,o):()=>n[o];if(we(e)){const r=t[e];te(r)&&St(s,r)}else if(te(e))St(s,e.bind(n));else if(he(e))if(Q(e))e.forEach(r=>fi(r,t,n,o));else{const r=te(e.handler)?e.handler.bind(n):t[e.handler];te(r)&&St(s,r,e)}}function hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>Mo(l,c,i,!0)),Mo(l,t,i)),he(t)&&r.set(t,l),l}function Mo(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&Mo(e,r,n,!0),s&&s.forEach(i=>Mo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=Hc[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Hc={data:gi,props:mi,emits:mi,methods:Yn,computed:Yn,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Yn,directives:Yn,watch:zc,provide:gi,inject:qc};function gi(e,t){return t?e?function(){return Ce(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function qc(e,t){return Yn(Lr(e),Lr(t))}function Lr(e){if(Q(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${Qe(t)}Modifiers`];function Zc(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let s=n;const r=t.startsWith("update:"),i=r&&Jc(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>we(u)?u.trim():u)),i.number&&(s=s.map(Fl)));let a,l=o[a=sr(t)]||o[a=sr(xe(t))];!l&&r&&(l=o[a=sr(Qe(t))]),l&&st(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,st(c,e,6,s)}}const Qc=new WeakMap;function bi(e,t,n=!1){const o=n?Qc:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!te(e)){const l=c=>{const u=bi(c,t,!0);u&&(a=!0,Ce(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(he(e)&&o.set(e,null),null):(Q(r)?r.forEach(l=>i[l]=null):Ce(i,r),he(e)&&o.set(e,i),i)}function Do(e,t){return!e||!io(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,Qe(t))||fe(e,t))}function i_(){}function yi(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:i,attrs:a,emit:l,render:c,renderCache:u,props:f,data:h,setupState:y,ctx:w,inheritAttrs:k}=e,M=To(e);let T,S;try{if(n.shapeFlag&4){const m=s||o,$=m;T=vt(c.call($,m,u,f,y,h,w)),S=a}else{const m=t;T=vt(m.length>1?m(f,{attrs:a,slots:i,emit:l}):m(f,null)),S=t.props?a:eu(a)}}catch(m){Ft.length=0,Rn(m,e,1),T=ke(yt)}let b=T;if(S&&k!==!1){const m=Object.keys(S),{shapeFlag:$}=b;m.length&&$&7&&(r&&m.some(ao)&&(S=tu(S,r)),b=kn(b,S,!1,!0))}if(n.dirs&&(b=kn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition){const m=Lo(b.type)&&ei(b)||b;Nr(m,n.transition)}return T=b,To(M),T}const eu=e=>{let t;for(const n in e)(n==="class"||n==="style"||io(n))&&((t||(t={}))[n]=e[n]);return t},tu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function nu(e,t,n){const{props:o,children:s,component:r}=e,{props:i,children:a,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?vi(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(ki),Oi=e=>Object.getPrototypeOf(e)===ki;function ru(e,t,n,o=!1){const s={},r=$i();e.propsDefaults=Object.create(null),Ni(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:sc(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function su(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:i}}=e,a=ue(s),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[h,y]=Ci(f,t,!0);Ce(i,h),y&&a.push(...y)};!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,fn),fn;if(Q(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fr=e=>Q(e)?e.map(vt):[vt(e)],au=(e,t,n)=>{if(t._n)return t;const o=rn((...s)=>Fr(t(...s)),n);return o._c=!1,o},Ei=(e,t,n)=>{const o=e._ctx;for(const s in e){if(Ir(s))continue;const r=e[s];if(te(r))t[s]=au(s,r,o);else if(r!=null){const i=Fr(r);t[s]=()=>i}}},Ti=(e,t)=>{const n=Fr(t);e.slots.default=()=>n},Li=(e,t,n)=>{for(const o in t)(n||!Ir(o))&&(e[o]=t[o])},lu=(e,t,n)=>{const o=e.slots=$i();if(e.vnode.shapeFlag&32){const s=t._;s?(Li(o,t,n),n&&_s(o,"_",s,!0)):Ei(t,o)}else t&&Ti(e,t)},cu=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=me;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:Li(s,t,n):(r=!t.$stable,Ei(t,s)),i=t}else t&&(Ti(e,t),i={default:1});if(r)for(const a in s)!Ir(a)&&i[a]==null&&delete s[a]},qe=hu;function uu(e){return pu(e)}function pu(e,t){const n=ho();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:h,setScopeId:y=ut,insertStaticContent:w}=e,k=(g,v,_,I=null,B=null,D=null,j=void 0,U=null,p=!!v.dynamicChildren)=>{if(g===v)return;g&&!zn(g,v)&&(I=Wt(g),Me(g,B,D,!0),g=null),v.patchFlag===-2&&(p=!1,v.dynamicChildren=null);const{type:d,ref:E,shapeFlag:F}=v;switch(d){case Vn:M(g,v,_,I);break;case yt:T(g,v,_,I);break;case Pr:g==null&&S(v,_,I,j);break;case pe:q(g,v,_,I,B,D,j,U,p);break;default:F&1?$(g,v,_,I,B,D,j,U,p):F&6?ie(g,v,_,I,B,D,j,U,p):(F&64||F&128)&&d.process(g,v,_,I,B,D,j,U,p,nt)}E!=null&&B?jn(E,g&&g.ref,D,v||g,!v):E==null&&g&&g.ref!=null&&jn(g.ref,null,D,g,!0)},M=(g,v,_,I)=>{if(g==null)o(v.el=a(v.children),_,I);else{const B=v.el=g.el;v.children!==g.children&&c(B,v.children)}},T=(g,v,_,I)=>{g==null?o(v.el=l(v.children||""),_,I):v.el=g.el},S=(g,v,_,I)=>{[g.el,g.anchor]=w(g.children,v,_,I,g.el,g.anchor)},b=({el:g,anchor:v},_,I)=>{let B;for(;g&&g!==v;)B=h(g),o(g,_,I),g=B;o(v,_,I)},m=({el:g,anchor:v})=>{let _;for(;g&&g!==v;)_=h(g),s(g),g=_;s(v)},$=(g,v,_,I,B,D,j,U,p)=>{if(v.type==="svg"?j="svg":v.type==="math"&&(j="mathml"),g==null)O(v,_,I,B,D,j,U,p);else{const d=g.el&&g.el._isVueCE?g.el:null;try{d&&d._beginPatch(),L(g,v,B,D,j,U,p)}finally{d&&d._endPatch()}}},O=(g,v,_,I,B,D,j,U)=>{let p,d;const{props:E,shapeFlag:F,transition:G,dirs:R}=g;if(p=g.el=i(g.type,D,E&&E.is,E),F&8?u(p,g.children):F&16&&C(g.children,p,null,I,B,xr(g,D),j,U),R&&sn(g,null,I,"created"),N(p,g,g.scopeId,j,I),E){for(const x in E)x!=="value"&&!In(x)&&r(p,x,null,E[x],D,I);"value"in E&&r(p,"value",null,E.value,D),(d=E.onVnodeBeforeMount)&&wt(d,I,g)}R&&sn(g,null,I,"beforeMount");const A=du(B,G);A&&G.beforeEnter(p),o(p,v,_),((d=E&&E.onVnodeMounted)||A||R)&&qe(()=>{try{d&&wt(d,I,g),A&&G.enter(p),R&&sn(g,null,I,"mounted")}finally{}},B)},N=(g,v,_,I,B)=>{if(_&&y(g,_),I)for(let D=0;D{for(let d=p;d{const U=v.el=g.el;let{patchFlag:p,dynamicChildren:d,dirs:E}=v;p|=g.patchFlag&16;const F=g.props||me,G=v.props||me;let R;if(_&&ln(_,!1),(R=G.onVnodeBeforeUpdate)&&wt(R,_,v,g),E&&sn(v,g,_,"beforeUpdate"),_&&ln(_,!0),d&&(!g.dynamicChildren||g.dynamicChildren.length!==d.length)&&(p=0,j=!1,d=null),(F.innerHTML&&G.innerHTML==null||F.textContent&&G.textContent==null)&&u(U,""),d?X(g.dynamicChildren,d,U,_,I,xr(v,B),D):j||ae(g,v,U,null,_,I,xr(v,B),D,!1),p>0){if(p&16)re(U,F,G,_,B);else if(p&2&&F.class!==G.class&&r(U,"class",null,G.class,B),p&4&&r(U,"style",F.style,G.style,B),p&8){const A=v.dynamicProps;for(let x=0;x{R&&wt(R,_,v,g),E&&sn(v,g,_,"updated")},I)},X=(g,v,_,I,B,D,j)=>{for(let U=0;U{if(v!==_){if(v!==me)for(const D in v)!In(D)&&!(D in _)&&r(g,D,v[D],null,B,I);for(const D in _){if(In(D))continue;const j=_[D],U=v[D];j!==U&&D!=="value"&&r(g,D,U,j,B,I)}"value"in _&&r(g,"value",v.value,_.value,B)}},q=(g,v,_,I,B,D,j,U,p)=>{const d=v.el=g?g.el:a(""),E=v.anchor=g?g.anchor:a("");let{patchFlag:F,dynamicChildren:G,slotScopeIds:R}=v;R&&(U=U?U.concat(R):R),g==null?(o(d,_,I),o(E,_,I),C(v.children||[],_,E,B,D,j,U,p)):F>0&&F&64&&G&&g.dynamicChildren&&g.dynamicChildren.length===G.length?(X(g.dynamicChildren,G,_,B,D,j,U),(v.key!=null||B&&v===B.subTree)&&Si(g,v,!0)):ae(g,v,_,E,B,D,j,U,p)},ie=(g,v,_,I,B,D,j,U,p)=>{v.slotScopeIds=U,g==null?v.shapeFlag&512?B.ctx.activate(v,_,I,j,p):_e(v,_,I,B,D,j,p):z(g,v,p)},_e=(g,v,_,I,B,D,j)=>{const U=g.component=vu(g,I,B);if(Fo(g)&&(U.ctx.renderer=nt),wu(U,!1,j),U.asyncDep){if(B&&B.registerDep(U,W,j),!g.el){const p=U.subTree=ke(yt);T(null,p,v,_),g.placeholder=p.el}}else W(U,g,v,_,B,D,j)},z=(g,v,_)=>{const I=v.component=g.component;if(nu(g,v,_))if(I.asyncDep&&!I.asyncResolved){H(I,v,_);return}else I.next=v,I.update();else v.el=g.el,I.vnode=v},W=(g,v,_,I,B,D,j)=>{const U=()=>{if(g.isMounted){let{next:F,bu:G,u:R,parent:A,vnode:x}=g;{const We=Ii(g);if(We){F&&(F.el=x.el,H(g,F,j)),We.asyncDep.then(()=>{qe(()=>{g.isUnmounted||d()},B)});return}}let J=F,se;ln(g,!1),F?(F.el=x.el,H(g,F,j)):F=x,G&&ir(G),(se=F.props&&F.props.onVnodeBeforeUpdate)&&wt(se,A,F,x),ln(g,!0);const ve=yi(g),Ve=g.subTree;g.subTree=ve,k(Ve,ve,f(Ve.el),Wt(Ve),g,B,D),F.el=ve.el,J===null&&ou(g,ve.el),R&&qe(R,B),(se=F.props&&F.props.onVnodeUpdated)&&qe(()=>wt(se,A,F,x),B)}else{let F;const{el:G,props:R}=v,{bm:A,m:x,parent:J,root:se,type:ve}=g,Ve=vn(v);ln(g,!1),A&&ir(A),!Ve&&(F=R&&R.onVnodeBeforeMount)&&wt(F,J,v),ln(g,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ve,g.parent?g.parent.type:void 0);const We=g.subTree=yi(g);k(null,We,_,I,g,B,D),v.el=We.el}if(x&&qe(x,B),!Ve&&(F=R&&R.onVnodeMounted)){const We=v;qe(()=>wt(F,J,We),B)}(v.shapeFlag&256||J&&vn(J.vnode)&&J.vnode.shapeFlag&256)&&g.a&&qe(g.a,B),g.isMounted=!0,v=_=I=null}};g.scope.on();const p=g.effect=new Cs(U);g.scope.off();const d=g.update=p.run.bind(p),E=g.job=p.runIfDirty.bind(p);E.i=g,E.id=g.uid,p.scheduler=()=>kr(E),ln(g,!0),d()},H=(g,v,_)=>{v.component=g;const I=g.vnode.props;g.vnode=v,g.next=null,su(g,v.props,I,_),cu(g,v.children,_),dt(),Ks(g),ft()},ae=(g,v,_,I,B,D,j,U,p=!1)=>{const d=g&&g.children,E=g?g.shapeFlag:0,F=v.children,{patchFlag:G,shapeFlag:R}=v;if(G>0){if(G&128){Ot(d,F,_,I,B,D,j,U,p);return}else if(G&256){Ee(d,F,_,I,B,D,j,U,p);return}}R&8?(E&16&&ct(d,B,D),F!==d&&u(_,F)):E&16?R&16?Ot(d,F,_,I,B,D,j,U,p):ct(d,B,D,!0):(E&8&&u(_,""),R&16&&C(F,_,I,B,D,j,U,p))},Ee=(g,v,_,I,B,D,j,U,p)=>{g=g||fn,v=v||fn;const d=g.length,E=v.length,F=Math.min(d,E);let G;for(G=0;GE?ct(g,B,D,!0,!1,F):C(v,_,I,B,D,j,U,p,F)},Ot=(g,v,_,I,B,D,j,U,p)=>{let d=0;const E=v.length;let F=g.length-1,G=E-1;for(;d<=F&&d<=G;){const R=g[d],A=v[d]=p?xt(v[d]):vt(v[d]);if(zn(R,A))k(R,A,_,null,B,D,j,U,p);else break;d++}for(;d<=F&&d<=G;){const R=g[F],A=v[G]=p?xt(v[G]):vt(v[G]);if(zn(R,A))k(R,A,_,null,B,D,j,U,p);else break;F--,G--}if(d>F){if(d<=G){const R=G+1,A=RG)for(;d<=F;)Me(g[d],B,D,!0),d++;else{const R=d,A=d,x=new Map;for(d=A;d<=G;d++){const Ze=v[d]=p?xt(v[d]):vt(v[d]);Ze.key!=null&&x.set(Ze.key,d)}let J,se=0;const ve=G-A+1;let Ve=!1,We=0;const dn=new Array(ve);for(d=0;d=ve){Me(Ze,B,D,!0);continue}let Nt;if(Ze.key!=null)Nt=x.get(Ze.key);else for(J=A;J<=G;J++)if(dn[J-A]===0&&zn(Ze,v[J])){Nt=J;break}Nt===void 0?Me(Ze,B,D,!0):(dn[Nt-A]=d+1,Nt>=We?We=Nt:Ve=!0,k(Ze,v[Nt],_,null,B,D,j,U,p),se++)}const ds=Ve?fu(dn):fn;for(J=ds.length-1,d=ve-1;d>=0;d--){const Ze=A+d,Nt=v[Ze],Al=v[Ze+1],El=Ze+1{const{el:D,type:j,transition:U,children:p,shapeFlag:d}=g;if(d&6){Fe(g.component.subTree,v,_,I);return}if(d&128){g.suspense.move(v,_,I);return}if(d&64){j.move(g,v,_,nt);return}if(j===pe){o(D,v,_);for(let F=0;FU.enter(D),B));else{const{leave:F,delayLeave:G,afterLeave:R}=U,A=()=>{g.ctx.isUnmounted?s(D):o(D,v,_)},x=()=>{const J=D._isLeaving||!!D[Or];D._isLeaving&&D[Or](!0),U.persisted&&!J?A():F(D,()=>{A(),R&&R()})};G?G(D,A,x):x()}else o(D,v,_)},Me=(g,v,_,I=!1,B=!1)=>{const{type:D,props:j,ref:U,children:p,dynamicChildren:d,shapeFlag:E,patchFlag:F,dirs:G,cacheIndex:R,memo:A}=g;if(F===-2&&(B=!1),U!=null&&(dt(),jn(U,null,_,g,!0),ft()),R!=null&&(v.renderCache[R]=void 0),E&256){v.ctx.deactivate(g);return}const x=E&1&&G,J=!vn(g);let se;if(J&&(se=j&&j.onVnodeBeforeUnmount)&&wt(se,v,g),E&6)pn(g.component,_,I);else{if(E&128){g.suspense.unmount(_,I);return}x&&sn(g,null,v,"beforeUnmount"),E&64?g.type.remove(g,v,_,nt,I):d&&!d.hasOnce&&(D!==pe||F>0&&F&64)?ct(d,v,_,!1,!0):(D===pe&&F&384||!B&&E&16)&&ct(p,v,_),I&&Qt(g)}const ve=A!=null&&R==null;(J&&(se=j&&j.onVnodeUnmounted)||x||ve)&&qe(()=>{se&&wt(se,v,g),x&&sn(g,null,v,"unmounted"),ve&&(g.el=null)},_)},Qt=g=>{const{type:v,el:_,anchor:I,transition:B}=g;if(v===pe){en(_,I);return}if(v===Pr){m(g);return}const D=()=>{s(_),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:j,delayLeave:U}=B,p=()=>j(_,D);U?U(g.el,D,p):p()}else D()},en=(g,v)=>{let _;for(;g!==v;)_=h(g),s(g),g=_;s(v)},pn=(g,v,_)=>{const{bum:I,scope:B,job:D,subTree:j,um:U,m:p,a:d}=g;Fi(p),Fi(d),I&&ir(I),B.stop(),D&&(D.flags|=8,Me(j,g,v,_)),U&&qe(U,v),qe(()=>{g.isUnmounted=!0},v)},ct=(g,v,_,I=!1,B=!1,D=0)=>{for(let j=D;j{if(g.shapeFlag&6)return Wt(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const v=h(g.anchor||g.el),_=v&&v[Ec];return _?h(_):v};let Ut=!1;const tn=(g,v,_)=>{let I;g==null?v._vnode&&(Me(v._vnode,null,null,!0),I=v._vnode.component):k(v._vnode||null,g,v,null,null,null,_),v._vnode=g,Ut||(Ut=!0,Ks(I),Xs(),Ut=!1)},nt={p:k,um:Me,m:Fe,r:Qt,mt:_e,mc:C,pc:ae,pbc:X,n:Wt,o:e};return{render:tn,hydrate:void 0,createApp:Xc(tn)}}function xr({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 ln({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function du(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Si(e,t,n=!1){const o=e.children,s=t.children;if(Q(o)&&Q(s))for(let r=0;r>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function Ii(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ii(t)}function Fi(e){if(e)for(let t=0;te.__isSuspense;function hu(e,t){t&&t.pendingBranch?Q(e)?t.effects.push(...e):t.effects.push(e):wc(e)}const pe=Symbol.for("v-fgt"),Vn=Symbol.for("v-txt"),yt=Symbol.for("v-cmt"),Pr=Symbol.for("v-stc"),Ft=[];let Je=null;function V(e=!1){Ft.push(Je=e?null:[])}function Mr(){Ft.pop(),Je=Ft[Ft.length-1]||null}let Hn=1;function Bo(e,t=!1){Hn+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Mi(e){return e.dynamicChildren=Hn>0?Je||fn:null,Mr(),Hn>0&&Je&&Je.push(e),e}function K(e,t,n,o,s,r){return Mi(P(e,t,n,o,s,r,!0))}function et(e,t,n,o,s){return Mi(ke(e,t,n,o,s,!0))}function qn(e){return e?e.__v_isVNode===!0:!1}function zn(e,t){return e.type===t.type&&e.key===t.key}const Di=({key:e})=>e??null,Ro=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||Ne(e)||te(e)?{i:De,r:e,k:t,f:!!n}:e:null);function P(e,t=null,n=null,o=0,s=null,r=e===pe?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Di(t),ref:t&&Ro(t),scopeId:Zs,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:De};return a?(Wo(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),Hn>0&&!i&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const ke=gu;function gu(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===ii)&&(e=yt),qn(e)){const a=kn(e,t,!0);return n&&Wo(a,n),Hn>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(Au(e)&&(e=e.__vccOpts),t){t=mu(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=Le(a)),he(l)&&(Oo(l)&&!Q(l)&&(l=Ce({},l)),t.style=go(l))}const i=we(e)?1:Pi(e)?128:Lo(e)?64:he(e)?4:te(e)?2:0;return P(e,t,n,o,s,i,r,!0)}function mu(e){return e?Oo(e)||Oi(e)?Ce({},e):e:null}function kn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?_u(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Di(c),ref:t&&t.ref?n&&r?Q(r)?r.concat(Ro(t)):[r,Ro(t)]:Ro(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==pe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kn(e.ssContent),ssFallback:e.ssFallback&&kn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Nr(u,l.clone(u)),u}function $e(e=" ",t=0){return ke(Vn,null,e,t)}function Te(e="",t=!1){return t?(V(),et(yt,null,e)):ke(yt,null,e)}function vt(e){return e==null||typeof e=="boolean"?ke(yt):Q(e)?ke(pe,null,e.slice()):qn(e)?xt(e):ke(Vn,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kn(e)}function Wo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Q(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),Wo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Oi(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Wo(e,{default:t});return}t={default:t,_ctx:De},n=32}else t=String(t),o&64?(n=16,t=[$e(t)]):n=8;e.children=t,e.shapeFlag|=n}function _u(...e){const t={};for(let n=0;nBe||De;let Uo,Kn;{const e=ho(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(i=>i(r)):s[0](r)}};Uo=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),Kn=t("__VUE_SSR_SETTERS__",n=>$n=n)}const Xn=e=>{const t=Be;return Uo(e),e.scope.on(),()=>{e.scope.off(),Uo(t)}},Bi=()=>{Be&&Be.scope.off(),Uo(null)};function Ri(e){return e.vnode.shapeFlag&4}let $n=!1;function wu(e,t=!1,n=!1){t&&Kn(t);const{props:o,children:s}=e.vnode,r=Ri(e);ru(e,o,r,t),lu(e,s,n||t);const i=r?ku(e,t):void 0;return t&&Kn(!1),i}function ku(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gc);const{setup:o}=n;if(o){dt();const s=e.setupContext=o.length>1?Ou(e):null,r=Xn(e),i=_n(o,e,0,[e.props,s]),a=gs(i);if(ft(),r(),(a||e.sp)&&!vn(e)&&Cr(e),a){if(i.then(Bi,Bi),t)return i.then(l=>{Kn(!0);try{Wi(e,l,t)}finally{Kn(!1)}}).catch(l=>{Rn(l,e,0)});e.asyncDep=i}else Wi(e,i)}else Ui(e)}function Wi(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=Vs(t)),Ui(e)}function Ui(e,t,n){const o=e.type;e.render||(e.render=o.render||ut);{const s=Xn(e);dt();try{Yc(e)}finally{ft(),s()}}}const $u={get(e,t){return Ue(e,"get",""),e[t]}};function Ou(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$u),slots:e.slots,emit:e.emit,expose:t}}function jo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Vs(gn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const Nu=/(?:^|[-_])\w/g,Cu=e=>e.replace(Nu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ji(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Gi(e,t,n=!1){let o=ji(t);if(!o&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&e){const s=r=>{for(const i in r)if(r[i]===t)return i};o=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return o?Cu(o):n?"App":"Anonymous"}function Au(e){return te(e)&&"__vccOpts"in e}const oe=(e,t)=>dc(e,t,$n);function Yi(e,t,n){try{Bo(-1);const o=arguments.length;return o===2?he(t)&&!Q(t)?qn(t)?ke(e,null,[t]):ke(e,t):ke(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&qn(n)&&(n=[n]),ke(e,t,n))}finally{Bo(1)}}const Eu="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Sr;const xi=typeof window<"u"&&window.trustedTypes;if(xi)try{Sr=xi.createPolicy("vue",{createHTML:e=>e})}catch{}const Wi=Sr?e=>Sr.createHTML(e):e=>e,Ou="http://www.w3.org/2000/svg",Nu="http://www.w3.org/1998/Math/MathML",Ft=typeof document<"u"?document:null,Ui=Ft&&Ft.createElement("template"),Cu={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"?Ft.createElementNS(Ou,e):t==="mathml"?Ft.createElementNS(Nu,e):n?Ft.createElement(e,{is:n}):Ft.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>Ft.createTextNode(e),createComment:e=>Ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,r){const i=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{Ui.innerHTML=Wi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=Ui.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Au=Symbol("_vtc");function Eu(e,t,n){const o=e[Au];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Wo=Symbol("_vod"),Gi=Symbol("_vsh"),Tu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Wo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Vn(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),Vn(e,!0),o.enter(e)):o.leave(e,()=>{Vn(e,!1)}):Vn(e,t))},beforeUnmount(e,{value:t}){Vn(e,t)}};function Vn(e,t){e.style.display=t?e[Wo]:"none",e[Gi]=!t}const Iu=Symbol(""),Lu=/(?:^|;)\s*display\s*:/;function Su(e,t,n){const o=e.style,s=ye(n);let r=!1;if(n&&!s){if(t)if(ye(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Hn(o,a,"")}else for(const i in t)n[i]==null&&Hn(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Pu(e,i,!ye(t)&&t?t[i]:void 0,a)||Hn(o,i,a):Hn(o,i,"")}}else if(s){if(t!==n){const i=o[Iu];i&&(n+=";"+i),o.cssText=n,r=Lu.test(n)}}else t&&e.removeAttribute("style");Wo in e&&(e[Wo]=r?o.display:"",e[Gi]&&(o.display="none"))}const Uo=/\s*!important$/;function Hn(e,t,n){if(z(n))n.forEach(o=>Hn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Uo.test(n)?e.setProperty(t,n.replace(Uo,""),"important"):e.setProperty(t,n);else{const o=Fu(e,t);Uo.test(n)?e.setProperty(Je(o),n.replace(Uo,""),"important"):e[o]=n}}const Yi=["Webkit","Moz","ms"],Fr={};function Fu(e,t){const n=Fr[t];if(n)return n;let o=Ee(t);if(o!=="filter"&&o in e)return Fr[t]=o;o=io(o);for(let s=0;sPr||(Uu.then(()=>Pr=0),Pr=Date.now());function Yu(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(z(s)){const r=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{r.call(o),o._stopped=!0};const i=s.slice(),a=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ju=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Eu(e,o,i):t==="style"?Su(e,n,o):eo(t)?to(t)||Ru(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vu(e,t,o,i))?(Hi(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Vi(e,t,o,i,r,t!=="value")):e._isVueCE&&(Hu(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ye(o)))?Hi(e,Ee(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Vi(e,t,o,i))};function Vu(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&zi(t)&&J(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 zi(t)&&ye(n)?!1:t in e}function Hu(e,t){const n=e._def.props;if(!n)return!1;const o=Ee(t);return Array.isArray(n)?n.some(s=>Ee(s)===o):Object.keys(n).some(s=>Ee(s)===o)}const Ki={};function qu(e,t,n){let o=Pn(e,t);oo(o)&&(o=ke({},o,t));class s extends Mr{constructor(i){super(o,i,n)}}return s.def=o,s}const zu=typeof HTMLElement<"u"?HTMLElement:class{};class Mr extends zu{constructor(t,n={},o=Zi){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!==Zi?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ke({},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 Mr){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,mr(()=>{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._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:i}=o;let a;if(r&&!z(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=fs(this._props[l])),(a||(a=Object.create(null)))[Ee(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),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)ue(this,o)||Object.defineProperty(this,o,{get:()=>vo(n[o])})}_resolveProps(t){const{props:n}=t,o=z(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(Ee))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):Ki;const s=Ee(t);n&&this._numberProps&&this._numberProps[s]&&(o=fs(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===Ki?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(Je(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Je(t),n+""):n||this.removeAttribute(Je(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Qu(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Te(this._def,ke(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(r,i)=>{this.dispatchEvent(new CustomEvent(r,oo(i[0])?ke({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),Je(r)!==r&&s(Je(r),i)},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,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let a=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");s&&u.setAttribute("nonce",s),u.textContent=t[l],r.insertBefore(u,a||i),a=u,l===0&&(o||this._styleAnchors.set(this._def,u),n&&this._styleAnchors.set(n,u))}}_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;ne.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)=>Ku.some(n=>e[`${n}Key`]&&!t.includes(n))},Ju=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...r)=>{for(let i=0;i{Ji().render(...e)},Zi=(...e)=>{const t=Ji().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=tp(o);if(!s)return;const r=t._component;!J(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,ep(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function ep(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function tp(e){return ye(e)?document.querySelector(e):e}/*! +**/let Dr;const Vi=typeof window<"u"&&window.trustedTypes;if(Vi)try{Dr=Vi.createPolicy("vue",{createHTML:e=>e})}catch{}const Hi=Dr?e=>Dr.createHTML(e):e=>e,Tu="http://www.w3.org/2000/svg",Lu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,qi=Mt&&Mt.createElement("template"),Su={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(Tu,e):t==="mathml"?Mt.createElementNS(Lu,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 i=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{qi.innerHTML=Hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=qi.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Iu=Symbol("_vtc");function Fu(e,t,n){const o=e[Iu];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Go=Symbol("_vod"),zi=Symbol("_vsh"),xu={name:"show",beforeMount(e,{value:t},{transition:n}){e[Go]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Jn(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),Jn(e,!0),o.enter(e)):o.leave(e,()=>{Jn(e,!1)}):Jn(e,t))},beforeUnmount(e,{value:t}){Jn(e,t)}};function Jn(e,t){e.style.display=t?e[Go]:"none",e[zi]=!t}const Pu=Symbol(""),Mu=/(?:^|;)\s*display\s*:/;function Du(e,t,n){const o=e.style,s=we(n);let r=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Zn(o,a,"")}else for(const i in t)n[i]==null&&Zn(o,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?Ru(e,i,!we(t)&&t?t[i]:void 0,a)||Zn(o,i,a):Zn(o,i,"")}}else if(s){if(t!==n){const i=o[Pu];i&&(n+=";"+i),o.cssText=n,r=Mu.test(n)}}else t&&e.removeAttribute("style");Go in e&&(e[Go]=r?o.display:"",e[zi]&&(o.display="none"))}const Yo=/\s*!important$/;function Zn(e,t,n){if(Q(n))n.forEach(o=>Zn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Yo.test(n)?e.setProperty(t,n.replace(Yo,""),"important"):e.setProperty(t,n);else{const o=Bu(e,t);Yo.test(n)?e.setProperty(Qe(o),n.replace(Yo,""),"important"):e[o]=n}}const Ki=["Webkit","Moz","ms"],Br={};function Bu(e,t){const n=Br[t];if(n)return n;let o=xe(t);if(o!=="filter"&&o in e)return Br[t]=o;o=fo(o);for(let s=0;sRr||(Hu.then(()=>Rr=0),Rr=Date.now());function zu(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(Q(s)){const r=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{r.call(o),o._stopped=!0};const i=s.slice(),a=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ku=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Fu(e,o,i):t==="style"?Du(e,n,o):io(t)?ao(t)||ju(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xu(e,t,o,i))?(Zi(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ji(e,t,o,i,r,t!=="value")):e._isVueCE&&(Ju(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(o)))?Zi(e,xe(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ji(e,t,o,i))};function Xu(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&ea(t)&&te(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 ea(t)&&we(n)?!1:t in e}function Ju(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 ta={};function Zu(e,t,n){let o=Un(e,t);co(o)&&(o=Ce({},o,t));class s extends Wr{constructor(i){super(o,i,n)}}return s.def=o,s}const Qu=typeof HTMLElement<"u"?HTMLElement:class{};class Wr extends Qu{constructor(t,n={},o=ra){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!==ra?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ce({},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 Wr){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,wr(()=>{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._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:i}=o;let a;if(r&&!Q(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=bs(this._props[l])),(a||(a=Object.create(null)))[xe(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),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:()=>gt(n[o])})}_resolveProps(t){const{props:n}=t,o=Q(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):ta;const s=xe(t);n&&this._numberProps&&this._numberProps[s]&&(o=bs(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===ta?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(Qe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Qe(t),n+""):n||this.removeAttribute(Qe(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ke(this._def,Ce(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(r,i)=>{this.dispatchEvent(new CustomEvent(r,co(i[0])?Ce({detail:i},i[0]):{detail:i}))};o.emit=(r,...i)=>{s(r,i),Qe(r)!==r&&s(Qe(r),i)},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,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let a=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,a||i),a=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;ne.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)=>ep.some(n=>e[`${n}Key`]&&!t.includes(n))},np=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...r)=>{for(let i=0;i{oa().render(...e)},ra=(...e)=>{const t=oa().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=ip(o);if(!s)return;const r=t._component;!te(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,sp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function sp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ip(e){return we(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Qi;const Go=e=>Qi=e,ea=Symbol();function Dr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var qn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(qn||(qn={}));function np(){const e=rr(!0),t=e.run(()=>de({}));let n=[],o=[];const s=cn({install(r){Go(s),s._a=r,r.provide(ea,s),r.config.globalProperties.$pinia=s,o.forEach(i=>n.push(i)),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 ta=()=>{};function na(e,t,n,o=ta){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&vs()&&Pl(s),s}function mn(e,...t){e.slice().forEach(n=>{n(...t)})}const op=e=>e(),oa=Symbol(),Rr=Symbol();function Br(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];Dr(s)&&Dr(o)&&e.hasOwnProperty(n)&&!we(o)&&!Ot(o)?e[n]=Br(s,o):e[n]=o}return e}const rp=Symbol();function sp(e){return!Dr(e)||!e.hasOwnProperty(rp)}const{assign:Ut}=Object;function ip(e){return!!(we(e)&&e.effect)}function ap(e,t,n,o){const{state:s,actions:r,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const d=nc(n.state.value[e]);return Ut(d,r,Object.keys(i||{}).reduce((f,h)=>(f[h]=cn(ee(()=>{Go(n);const v=n._s.get(e);return i[h].call(v,v)})),f),{}))}return l=ra(e,u,t,n,o,!0),l}function ra(e,t,n={},o,s,r){let i;const a=Ut({actions:{}},n),l={deep:!0};let u,d,f=[],h=[],v;const w=o.state.value[e];!r&&!w&&(o.state.value[e]={});let $;function R(A){let T;u=d=!1,typeof A=="function"?(A(o.state.value[e]),T={type:qn.patchFunction,storeId:e,events:v}):(Br(o.state.value[e],A),T={type:qn.patchObject,payload:A,storeId:e,events:v});const q=$=Symbol();mr().then(()=>{$===q&&(u=!0)}),d=!0,mn(f,T,o.state.value[e])}const E=r?function(){const{state:T}=n,q=T?T():{};this.$patch(oe=>{Ut(oe,q)})}:ta;function I(){i.stop(),f=[],h=[],o._s.delete(e)}const b=(A,T="")=>{if(oa in A)return A[Rr]=T,A;const q=function(){Go(o);const oe=Array.from(arguments),j=[],re=[];function Le(te){j.push(te)}function yt(te){re.push(te)}mn(h,{args:oe,name:q[Rr],store:N,after:Le,onError:yt});let le;try{le=A.apply(this&&this.$id===e?this:N,oe)}catch(te){throw mn(re,te),te}return le instanceof Promise?le.then(te=>(mn(j,te),te)).catch(te=>(mn(re,te),Promise.reject(te))):(mn(j,le),le)};return q[oa]=!0,q[Rr]=T,q},_={_p:o,$id:e,$onAction:na.bind(null,h),$patch:R,$reset:E,$subscribe(A,T={}){const q=na(f,A,T.detached,()=>oe()),oe=i.run(()=>At(()=>o.state.value[e],j=>{(T.flush==="sync"?d:u)&&A({storeId:e,type:qn.direct,events:v},j)},Ut({},l,T)));return q},$dispose:I},N=_o(_);o._s.set(e,N);const C=(o._a&&o._a.runWithContext||op)(()=>o._e.run(()=>(i=rr()).run(()=>t({action:b}))));for(const A in C){const T=C[A];if(we(T)&&!ip(T)||Ot(T))r||(w&&sp(T)&&(we(T)?T.value=w[A]:Br(T,w[A])),o.state.value[e][A]=T);else if(typeof T=="function"){const q=b(T,A);C[A]=q,a.actions[A]=T}}return Ut(N,C),Ut(ie(N),C),Object.defineProperty(N,"$state",{get:()=>o.state.value[e],set:A=>{R(T=>{Ut(T,A)})}}),o._p.forEach(A=>{Ut(N,i.run(()=>A({store:N,app:o._a,pinia:o,options:a})))}),w&&r&&n.hydrate&&n.hydrate(N.$state,w),u=!0,d=!0,N}/*! #__NO_SIDE_EFFECTS__ */function xr(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 i(a,l){const u=bc();return a=a||(u?He(ea,null):null),a&&Go(a),a=Qi,a._s.has(o)||(r?ra(o,t,s,a):ap(o,s,a)),a._s.get(o)}return i.$id=o,i}const lp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},cp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},up={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},pp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},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:"اللغات"}},dp={menuComingSoon:"القائمة قادمة قريباً"},fp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},gp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},hp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},_p={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},mp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},bp={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"},yp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},vp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},wp={menuComingSoon:"Menü folgt in Kürze"},$p={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},kp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Op={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Np={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"},Cp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ap={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"},Ep={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Tp={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"},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"}},Ip={menuComingSoon:"Menu coming soon"},Lp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Sp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Fp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Pp={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"}},Mp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups",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"},Dp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Rp={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"},Bp={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."}},xp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},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"}},Wp={menuComingSoon:"Menú próximamente"},Up={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Gp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Yp={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"}},jp={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"},Vp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Hp={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"},qp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},zp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},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"}},Kp={menuComingSoon:"Menu bientôt disponible"},Xp={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Jp={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Zp={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Qp={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"}},ed={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"},td={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},nd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},od={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},rd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},sd={menuComingSoon:"मेनू शीघ्र आ रहा है"},id={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ad={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},ld={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},cd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},ud={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"},pd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},dd={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},fd={menuComingSoon:"Menu in arrivo"},gd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},hd={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},_d={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},md={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},bd={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"},yd={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."}},vd={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},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"}},wd={menuComingSoon:"Menu em breve"},$d={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},kd={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Od={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"}},Nd={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"},Cd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Ad={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ă"},Ed={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ă."}},Td={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Id={menuComingSoon:"Meniu în curând"},Ld={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Sd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Fd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Pd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Md={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Dd={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Rd={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},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:"Языки"}},Bd={menuComingSoon:"Меню скоро появится"},xd={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Wd={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Ud={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Gd={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Yd={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},jd={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Vd={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Hd={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},qd={menuComingSoon:"菜单即将推出"},zd={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Kd={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Xd={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let sa;const Vo=e=>sa=e,ia=Symbol();function Ur(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Qn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Qn||(Qn={}));function ap(){const e=lr(!0),t=e.run(()=>ce({}));let n=[],o=[];const s=gn({install(r){Vo(s),s._a=r,r.provide(ia,s),r.config.globalProperties.$pinia=s,o.forEach(i=>n.push(i)),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 aa=()=>{};function la(e,t,n,o=aa){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),o())};return!n&&Ns()&&Wl(s),s}function On(e,...t){e.slice().forEach(n=>{n(...t)})}const lp=e=>e(),ca=Symbol(),jr=Symbol();function Gr(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];Ur(s)&&Ur(o)&&e.hasOwnProperty(n)&&!Ne(o)&&!Et(o)?e[n]=Gr(s,o):e[n]=o}return e}const cp=Symbol();function up(e){return!Ur(e)||!e.hasOwnProperty(cp)}const{assign:Vt}=Object;function pp(e){return!!(Ne(e)&&e.effect)}function dp(e,t,n,o){const{state:s,actions:r,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=s?s():{});const u=lc(n.state.value[e]);return Vt(u,r,Object.keys(i||{}).reduce((f,h)=>(f[h]=gn(oe(()=>{Vo(n);const y=n._s.get(e);return i[h].call(y,y)})),f),{}))}return l=ua(e,c,t,n,o,!0),l}function ua(e,t,n={},o,s,r){let i;const a=Vt({actions:{}},n),l={deep:!0};let c,u,f=[],h=[],y;const w=o.state.value[e];!r&&!w&&(o.state.value[e]={});let k;function M(C){let L;c=u=!1,typeof C=="function"?(C(o.state.value[e]),L={type:Qn.patchFunction,storeId:e,events:y}):(Gr(o.state.value[e],C),L={type:Qn.patchObject,payload:C,storeId:e,events:y});const X=k=Symbol();wr().then(()=>{k===X&&(c=!0)}),u=!0,On(f,L,o.state.value[e])}const T=r?function(){const{state:L}=n,X=L?L():{};this.$patch(re=>{Vt(re,X)})}:aa;function S(){i.stop(),f=[],h=[],o._s.delete(e)}const b=(C,L="")=>{if(ca in C)return C[jr]=L,C;const X=function(){Vo(o);const re=Array.from(arguments),q=[],ie=[];function _e(H){q.push(H)}function z(H){ie.push(H)}On(h,{args:re,name:X[jr],store:$,after:_e,onError:z});let W;try{W=C.apply(this&&this.$id===e?this:$,re)}catch(H){throw On(ie,H),H}return W instanceof Promise?W.then(H=>(On(q,H),H)).catch(H=>(On(ie,H),Promise.reject(H))):(On(q,W),W)};return X[ca]=!0,X[jr]=L,X},m={_p:o,$id:e,$onAction:la.bind(null,h),$patch:M,$reset:T,$subscribe(C,L={}){const X=la(f,C,L.detached,()=>re()),re=i.run(()=>St(()=>o.state.value[e],q=>{(L.flush==="sync"?u:c)&&C({storeId:e,type:Qn.direct,events:y},q)},Vt({},l,L)));return X},$dispose:S},$=ko(m);o._s.set(e,$);const N=(o._a&&o._a.runWithContext||lp)(()=>o._e.run(()=>(i=lr()).run(()=>t({action:b}))));for(const C in N){const L=N[C];if(Ne(L)&&!pp(L)||Et(L))r||(w&&up(L)&&(Ne(L)?L.value=w[C]:Gr(L,w[C])),o.state.value[e][C]=L);else if(typeof L=="function"){const X=b(L,C);N[C]=X,a.actions[C]=L}}return Vt($,N),Vt(ue($),N),Object.defineProperty($,"$state",{get:()=>o.state.value[e],set:C=>{M(L=>{Vt(L,C)})}}),o._p.forEach(C=>{Vt($,i.run(()=>C({store:$,app:o._a,pinia:o,options:a})))}),w&&r&&n.hydrate&&n.hydrate($.$state,w),c=!0,u=!0,$}/*! #__NO_SIDE_EFFECTS__ */function Yr(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 i(a,l){const c=$c();return a=a||(c?He(ia,null):null),a&&Vo(a),a=sa,a._s.has(o)||(r?ua(o,t,s,a):dp(o,s,a)),a._s.get(o)}return i.$id=o,i}const fp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},mp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},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:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},yp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},vp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={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"},Op={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Np={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Cp={menuComingSoon:"Menü folgt in Kürze"},Ap={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ep={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Tp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Lp={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"},Sp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={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"},Fp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},xp={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"},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"}},Pp={menuComingSoon:"Menu coming soon"},Mp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Bp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Rp={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"}},Wp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups",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"},Up={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},jp={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"},Gp={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."}},Yp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},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"}},Vp={menuComingSoon:"Menú próximamente"},Hp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},qp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},zp={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"}},Kp={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"},Xp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Jp={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"},Zp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Qp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},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"}},ed={menuComingSoon:"Menu bientôt disponible"},td={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},nd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},od={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},rd={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"}},sd={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"},id={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ad={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ld={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},cd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ud={menuComingSoon:"मेनू शीघ्र आ रहा है"},pd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},dd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},fd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},gd={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"},md={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_d={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},bd={menuComingSoon:"Menu in arrivo"},yd={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},vd={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wd={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kd={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$d={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"},Od={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."}},Nd={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},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"}},Cd={menuComingSoon:"Menu em breve"},Ad={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Ed={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Td={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"}},Ld={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"},Sd={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Id={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ă"},Fd={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ă."}},xd={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Pd={menuComingSoon:"Meniu în curând"},Md={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dd={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Bd={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Rd={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Wd={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Ud={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},jd={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},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:"Языки"}},Gd={menuComingSoon:"Меню скоро появится"},Yd={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vd={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Hd={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},qd={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},zd={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Kd={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Xd={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Jd={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Zd={menuComingSoon:"菜单即将推出"},Qd={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ef={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},tf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Jd(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Yo=typeof window<"u",Gt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Zd=(e,t,n)=>Qd({l:e,k:t,s:n}),Qd=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Oe=e=>typeof e=="number"&&isFinite(e),ef=e=>ca(e)==="[object Date]",Yt=e=>ca(e)==="[object RegExp]",jo=e=>Q(e)&&Object.keys(e).length===0,Pe=Object.assign,tf=Object.create,ge=(e=null)=>tf(e);let sa;const Pt=()=>sa||(sa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ge());function ia(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function aa(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function nf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,s,r)=>`${s}="${aa(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,s,r)=>`${s}='${aa(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const of=Object.prototype.hasOwnProperty;function rt(e,t){return of.call(e,t)}const ve=Array.isArray,me=e=>typeof e=="function",Y=e=>typeof e=="string",se=e=>typeof e=="boolean",ae=e=>e!==null&&typeof e=="object",rf=e=>ae(e)&&me(e.then)&&me(e.catch),la=Object.prototype.toString,ca=e=>la.call(e),Q=e=>{if(!ae(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},sf=e=>e==null?"":ve(e)||Q(e)&&e.toString===la?JSON.stringify(e,null,2):String(e);function af(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}function Vo(e){let t=e;return()=>++t}const Ho=e=>!ae(e)||ve(e);function qo(e,t){if(Ho(e)||Ho(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__"&&(ae(o[r])&&!ae(s[r])&&(s[r]=Array.isArray(o[r])?[]:ge()),Ho(s[r])||Ho(o[r])?s[r]=o[r]:n.push({src:o[r],des:s[r]}))})}}/*! + */function nf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ho=typeof window<"u",Ht=(e,t=!1)=>t?Symbol.for(e):Symbol(e),of=(e,t,n)=>rf({l:e,k:t,s:n}),rf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=e=>typeof e=="number"&&isFinite(e),sf=e=>ga(e)==="[object Date]",qt=e=>ga(e)==="[object RegExp]",qo=e=>ne(e)&&Object.keys(e).length===0,Re=Object.assign,af=Object.create,ge=(e=null)=>af(e);let pa;const Dt=()=>pa||(pa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ge());function da(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function fa(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,s,r)=>`${s}="${fa(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,s,r)=>`${s}='${fa(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const cf=Object.prototype.hasOwnProperty;function it(e,t){return cf.call(e,t)}const Oe=Array.isArray,ye=e=>typeof e=="function",Y=e=>typeof e=="string",le=e=>typeof e=="boolean",de=e=>e!==null&&typeof e=="object",uf=e=>de(e)&&ye(e.then)&&ye(e.catch),ha=Object.prototype.toString,ga=e=>ha.call(e),ne=e=>{if(!de(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},pf=e=>e==null?"":Oe(e)||ne(e)&&e.toString===ha?JSON.stringify(e,null,2):String(e);function df(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}function zo(e){let t=e;return()=>++t}const Ko=e=>!de(e)||Oe(e);function Xo(e,t){if(Ko(e)||Ko(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__"&&(de(o[r])&&!de(s[r])&&(s[r]=Array.isArray(o[r])?[]:ge()),Ko(s[r])||Ko(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 lf(e,t,n){return{line:e,column:t,offset:n}}function zo(e,t,n){return{start:e,end:t}}const cf=/\{([0-9a-zA-Z]+)\}/g;function ua(e,...t){return t.length===1&&uf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(cf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const pa=Object.assign,da=e=>typeof e=="string",uf=e=>e!==null&&typeof e=="object";function fa(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const Wr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},pf={[Wr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function df(e,t,...n){const o=ua(pf[e],...n||[]),s={message:String(o),code:e};return t&&(s.location=t),s}const K={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},ff={[K.EXPECTED_TOKEN]:"Expected token: '{0}'",[K.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[K.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[K.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[K.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[K.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[K.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[K.EMPTY_PLACEHOLDER]:"Empty placeholder",[K.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[K.INVALID_LINKED_FORMAT]:"Invalid linked format",[K.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[K.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[K.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[K.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[K.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[K.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function bn(e,t,n={}){const{domain:o,messages:s,args:r}=n,i=ua((s||ff)[e]||"",...r||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=o,a}function gf(e){throw e}const Mt=" ",hf="\r",We=` -`,_f="\u2028",mf="\u2029";function bf(e){const t=e;let n=0,o=1,s=1,r=0;const i=C=>t[C]===hf&&t[C+1]===We,a=C=>t[C]===We,l=C=>t[C]===mf,u=C=>t[C]===_f,d=C=>i(C)||a(C)||l(C)||u(C),f=()=>n,h=()=>o,v=()=>s,w=()=>r,$=C=>i(C)||l(C)||u(C)?We:t[C],R=()=>$(n),E=()=>$(n+r);function I(){return r=0,d(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function b(){return i(n+r)&&r++,r++,t[n+r]}function _(){n=0,o=1,s=1,r=0}function N(C=0){r=C}function S(){const C=n+r;for(;C!==n;)I();r=0}return{index:f,line:h,column:v,peekOffset:w,charAt:$,currentChar:R,currentPeek:E,next:I,peek:b,reset:_,resetPeek:N,skipToPeek:S}}const jt=void 0,yf=".",ga="'",vf="tokenizer";function wf(e,t={}){const n=t.location!==!1,o=bf(e),s=()=>o.index(),r=()=>lf(o.line(),o.column(),o.index()),i=r(),a=s(),l={currentType:14,offset:a,startLoc:i,endLoc:i,lastType:14,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:d}=t;function f(c,p,O,...F){const G=u();if(p.column+=O,p.offset+=O,d){const B=n?zo(G.startLoc,p):null,k=bn(c,B,{domain:vf,args:F});d(k)}}function h(c,p,O){c.endLoc=r(),c.currentType=p;const F={type:p};return n&&(F.loc=zo(c.startLoc,c.endLoc)),O!=null&&(F.value=O),F}const v=c=>h(c,14);function w(c,p){return c.currentChar()===p?(c.next(),p):(f(K.EXPECTED_TOKEN,r(),0,p),"")}function $(c){let p="";for(;c.currentPeek()===Mt||c.currentPeek()===We;)p+=c.currentPeek(),c.peek();return p}function R(c){const p=$(c);return c.skipToPeek(),p}function E(c){if(c===jt)return!1;const p=c.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function I(c){if(c===jt)return!1;const p=c.charCodeAt(0);return p>=48&&p<=57}function b(c,p){const{currentType:O}=p;if(O!==2)return!1;$(c);const F=E(c.currentPeek());return c.resetPeek(),F}function _(c,p){const{currentType:O}=p;if(O!==2)return!1;$(c);const F=c.currentPeek()==="-"?c.peek():c.currentPeek(),G=I(F);return c.resetPeek(),G}function N(c,p){const{currentType:O}=p;if(O!==2)return!1;$(c);const F=c.currentPeek()===ga;return c.resetPeek(),F}function S(c,p){const{currentType:O}=p;if(O!==8)return!1;$(c);const F=c.currentPeek()===".";return c.resetPeek(),F}function C(c,p){const{currentType:O}=p;if(O!==9)return!1;$(c);const F=E(c.currentPeek());return c.resetPeek(),F}function A(c,p){const{currentType:O}=p;if(!(O===8||O===12))return!1;$(c);const F=c.currentPeek()===":";return c.resetPeek(),F}function T(c,p){const{currentType:O}=p;if(O!==10)return!1;const F=()=>{const B=c.currentPeek();return B==="{"?E(c.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Mt||!B?!1:B===We?(c.peek(),F()):j(c,!1)},G=F();return c.resetPeek(),G}function q(c){$(c);const p=c.currentPeek()==="|";return c.resetPeek(),p}function oe(c){const p=$(c),O=c.currentPeek()==="%"&&c.peek()==="{";return c.resetPeek(),{isModulo:O,hasSpace:p.length>0}}function j(c,p=!0){const O=(G=!1,B="",k=!1)=>{const P=c.currentPeek();return P==="{"?B==="%"?!1:G:P==="@"||!P?B==="%"?!0:G:P==="%"?(c.peek(),O(G,"%",!0)):P==="|"?B==="%"||k?!0:!(B===Mt||B===We):P===Mt?(c.peek(),O(!0,Mt,k)):P===We?(c.peek(),O(!0,We,k)):!0},F=O();return p&&c.resetPeek(),F}function re(c,p){const O=c.currentChar();return O===jt?jt:p(O)?(c.next(),O):null}function Le(c){const p=c.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function yt(c){return re(c,Le)}function le(c){const p=c.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function te(c){return re(c,le)}function ce(c){const p=c.charCodeAt(0);return p>=48&&p<=57}function ze(c){return re(c,ce)}function vt(c){const p=c.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function Ae(c){return re(c,vt)}function Se(c){let p="",O="";for(;p=ze(c);)O+=p;return O}function qt(c){R(c);const p=c.currentChar();return p!=="%"&&f(K.EXPECTED_TOKEN,r(),0,p),c.next(),"%"}function zt(c){let p="";for(;;){const O=c.currentChar();if(O==="{"||O==="}"||O==="@"||O==="|"||!O)break;if(O==="%")if(j(c))p+=O,c.next();else break;else if(O===Mt||O===We)if(j(c))p+=O,c.next();else{if(q(c))break;p+=O,c.next()}else p+=O,c.next()}return p}function rn(c){R(c);let p="",O="";for(;p=te(c);)O+=p;return c.currentChar()===jt&&f(K.UNTERMINATED_CLOSING_BRACE,r(),0),O}function at(c){R(c);let p="";return c.currentChar()==="-"?(c.next(),p+=`-${Se(c)}`):p+=Se(c),c.currentChar()===jt&&f(K.UNTERMINATED_CLOSING_BRACE,r(),0),p}function Rt(c){return c!==ga&&c!==We}function Bt(c){R(c),w(c,"'");let p="",O="";for(;p=re(c,Rt);)p==="\\"?O+=Kt(c):O+=p;const F=c.currentChar();return F===We||F===jt?(f(K.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),F===We&&(c.next(),w(c,"'")),O):(w(c,"'"),O)}function Kt(c){const p=c.currentChar();switch(p){case"\\":case"'":return c.next(),`\\${p}`;case"u":return Qe(c,p,4);case"U":return Qe(c,p,6);default:return f(K.UNKNOWN_ESCAPE_SEQUENCE,r(),0,p),""}}function Qe(c,p,O){w(c,p);let F="";for(let G=0;G{const F=c.currentChar();return F==="{"||F==="%"||F==="@"||F==="|"||F==="("||F===")"||!F||F===Mt?O:(O+=F,c.next(),p(O))};return p("")}function L(c){R(c);const p=w(c,"|");return R(c),p}function D(c,p){let O=null;switch(c.currentChar()){case"{":return p.braceNest>=1&&f(K.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),c.next(),O=h(p,2,"{"),R(c),p.braceNest++,O;case"}":return p.braceNest>0&&p.currentType===2&&f(K.EMPTY_PLACEHOLDER,r(),0),c.next(),O=h(p,3,"}"),p.braceNest--,p.braceNest>0&&R(c),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),O;case"@":return p.braceNest>0&&f(K.UNTERMINATED_CLOSING_BRACE,r(),0),O=M(c,p)||v(p),p.braceNest=0,O;default:{let G=!0,B=!0,k=!0;if(q(c))return p.braceNest>0&&f(K.UNTERMINATED_CLOSING_BRACE,r(),0),O=h(p,1,L(c)),p.braceNest=0,p.inLinked=!1,O;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return f(K.UNTERMINATED_CLOSING_BRACE,r(),0),p.braceNest=0,U(c,p);if(G=b(c,p))return O=h(p,5,rn(c)),R(c),O;if(B=_(c,p))return O=h(p,6,at(c)),R(c),O;if(k=N(c,p))return O=h(p,7,Bt(c)),R(c),O;if(!G&&!B&&!k)return O=h(p,13,g(c)),f(K.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,O.value),R(c),O;break}}return O}function M(c,p){const{currentType:O}=p;let F=null;const G=c.currentChar();switch((O===8||O===9||O===12||O===10)&&(G===We||G===Mt)&&f(K.INVALID_LINKED_FORMAT,r(),0),G){case"@":return c.next(),F=h(p,8,"@"),p.inLinked=!0,F;case".":return R(c),c.next(),h(p,9,".");case":":return R(c),c.next(),h(p,10,":");default:return q(c)?(F=h(p,1,L(c)),p.braceNest=0,p.inLinked=!1,F):S(c,p)||A(c,p)?(R(c),M(c,p)):C(c,p)?(R(c),h(p,12,y(c))):T(c,p)?(R(c),G==="{"?D(c,p)||F:h(p,11,m(c))):(O===8&&f(K.INVALID_LINKED_FORMAT,r(),0),p.braceNest=0,p.inLinked=!1,U(c,p))}}function U(c,p){let O={type:14};if(p.braceNest>0)return D(c,p)||v(p);if(p.inLinked)return M(c,p)||v(p);switch(c.currentChar()){case"{":return D(c,p)||v(p);case"}":return f(K.UNBALANCED_CLOSING_BRACE,r(),0),c.next(),h(p,3,"}");case"@":return M(c,p)||v(p);default:{if(q(c))return O=h(p,1,L(c)),p.braceNest=0,p.inLinked=!1,O;const{isModulo:G,hasSpace:B}=oe(c);if(G)return B?h(p,0,zt(c)):h(p,4,qt(c));if(j(c))return h(p,0,zt(c));break}}return O}function W(){const{currentType:c,offset:p,startLoc:O,endLoc:F}=l;return l.lastType=c,l.lastOffset=p,l.lastStartLoc=O,l.lastEndLoc=F,l.offset=s(),l.startLoc=r(),o.currentChar()===jt?h(l,14):U(o,l)}return{nextToken:W,currentOffset:s,currentPosition:r,context:u}}const $f="parser",kf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Of(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Nf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(b,_,N,S,...C){const A=b.currentPosition();if(A.offset+=S,A.column+=S,n){const T=t?zo(N,A):null,q=bn(_,T,{domain:$f,args:C});n(q)}}function r(b,_,N,S,...C){const A=b.currentPosition();if(A.offset+=S,A.column+=S,o){const T=t?zo(N,A):null;o(df(_,T,C))}}function i(b,_,N){const S={type:b};return t&&(S.start=_,S.end=_,S.loc={start:N,end:N}),S}function a(b,_,N,S){t&&(b.end=_,b.loc&&(b.loc.end=N))}function l(b,_){const N=b.context(),S=i(3,N.offset,N.startLoc);return S.value=_,a(S,b.currentOffset(),b.currentPosition()),S}function u(b,_){const N=b.context(),{lastOffset:S,lastStartLoc:C}=N,A=i(5,S,C);return A.index=parseInt(_,10),b.nextToken(),a(A,b.currentOffset(),b.currentPosition()),A}function d(b,_,N){const S=b.context(),{lastOffset:C,lastStartLoc:A}=S,T=i(4,C,A);return T.key=_,N===!0&&(T.modulo=!0),b.nextToken(),a(T,b.currentOffset(),b.currentPosition()),T}function f(b,_){const N=b.context(),{lastOffset:S,lastStartLoc:C}=N,A=i(9,S,C);return A.value=_.replace(kf,Of),b.nextToken(),a(A,b.currentOffset(),b.currentPosition()),A}function h(b){const _=b.nextToken(),N=b.context(),{lastOffset:S,lastStartLoc:C}=N,A=i(8,S,C);return _.type!==12?(s(b,K.UNEXPECTED_EMPTY_LINKED_MODIFIER,N.lastStartLoc,0),A.value="",a(A,S,C),{nextConsumeToken:_,node:A}):(_.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,st(_)),A.value=_.value||"",a(A,b.currentOffset(),b.currentPosition()),{node:A})}function v(b,_){const N=b.context(),S=i(7,N.offset,N.startLoc);return S.value=_,a(S,b.currentOffset(),b.currentPosition()),S}function w(b){const _=b.context(),N=i(6,_.offset,_.startLoc);let S=b.nextToken();if(S.type===9){const C=h(b);N.modifier=C.node,S=C.nextConsumeToken||b.nextToken()}switch(S.type!==10&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(S)),S=b.nextToken(),S.type===2&&(S=b.nextToken()),S.type){case 11:S.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(S)),N.key=v(b,S.value||"");break;case 5:S.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(S)),N.key=d(b,S.value||"");break;case 6:S.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(S)),N.key=u(b,S.value||"");break;case 7:S.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(S)),N.key=f(b,S.value||"");break;default:{s(b,K.UNEXPECTED_EMPTY_LINKED_KEY,_.lastStartLoc,0);const C=b.context(),A=i(7,C.offset,C.startLoc);return A.value="",a(A,C.offset,C.startLoc),N.key=A,a(N,C.offset,C.startLoc),{nextConsumeToken:S,node:N}}}return a(N,b.currentOffset(),b.currentPosition()),{node:N}}function $(b){const _=b.context(),N=_.currentType===1?b.currentOffset():_.offset,S=_.currentType===1?_.endLoc:_.startLoc,C=i(2,N,S);C.items=[];let A=null,T=null;do{const j=A||b.nextToken();switch(A=null,j.type){case 0:j.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(j)),C.items.push(l(b,j.value||""));break;case 6:j.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(j)),C.items.push(u(b,j.value||""));break;case 4:T=!0;break;case 5:j.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(j)),C.items.push(d(b,j.value||"",!!T)),T&&(r(b,Wr.USE_MODULO_SYNTAX,_.lastStartLoc,0,st(j)),T=null);break;case 7:j.value==null&&s(b,K.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,st(j)),C.items.push(f(b,j.value||""));break;case 8:{const re=w(b);C.items.push(re.node),A=re.nextConsumeToken||null;break}}}while(_.currentType!==14&&_.currentType!==1);const q=_.currentType===1?_.lastOffset:b.currentOffset(),oe=_.currentType===1?_.lastEndLoc:b.currentPosition();return a(C,q,oe),C}function R(b,_,N,S){const C=b.context();let A=S.items.length===0;const T=i(1,_,N);T.cases=[],T.cases.push(S);do{const q=$(b);A||(A=q.items.length===0),T.cases.push(q)}while(C.currentType!==14);return A&&s(b,K.MUST_HAVE_MESSAGES_IN_PLURAL,N,0),a(T,b.currentOffset(),b.currentPosition()),T}function E(b){const _=b.context(),{offset:N,startLoc:S}=_,C=$(b);return _.currentType===14?C:R(b,N,S,C)}function I(b){const _=wf(b,pa({},e)),N=_.context(),S=i(0,N.offset,N.startLoc);return t&&S.loc&&(S.loc.source=b),S.body=E(_),e.onCacheKey&&(S.cacheKey=e.onCacheKey(b)),N.currentType!==14&&s(_,K.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,b[N.offset]||""),a(S,_.currentOffset(),_.currentPosition()),S}return{parse:I}}function st(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 Cf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function ha(e,t){for(let n=0;n_a(n)),e}function _a(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;ni;function l($,R){i.code+=$}function u($,R=!0){const E=R?o:"";l(s?E+" ".repeat($):E)}function d($=!0){const R=++i.indentLevel;$&&u(R)}function f($=!0){const R=--i.indentLevel;$&&u(R)}function h(){u(i.indentLevel)}return{context:a,push:l,indent:d,deindent:f,newline:h,helper:$=>`_${$}`,needIndent:()=>i.needIndent}}function Sf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Ff(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const s=t.items.length;for(let r=0;r1){e.push(`${n("plural")}([`),e.indent(o());const s=t.cases.length;for(let r=0;r{const n=da(t.mode)?t.mode:"normal",o=da(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,r=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=Lf(e,{filename:o,breakLineCode:s,needIndent:r});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(r),i.length>0&&(a.push(`const { ${fa(i.map(d=>`${d}: _${d}`),", ")} } = ctx`),a.newline()),a.push("return "),vn(a,e),a.deindent(r),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function Rf(e,t={}){const n=pa({},t),o=!!n.jit,s=!!n.minify,r=n.optimize==null?!0:n.optimize,a=Nf(n).parse(e);return o?(r&&Ef(a),s&&yn(a),{ast:a,code:""}):(Af(a,n),Df(a,n))}/*! + */function ff(e,t,n){return{line:e,column:t,offset:n}}function Jo(e,t,n){return{start:e,end:t}}const hf=/\{([0-9a-zA-Z]+)\}/g;function ma(e,...t){return t.length===1&&gf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(hf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const _a=Object.assign,ba=e=>typeof e=="string",gf=e=>e!==null&&typeof e=="object";function ya(e,t=""){return e.reduce((n,o,s)=>s===0?n+o:n+t+o,"")}const Vr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mf={[Vr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function _f(e,t,...n){const o=ma(mf[e],...n||[]),s={message:String(o),code:e};return t&&(s.location=t),s}const ee={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},bf={[ee.EXPECTED_TOKEN]:"Expected token: '{0}'",[ee.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ee.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ee.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ee.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ee.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ee.EMPTY_PLACEHOLDER]:"Empty placeholder",[ee.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ee.INVALID_LINKED_FORMAT]:"Invalid linked format",[ee.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ee.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ee.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ee.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ee.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ee.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Nn(e,t,n={}){const{domain:o,messages:s,args:r}=n,i=ma((s||bf)[e]||"",...r||[]),a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=o,a}function yf(e){throw e}const Bt=" ",vf="\r",Ye=` +`,wf="\u2028",kf="\u2029";function $f(e){const t=e;let n=0,o=1,s=1,r=0;const i=N=>t[N]===vf&&t[N+1]===Ye,a=N=>t[N]===Ye,l=N=>t[N]===kf,c=N=>t[N]===wf,u=N=>i(N)||a(N)||l(N)||c(N),f=()=>n,h=()=>o,y=()=>s,w=()=>r,k=N=>i(N)||l(N)||c(N)?Ye:t[N],M=()=>k(n),T=()=>k(n+r);function S(){return r=0,u(n)&&(o++,s=0),i(n)&&n++,n++,s++,t[n]}function b(){return i(n+r)&&r++,r++,t[n+r]}function m(){n=0,o=1,s=1,r=0}function $(N=0){r=N}function O(){const N=n+r;for(;N!==n;)S();r=0}return{index:f,line:h,column:y,peekOffset:w,charAt:k,currentChar:M,currentPeek:T,next:S,peek:b,reset:m,resetPeek:$,skipToPeek:O}}const zt=void 0,Of=".",va="'",Nf="tokenizer";function Cf(e,t={}){const n=t.location!==!1,o=$f(e),s=()=>o.index(),r=()=>ff(o.line(),o.column(),o.index()),i=r(),a=s(),l={currentType:14,offset:a,startLoc:i,endLoc:i,lastType:14,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,d,E,...F){const G=c();if(d.column+=E,d.offset+=E,u){const R=n?Jo(G.startLoc,d):null,A=Nn(p,R,{domain:Nf,args:F});u(A)}}function h(p,d,E){p.endLoc=r(),p.currentType=d;const F={type:d};return n&&(F.loc=Jo(p.startLoc,p.endLoc)),E!=null&&(F.value=E),F}const y=p=>h(p,14);function w(p,d){return p.currentChar()===d?(p.next(),d):(f(ee.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===Ye;)d+=p.currentPeek(),p.peek();return d}function M(p){const d=k(p);return p.skipToPeek(),d}function T(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function S(p){if(p===zt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function b(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const F=T(p.currentPeek());return p.resetPeek(),F}function m(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const F=p.currentPeek()==="-"?p.peek():p.currentPeek(),G=S(F);return p.resetPeek(),G}function $(p,d){const{currentType:E}=d;if(E!==2)return!1;k(p);const F=p.currentPeek()===va;return p.resetPeek(),F}function O(p,d){const{currentType:E}=d;if(E!==8)return!1;k(p);const F=p.currentPeek()===".";return p.resetPeek(),F}function N(p,d){const{currentType:E}=d;if(E!==9)return!1;k(p);const F=T(p.currentPeek());return p.resetPeek(),F}function C(p,d){const{currentType:E}=d;if(!(E===8||E===12))return!1;k(p);const F=p.currentPeek()===":";return p.resetPeek(),F}function L(p,d){const{currentType:E}=d;if(E!==10)return!1;const F=()=>{const R=p.currentPeek();return R==="{"?T(p.peek()):R==="@"||R==="%"||R==="|"||R===":"||R==="."||R===Bt||!R?!1:R===Ye?(p.peek(),F()):q(p,!1)},G=F();return p.resetPeek(),G}function X(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function re(p){const d=k(p),E=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:E,hasSpace:d.length>0}}function q(p,d=!0){const E=(G=!1,R="",A=!1)=>{const x=p.currentPeek();return x==="{"?R==="%"?!1:G:x==="@"||!x?R==="%"?!0:G:x==="%"?(p.peek(),E(G,"%",!0)):x==="|"?R==="%"||A?!0:!(R===Bt||R===Ye):x===Bt?(p.peek(),E(!0,Bt,A)):x===Ye?(p.peek(),E(!0,Ye,A)):!0},F=E();return d&&p.resetPeek(),F}function ie(p,d){const E=p.currentChar();return E===zt?zt:d(E)?(p.next(),E):null}function _e(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function z(p){return ie(p,_e)}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 H(p){return ie(p,W)}function ae(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Ee(p){return ie(p,ae)}function Ot(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Fe(p){return ie(p,Ot)}function Me(p){let d="",E="";for(;d=Ee(p);)E+=d;return E}function Qt(p){M(p);const d=p.currentChar();return d!=="%"&&f(ee.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function en(p){let d="";for(;;){const E=p.currentChar();if(E==="{"||E==="}"||E==="@"||E==="|"||!E)break;if(E==="%")if(q(p))d+=E,p.next();else break;else if(E===Bt||E===Ye)if(q(p))d+=E,p.next();else{if(X(p))break;d+=E,p.next()}else d+=E,p.next()}return d}function pn(p){M(p);let d="",E="";for(;d=H(p);)E+=d;return p.currentChar()===zt&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),E}function ct(p){M(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Me(p)}`):d+=Me(p),p.currentChar()===zt&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Wt(p){return p!==va&&p!==Ye}function Ut(p){M(p),w(p,"'");let d="",E="";for(;d=ie(p,Wt);)d==="\\"?E+=tn(p):E+=d;const F=p.currentChar();return F===Ye||F===zt?(f(ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),F===Ye&&(p.next(),w(p,"'")),E):(w(p,"'"),E)}function tn(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return nt(p,d,4);case"U":return nt(p,d,6);default:return f(ee.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function nt(p,d,E){w(p,d);let F="";for(let G=0;G{const F=p.currentChar();return F==="{"||F==="%"||F==="@"||F==="|"||F==="("||F===")"||!F||F===Bt?E:(E+=F,p.next(),d(E))};return d("")}function I(p){M(p);const d=w(p,"|");return M(p),d}function B(p,d){let E=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&f(ee.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),E=h(d,2,"{"),M(p),d.braceNest++,E;case"}":return d.braceNest>0&&d.currentType===2&&f(ee.EMPTY_PLACEHOLDER,r(),0),p.next(),E=h(d,3,"}"),d.braceNest--,d.braceNest>0&&M(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),E;case"@":return d.braceNest>0&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),E=D(p,d)||y(d),d.braceNest=0,E;default:{let G=!0,R=!0,A=!0;if(X(p))return d.braceNest>0&&f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(ee.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,j(p,d);if(G=b(p,d))return E=h(d,5,pn(p)),M(p),E;if(R=m(p,d))return E=h(d,6,ct(p)),M(p),E;if(A=$(p,d))return E=h(d,7,Ut(p)),M(p),E;if(!G&&!R&&!A)return E=h(d,13,g(p)),f(ee.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,E.value),M(p),E;break}}return E}function D(p,d){const{currentType:E}=d;let F=null;const G=p.currentChar();switch((E===8||E===9||E===12||E===10)&&(G===Ye||G===Bt)&&f(ee.INVALID_LINKED_FORMAT,r(),0),G){case"@":return p.next(),F=h(d,8,"@"),d.inLinked=!0,F;case".":return M(p),p.next(),h(d,9,".");case":":return M(p),p.next(),h(d,10,":");default:return X(p)?(F=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,F):O(p,d)||C(p,d)?(M(p),D(p,d)):N(p,d)?(M(p),h(d,12,v(p))):L(p,d)?(M(p),G==="{"?B(p,d)||F:h(d,11,_(p))):(E===8&&f(ee.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,j(p,d))}}function j(p,d){let E={type:14};if(d.braceNest>0)return B(p,d)||y(d);if(d.inLinked)return D(p,d)||y(d);switch(p.currentChar()){case"{":return B(p,d)||y(d);case"}":return f(ee.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),h(d,3,"}");case"@":return D(p,d)||y(d);default:{if(X(p))return E=h(d,1,I(p)),d.braceNest=0,d.inLinked=!1,E;const{isModulo:G,hasSpace:R}=re(p);if(G)return R?h(d,0,en(p)):h(d,4,Qt(p));if(q(p))return h(d,0,en(p));break}}return E}function U(){const{currentType:p,offset:d,startLoc:E,endLoc:F}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=E,l.lastEndLoc=F,l.offset=s(),l.startLoc=r(),o.currentChar()===zt?h(l,14):j(o,l)}return{nextToken:U,currentOffset:s,currentPosition:r,context:c}}const Af="parser",Ef=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Tf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Lf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function s(b,m,$,O,...N){const C=b.currentPosition();if(C.offset+=O,C.column+=O,n){const L=t?Jo($,C):null,X=Nn(m,L,{domain:Af,args:N});n(X)}}function r(b,m,$,O,...N){const C=b.currentPosition();if(C.offset+=O,C.column+=O,o){const L=t?Jo($,C):null;o(_f(m,L,N))}}function i(b,m,$){const O={type:b};return t&&(O.start=m,O.end=m,O.loc={start:$,end:$}),O}function a(b,m,$,O){t&&(b.end=m,b.loc&&(b.loc.end=$))}function l(b,m){const $=b.context(),O=i(3,$.offset,$.startLoc);return O.value=m,a(O,b.currentOffset(),b.currentPosition()),O}function c(b,m){const $=b.context(),{lastOffset:O,lastStartLoc:N}=$,C=i(5,O,N);return C.index=parseInt(m,10),b.nextToken(),a(C,b.currentOffset(),b.currentPosition()),C}function u(b,m,$){const O=b.context(),{lastOffset:N,lastStartLoc:C}=O,L=i(4,N,C);return L.key=m,$===!0&&(L.modulo=!0),b.nextToken(),a(L,b.currentOffset(),b.currentPosition()),L}function f(b,m){const $=b.context(),{lastOffset:O,lastStartLoc:N}=$,C=i(9,O,N);return C.value=m.replace(Ef,Tf),b.nextToken(),a(C,b.currentOffset(),b.currentPosition()),C}function h(b){const m=b.nextToken(),$=b.context(),{lastOffset:O,lastStartLoc:N}=$,C=i(8,O,N);return m.type!==12?(s(b,ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,$.lastStartLoc,0),C.value="",a(C,O,N),{nextConsumeToken:m,node:C}):(m.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,at(m)),C.value=m.value||"",a(C,b.currentOffset(),b.currentPosition()),{node:C})}function y(b,m){const $=b.context(),O=i(7,$.offset,$.startLoc);return O.value=m,a(O,b.currentOffset(),b.currentPosition()),O}function w(b){const m=b.context(),$=i(6,m.offset,m.startLoc);let O=b.nextToken();if(O.type===9){const N=h(b);$.modifier=N.node,O=N.nextConsumeToken||b.nextToken()}switch(O.type!==10&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(O)),O=b.nextToken(),O.type===2&&(O=b.nextToken()),O.type){case 11:O.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(O)),$.key=y(b,O.value||"");break;case 5:O.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(O)),$.key=u(b,O.value||"");break;case 6:O.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(O)),$.key=c(b,O.value||"");break;case 7:O.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(O)),$.key=f(b,O.value||"");break;default:{s(b,ee.UNEXPECTED_EMPTY_LINKED_KEY,m.lastStartLoc,0);const N=b.context(),C=i(7,N.offset,N.startLoc);return C.value="",a(C,N.offset,N.startLoc),$.key=C,a($,N.offset,N.startLoc),{nextConsumeToken:O,node:$}}}return a($,b.currentOffset(),b.currentPosition()),{node:$}}function k(b){const m=b.context(),$=m.currentType===1?b.currentOffset():m.offset,O=m.currentType===1?m.endLoc:m.startLoc,N=i(2,$,O);N.items=[];let C=null,L=null;do{const q=C||b.nextToken();switch(C=null,q.type){case 0:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(q)),N.items.push(l(b,q.value||""));break;case 6:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(q)),N.items.push(c(b,q.value||""));break;case 4:L=!0;break;case 5:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(q)),N.items.push(u(b,q.value||"",!!L)),L&&(r(b,Vr.USE_MODULO_SYNTAX,m.lastStartLoc,0,at(q)),L=null);break;case 7:q.value==null&&s(b,ee.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,at(q)),N.items.push(f(b,q.value||""));break;case 8:{const ie=w(b);N.items.push(ie.node),C=ie.nextConsumeToken||null;break}}}while(m.currentType!==14&&m.currentType!==1);const X=m.currentType===1?m.lastOffset:b.currentOffset(),re=m.currentType===1?m.lastEndLoc:b.currentPosition();return a(N,X,re),N}function M(b,m,$,O){const N=b.context();let C=O.items.length===0;const L=i(1,m,$);L.cases=[],L.cases.push(O);do{const X=k(b);C||(C=X.items.length===0),L.cases.push(X)}while(N.currentType!==14);return C&&s(b,ee.MUST_HAVE_MESSAGES_IN_PLURAL,$,0),a(L,b.currentOffset(),b.currentPosition()),L}function T(b){const m=b.context(),{offset:$,startLoc:O}=m,N=k(b);return m.currentType===14?N:M(b,$,O,N)}function S(b){const m=Cf(b,_a({},e)),$=m.context(),O=i(0,$.offset,$.startLoc);return t&&O.loc&&(O.loc.source=b),O.body=T(m),e.onCacheKey&&(O.cacheKey=e.onCacheKey(b)),$.currentType!==14&&s(m,ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,b[$.offset]||""),a(O,m.currentOffset(),m.currentPosition()),O}return{parse:S}}function at(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 Sf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function wa(e,t){for(let n=0;nka(n)),e}function ka(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;ni;function l(k,M){i.code+=k}function c(k,M=!0){const T=M?o:"";l(s?T+" ".repeat(k):T)}function u(k=!0){const M=++i.indentLevel;k&&c(M)}function f(k=!0){const M=--i.indentLevel;k&&c(M)}function h(){c(i.indentLevel)}return{context:a,push:l,indent:u,deindent:f,newline:h,helper:k=>`_${k}`,needIndent:()=>i.needIndent}}function Df(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),An(e,t.key),t.modifier?(e.push(", "),An(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Bf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const s=t.items.length;for(let r=0;r1){e.push(`${n("plural")}([`),e.indent(o());const s=t.cases.length;for(let r=0;r{const n=ba(t.mode)?t.mode:"normal",o=ba(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,r=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=Mf(e,{filename:o,breakLineCode:s,needIndent:r});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(r),i.length>0&&(a.push(`const { ${ya(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),a.newline()),a.push("return "),An(a,e),a.deindent(r),a.push("}"),delete e.helpers;const{code:l,map:c}=a.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function jf(e,t={}){const n=_a({},t),o=!!n.jit,s=!!n.minify,r=n.optimize==null?!0:n.optimize,a=Lf(n).parse(e);return o?(r&&Ff(a),s&&Cn(a),{ast:a,code:""}):(If(a,n),Uf(a,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Bf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Pt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Pt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Pt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function mt(e){return ae(e)&&Gr(e)===0&&(rt(e,"b")||rt(e,"body"))}const ma=["b","body"];function xf(e){return Vt(e,ma)}const ba=["c","cases"];function Wf(e){return Vt(e,ba,[])}const ya=["s","static"];function Uf(e){return Vt(e,ya)}const va=["i","items"];function Gf(e){return Vt(e,va,[])}const wa=["t","type"];function Gr(e){return Vt(e,wa)}const $a=["v","value"];function Ko(e,t){const n=Vt(e,$a);if(n!=null)return n;throw zn(t)}const ka=["m","modifier"];function Yf(e){return Vt(e,ka)}const Oa=["k","key"];function jf(e){const t=Vt(e,Oa);if(t)return t;throw zn(6)}function Vt(e,t,n){for(let o=0;o{i===void 0?i=a:i+=a},h[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},h[2]=()=>{h[0](),s++},h[3]=()=>{if(s>0)s--,o=4,h[0]();else{if(s=0,i===void 0||(i=Kf(i),i===!1))return!1;h[1]()}};function v(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,a="\\"+w,h[0](),!0}for(;o!==null;)if(n++,r=e[n],!(r==="\\"&&v())){if(l=zf(r),f=Ht[o],u=f[l]||f.l||8,u===8||(o=u[0],u[1]!==void 0&&(d=h[u[1]],d&&(a=r,d()===!1))))return;if(o===7)return t}}const Ca=new Map;function Jf(e,t){return ae(e)?e[t]:null}function Zf(e,t){if(!ae(e))return null;let n=Ca.get(t);if(n||(n=Xf(t),n&&Ca.set(t,n)),!n)return null;const o=n.length;let s=e,r=0;for(;re,eg=e=>"",tg="text",ng=e=>e.length===0?"":af(e),og=sf;function Aa(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function rg(e){const t=Oe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Oe(e.named.count)||Oe(e.named.n))?Oe(e.named.count)?e.named.count:Oe(e.named.n)?e.named.n:t:t}function sg(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ig(e={}){const t=e.locale,n=rg(e),o=ae(e.pluralRules)&&Y(t)&&me(e.pluralRules[t])?e.pluralRules[t]:Aa,s=ae(e.pluralRules)&&Y(t)&&me(e.pluralRules[t])?Aa:void 0,r=E=>E[o(n,E.length,s)],i=e.list||[],a=E=>i[E],l=e.named||ge();Oe(e.pluralIndex)&&sg(n,l);const u=E=>l[E];function d(E){const I=me(e.messages)?e.messages(E):ae(e.messages)?e.messages[E]:!1;return I||(e.parent?e.parent.message(E):eg)}const f=E=>e.modifiers?e.modifiers[E]:Qf,h=Q(e.processor)&&me(e.processor.normalize)?e.processor.normalize:ng,v=Q(e.processor)&&me(e.processor.interpolate)?e.processor.interpolate:og,w=Q(e.processor)&&Y(e.processor.type)?e.processor.type:tg,R={list:a,named:u,plural:r,linked:(E,...I)=>{const[b,_]=I;let N="text",S="";I.length===1?ae(b)?(S=b.modifier||S,N=b.type||N):Y(b)&&(S=b||S):I.length===2&&(Y(b)&&(S=b||S),Y(_)&&(N=_||N));const C=d(E)(R),A=N==="vnode"&&ve(C)&&S?C[0]:C;return S?f(S)(A,N):A},message:d,type:w,interpolate:v,normalize:h,values:Pe(ge(),i,l)};return R}let Kn=null;function ag(e){Kn=e}function lg(e,t,n){Kn&&Kn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const cg=ug("function:translate");function ug(e){return t=>Kn&&Kn.emit(e,t)}const pg=Wr.__EXTEND_POINT__,nn=Vo(pg),dg={FALLBACK_TO_TRANSLATE:nn(),CANNOT_FORMAT_NUMBER:nn(),FALLBACK_TO_NUMBER_FORMAT:nn(),CANNOT_FORMAT_DATE:nn(),FALLBACK_TO_DATE_FORMAT:nn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:nn(),__EXTEND_POINT__:nn()},Ea=K.__EXTEND_POINT__,on=Vo(Ea),it={INVALID_ARGUMENT:Ea,INVALID_DATE_ARGUMENT:on(),INVALID_ISO_DATE_ARGUMENT:on(),NOT_SUPPORT_NON_STRING_MESSAGE:on(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:on(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:on(),NOT_SUPPORT_LOCALE_TYPE:on(),__EXTEND_POINT__:on()};function bt(e){return bn(e,null,void 0)}function Yr(e,t){return t.locale!=null?Ta(t.locale):Ta(e.locale)}let jr;function Ta(e){if(Y(e))return e;if(me(e)){if(e.resolvedOnce&&jr!=null)return jr;if(e.constructor.name==="Function"){const t=e();if(rf(t))throw bt(it.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return jr=t}else throw bt(it.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw bt(it.NOT_SUPPORT_LOCALE_TYPE)}function fg(e,t,n){return[...new Set([n,...ve(t)?t:ae(t)?Object.keys(t):Y(t)?[t]:[n]])]}function Ia(e,t,n){const o=Y(n)?n:wn,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(o);if(!r){r=[];let i=[n];for(;ve(i);)i=La(r,i,t);const a=ve(t)||!Q(t)?t:t.default?t.default:null;i=Y(a)?[a]:a,ve(i)&&La(r,i,!1),s.__localeChainCache.set(o,r)}return r}function La(e,t,n){let o=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function mg(){return{upper:(e,t)=>t==="text"&&Y(e)?e.toUpperCase():t==="vnode"&&ae(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Y(e)?e.toLowerCase():t==="vnode"&&ae(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Y(e)?Fa(e):t==="vnode"&&ae(e)&&"__v_isVNode"in e?Fa(e.children):e}}let Pa;function Ma(e){Pa=e}let Da;function bg(e){Da=e}let Ra;function yg(e){Ra=e}let Ba=null;const vg=e=>{Ba=e},wg=()=>Ba;let xa=null;const Wa=e=>{xa=e},$g=()=>xa;let Ua=0;function kg(e={}){const t=me(e.onWarn)?e.onWarn:Jd,n=Y(e.version)?e.version:_g,o=Y(e.locale)||me(e.locale)?e.locale:wn,s=me(o)?wn:o,r=ve(e.fallbackLocale)||Q(e.fallbackLocale)||Y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=Q(e.messages)?e.messages:Vr(s),a=Q(e.datetimeFormats)?e.datetimeFormats:Vr(s),l=Q(e.numberFormats)?e.numberFormats:Vr(s),u=Pe(ge(),e.modifiers,mg()),d=e.pluralRules||ge(),f=me(e.missing)?e.missing:null,h=se(e.missingWarn)||Yt(e.missingWarn)?e.missingWarn:!0,v=se(e.fallbackWarn)||Yt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,$=!!e.unresolving,R=me(e.postTranslation)?e.postTranslation:null,E=Q(e.processor)?e.processor:null,I=se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,_=me(e.messageCompiler)?e.messageCompiler:Pa,N=me(e.messageResolver)?e.messageResolver:Da||Jf,S=me(e.localeFallbacker)?e.localeFallbacker:Ra||fg,C=ae(e.fallbackContext)?e.fallbackContext:void 0,A=e,T=ae(A.__datetimeFormatters)?A.__datetimeFormatters:new Map,q=ae(A.__numberFormatters)?A.__numberFormatters:new Map,oe=ae(A.__meta)?A.__meta:{};Ua++;const j={version:n,cid:Ua,locale:o,fallbackLocale:r,messages:i,modifiers:u,pluralRules:d,missing:f,missingWarn:h,fallbackWarn:v,fallbackFormat:w,unresolving:$,postTranslation:R,processor:E,warnHtmlMessage:I,escapeParameter:b,messageCompiler:_,messageResolver:N,localeFallbacker:S,fallbackContext:C,onWarn:t,__meta:oe};return j.datetimeFormats=a,j.numberFormats=l,j.__datetimeFormatters=T,j.__numberFormatters=q,__INTLIFY_PROD_DEVTOOLS__&&lg(j,n,oe),j}const Vr=e=>({[e]:ge()});function Hr(e,t,n,o,s){const{missing:r,onWarn:i}=e;if(r!==null){const a=r(e,n,t,s);return Y(a)?a:t}else return t}function Xn(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Og(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ng(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oCg(n,e)}function Cg(e,t){const n=xf(t);if(n==null)throw zn(0);if(Gr(n)===1){const r=Wf(n);return e.plural(r.reduce((i,a)=>[...i,Ga(e,a)],[]))}else return Ga(e,n)}function Ga(e,t){const n=Uf(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Gf(t).reduce((s,r)=>[...s,zr(e,r)],[]);return e.normalize(o)}}function zr(e,t){const n=Gr(t);switch(n){case 3:return Ko(t,n);case 9:return Ko(t,n);case 4:{const o=t;if(rt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(rt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw zn(n)}case 5:{const o=t;if(rt(o,"i")&&Oe(o.i))return e.interpolate(e.list(o.i));if(rt(o,"index")&&Oe(o.index))return e.interpolate(e.list(o.index));throw zn(n)}case 6:{const o=t,s=Yf(o),r=jf(o);return e.linked(zr(e,r),s?zr(e,s):void 0,e.type)}case 7:return Ko(t,n);case 8:return Ko(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Ya=e=>e;let $n=ge();function ja(e,t={}){let n=!1;const o=t.onError||gf;return t.onError=s=>{n=!0,o(s)},{...Rf(e,t),detectError:n}}const Ag=(e,t)=>{if(!Y(e))throw bt(it.NOT_SUPPORT_NON_STRING_MESSAGE);{se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ya)(e),s=$n[o];if(s)return s;const{code:r,detectError:i}=ja(e,t),a=new Function(`return ${r}`)();return i?a:$n[o]=a}};function Eg(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Y(e)){se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ya)(e),s=$n[o];if(s)return s;const{ast:r,detectError:i}=ja(e,{...t,location:!1,jit:!0}),a=qr(r);return i?a:$n[o]=a}else{const n=e.cacheKey;if(n){const o=$n[n];return o||($n[n]=qr(e))}else return qr(e)}}const Va=()=>"",Ze=e=>me(e);function Ha(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:s,messageCompiler:r,fallbackLocale:i,messages:a}=e,[l,u]=Kr(...t),d=se(u.missingWarn)?u.missingWarn:e.missingWarn,f=se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,h=se(u.escapeParameter)?u.escapeParameter:e.escapeParameter,v=!!u.resolvedMessage,w=Y(u.default)||se(u.default)?se(u.default)?r?l:()=>l:u.default:n?r?l:()=>l:"",$=n||w!=="",R=Yr(e,u);h&&Tg(u);let[E,I,b]=v?[l,R,a[R]||ge()]:qa(e,l,R,i,f,d),_=E,N=l;if(!v&&!(Y(_)||mt(_)||Ze(_))&&$&&(_=w,N=_),!v&&(!(Y(_)||mt(_)||Ze(_))||!Y(I)))return s?Xo:l;let S=!1;const C=()=>{S=!0},A=Ze(_)?_:za(e,l,I,_,N,C);if(S)return _;const T=Sg(e,I,b,u),q=ig(T),oe=Ig(e,A,q);let j=o?o(oe,l):oe;if(h&&Y(j)&&(j=nf(j)),__INTLIFY_PROD_DEVTOOLS__){const re={timestamp:Date.now(),key:Y(l)?l:Ze(_)?_.key:"",locale:I||(Ze(_)?_.locale:""),format:Y(_)?_:Ze(_)?_.source:"",message:j};re.meta=Pe({},e.__meta,wg()||{}),cg(re)}return j}function Tg(e){ve(e.list)?e.list=e.list.map(t=>Y(t)?ia(t):t):ae(e.named)&&Object.keys(e.named).forEach(t=>{Y(e.named[t])&&(e.named[t]=ia(e.named[t]))})}function qa(e,t,n,o,s,r){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:u}=e,d=u(e,o,n);let f=ge(),h,v=null;const w="translate";for(let $=0;$o;return u.locale=n,u.key=t,u}const l=i(o,Lg(e,n,s,o,a,r));return l.locale=n,l.key=t,l.source=o,l}function Ig(e,t,n){return t(n)}function Kr(...e){const[t,n,o]=e,s=ge();if(!Y(t)&&!Oe(t)&&!Ze(t)&&!mt(t))throw bt(it.INVALID_ARGUMENT);const r=Oe(t)?String(t):(Ze(t),t);return Oe(n)?s.plural=n:Y(n)?s.default=n:Q(n)&&!jo(n)?s.named=n:ve(n)&&(s.list=n),Oe(o)?s.plural=o:Y(o)?s.default=o:Q(o)&&Pe(s,o),[r,s]}function Lg(e,t,n,o,s,r){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw r&&r(i),i},onCacheKey:i=>Zd(t,n,i)}}function Sg(e,t,n,o){const{modifiers:s,pluralRules:r,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:d}=e,h={locale:t,modifiers:s,pluralRules:r,messages:v=>{let w=i(n,v);if(w==null&&d){const[,,$]=qa(d,v,t,a,l,u);w=i($,v)}if(Y(w)||mt(w)){let $=!1;const E=za(e,v,t,w,v,()=>{$=!0});return $?Va:E}else return Ze(w)?w:Va}};return e.processor&&(h.processor=e.processor),o.list&&(h.list=o.list),o.named&&(h.named=o.named),Oe(o.plural)&&(h.pluralIndex=o.plural),h}function Ka(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__datetimeFormatters:a}=e,[l,u,d,f]=Xr(...t),h=se(d.missingWarn)?d.missingWarn:e.missingWarn;se(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const v=!!d.part,w=Yr(e,d),$=i(e,s,w);if(!Y(l)||l==="")return new Intl.DateTimeFormat(w,f).format(u);let R={},E,I=null;const b="datetime format";for(let S=0;S<$.length&&(E=$[S],R=n[E]||{},I=R[l],!Q(I));S++)Hr(e,l,E,h,b);if(!Q(I)||!Y(E))return o?Xo:l;let _=`${E}__${l}`;jo(f)||(_=`${_}__${JSON.stringify(f)}`);let N=a.get(_);return N||(N=new Intl.DateTimeFormat(E,Pe({},I,f)),a.set(_,N)),v?N.formatToParts(u):N.format(u)}const Xa=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Xr(...e){const[t,n,o,s]=e,r=ge();let i=ge(),a;if(Y(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw bt(it.INVALID_ISO_DATE_ARGUMENT);const u=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();a=new Date(u);try{a.toISOString()}catch{throw bt(it.INVALID_ISO_DATE_ARGUMENT)}}else if(ef(t)){if(isNaN(t.getTime()))throw bt(it.INVALID_DATE_ARGUMENT);a=t}else if(Oe(t))a=t;else throw bt(it.INVALID_ARGUMENT);return Y(n)?r.key=n:Q(n)&&Object.keys(n).forEach(l=>{Xa.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:Q(o)&&(i=o),Q(s)&&(i=s),[r.key||"",a,r,i]}function Ja(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__datetimeFormatters.has(r)&&o.__datetimeFormatters.delete(r)}}function Za(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__numberFormatters:a}=e,[l,u,d,f]=Jr(...t),h=se(d.missingWarn)?d.missingWarn:e.missingWarn;se(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const v=!!d.part,w=Yr(e,d),$=i(e,s,w);if(!Y(l)||l==="")return new Intl.NumberFormat(w,f).format(u);let R={},E,I=null;const b="number format";for(let S=0;S<$.length&&(E=$[S],R=n[E]||{},I=R[l],!Q(I));S++)Hr(e,l,E,h,b);if(!Q(I)||!Y(E))return o?Xo:l;let _=`${E}__${l}`;jo(f)||(_=`${_}__${JSON.stringify(f)}`);let N=a.get(_);return N||(N=new Intl.NumberFormat(E,Pe({},I,f)),a.set(_,N)),v?N.formatToParts(u):N.format(u)}const Qa=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Jr(...e){const[t,n,o,s]=e,r=ge();let i=ge();if(!Oe(t))throw bt(it.INVALID_ARGUMENT);const a=t;return Y(n)?r.key=n:Q(n)&&Object.keys(n).forEach(l=>{Qa.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:Q(o)&&(i=o),Q(s)&&(i=s),[r.key||"",a,r,i]}function el(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__numberFormatters.has(r)&&o.__numberFormatters.delete(r)}}Bf();/*! + */function Gf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function kt(e){return de(e)&&qr(e)===0&&(it(e,"b")||it(e,"body"))}const $a=["b","body"];function Yf(e){return Kt(e,$a)}const Oa=["c","cases"];function Vf(e){return Kt(e,Oa,[])}const Na=["s","static"];function Hf(e){return Kt(e,Na)}const Ca=["i","items"];function qf(e){return Kt(e,Ca,[])}const Aa=["t","type"];function qr(e){return Kt(e,Aa)}const Ea=["v","value"];function Zo(e,t){const n=Kt(e,Ea);if(n!=null)return n;throw eo(t)}const Ta=["m","modifier"];function zf(e){return Kt(e,Ta)}const La=["k","key"];function Kf(e){const t=Kt(e,La);if(t)return t;throw eo(6)}function Kt(e,t,n){for(let o=0;o{i===void 0?i=a:i+=a},h[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},h[2]=()=>{h[0](),s++},h[3]=()=>{if(s>0)s--,o=4,h[0]();else{if(s=0,i===void 0||(i=eh(i),i===!1))return!1;h[1]()}};function y(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,a="\\"+w,h[0](),!0}for(;o!==null;)if(n++,r=e[n],!(r==="\\"&&y())){if(l=Qf(r),f=Xt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=h[c[1]],u&&(a=r,u()===!1))))return;if(o===7)return t}}const Ia=new Map;function nh(e,t){return de(e)?e[t]:null}function oh(e,t){if(!de(e))return null;let n=Ia.get(t);if(n||(n=th(t),n&&Ia.set(t,n)),!n)return null;const o=n.length;let s=e,r=0;for(;re,sh=e=>"",ih="text",ah=e=>e.length===0?"":df(e),lh=pf;function Fa(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ch(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 uh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ph(e={}){const t=e.locale,n=ch(e),o=de(e.pluralRules)&&Y(t)&&ye(e.pluralRules[t])?e.pluralRules[t]:Fa,s=de(e.pluralRules)&&Y(t)&&ye(e.pluralRules[t])?Fa:void 0,r=T=>T[o(n,T.length,s)],i=e.list||[],a=T=>i[T],l=e.named||ge();Ae(e.pluralIndex)&&uh(n,l);const c=T=>l[T];function u(T){const S=ye(e.messages)?e.messages(T):de(e.messages)?e.messages[T]:!1;return S||(e.parent?e.parent.message(T):sh)}const f=T=>e.modifiers?e.modifiers[T]:rh,h=ne(e.processor)&&ye(e.processor.normalize)?e.processor.normalize:ah,y=ne(e.processor)&&ye(e.processor.interpolate)?e.processor.interpolate:lh,w=ne(e.processor)&&Y(e.processor.type)?e.processor.type:ih,M={list:a,named:c,plural:r,linked:(T,...S)=>{const[b,m]=S;let $="text",O="";S.length===1?de(b)?(O=b.modifier||O,$=b.type||$):Y(b)&&(O=b||O):S.length===2&&(Y(b)&&(O=b||O),Y(m)&&($=m||$));const N=u(T)(M),C=$==="vnode"&&Oe(N)&&O?N[0]:N;return O?f(O)(C,$):C},message:u,type:w,interpolate:y,normalize:h,values:Re(ge(),i,l)};return M}let to=null;function dh(e){to=e}function fh(e,t,n){to&&to.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const hh=gh("function:translate");function gh(e){return t=>to&&to.emit(e,t)}const mh=Vr.__EXTEND_POINT__,cn=zo(mh),_h={FALLBACK_TO_TRANSLATE:cn(),CANNOT_FORMAT_NUMBER:cn(),FALLBACK_TO_NUMBER_FORMAT:cn(),CANNOT_FORMAT_DATE:cn(),FALLBACK_TO_DATE_FORMAT:cn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:cn(),__EXTEND_POINT__:cn()},xa=ee.__EXTEND_POINT__,un=zo(xa),lt={INVALID_ARGUMENT:xa,INVALID_DATE_ARGUMENT:un(),INVALID_ISO_DATE_ARGUMENT:un(),NOT_SUPPORT_NON_STRING_MESSAGE:un(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:un(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:un(),NOT_SUPPORT_LOCALE_TYPE:un(),__EXTEND_POINT__:un()};function $t(e){return Nn(e,null,void 0)}function zr(e,t){return t.locale!=null?Pa(t.locale):Pa(e.locale)}let Kr;function Pa(e){if(Y(e))return e;if(ye(e)){if(e.resolvedOnce&&Kr!=null)return Kr;if(e.constructor.name==="Function"){const t=e();if(uf(t))throw $t(lt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Kr=t}else throw $t(lt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw $t(lt.NOT_SUPPORT_LOCALE_TYPE)}function bh(e,t,n){return[...new Set([n,...Oe(t)?t:de(t)?Object.keys(t):Y(t)?[t]:[n]])]}function Ma(e,t,n){const o=Y(n)?n:En,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(o);if(!r){r=[];let i=[n];for(;Oe(i);)i=Da(r,i,t);const a=Oe(t)||!ne(t)?t:t.default?t.default:null;i=Y(a)?[a]:a,Oe(i)&&Da(r,i,!1),s.__localeChainCache.set(o,r)}return r}function Da(e,t,n){let o=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function kh(){return{upper:(e,t)=>t==="text"&&Y(e)?e.toUpperCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Y(e)?e.toLowerCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Y(e)?Ra(e):t==="vnode"&&de(e)&&"__v_isVNode"in e?Ra(e.children):e}}let Wa;function Ua(e){Wa=e}let ja;function $h(e){ja=e}let Ga;function Oh(e){Ga=e}let Ya=null;const Nh=e=>{Ya=e},Ch=()=>Ya;let Va=null;const Ha=e=>{Va=e},Ah=()=>Va;let qa=0;function Eh(e={}){const t=ye(e.onWarn)?e.onWarn:nf,n=Y(e.version)?e.version:wh,o=Y(e.locale)||ye(e.locale)?e.locale:En,s=ye(o)?En:o,r=Oe(e.fallbackLocale)||ne(e.fallbackLocale)||Y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=ne(e.messages)?e.messages:Xr(s),a=ne(e.datetimeFormats)?e.datetimeFormats:Xr(s),l=ne(e.numberFormats)?e.numberFormats:Xr(s),c=Re(ge(),e.modifiers,kh()),u=e.pluralRules||ge(),f=ye(e.missing)?e.missing:null,h=le(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,y=le(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,k=!!e.unresolving,M=ye(e.postTranslation)?e.postTranslation:null,T=ne(e.processor)?e.processor:null,S=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,m=ye(e.messageCompiler)?e.messageCompiler:Wa,$=ye(e.messageResolver)?e.messageResolver:ja||nh,O=ye(e.localeFallbacker)?e.localeFallbacker:Ga||bh,N=de(e.fallbackContext)?e.fallbackContext:void 0,C=e,L=de(C.__datetimeFormatters)?C.__datetimeFormatters:new Map,X=de(C.__numberFormatters)?C.__numberFormatters:new Map,re=de(C.__meta)?C.__meta:{};qa++;const q={version:n,cid:qa,locale:o,fallbackLocale:r,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:h,fallbackWarn:y,fallbackFormat:w,unresolving:k,postTranslation:M,processor:T,warnHtmlMessage:S,escapeParameter:b,messageCompiler:m,messageResolver:$,localeFallbacker:O,fallbackContext:N,onWarn:t,__meta:re};return q.datetimeFormats=a,q.numberFormats=l,q.__datetimeFormatters=L,q.__numberFormatters=X,__INTLIFY_PROD_DEVTOOLS__&&fh(q,n,re),q}const Xr=e=>({[e]:ge()});function Jr(e,t,n,o,s){const{missing:r,onWarn:i}=e;if(r!==null){const a=r(e,n,t,s);return Y(a)?a:t}else return t}function no(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Th(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oSh(n,e)}function Sh(e,t){const n=Yf(t);if(n==null)throw eo(0);if(qr(n)===1){const r=Vf(n);return e.plural(r.reduce((i,a)=>[...i,za(e,a)],[]))}else return za(e,n)}function za(e,t){const n=Hf(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=qf(t).reduce((s,r)=>[...s,Qr(e,r)],[]);return e.normalize(o)}}function Qr(e,t){const n=qr(t);switch(n){case 3:return Zo(t,n);case 9:return Zo(t,n);case 4:{const o=t;if(it(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(it(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw eo(n)}case 5:{const o=t;if(it(o,"i")&&Ae(o.i))return e.interpolate(e.list(o.i));if(it(o,"index")&&Ae(o.index))return e.interpolate(e.list(o.index));throw eo(n)}case 6:{const o=t,s=zf(o),r=Kf(o);return e.linked(Qr(e,r),s?Qr(e,s):void 0,e.type)}case 7:return Zo(t,n);case 8:return Zo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Ka=e=>e;let Tn=ge();function Xa(e,t={}){let n=!1;const o=t.onError||yf;return t.onError=s=>{n=!0,o(s)},{...jf(e,t),detectError:n}}const Ih=(e,t)=>{if(!Y(e))throw $t(lt.NOT_SUPPORT_NON_STRING_MESSAGE);{le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{code:r,detectError:i}=Xa(e,t),a=new Function(`return ${r}`)();return i?a:Tn[o]=a}};function Fh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Y(e)){le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Ka)(e),s=Tn[o];if(s)return s;const{ast:r,detectError:i}=Xa(e,{...t,location:!1,jit:!0}),a=Zr(r);return i?a:Tn[o]=a}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Zr(e))}else return Zr(e)}}const Ja=()=>"",tt=e=>ye(e);function Za(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:s,messageCompiler:r,fallbackLocale:i,messages:a}=e,[l,c]=es(...t),u=le(c.missingWarn)?c.missingWarn:e.missingWarn,f=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,h=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,w=Y(c.default)||le(c.default)?le(c.default)?r?l:()=>l:c.default:n?r?l:()=>l:"",k=n||w!=="",M=zr(e,c);h&&xh(c);let[T,S,b]=y?[l,M,a[M]||ge()]:Qa(e,l,M,i,f,u),m=T,$=l;if(!y&&!(Y(m)||kt(m)||tt(m))&&k&&(m=w,$=m),!y&&(!(Y(m)||kt(m)||tt(m))||!Y(S)))return s?Qo:l;let O=!1;const N=()=>{O=!0},C=tt(m)?m:el(e,l,S,m,$,N);if(O)return m;const L=Dh(e,S,b,c),X=ph(L),re=Ph(e,C,X);let q=o?o(re,l):re;if(h&&Y(q)&&(q=lf(q)),__INTLIFY_PROD_DEVTOOLS__){const ie={timestamp:Date.now(),key:Y(l)?l:tt(m)?m.key:"",locale:S||(tt(m)?m.locale:""),format:Y(m)?m:tt(m)?m.source:"",message:q};ie.meta=Re({},e.__meta,Ch()||{}),hh(ie)}return q}function xh(e){Oe(e.list)?e.list=e.list.map(t=>Y(t)?da(t):t):de(e.named)&&Object.keys(e.named).forEach(t=>{Y(e.named[t])&&(e.named[t]=da(e.named[t]))})}function Qa(e,t,n,o,s,r){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=ge(),h,y=null;const w="translate";for(let k=0;ko;return c.locale=n,c.key=t,c}const l=i(o,Mh(e,n,s,o,a,r));return l.locale=n,l.key=t,l.source=o,l}function Ph(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,s=ge();if(!Y(t)&&!Ae(t)&&!tt(t)&&!kt(t))throw $t(lt.INVALID_ARGUMENT);const r=Ae(t)?String(t):(tt(t),t);return Ae(n)?s.plural=n:Y(n)?s.default=n:ne(n)&&!qo(n)?s.named=n:Oe(n)&&(s.list=n),Ae(o)?s.plural=o:Y(o)?s.default=o:ne(o)&&Re(s,o),[r,s]}function Mh(e,t,n,o,s,r){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw r&&r(i),i},onCacheKey:i=>of(t,n,i)}}function Dh(e,t,n,o){const{modifiers:s,pluralRules:r,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,h={locale:t,modifiers:s,pluralRules:r,messages:y=>{let w=i(n,y);if(w==null&&u){const[,,k]=Qa(u,y,t,a,l,c);w=i(k,y)}if(Y(w)||kt(w)){let k=!1;const T=el(e,y,t,w,y,()=>{k=!0});return k?Ja:T}else return tt(w)?w:Ja}};return e.processor&&(h.processor=e.processor),o.list&&(h.list=o.list),o.named&&(h.named=o.named),Ae(o.plural)&&(h.pluralIndex=o.plural),h}function tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__datetimeFormatters:a}=e,[l,c,u,f]=ts(...t),h=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,w=zr(e,u),k=i(e,s,w);if(!Y(l)||l==="")return new Intl.DateTimeFormat(w,f).format(c);let M={},T,S=null;const b="datetime format";for(let O=0;O{nl.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:ne(o)&&(i=o),ne(s)&&(i=s),[r.key||"",a,r,i]}function ol(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__datetimeFormatters.has(r)&&o.__datetimeFormatters.delete(r)}}function rl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:s,onWarn:r,localeFallbacker:i}=e,{__numberFormatters:a}=e,[l,c,u,f]=ns(...t),h=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,w=zr(e,u),k=i(e,s,w);if(!Y(l)||l==="")return new Intl.NumberFormat(w,f).format(c);let M={},T,S=null;const b="number format";for(let O=0;O{sl.includes(l)?i[l]=n[l]:r[l]=n[l]}),Y(o)?r.locale=o:ne(o)&&(i=o),ne(s)&&(i=s),[r.key||"",a,r,i]}function il(e,t,n){const o=e;for(const s in n){const r=`${t}__${s}`;o.__numberFormatters.has(r)&&o.__numberFormatters.delete(r)}}Gf();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Fg="9.14.5";function Pg(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Pt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Pt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Pt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Pt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Pt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Mg=dg.__EXTEND_POINT__,Dt=Vo(Mg);Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt();const tl=it.__EXTEND_POINT__,Ye=Vo(tl),Ce={UNEXPECTED_RETURN_TYPE:tl,INVALID_ARGUMENT:Ye(),MUST_BE_CALL_SETUP_TOP:Ye(),NOT_INSTALLED:Ye(),NOT_AVAILABLE_IN_LEGACY_MODE:Ye(),REQUIRED_VALUE:Ye(),INVALID_VALUE:Ye(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ye(),NOT_INSTALLED_WITH_PROVIDE:Ye(),UNEXPECTED_ERROR:Ye(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ye(),BRIDGE_SUPPORT_VUE_2_ONLY:Ye(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ye(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ye(),__EXTEND_POINT__:Ye()};function Ie(e,...t){return bn(e,null,void 0)}const Zr=Gt("__translateVNode"),Qr=Gt("__datetimeParts"),es=Gt("__numberParts"),nl=Gt("__setPluralRules"),ol=Gt("__injectWithOption"),ts=Gt("__dispose");function Jn(e){if(!ae(e)||mt(e))return e;for(const t in e)if(rt(e,t))if(!t.includes("."))ae(e[t])&&Jn(e[t]);else{const n=t.split("."),o=n.length-1;let s=e,r=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(i[l]=i[l]||ge(),qo(u,i[l])):qo(u,i)}else Y(a)&&qo(JSON.parse(a),i)}),s==null&&r)for(const a in i)rt(i,a)&&Jn(i[a]);return i}function rl(e){return e.type}function sl(e,t,n){let o=ae(t.messages)?t.messages:ge();"__i18nGlobal"in n&&(o=Jo(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(ae(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ae(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function il(e){return Te(xn,null,e,0)}const al="__INTLIFY_META__",ll=()=>[],Dg=()=>!1;let cl=0;function ul(e){return(t,n,o,s)=>e(n,o,St()||void 0,s)}const Rg=()=>{const e=St();let t=null;return e&&(t=rl(e)[al])?{[al]:t}:null};function ns(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=Yo?de:yo,a=!!e.translateExistCompatible;let l=se(e.inheritLocale)?e.inheritLocale:!0;const u=i(n&&l?n.locale.value:Y(e.locale)?e.locale:wn),d=i(n&&l?n.fallbackLocale.value:Y(e.fallbackLocale)||ve(e.fallbackLocale)||Q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),f=i(Jo(u.value,e)),h=i(Q(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),v=i(Q(e.numberFormats)?e.numberFormats:{[u.value]:{}});let w=n?n.missingWarn:se(e.missingWarn)||Yt(e.missingWarn)?e.missingWarn:!0,$=n?n.fallbackWarn:se(e.fallbackWarn)||Yt(e.fallbackWarn)?e.fallbackWarn:!0,R=n?n.fallbackRoot:se(e.fallbackRoot)?e.fallbackRoot:!0,E=!!e.fallbackFormat,I=me(e.missing)?e.missing:null,b=me(e.missing)?ul(e.missing):null,_=me(e.postTranslation)?e.postTranslation:null,N=n?n.warnHtmlMessage:se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const C=n?n.modifiers:Q(e.modifiers)?e.modifiers:{};let A=e.pluralRules||n&&n.pluralRules,T;T=(()=>{s&&Wa(null);const k={version:Fg,locale:u.value,fallbackLocale:d.value,messages:f.value,modifiers:C,pluralRules:A,missing:b===null?void 0:b,missingWarn:w,fallbackWarn:$,fallbackFormat:E,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:N,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};k.datetimeFormats=h.value,k.numberFormats=v.value,k.__datetimeFormatters=Q(T)?T.__datetimeFormatters:void 0,k.__numberFormatters=Q(T)?T.__numberFormatters:void 0;const P=kg(k);return s&&Wa(P),P})(),Xn(T,u.value,d.value);function oe(){return[u.value,d.value,f.value,h.value,v.value]}const j=ee({get:()=>u.value,set:k=>{u.value=k,T.locale=u.value}}),re=ee({get:()=>d.value,set:k=>{d.value=k,T.fallbackLocale=d.value,Xn(T,u.value,k)}}),Le=ee(()=>f.value),yt=ee(()=>h.value),le=ee(()=>v.value);function te(){return me(_)?_:null}function ce(k){_=k,T.postTranslation=k}function ze(){return I}function vt(k){k!==null&&(b=ul(k)),I=k,T.missing=b}const Ae=(k,P,V,ne,be,Ue)=>{oe();let Me;try{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=n?$g():void 0),Me=k(T)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(T.fallbackContext=void 0)}if(V!=="translate exists"&&Oe(Me)&&Me===Xo||V==="translate exists"&&!Me){const[sn,as]=P();return n&&R?ne(n):be(sn)}else{if(Ue(Me))return Me;throw Ie(Ce.UNEXPECTED_RETURN_TYPE)}};function Se(...k){return Ae(P=>Reflect.apply(Ha,null,[P,...k]),()=>Kr(...k),"translate",P=>Reflect.apply(P.t,P,[...k]),P=>P,P=>Y(P))}function qt(...k){const[P,V,ne]=k;if(ne&&!ae(ne))throw Ie(Ce.INVALID_ARGUMENT);return Se(P,V,Pe({resolvedMessage:!0},ne||{}))}function zt(...k){return Ae(P=>Reflect.apply(Ka,null,[P,...k]),()=>Xr(...k),"datetime format",P=>Reflect.apply(P.d,P,[...k]),()=>Sa,P=>Y(P))}function rn(...k){return Ae(P=>Reflect.apply(Za,null,[P,...k]),()=>Jr(...k),"number format",P=>Reflect.apply(P.n,P,[...k]),()=>Sa,P=>Y(P))}function at(k){return k.map(P=>Y(P)||Oe(P)||se(P)?il(String(P)):P)}const Bt={normalize:at,interpolate:k=>k,type:"vnode"};function Kt(...k){return Ae(P=>{let V;const ne=P;try{ne.processor=Bt,V=Reflect.apply(Ha,null,[ne,...k])}finally{ne.processor=null}return V},()=>Kr(...k),"translate",P=>P[Zr](...k),P=>[il(P)],P=>ve(P))}function Qe(...k){return Ae(P=>Reflect.apply(Za,null,[P,...k]),()=>Jr(...k),"number format",P=>P[es](...k),ll,P=>Y(P)||ve(P))}function kn(...k){return Ae(P=>Reflect.apply(Ka,null,[P,...k]),()=>Xr(...k),"datetime format",P=>P[Qr](...k),ll,P=>Y(P)||ve(P))}function g(k){A=k,T.pluralRules=A}function y(k,P){return Ae(()=>{if(!k)return!1;const V=Y(P)?P:u.value,ne=D(V),be=T.messageResolver(ne,k);return a?be!=null:mt(be)||Ze(be)||Y(be)},()=>[k],"translate exists",V=>Reflect.apply(V.te,V,[k,P]),Dg,V=>se(V))}function m(k){let P=null;const V=Ia(T,d.value,u.value);for(let ne=0;ne{l&&(u.value=k,T.locale=k,Xn(T,u.value,d.value))}),At(n.fallbackLocale,k=>{l&&(d.value=k,T.fallbackLocale=k,Xn(T,u.value,d.value))}));const B={id:cl,locale:j,fallbackLocale:re,get inheritLocale(){return l},set inheritLocale(k){l=k,k&&n&&(u.value=n.locale.value,d.value=n.fallbackLocale.value,Xn(T,u.value,d.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Le,get modifiers(){return C},get pluralRules(){return A||{}},get isGlobal(){return s},get missingWarn(){return w},set missingWarn(k){w=k,T.missingWarn=w},get fallbackWarn(){return $},set fallbackWarn(k){$=k,T.fallbackWarn=$},get fallbackRoot(){return R},set fallbackRoot(k){R=k},get fallbackFormat(){return E},set fallbackFormat(k){E=k,T.fallbackFormat=E},get warnHtmlMessage(){return N},set warnHtmlMessage(k){N=k,T.warnHtmlMessage=k},get escapeParameter(){return S},set escapeParameter(k){S=k,T.escapeParameter=k},t:Se,getLocaleMessage:D,setLocaleMessage:M,mergeLocaleMessage:U,getPostTranslationHandler:te,setPostTranslationHandler:ce,getMissingHandler:ze,setMissingHandler:vt,[nl]:g};return B.datetimeFormats=yt,B.numberFormats=le,B.rt=qt,B.te=y,B.tm=L,B.d=zt,B.n=rn,B.getDateTimeFormat=W,B.setDateTimeFormat=c,B.mergeDateTimeFormat=p,B.getNumberFormat=O,B.setNumberFormat=F,B.mergeNumberFormat=G,B[ol]=o,B[Zr]=Kt,B[Qr]=kn,B[es]=Qe,B}function Bg(e){const t=Y(e.locale)?e.locale:wn,n=Y(e.fallbackLocale)||ve(e.fallbackLocale)||Q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=me(e.missing)?e.missing:void 0,s=se(e.silentTranslationWarn)||Yt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=se(e.silentFallbackWarn)||Yt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=se(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=Q(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,d=me(e.postTranslation)?e.postTranslation:void 0,f=Y(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,v=se(e.sync)?e.sync:!0;let w=e.messages;if(Q(e.sharedMessages)){const S=e.sharedMessages;w=Object.keys(S).reduce((A,T)=>{const q=A[T]||(A[T]={});return Pe(q,S[T]),A},w||{})}const{__i18n:$,__root:R,__injectWithOption:E}=e,I=e.datetimeFormats,b=e.numberFormats,_=e.flatJson,N=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:_,datetimeFormats:I,numberFormats:b,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:u,postTranslation:d,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:N,__i18n:$,__root:R,__injectWithOption:E}}function os(e={},t){{const n=ns(Bg(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 se(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=se(r)?!r:r},get silentFallbackWarn(){return se(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=se(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[i,a,l]=r,u={};let d=null,f=null;if(!Y(i))throw Ie(Ce.INVALID_ARGUMENT);const h=i;return Y(a)?u.locale=a:ve(a)?d=a:Q(a)&&(f=a),ve(l)?d=l:Q(l)&&(f=l),Reflect.apply(n.t,n,[h,d||f||{},u])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[i,a,l]=r,u={plural:1};let d=null,f=null;if(!Y(i))throw Ie(Ce.INVALID_ARGUMENT);const h=i;return Y(a)?u.locale=a:Oe(a)?u.plural=a:ve(a)?d=a:Q(a)&&(f=a),Y(l)?u.locale=l:ve(l)?d=l:Q(l)&&(f=l),Reflect.apply(n.t,n,[h,d||f||{},u])},te(r,i){return n.te(r,i)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,i){n.setLocaleMessage(r,i)},mergeLocaleMessage(r,i){n.mergeLocaleMessage(r,i)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,i){n.setDateTimeFormat(r,i)},mergeDateTimeFormat(r,i){n.mergeDateTimeFormat(r,i)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,i){n.setNumberFormat(r,i)},mergeNumberFormat(r,i){n.mergeNumberFormat(r,i)},getChoiceIndex(r,i){return-1}};return s.__extender=o,s}}const rs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xg({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===fe?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},ge())}function pl(e){return fe}const dl=Pn({name:"i18n-t",props:Pe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Oe(e)||!isNaN(e)}},rs),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||ss({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),i=ge();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=Y(e.plural)?+e.plural:e.plural);const a=xg(t,r),l=s[Zr](e.keypath,a,i),u=Pe(ge(),o),d=Y(e.tag)||ae(e.tag)?e.tag:pl();return Bi(d,u,l)}}});function Wg(e){return ve(e)&&!Y(e[0])}function fl(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=ge();e.locale&&(i.locale=e.locale),Y(e.format)?i.key=e.format:ae(e.format)&&(Y(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((h,v)=>n.includes(v)?Pe(ge(),h,{[v]:e.format[v]}):h,ge()));const l=o(e.value,i,a);let u=[i.key];ve(l)?u=l.map((h,v)=>{const w=s[h.type],$=w?w({[h.type]:h.value,index:v,parts:l}):[h.value];return Wg($)&&($[0].key=`${h.type}-${v}`),$}):Y(l)&&(u=[l]);const d=Pe(ge(),r),f=Y(e.tag)||ae(e.tag)?e.tag:pl();return Bi(f,d,u)}}const gl=Pn({name:"i18n-n",props:Pe({value:{type:Number,required:!0},format:{type:[String,Object]}},rs),setup(e,t){const n=e.i18n||ss({useScope:e.scope,__useComponent:!0});return fl(e,t,Qa,(...o)=>n[es](...o))}}),hl=Pn({name:"i18n-d",props:Pe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},rs),setup(e,t){const n=e.i18n||ss({useScope:e.scope,__useComponent:!0});return fl(e,t,Xa,(...o)=>n[Qr](...o))}});function Ug(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 Gg(e){const t=i=>{const{instance:a,modifiers:l,value:u}=i;if(!a||!a.$)throw Ie(Ce.UNEXPECTED_ERROR);const d=Ug(e,a.$),f=_l(u);return[Reflect.apply(d.t,d,[...ml(f)]),d]};return{created:(i,a)=>{const[l,u]=t(a);Yo&&e.global===u&&(i.__i18nWatcher=At(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=u,i.textContent=l},unmounted:i=>{Yo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,u=_l(a);i.textContent=Reflect.apply(l.t,l,[...ml(u)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function _l(e){if(Y(e))return{path:e};if(Q(e)){if(!("path"in e))throw Ie(Ce.REQUIRED_VALUE,"path");return e}else throw Ie(Ce.INVALID_VALUE)}function ml(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return Y(n)&&(i.locale=n),Oe(s)&&(i.plural=s),Oe(r)&&(i.plural=r),[t,a,i]}function Yg(e,t,...n){const o=Q(n[0])?n[0]:{},s=!!o.useI18nComponentName;(se(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":dl.name,"I18nT"].forEach(i=>e.component(i,dl)),[gl.name,"I18nN"].forEach(i=>e.component(i,gl)),[hl.name,"I18nD"].forEach(i=>e.component(i,hl))),e.directive("t",Gg(t))}function jg(e,t,n){return{beforeCreate(){const o=St();if(!o)throw Ie(Ce.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=bl(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=os(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=bl(e,s);else{this.$i18n=os({__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&&sl(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,i)=>this.$i18n.te(r,i),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=St();if(!o)throw Ie(Ce.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 bl(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=Jo(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 Vg=Gt("global-vue-i18n");function Hg(e={},t){const n=__VUE_I18N_LEGACY_API__&&se(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=se(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=qg(e,n),l=Gt("");function u(h){return r.get(h)||null}function d(h,v){r.set(h,v)}function f(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(v,...w){if(v.__VUE_I18N_SYMBOL__=l,v.provide(v.__VUE_I18N_SYMBOL__,h),Q(w[0])){const E=w[0];h.__composerExtend=E.__composerExtend,h.__vueI18nExtend=E.__vueI18nExtend}let $=null;!n&&o&&($=nh(v,h.global)),__VUE_I18N_FULL_INSTALL__&&Yg(v,h,...w),__VUE_I18N_LEGACY_API__&&n&&v.mixin(jg(a,a.__composer,h));const R=v.unmount;v.unmount=()=>{$&&$(),h.dispose(),R()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:u,__setInstance:d,__deleteInstance:f};return h}}function ss(e={}){const t=St();if(t==null)throw Ie(Ce.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(Ce.NOT_INSTALLED);const n=zg(t),o=Xg(n),s=rl(t),r=Kg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(Ce.NOT_AVAILABLE_IN_LEGACY_MODE);return eh(t,r,o,e)}if(r==="global")return sl(o,e,s),o;if(r==="parent"){let l=Jg(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let a=i.__getInstance(t);if(a==null){const l=Pe({},e);"__i18n"in s&&(l.__i18n=s.__i18n),o&&(l.__root=o),a=ns(l),i.__composerExtend&&(a[ts]=i.__composerExtend(a)),Qg(i,t,a),i.__setInstance(t,a)}return a}function qg(e,t,n){const o=rr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>os(e)):o.run(()=>ns(e));if(s==null)throw Ie(Ce.UNEXPECTED_ERROR);return[o,s]}}function zg(e){{const t=He(e.isCE?Vg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?Ce.NOT_INSTALLED_WITH_PROVIDE:Ce.UNEXPECTED_ERROR);return t}}function Kg(e,t){return jo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Xg(e){return e.mode==="composition"?e.global:e.global.__composer}function Jg(e,t,n=!1){let o=null;const s=t.root;let r=Zg(t,n);for(;r!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const a=i.__getInstance(r);a!=null&&(o=a.__composer,n&&o&&!o[ol]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function Zg(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Qg(e,t,n){gn(()=>{},t),Lo(()=>{const o=n;e.__deleteInstance(t);const s=o[ts];s&&(s(),delete o[ts])},t)}function eh(e,t,n,o={}){const s=t==="local",r=yo(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(Ce.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=se(o.inheritLocale)?o.inheritLocale:!Y(o.locale),a=de(!s||i?n.locale.value:Y(o.locale)?o.locale:wn),l=de(!s||i?n.fallbackLocale.value:Y(o.fallbackLocale)||ve(o.fallbackLocale)||Q(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),u=de(Jo(a.value,o)),d=de(Q(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=de(Q(o.numberFormats)?o.numberFormats:{[a.value]:{}}),h=s?n.missingWarn:se(o.missingWarn)||Yt(o.missingWarn)?o.missingWarn:!0,v=s?n.fallbackWarn:se(o.fallbackWarn)||Yt(o.fallbackWarn)?o.fallbackWarn:!0,w=s?n.fallbackRoot:se(o.fallbackRoot)?o.fallbackRoot:!0,$=!!o.fallbackFormat,R=me(o.missing)?o.missing:null,E=me(o.postTranslation)?o.postTranslation:null,I=s?n.warnHtmlMessage:se(o.warnHtmlMessage)?o.warnHtmlMessage:!0,b=!!o.escapeParameter,_=s?n.modifiers:Q(o.modifiers)?o.modifiers:{},N=o.pluralRules||s&&n.pluralRules;function S(){return[a.value,l.value,u.value,d.value,f.value]}const C=ee({get:()=>r.value?r.value.locale.value:a.value,set:m=>{r.value&&(r.value.locale.value=m),a.value=m}}),A=ee({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:m=>{r.value&&(r.value.fallbackLocale.value=m),l.value=m}}),T=ee(()=>r.value?r.value.messages.value:u.value),q=ee(()=>d.value),oe=ee(()=>f.value);function j(){return r.value?r.value.getPostTranslationHandler():E}function re(m){r.value&&r.value.setPostTranslationHandler(m)}function Le(){return r.value?r.value.getMissingHandler():R}function yt(m){r.value&&r.value.setMissingHandler(m)}function le(m){return S(),m()}function te(...m){return r.value?le(()=>Reflect.apply(r.value.t,null,[...m])):le(()=>"")}function ce(...m){return r.value?Reflect.apply(r.value.rt,null,[...m]):""}function ze(...m){return r.value?le(()=>Reflect.apply(r.value.d,null,[...m])):le(()=>"")}function vt(...m){return r.value?le(()=>Reflect.apply(r.value.n,null,[...m])):le(()=>"")}function Ae(m){return r.value?r.value.tm(m):{}}function Se(m,L){return r.value?r.value.te(m,L):!1}function qt(m){return r.value?r.value.getLocaleMessage(m):{}}function zt(m,L){r.value&&(r.value.setLocaleMessage(m,L),u.value[m]=L)}function rn(m,L){r.value&&r.value.mergeLocaleMessage(m,L)}function at(m){return r.value?r.value.getDateTimeFormat(m):{}}function Rt(m,L){r.value&&(r.value.setDateTimeFormat(m,L),d.value[m]=L)}function Bt(m,L){r.value&&r.value.mergeDateTimeFormat(m,L)}function Kt(m){return r.value?r.value.getNumberFormat(m):{}}function Qe(m,L){r.value&&(r.value.setNumberFormat(m,L),f.value[m]=L)}function kn(m,L){r.value&&r.value.mergeNumberFormat(m,L)}const g={get id(){return r.value?r.value.id:-1},locale:C,fallbackLocale:A,messages:T,datetimeFormats:q,numberFormats:oe,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(m){r.value&&(r.value.inheritLocale=m)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:_},get pluralRules(){return r.value?r.value.pluralRules:N},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(m){r.value&&(r.value.missingWarn=m)},get fallbackWarn(){return r.value?r.value.fallbackWarn:v},set fallbackWarn(m){r.value&&(r.value.missingWarn=m)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(m){r.value&&(r.value.fallbackRoot=m)},get fallbackFormat(){return r.value?r.value.fallbackFormat:$},set fallbackFormat(m){r.value&&(r.value.fallbackFormat=m)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:I},set warnHtmlMessage(m){r.value&&(r.value.warnHtmlMessage=m)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(m){r.value&&(r.value.escapeParameter=m)},t:te,getPostTranslationHandler:j,setPostTranslationHandler:re,getMissingHandler:Le,setMissingHandler:yt,rt:ce,d:ze,n:vt,tm:Ae,te:Se,getLocaleMessage:qt,setLocaleMessage:zt,mergeLocaleMessage:rn,getDateTimeFormat:at,setDateTimeFormat:Rt,mergeDateTimeFormat:Bt,getNumberFormat:Kt,setNumberFormat:Qe,mergeNumberFormat:kn};function y(m){m.locale.value=a.value,m.fallbackLocale.value=l.value,Object.keys(u.value).forEach(L=>{m.mergeLocaleMessage(L,u.value[L])}),Object.keys(d.value).forEach(L=>{m.mergeDateTimeFormat(L,d.value[L])}),Object.keys(f.value).forEach(L=>{m.mergeNumberFormat(L,f.value[L])}),m.escapeParameter=b,m.fallbackFormat=$,m.fallbackRoot=w,m.fallbackWarn=v,m.missingWarn=h,m.warnHtmlMessage=I}return ei(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(Ce.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=m.locale.value,l.value=m.fallbackLocale.value,u.value=m.messages.value,d.value=m.datetimeFormats.value,f.value=m.numberFormats.value):s&&y(m)}),g}const th=["locale","fallbackLocale","availableLocales"],yl=["t","rt","d","n","tm","te"];function nh(e,t){const n=Object.create(null);return th.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Ie(Ce.UNEXPECTED_ERROR);const i=we(r.value)?{get(){return r.value.value},set(a){r.value.value=a}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,yl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Ie(Ce.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,yl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Pg(),__INTLIFY_JIT_COMPILATION__?Ma(Eg):Ma(Ag),bg(Zf),yg(Ia),__INTLIFY_PROD_DEVTOOLS__){const e=Pt();e.__INTLIFY__=!0,ag(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const oh=Object.assign({"./locales/ar/aria.json":lp,"./locales/ar/buttons.json":cp,"./locales/ar/detail.json":up,"./locales/ar/legend.json":pp,"./locales/ar/messages.json":dp,"./locales/ar/options.json":fp,"./locales/ar/prayerLaps.json":gp,"./locales/ar/search.json":hp,"./locales/ar/tabs.json":_p,"./locales/de/aria.json":mp,"./locales/de/buttons.json":bp,"./locales/de/detail.json":yp,"./locales/de/legend.json":vp,"./locales/de/messages.json":wp,"./locales/de/options.json":$p,"./locales/de/prayerLaps.json":kp,"./locales/de/search.json":Op,"./locales/de/tabs.json":Np,"./locales/en/aria.json":Cp,"./locales/en/buttons.json":Ap,"./locales/en/detail.json":Ep,"./locales/en/legend.json":Tp,"./locales/en/messages.json":Ip,"./locales/en/options.json":Lp,"./locales/en/popup.json":Sp,"./locales/en/prayerLaps.json":Fp,"./locales/en/search.json":Pp,"./locales/en/tabs.json":Mp,"./locales/es/aria.json":Dp,"./locales/es/buttons.json":Rp,"./locales/es/detail.json":Bp,"./locales/es/legend.json":xp,"./locales/es/messages.json":Wp,"./locales/es/options.json":Up,"./locales/es/prayerLaps.json":Gp,"./locales/es/search.json":Yp,"./locales/es/tabs.json":jp,"./locales/fr/aria.json":Vp,"./locales/fr/buttons.json":Hp,"./locales/fr/detail.json":qp,"./locales/fr/legend.json":zp,"./locales/fr/messages.json":Kp,"./locales/fr/options.json":Xp,"./locales/fr/popup.json":Jp,"./locales/fr/prayerLaps.json":Zp,"./locales/fr/search.json":Qp,"./locales/fr/tabs.json":ed,"./locales/hi/aria.json":td,"./locales/hi/buttons.json":nd,"./locales/hi/detail.json":od,"./locales/hi/legend.json":rd,"./locales/hi/messages.json":sd,"./locales/hi/options.json":id,"./locales/hi/prayerLaps.json":ad,"./locales/hi/search.json":ld,"./locales/it/aria.json":cd,"./locales/it/buttons.json":ud,"./locales/it/detail.json":pd,"./locales/it/legend.json":dd,"./locales/it/messages.json":fd,"./locales/it/options.json":gd,"./locales/it/prayerLaps.json":hd,"./locales/it/search.json":_d,"./locales/pt/aria.json":md,"./locales/pt/buttons.json":bd,"./locales/pt/detail.json":yd,"./locales/pt/legend.json":vd,"./locales/pt/messages.json":wd,"./locales/pt/options.json":$d,"./locales/pt/prayerLaps.json":kd,"./locales/pt/search.json":Od,"./locales/pt/tabs.json":Nd,"./locales/ro/aria.json":Cd,"./locales/ro/buttons.json":Ad,"./locales/ro/detail.json":Ed,"./locales/ro/legend.json":Td,"./locales/ro/messages.json":Id,"./locales/ro/options.json":Ld,"./locales/ro/prayerLaps.json":Sd,"./locales/ro/search.json":Fd,"./locales/ru/aria.json":Pd,"./locales/ru/buttons.json":Md,"./locales/ru/detail.json":Dd,"./locales/ru/legend.json":Rd,"./locales/ru/messages.json":Bd,"./locales/ru/options.json":xd,"./locales/ru/prayerLaps.json":Wd,"./locales/ru/search.json":Ud,"./locales/ru/tabs.json":Gd,"./locales/zh/aria.json":Yd,"./locales/zh/buttons.json":jd,"./locales/zh/detail.json":Vd,"./locales/zh/legend.json":Hd,"./locales/zh/messages.json":qd,"./locales/zh/options.json":zd,"./locales/zh/prayerLaps.json":Kd,"./locales/zh/search.json":Xd}),Zn={};for(const[e,t]of Object.entries(oh)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;Zn[o]??(Zn[o]={}),Zn[o][s]=t}const vl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function rh(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return vl.includes(t)?t:"en"}function sh(){return Hg({legacy:!1,globalInjection:!0,locale:rh(),fallbackLocale:"en",messages:Zn,missingWarn:!1,fallbackWarn:!1})}function Qn(e,t){const n=t||ih(e);gn(()=>{var a;const o=St();if(!o)return;const s=(a=o.proxy)==null?void 0:a.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}function ih(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=ee(()=>{var w;return((w=n==null?void 0:n.value)==null?void 0:w.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=de(!1);let i=null,a=null,l=null;function u(){return"doxa-pin-hint-seen"}function d(){try{return sessionStorage.getItem(u())==="1"}catch{return!1}}function f(){try{sessionStorage.setItem(u(),"1")}catch{}}function h(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",v,!0),l=null),i&&(clearTimeout(i),i=null))}function v(){h()}return gn(()=>{var E,I,b;if(d())return;const w=St(),$=(b=(I=(E=w==null?void 0:w.proxy)==null?void 0:E.$el)==null?void 0:I.getRootNode)==null?void 0:b.call(I);if(!$||typeof $.querySelector!="function")return;let R=0;a=setInterval(()=>{R++,$.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=$,$.addEventListener("pointerdown",v,!0),i=setTimeout(h,14e3)):R>40&&(clearInterval(a),a=null)},300)}),Io(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",v,!0)}),Qn(` + */const Bh="9.14.5";function Rh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Dt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Dt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Dt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Dt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Dt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Wh=_h.__EXTEND_POINT__,Rt=zo(Wh);Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt(),Rt();const al=lt.__EXTEND_POINT__,ze=zo(al),Ie={UNEXPECTED_RETURN_TYPE:al,INVALID_ARGUMENT:ze(),MUST_BE_CALL_SETUP_TOP:ze(),NOT_INSTALLED:ze(),NOT_AVAILABLE_IN_LEGACY_MODE:ze(),REQUIRED_VALUE:ze(),INVALID_VALUE:ze(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:ze(),NOT_INSTALLED_WITH_PROVIDE:ze(),UNEXPECTED_ERROR:ze(),NOT_COMPATIBLE_LEGACY_VUE_I18N:ze(),BRIDGE_SUPPORT_VUE_2_ONLY:ze(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:ze(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:ze(),__EXTEND_POINT__:ze()};function Pe(e,...t){return Nn(e,null,void 0)}const os=Ht("__translateVNode"),rs=Ht("__datetimeParts"),ss=Ht("__numberParts"),ll=Ht("__setPluralRules"),cl=Ht("__injectWithOption"),is=Ht("__dispose");function oo(e){if(!de(e)||kt(e))return e;for(const t in e)if(it(e,t))if(!t.includes("."))de(e[t])&&oo(e[t]);else{const n=t.split("."),o=n.length-1;let s=e,r=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:c}=a;l?(i[l]=i[l]||ge(),Xo(c,i[l])):Xo(c,i)}else Y(a)&&Xo(JSON.parse(a),i)}),s==null&&r)for(const a in i)it(i,a)&&oo(i[a]);return i}function ul(e){return e.type}function pl(e,t,n){let o=de(t.messages)?t.messages:ge();"__i18nGlobal"in n&&(o=er(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const s=Object.keys(o);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,o[r])});{if(de(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(de(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function dl(e){return ke(Vn,null,e,0)}const fl="__INTLIFY_META__",hl=()=>[],Uh=()=>!1;let gl=0;function ml(e){return(t,n,o,s)=>e(n,o,Pt()||void 0,s)}const jh=()=>{const e=Pt();let t=null;return e&&(t=ul(e)[fl])?{[fl]:t}:null};function as(e={},t){const{__root:n,__injectWithOption:o}=e,s=n===void 0,r=e.flatJson,i=Ho?ce:No,a=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:Y(e.locale)?e.locale:En),u=i(n&&l?n.fallbackLocale.value:Y(e.fallbackLocale)||Oe(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(er(c.value,e)),h=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=n?n.missingWarn:le(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:le(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,M=n?n.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,T=!!e.fallbackFormat,S=ye(e.missing)?e.missing:null,b=ye(e.missing)?ml(e.missing):null,m=ye(e.postTranslation)?e.postTranslation:null,$=n?n.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const N=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let C=e.pluralRules||n&&n.pluralRules,L;L=(()=>{s&&Ha(null);const A={version:Bh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:N,pluralRules:C,missing:b===null?void 0:b,missingWarn:w,fallbackWarn:k,fallbackFormat:T,unresolving:!0,postTranslation:m===null?void 0:m,warnHtmlMessage:$,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};A.datetimeFormats=h.value,A.numberFormats=y.value,A.__datetimeFormatters=ne(L)?L.__datetimeFormatters:void 0,A.__numberFormatters=ne(L)?L.__numberFormatters:void 0;const x=Eh(A);return s&&Ha(x),x})(),no(L,c.value,u.value);function re(){return[c.value,u.value,f.value,h.value,y.value]}const q=oe({get:()=>c.value,set:A=>{c.value=A,L.locale=c.value}}),ie=oe({get:()=>u.value,set:A=>{u.value=A,L.fallbackLocale=u.value,no(L,c.value,A)}}),_e=oe(()=>f.value),z=oe(()=>h.value),W=oe(()=>y.value);function H(){return ye(m)?m:null}function ae(A){m=A,L.postTranslation=A}function Ee(){return S}function Ot(A){A!==null&&(b=ml(A)),S=A,L.missing=b}const Fe=(A,x,J,se,ve,Ve)=>{re();let We;try{__INTLIFY_PROD_DEVTOOLS__,s||(L.fallbackContext=n?Ah():void 0),We=A(L)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(L.fallbackContext=void 0)}if(J!=="translate exists"&&Ae(We)&&We===Qo||J==="translate exists"&&!We){const[dn,ds]=x();return n&&M?se(n):ve(dn)}else{if(Ve(We))return We;throw Pe(Ie.UNEXPECTED_RETURN_TYPE)}};function Me(...A){return Fe(x=>Reflect.apply(Za,null,[x,...A]),()=>es(...A),"translate",x=>Reflect.apply(x.t,x,[...A]),x=>x,x=>Y(x))}function Qt(...A){const[x,J,se]=A;if(se&&!de(se))throw Pe(Ie.INVALID_ARGUMENT);return Me(x,J,Re({resolvedMessage:!0},se||{}))}function en(...A){return Fe(x=>Reflect.apply(tl,null,[x,...A]),()=>ts(...A),"datetime format",x=>Reflect.apply(x.d,x,[...A]),()=>Ba,x=>Y(x))}function pn(...A){return Fe(x=>Reflect.apply(rl,null,[x,...A]),()=>ns(...A),"number format",x=>Reflect.apply(x.n,x,[...A]),()=>Ba,x=>Y(x))}function ct(A){return A.map(x=>Y(x)||Ae(x)||le(x)?dl(String(x)):x)}const Ut={normalize:ct,interpolate:A=>A,type:"vnode"};function tn(...A){return Fe(x=>{let J;const se=x;try{se.processor=Ut,J=Reflect.apply(Za,null,[se,...A])}finally{se.processor=null}return J},()=>es(...A),"translate",x=>x[os](...A),x=>[dl(x)],x=>Oe(x))}function nt(...A){return Fe(x=>Reflect.apply(rl,null,[x,...A]),()=>ns(...A),"number format",x=>x[ss](...A),hl,x=>Y(x)||Oe(x))}function Ln(...A){return Fe(x=>Reflect.apply(tl,null,[x,...A]),()=>ts(...A),"datetime format",x=>x[rs](...A),hl,x=>Y(x)||Oe(x))}function g(A){C=A,L.pluralRules=C}function v(A,x){return Fe(()=>{if(!A)return!1;const J=Y(x)?x:c.value,se=B(J),ve=L.messageResolver(se,A);return a?ve!=null:kt(ve)||tt(ve)||Y(ve)},()=>[A],"translate exists",J=>Reflect.apply(J.te,J,[A,x]),Uh,J=>le(J))}function _(A){let x=null;const J=Ma(L,u.value,c.value);for(let se=0;se{l&&(c.value=A,L.locale=A,no(L,c.value,u.value))}),St(n.fallbackLocale,A=>{l&&(u.value=A,L.fallbackLocale=A,no(L,c.value,u.value))}));const R={id:gl,locale:q,fallbackLocale:ie,get inheritLocale(){return l},set inheritLocale(A){l=A,A&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,no(L,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:_e,get modifiers(){return N},get pluralRules(){return C||{}},get isGlobal(){return s},get missingWarn(){return w},set missingWarn(A){w=A,L.missingWarn=w},get fallbackWarn(){return k},set fallbackWarn(A){k=A,L.fallbackWarn=k},get fallbackRoot(){return M},set fallbackRoot(A){M=A},get fallbackFormat(){return T},set fallbackFormat(A){T=A,L.fallbackFormat=T},get warnHtmlMessage(){return $},set warnHtmlMessage(A){$=A,L.warnHtmlMessage=A},get escapeParameter(){return O},set escapeParameter(A){O=A,L.escapeParameter=A},t:Me,getLocaleMessage:B,setLocaleMessage:D,mergeLocaleMessage:j,getPostTranslationHandler:H,setPostTranslationHandler:ae,getMissingHandler:Ee,setMissingHandler:Ot,[ll]:g};return R.datetimeFormats=z,R.numberFormats=W,R.rt=Qt,R.te=v,R.tm=I,R.d=en,R.n=pn,R.getDateTimeFormat=U,R.setDateTimeFormat=p,R.mergeDateTimeFormat=d,R.getNumberFormat=E,R.setNumberFormat=F,R.mergeNumberFormat=G,R[cl]=o,R[os]=tn,R[rs]=Ln,R[ss]=nt,R}function Gh(e){const t=Y(e.locale)?e.locale:En,n=Y(e.fallbackLocale)||Oe(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ye(e.missing)?e.missing:void 0,s=le(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=le(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=le(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ye(e.postTranslation)?e.postTranslation:void 0,f=Y(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,h=!!e.escapeParameterHtml,y=le(e.sync)?e.sync:!0;let w=e.messages;if(ne(e.sharedMessages)){const O=e.sharedMessages;w=Object.keys(O).reduce((C,L)=>{const X=C[L]||(C[L]={});return Re(X,O[L]),C},w||{})}const{__i18n:k,__root:M,__injectWithOption:T}=e,S=e.datetimeFormats,b=e.numberFormats,m=e.flatJson,$=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:m,datetimeFormats:S,numberFormats:b,missing:o,missingWarn:s,fallbackWarn:r,fallbackRoot:i,fallbackFormat:a,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:h,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:$,__i18n:k,__root:M,__injectWithOption:T}}function ls(e={},t){{const n=as(Gh(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 le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=le(r)?!r:r},get silentFallbackWarn(){return le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=le(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[i,a,l]=r,c={};let u=null,f=null;if(!Y(i))throw Pe(Ie.INVALID_ARGUMENT);const h=i;return Y(a)?c.locale=a:Oe(a)?u=a:ne(a)&&(f=a),Oe(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[i,a,l]=r,c={plural:1};let u=null,f=null;if(!Y(i))throw Pe(Ie.INVALID_ARGUMENT);const h=i;return Y(a)?c.locale=a:Ae(a)?c.plural=a:Oe(a)?u=a:ne(a)&&(f=a),Y(l)?c.locale=l:Oe(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[h,u||f||{},c])},te(r,i){return n.te(r,i)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,i){n.setLocaleMessage(r,i)},mergeLocaleMessage(r,i){n.mergeLocaleMessage(r,i)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,i){n.setDateTimeFormat(r,i)},mergeDateTimeFormat(r,i){n.mergeDateTimeFormat(r,i)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,i){n.setNumberFormat(r,i)},mergeNumberFormat(r,i){n.mergeNumberFormat(r,i)},getChoiceIndex(r,i){return-1}};return s.__extender=o,s}}const cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,s)=>[...o,...s.type===pe?s.children:[s]],[]):t.reduce((n,o)=>{const s=e[o];return s&&(n[o]=s()),n},ge())}function _l(e){return pe}const bl=Un({name:"i18n-t",props:Re({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ae(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,s=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),i=ge();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=Y(e.plural)?+e.plural:e.plural);const a=Yh(t,r),l=s[os](e.keypath,a,i),c=Re(ge(),o),u=Y(e.tag)||de(e.tag)?e.tag:_l();return Yi(u,c,l)}}});function Vh(e){return Oe(e)&&!Y(e[0])}function yl(e,t,n,o){const{slots:s,attrs:r}=t;return()=>{const i={part:!0};let a=ge();e.locale&&(i.locale=e.locale),Y(e.format)?i.key=e.format:de(e.format)&&(Y(e.format.key)&&(i.key=e.format.key),a=Object.keys(e.format).reduce((h,y)=>n.includes(y)?Re(ge(),h,{[y]:e.format[y]}):h,ge()));const l=o(e.value,i,a);let c=[i.key];Oe(l)?c=l.map((h,y)=>{const w=s[h.type],k=w?w({[h.type]:h.value,index:y,parts:l}):[h.value];return Vh(k)&&(k[0].key=`${h.type}-${y}`),k}):Y(l)&&(c=[l]);const u=Re(ge(),r),f=Y(e.tag)||de(e.tag)?e.tag:_l();return Yi(f,u,c)}}const vl=Un({name:"i18n-n",props:Re({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,sl,(...o)=>n[ss](...o))}}),wl=Un({name:"i18n-d",props:Re({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||Jt({useScope:e.scope,__useComponent:!0});return yl(e,t,nl,(...o)=>n[rs](...o))}});function Hh(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 qh(e){const t=i=>{const{instance:a,modifiers:l,value:c}=i;if(!a||!a.$)throw Pe(Ie.UNEXPECTED_ERROR);const u=Hh(e,a.$),f=kl(c);return[Reflect.apply(u.t,u,[...$l(f)]),u]};return{created:(i,a)=>{const[l,c]=t(a);Ho&&e.global===c&&(i.__i18nWatcher=St(c.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Ho&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,c=kl(a);i.textContent=Reflect.apply(l.t,l,[...$l(c)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function kl(e){if(Y(e))return{path:e};if(ne(e)){if(!("path"in e))throw Pe(Ie.REQUIRED_VALUE,"path");return e}else throw Pe(Ie.INVALID_VALUE)}function $l(e){const{path:t,locale:n,args:o,choice:s,plural:r}=e,i={},a=o||{};return Y(n)&&(i.locale=n),Ae(s)&&(i.plural=s),Ae(r)&&(i.plural=r),[t,a,i]}function zh(e,t,...n){const o=ne(n[0])?n[0]:{},s=!!o.useI18nComponentName;(le(o.globalInstall)?o.globalInstall:!0)&&([s?"i18n":bl.name,"I18nT"].forEach(i=>e.component(i,bl)),[vl.name,"I18nN"].forEach(i=>e.component(i,vl)),[wl.name,"I18nD"].forEach(i=>e.component(i,wl))),e.directive("t",qh(t))}function Kh(e,t,n){return{beforeCreate(){const o=Pt();if(!o)throw Pe(Ie.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=Ol(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=ls(r);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Ol(e,s);else{this.$i18n=ls({__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,i)=>this.$i18n.te(r,i),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=Pt();if(!o)throw Pe(Ie.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 Ol(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[ll](t.pluralizationRules||e.pluralizationRules);const n=er(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 Xh=Ht("global-vue-i18n");function Jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=le(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[i,a]=Zh(e,n),l=Ht("");function c(h){return r.get(h)||null}function u(h,y){r.set(h,y)}function f(h){r.delete(h)}{const h={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return s},async install(y,...w){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,h),ne(w[0])){const T=w[0];h.__composerExtend=T.__composerExtend,h.__vueI18nExtend=T.__vueI18nExtend}let k=null;!n&&o&&(k=ag(y,h.global)),__VUE_I18N_FULL_INSTALL__&&zh(y,h,...w),__VUE_I18N_LEGACY_API__&&n&&y.mixin(Kh(a,a.__composer,h));const M=y.unmount;y.unmount=()=>{k&&k(),h.dispose(),M()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return h}}function Jt(e={}){const t=Pt();if(t==null)throw Pe(Ie.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Pe(Ie.NOT_INSTALLED);const n=Qh(t),o=tg(n),s=ul(t),r=eg(e,s);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Pe(Ie.NOT_AVAILABLE_IN_LEGACY_MODE);return sg(t,r,o,e)}if(r==="global")return pl(o,e,s),o;if(r==="parent"){let l=ng(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let a=i.__getInstance(t);if(a==null){const l=Re({},e);"__i18n"in s&&(l.__i18n=s.__i18n),o&&(l.__root=o),a=as(l),i.__composerExtend&&(a[is]=i.__composerExtend(a)),rg(i,t,a),i.__setInstance(t,a)}return a}function Zh(e,t,n){const o=lr();{const s=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>as(e));if(s==null)throw Pe(Ie.UNEXPECTED_ERROR);return[o,s]}}function Qh(e){{const t=He(e.isCE?Xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Pe(e.isCE?Ie.NOT_INSTALLED_WITH_PROVIDE:Ie.UNEXPECTED_ERROR);return t}}function eg(e,t){return qo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tg(e){return e.mode==="composition"?e.global:e.global.__composer}function ng(e,t,n=!1){let o=null;const s=t.root;let r=og(t,n);for(;r!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const a=i.__getInstance(r);a!=null&&(o=a.__composer,n&&o&&!o[cl]&&(o=null))}if(o!=null||s===r)break;r=r.parent}return o}function og(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rg(e,t,n){Yt(()=>{},t),Po(()=>{const o=n;e.__deleteInstance(t);const s=o[is];s&&(s(),delete o[is])},t)}function sg(e,t,n,o={}){const s=t==="local",r=No(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Pe(Ie.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=le(o.inheritLocale)?o.inheritLocale:!Y(o.locale),a=ce(!s||i?n.locale.value:Y(o.locale)?o.locale:En),l=ce(!s||i?n.fallbackLocale.value:Y(o.fallbackLocale)||Oe(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:a.value),c=ce(er(a.value,o)),u=ce(ne(o.datetimeFormats)?o.datetimeFormats:{[a.value]:{}}),f=ce(ne(o.numberFormats)?o.numberFormats:{[a.value]:{}}),h=s?n.missingWarn:le(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,y=s?n.fallbackWarn:le(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,w=s?n.fallbackRoot:le(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,M=ye(o.missing)?o.missing:null,T=ye(o.postTranslation)?o.postTranslation:null,S=s?n.warnHtmlMessage:le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,b=!!o.escapeParameter,m=s?n.modifiers:ne(o.modifiers)?o.modifiers:{},$=o.pluralRules||s&&n.pluralRules;function O(){return[a.value,l.value,c.value,u.value,f.value]}const N=oe({get:()=>r.value?r.value.locale.value:a.value,set:_=>{r.value&&(r.value.locale.value=_),a.value=_}}),C=oe({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:_=>{r.value&&(r.value.fallbackLocale.value=_),l.value=_}}),L=oe(()=>r.value?r.value.messages.value:c.value),X=oe(()=>u.value),re=oe(()=>f.value);function q(){return r.value?r.value.getPostTranslationHandler():T}function ie(_){r.value&&r.value.setPostTranslationHandler(_)}function _e(){return r.value?r.value.getMissingHandler():M}function z(_){r.value&&r.value.setMissingHandler(_)}function W(_){return O(),_()}function H(..._){return r.value?W(()=>Reflect.apply(r.value.t,null,[..._])):W(()=>"")}function ae(..._){return r.value?Reflect.apply(r.value.rt,null,[..._]):""}function Ee(..._){return r.value?W(()=>Reflect.apply(r.value.d,null,[..._])):W(()=>"")}function Ot(..._){return r.value?W(()=>Reflect.apply(r.value.n,null,[..._])):W(()=>"")}function Fe(_){return r.value?r.value.tm(_):{}}function Me(_,I){return r.value?r.value.te(_,I):!1}function Qt(_){return r.value?r.value.getLocaleMessage(_):{}}function en(_,I){r.value&&(r.value.setLocaleMessage(_,I),c.value[_]=I)}function pn(_,I){r.value&&r.value.mergeLocaleMessage(_,I)}function ct(_){return r.value?r.value.getDateTimeFormat(_):{}}function Wt(_,I){r.value&&(r.value.setDateTimeFormat(_,I),u.value[_]=I)}function Ut(_,I){r.value&&r.value.mergeDateTimeFormat(_,I)}function tn(_){return r.value?r.value.getNumberFormat(_):{}}function nt(_,I){r.value&&(r.value.setNumberFormat(_,I),f.value[_]=I)}function Ln(_,I){r.value&&r.value.mergeNumberFormat(_,I)}const g={get id(){return r.value?r.value.id:-1},locale:N,fallbackLocale:C,messages:L,datetimeFormats:X,numberFormats:re,get inheritLocale(){return r.value?r.value.inheritLocale:i},set inheritLocale(_){r.value&&(r.value.inheritLocale=_)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:m},get pluralRules(){return r.value?r.value.pluralRules:$},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:h},set missingWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackWarn(){return r.value?r.value.fallbackWarn:y},set fallbackWarn(_){r.value&&(r.value.missingWarn=_)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(_){r.value&&(r.value.fallbackRoot=_)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(_){r.value&&(r.value.fallbackFormat=_)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:S},set warnHtmlMessage(_){r.value&&(r.value.warnHtmlMessage=_)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(_){r.value&&(r.value.escapeParameter=_)},t:H,getPostTranslationHandler:q,setPostTranslationHandler:ie,getMissingHandler:_e,setMissingHandler:z,rt:ae,d:Ee,n:Ot,tm:Fe,te:Me,getLocaleMessage:Qt,setLocaleMessage:en,mergeLocaleMessage:pn,getDateTimeFormat:ct,setDateTimeFormat:Wt,mergeDateTimeFormat:Ut,getNumberFormat:tn,setNumberFormat:nt,mergeNumberFormat:Ln};function v(_){_.locale.value=a.value,_.fallbackLocale.value=l.value,Object.keys(c.value).forEach(I=>{_.mergeLocaleMessage(I,c.value[I])}),Object.keys(u.value).forEach(I=>{_.mergeDateTimeFormat(I,u.value[I])}),Object.keys(f.value).forEach(I=>{_.mergeNumberFormat(I,f.value[I])}),_.escapeParameter=b,_.fallbackFormat=k,_.fallbackRoot=w,_.fallbackWarn=y,_.missingWarn=h,_.warnHtmlMessage=S}return si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Pe(Ie.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const _=r.value=e.proxy.$i18n.__composer;t==="global"?(a.value=_.locale.value,l.value=_.fallbackLocale.value,c.value=_.messages.value,u.value=_.datetimeFormats.value,f.value=_.numberFormats.value):s&&v(_)}),g}const ig=["locale","fallbackLocale","availableLocales"],Nl=["t","rt","d","n","tm","te"];function ag(e,t){const n=Object.create(null);return ig.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Pe(Ie.UNEXPECTED_ERROR);const i=Ne(r.value)?{get(){return r.value.value},set(a){r.value.value=a}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,Nl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Pe(Ie.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,Nl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Rh(),__INTLIFY_JIT_COMPILATION__?Ua(Fh):Ua(Ih),$h(oh),Oh(Ma),__INTLIFY_PROD_DEVTOOLS__){const e=Dt();e.__INTLIFY__=!0,dh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const lg=Object.assign({"./locales/ar/aria.json":fp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":gp,"./locales/ar/legend.json":mp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":bp,"./locales/ar/prayerLaps.json":yp,"./locales/ar/search.json":vp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Op,"./locales/de/legend.json":Np,"./locales/de/messages.json":Cp,"./locales/de/options.json":Ap,"./locales/de/prayerLaps.json":Ep,"./locales/de/search.json":Tp,"./locales/de/tabs.json":Lp,"./locales/en/aria.json":Sp,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Fp,"./locales/en/legend.json":xp,"./locales/en/messages.json":Pp,"./locales/en/options.json":Mp,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":Bp,"./locales/en/search.json":Rp,"./locales/en/tabs.json":Wp,"./locales/es/aria.json":Up,"./locales/es/buttons.json":jp,"./locales/es/detail.json":Gp,"./locales/es/legend.json":Yp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Hp,"./locales/es/prayerLaps.json":qp,"./locales/es/search.json":zp,"./locales/es/tabs.json":Kp,"./locales/fr/aria.json":Xp,"./locales/fr/buttons.json":Jp,"./locales/fr/detail.json":Zp,"./locales/fr/legend.json":Qp,"./locales/fr/messages.json":ed,"./locales/fr/options.json":td,"./locales/fr/popup.json":nd,"./locales/fr/prayerLaps.json":od,"./locales/fr/search.json":rd,"./locales/fr/tabs.json":sd,"./locales/hi/aria.json":id,"./locales/hi/buttons.json":ad,"./locales/hi/detail.json":ld,"./locales/hi/legend.json":cd,"./locales/hi/messages.json":ud,"./locales/hi/options.json":pd,"./locales/hi/prayerLaps.json":dd,"./locales/hi/search.json":fd,"./locales/it/aria.json":hd,"./locales/it/buttons.json":gd,"./locales/it/detail.json":md,"./locales/it/legend.json":_d,"./locales/it/messages.json":bd,"./locales/it/options.json":yd,"./locales/it/prayerLaps.json":vd,"./locales/it/search.json":wd,"./locales/pt/aria.json":kd,"./locales/pt/buttons.json":$d,"./locales/pt/detail.json":Od,"./locales/pt/legend.json":Nd,"./locales/pt/messages.json":Cd,"./locales/pt/options.json":Ad,"./locales/pt/prayerLaps.json":Ed,"./locales/pt/search.json":Td,"./locales/pt/tabs.json":Ld,"./locales/ro/aria.json":Sd,"./locales/ro/buttons.json":Id,"./locales/ro/detail.json":Fd,"./locales/ro/legend.json":xd,"./locales/ro/messages.json":Pd,"./locales/ro/options.json":Md,"./locales/ro/prayerLaps.json":Dd,"./locales/ro/search.json":Bd,"./locales/ru/aria.json":Rd,"./locales/ru/buttons.json":Wd,"./locales/ru/detail.json":Ud,"./locales/ru/legend.json":jd,"./locales/ru/messages.json":Gd,"./locales/ru/options.json":Yd,"./locales/ru/prayerLaps.json":Vd,"./locales/ru/search.json":Hd,"./locales/ru/tabs.json":qd,"./locales/zh/aria.json":zd,"./locales/zh/buttons.json":Kd,"./locales/zh/detail.json":Xd,"./locales/zh/legend.json":Jd,"./locales/zh/messages.json":Zd,"./locales/zh/options.json":Qd,"./locales/zh/prayerLaps.json":ef,"./locales/zh/search.json":tf}),ro={};for(const[e,t]of Object.entries(lg)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,s]=n;ro[o]??(ro[o]={}),ro[o][s]=t}const Cl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function cg(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Cl.includes(t)?t:"en"}function ug(){return Jh({legacy:!1,globalInjection:!0,locale:cg(),fallbackLocale:"en",messages:ro,missingWarn:!1,fallbackWarn:!1})}function Zt(e,t){const n=t||pg(e);Yt(()=>{var a;const o=Pt();if(!o)return;const s=(a=o.proxy)==null?void 0:a.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,r.appendChild(i)})}function pg(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),s=oe(()=>{var w;return((w=n==null?void 0:n.value)==null?void 0:w.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=ce(!1);let i=null,a=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function f(){try{sessionStorage.setItem(c(),"1")}catch{}}function h(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",y,!0),l=null),i&&(clearTimeout(i),i=null))}function y(){h()}return Yt(()=>{var T,S,b;if(u())return;const w=Pt(),k=(b=(S=(T=w==null?void 0:w.proxy)==null?void 0:T.$el)==null?void 0:S.getRootNode)==null?void 0:b.call(S);if(!k||typeof k.querySelector!="function")return;let M=0;a=setInterval(()=>{M++,k.querySelector("canvas")?(clearInterval(a),a=null,r.value=!0,l=k,k.addEventListener("pointerdown",y,!0),i=setTimeout(h,14e3)):M>40&&(clearInterval(a),a=null)},300)}),wn(()=>{a&&clearInterval(a),i&&clearTimeout(i),l&&l.removeEventListener("pointerdown",y,!0)}),Zt(` .pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 2147482000; pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; @@ -67,4 +67,399 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(w,$)=>r.value?(H(),Z("div",{key:0,class:et(["pin-hint",{dark:o.value}]),role:"status"},[x("span",ah,[$[0]||($[0]=x("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+X(s.value)+" ",1),x("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):Re("",!0)}};let ch=0;const uh=xr("ui",{state:()=>({_storeInstanceId:++ch,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,i={id:this.nextToastId++,message:t,type:n,duration:o,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(i),!r&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.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)}))}}}),ph=xr("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()}}}),dh=xr("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]=cn({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]=cn({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}}}),fh={activeSource:"pray-tools"},gh=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},hh={class:"profile-loader"},_h={key:0,class:"profile-error"},mh={key:1,class:"profile-error"},bh=gh({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=ee(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=ee(()=>{var _;return((_=o.value)==null?void 0:_.profile)||null}),r=ee(()=>{var _;return((_=o.value)==null?void 0:_.tk)||""}),i=ee(()=>{var _;return((_=o.value)==null?void 0:_.dataSource)||fh.activeSource}),a=ee(()=>{var _;return((_=o.value)==null?void 0:_.colorSet)||"default"}),l=ee(()=>!1),u=ee(()=>{var _;return((_=o.value)==null?void 0:_.pinHint)!==!1}),d=ee(()=>{var N,S;const _=(((N=o.value)==null?void 0:N.locale)||((S=o.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return vl.includes(_)?_:""}),f=He("appI18n",null);wc(()=>{d.value&&f&&(f.global.locale.value=d.value)});const h=ee(()=>{var _,N;return d.value||((N=(_=f==null?void 0:f.global)==null?void 0:_.locale)==null?void 0:N.value)||"en"}),v=ee(()=>{var _;return((_=o.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),w=He("profileModules",null);if(!w)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const $=ee(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return w[_]?Cc(w[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(w)),null)});gt("mapboxToken",r),gt("dataSource",i),gt("colorSet",a),gt("profileConfig",o),gt("instanceId",v),gt("lang",h);const R=uh(),E=ph(),I=dh();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((b=R.setTheme)==null||b.call(R,_))}catch{}return gt("uiStore",R),gt("mapStore",E),gt("dataStore",I),(_,N)=>(H(),Z("div",hh,[o.value?$.value?(H(),Un(ni($.value),{key:2})):(H(),Z("div",mh,[x("p",null,[N[1]||(N[1]=$e("⚠️ Profile ",-1)),x("strong",null,'"'+X(s.value)+'"',1),N[2]||(N[2]=$e(" not found.",-1))])])):(H(),Z("div",_h,[...N[0]||(N[0]=[x("p",null,[$e("⚠️ "),x("strong",null,"doxa-map"),$e(": missing or invalid "),x("code",null,"profile-config"),$e(" prop.")],-1),x("p",null,[$e("Example: "),x("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),$.value&&l.value?(H(),Un(ni(vo(null)),{key:3})):Re("",!0),$.value&&u.value?(H(),Un(lh,{key:4})):Re("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),yh=Object.assign({"./connectivity-list.vue":()=>Zo(()=>Promise.resolve().then(()=>Dh),void 0),"./connectivity-map.vue":()=>Zo(()=>Promise.resolve().then(()=>Qh),void 0),"./data-tables.vue":()=>Zo(()=>Promise.resolve().then(()=>$_),void 0)});function vh(){return qu(bh,{configureApp(e){e.use(np()),e.use(sh()),e.provide("profileModules",yh)}})}const wh=vh();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",wh));const $h={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"}}]},kh={class:"ci-tot"},Oh={class:"ci-chip"},Nh={class:"ci-chip"},Ch={class:"ci-chip"},Ah={class:"ci-chip"},Eh=["onClick"],Th={class:"sec-name"},Ih={class:"sec-meta"},Lh={class:"r-name"},Sh={class:"r-sub"},Fh={class:"r-num"},Ph={class:"r-sub"},Mh={class:"r-num"},Dh=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=He("profileConfig",de(null)),n=ee(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=ee(()=>$h.countries||[]),s=ee(()=>{const f=new Map;for(const h of o.value){const v=h.region||"Other";f.has(v)||f.set(v,[]),f.get(v).push(h)}return[...f.entries()].map(([h,v])=>({name:h,items:v.slice().sort((w,$)=>$.people_groups-w.people_groups),groups:v.reduce((w,$)=>w+$.people_groups,0),unknown:v.filter(w=>w.internet_access==="unknown").length})).sort((h,v)=>v.groups-h.groups)}),r=de({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=ee(()=>{const f=o.value;return{countries:f.length,resolved:f.filter(h=>h.internet_access!=="unknown").length,unknown:f.filter(h=>h.internet_access==="unknown").length,low:f.filter(h=>h.internet_access==="no").length}}),u=f=>f==="yes"?"ok":f==="partial"?"mid":f==="no"?"low":"unk",d=f=>f==="yes"?"connected":f==="partial"?"partial":f==="no"?"low":"unknown";return Qn(".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"),(f,h)=>(H(),Z("div",{class:et(["ci",{"is-dark":n.value}])},[h[1]||(h[1]=x("h2",{class:"ci-h"},"Cities with Internet",-1)),h[2]||(h[2]=x("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),x("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),x("div",kh,[x("span",Oh,X(l.value.countries)+" countries",1),x("span",Nh,X(l.value.resolved)+" measured",1),x("span",Ch,X(l.value.unknown)+" unknown",1),x("span",Ah,X(l.value.low)+" low-connectivity",1)]),(H(!0),Z(fe,null,Tt(s.value,v=>(H(),Z("section",{key:v.name,class:"sec"},[x("button",{type:"button",class:"sec-head",onClick:w=>a(v.name)},[x("span",{class:et(["sec-caret",{open:!i(v.name)}])},"▶",2),x("h3",Th,X(v.name),1),x("span",Ih,[$e(X(v.items.length)+" countries · "+X(v.groups.toLocaleString())+" people groups ",1),v.unknown?(H(),Z(fe,{key:0},[$e(" · "+X(v.unknown)+" unmeasured",1)],64)):Re("",!0)])],8,Eh),mc(x("div",null,[(H(!0),Z(fe,null,Tt(v.items,w=>(H(),Z("div",{key:w.iso3,class:"row"},[x("div",null,[x("div",Lh,X(w.country),1),x("div",Sh,[$e(X(w.people_groups)+" people groups · "+X(w.clusters)+" locations ",1),w.multi?(H(),Z(fe,{key:0},[$e(" · "+X(w.multi)+" population centres",1)],64)):Re("",!0)])]),x("div",Fh,[w.internet_pct!==null&&w.internet_pct!==void 0?(H(),Z(fe,{key:0},[$e(X(w.internet_pct)+"% ",1),x("div",Ph,X(w.internet_year),1)],64)):(H(),Z(fe,{key:1},[$e("—")],64))]),x("div",Mh,[w.mobile_per_100!==null&&w.mobile_per_100!==void 0?(H(),Z(fe,{key:0},[$e(X(w.mobile_per_100)+" ",1),h[0]||(h[0]=x("div",{class:"r-sub"},"mob/100",-1))],64)):(H(),Z(fe,{key:1},[$e("—")],64))]),x("span",{class:et(["pill",u(w.internet_access)])},X(d(w.internet_access)),3)]))),128))],512),[[Tu,!i(v.name)]])]))),128)),h[3]||(h[3]=x("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"})),is={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 Rh(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(is.boundaries),o&&(r.push(is.mapbox),r.push(is.osm)),s.innerHTML=r.map(a=>`${a.label}`).join(" · ");const i={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(i,"bottom-right"),i}const Bh={class:"gm-legend"},xh={class:"gm-keys"},Wh={key:0,class:"gm-err"},Uh={key:1,class:"gm-sheet"},Gh={class:"gm-sh-head"},Yh={class:"gm-sh-name"},jh={key:0,class:"gm-ai"},Vh={class:"gm-stat"},Hh={class:"gm-stat"},qh={class:"gm-stat"},zh={class:"gm-stat"},Kh={class:"gm-stat"},Xh={key:1,class:"gm-list"},Jh={class:"gm-list-h"},Zh={key:2,class:"gm-list"},Qh=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=He("profileConfig",de(null)),n=ee(()=>{var E;return((E=t.value)==null?void 0:E.isDark)===!0}),o=ee(()=>{var E;return((E=t.value)==null?void 0:E.tk)||window.DOXA_TOKEN||""}),s=ee(()=>{var E;return String(((E=t.value)==null?void 0:E.assetsBase)||"./assets").replace(/\/+$/,"")}),r=de(null),i=yo(null),a=de([]),l=de(null),u=de(!0),d=de(null),f=[{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"}],h=E=>(f.find(I=>I.id===E)||{}).color||"#9aa2ad",v=ee(()=>{const E={};for(const I of a.value)E[I.iso3]=I;return E});async function w(){const[E,I]=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 a.value=E.countries||[],I}function $(E,I){const b=v.value,N={type:"FeatureCollection",features:(I.features||[]).map(S=>{var T;const C=(T=S.properties)==null?void 0:T.iso3,A=b[C];return{type:"Feature",properties:{iso3:C,band:(A==null?void 0:A.band)||"none",color:A?h(A.band):"rgba(0,0,0,0)",hasData:!!A},geometry:S.geometry}})};if(E.getSource("ci-src")){E.getSource("ci-src").setData(N);return}E.addSource("ci-src",{type:"geojson",data:N}),E.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),E.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),E.on("click","ci-fill",S=>{var A,T,q;const C=(q=(T=(A=S.features)==null?void 0:A[0])==null?void 0:T.properties)==null?void 0:q.iso3;C&&v.value[C]&&(l.value=v.value[C])}),E.on("mouseenter","ci-fill",()=>{E.getCanvas().style.cursor="pointer"}),E.on("mouseleave","ci-fill",()=>{E.getCanvas().style.cursor=""})}gn(async()=>{const E=window.mapboxgl;if(!E||!r.value){d.value="mapbox-gl not loaded";return}try{const I=await w(),b=new E.Map({container:r.value,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});i.value=cn(b),Rh(b,{boundaries:!0}),b.once("load",()=>$(b,I))}catch(I){d.value=String(I.message||I)}}),Io(()=>{var E;try{(E=i.value)==null||E.remove()}catch{}});const R=E=>(Number(E)||0).toLocaleString();return Qn(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-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"),(E,I)=>(H(),Z("div",{class:et(["gm",{"is-dark":n.value}])},[x("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),x("div",Bh,[I[2]||(I[2]=x("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),x("div",xh,[(H(),Z(fe,null,Tt(f,b=>x("span",{key:b.id,class:"gm-key"},[x("i",{class:"gm-sw",style:lo({background:b.color})},null,4),$e(X(b.label),1)])),64))]),I[3]||(I[3]=x("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),d.value?(H(),Z("div",Wh,X(d.value),1)):Re("",!0),l.value?(H(),Z("div",Uh,[x("div",Gh,[x("span",Yh,X(l.value.country),1),x("button",{type:"button",class:"gm-x",onClick:I[0]||(I[0]=b=>l.value=null)},"Close")]),u.value?(H(),Z("div",jh,[I[4]||(I[4]=x("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),x("button",{type:"button",class:"gm-ai-x",onClick:I[1]||(I[1]=b=>u.value=!1),"aria-label":"Dismiss"},"×")])):Re("",!0),x("div",Vh,[I[5]||(I[5]=x("span",null,"Internet users",-1)),x("b",null,X(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),x("div",Hh,[I[6]||(I[6]=x("span",null,"Measured",-1)),x("b",null,X(l.value.internet_year||"—"),1)]),x("div",qh,[I[7]||(I[7]=x("span",null,"Mobile per 100",-1)),x("b",null,X(l.value.mobile_per_100??"—"),1)]),x("div",zh,[I[8]||(I[8]=x("span",null,"People groups",-1)),x("b",null,X(R(l.value.people_groups)),1)]),x("div",Kh,[I[9]||(I[9]=x("span",null,"Top platform",-1)),x("b",null,[$e(X(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(H(),Z(fe,{key:0},[$e(" · "+X(l.value.top_platform_pct)+"%",1)],64)):Re("",!0)])]),l.value.carriers&&l.value.carriers.length?(H(),Z("div",Xh,[x("div",Jh,"Carriers & ISPs ("+X(l.value.carrier_count)+")",1),x("ul",null,[(H(!0),Z(fe,null,Tt(l.value.carriers,(b,_)=>(H(),Z("li",{key:_},X(b),1))),128))])])):Re("",!0),l.value.platforms&&l.value.platforms.length?(H(),Z("div",Zh,[I[10]||(I[10]=x("div",{class:"gm-list-h"},"Social platforms",-1)),x("ul",null,[(H(!0),Z(fe,null,Tt(l.value.platforms,(b,_)=>(H(),Z("li",{key:_},X(b.name)+" · "+X(b.pct)+"%",1))),128))])])):Re("",!0),I[11]||(I[11]=x("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))])):Re("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),e_={class:"dt-head"},t_={class:"dt-title"},n_={class:"dt-count"},o_={key:0,class:"dt-grain"},r_={class:"dt-actions"},s_={key:0,class:"dt-err"},i_={class:"dt-wrap"},a_={class:"dt-hint"},l_={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},c_={class:"dt-sheet-head"},u_={class:"dt-dl"},p_=["href"],d_={key:1},f_={key:2},g_={key:2,class:"dt-caveats"},h_={class:"dt-cav-k"},__={__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=de(!1),r=de(null),i=de(null),a=yo(null),l=de(null),u=de(!1),d=ee(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=ee(()=>{var C;return((C=n.table)==null?void 0:C.meta)||{}}),h=ee(()=>{var C;return(((C=n.table)==null?void 0:C.rows)||[]).length}),v=ee(()=>Object.entries(f.value).filter(([C,A])=>typeof A=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(C)).map(([C,A])=>({key:C.replace(/_/g," "),text:A})));let w=null;function $(){return window.Tabulator?Promise.resolve(window.Tabulator):w||(w=new Promise((C,A)=>{const T=document.createElement("script");T.src=`${d.value}/vendor/tabulator/tabulator.min.js`,T.onload=()=>C(window.Tabulator),T.onerror=()=>A(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(T)}),w)}async function R(C){if(!(!C||C.querySelector("style[data-tabulator]")))try{const A=await fetch(`${d.value}/vendor/tabulator/tabulator.min.css`);if(!A.ok)return;const T=document.createElement("style");T.setAttribute("data-tabulator",""),T.textContent=await A.text(),C.appendChild(T)}catch{}}function E(C){var oe,j;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const A=((oe=n.table)==null?void 0:oe.columns)||[],q=(s.value?A.slice(0,3):A).map((re,Le)=>({title:re.title,field:re.field,headerFilter:re.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:re.type==="number"?"number":re.type==="boolean"?"boolean":"string",formatter:re.type==="boolean"?"tickCross":void 0,.../_url$/.test(re.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&Le{r.value=Le.getData(),o("row-click",Le.getData())}),a.value.on("tableBuilt",()=>{u.value=!0})}const I=C=>{var A,T;return((T=(((A=n.table)==null?void 0:A.columns)||[]).find(q=>q.field===C))==null?void 0:T.title)||C.replace(/_/g," ")},b=C=>typeof C=="string"&&C.includes(", ")&&C.length>40?C.split(", "):null,_=C=>typeof C=="string"&&/^https?:\/\//.test(C),N=ee(()=>r.value?Object.entries(r.value).filter(([,C])=>C!==""&&C!==null&&C!==void 0):[]);function S(C){var A;try{(A=a.value)==null||A.download(C,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${C}`)}catch(T){l.value=String(T.message||T)}}return gn(async()=>{var C,A;try{await R((A=(C=i.value)==null?void 0:C.getRootNode)==null?void 0:A.call(C)),E(await $())}catch(T){l.value=String(T.message||T)}}),Io(()=>{var C;try{(C=a.value)==null||C.destroy()}catch{}}),At(()=>n.table,()=>{var C,A;try{(A=a.value)==null||A.replaceData(((C=n.table)==null?void 0:C.rows)||[])}catch{}}),Qn(".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"),(C,A)=>{var T,q;return H(),Z("div",{class:et(["dt",{"is-dark":e.isDark}])},[x("div",e_,[x("h3",t_,X(f.value.title||"Data"),1),x("span",n_,X(h.value.toLocaleString())+" rows",1),f.value.grain?(H(),Z("span",o_,"· "+X(f.value.grain),1)):Re("",!0),x("span",r_,[x("button",{type:"button",class:"dt-btn",onClick:A[0]||(A[0]=oe=>S("csv"))},"CSV"),x("button",{type:"button",class:"dt-btn",onClick:A[1]||(A[1]=oe=>S("json"))},"JSON")])]),l.value?(H(),Z("div",s_,X(l.value),1)):Re("",!0),x("div",i_,[x("div",{ref_key:"host",ref:i},null,512)]),x("p",a_,"Tap any row for its full detail"+X(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(H(),Z("div",{key:1,class:"dt-scrim",onClick:A[3]||(A[3]=Ju(oe=>r.value=null,["self"]))},[x("div",l_,[x("div",c_,[x("strong",null,X(r.value[(q=(((T=e.table)==null?void 0:T.columns)||[])[0])==null?void 0:q.field]||"Detail"),1),x("button",{type:"button",class:"dt-close",onClick:A[2]||(A[2]=oe=>r.value=null)},"Close")]),x("dl",u_,[(H(!0),Z(fe,null,Tt(N.value,([oe,j])=>(H(),Z(fe,{key:oe},[x("dt",null,X(I(oe)),1),x("dd",null,[_(j)?(H(),Z("a",{key:0,href:j,target:"_blank",rel:"noopener"},X(j),9,p_)):b(j)?(H(),Z("ul",d_,[(H(!0),Z(fe,null,Tt(b(j),(re,Le)=>(H(),Z("li",{key:Le},X(re),1))),128))])):(H(),Z("span",f_,X(j===!0?"yes":j===!1?"no":j),1))])],64))),128))])])])):Re("",!0),v.value.length?(H(),Z("div",g_,[(H(!0),Z(fe,null,Tt(v.value,oe=>(H(),Z("div",{key:oe.key},[x("span",h_,X(oe.key)+":",1),$e(" "+X(oe.text),1)]))),128))])):Re("",!0)],2)}}},m_={class:"ct-tabs"},b_=["onClick"],y_={key:0,class:"ct-n"},v_={key:0,class:"ct-err"},w_={key:1,class:"ct-load"},$_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=He("profileConfig",de(null)),n=ee(()=>{var h;return((h=t.value)==null?void 0:h.isDark)===!0}),o=ee(()=>{var h;return String(((h=t.value)==null?void 0:h.assetsBase)||"./assets").replace(/\/+$/,"")}),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=de("cities"),i=ee(()=>s.find(h=>h.id===r.value)||s[0]),a=de({}),l=de(!1),u=de(null);async function d(h){if(!a.value[h]){l.value=!0,u.value=null;try{const v=await fetch(`${o.value}/tables/${h}.json`);if(!v.ok)throw new Error(`table not found (${v.status})`);a.value={...a.value,[h]:await v.json()}}catch(v){u.value=String(v.message||v)}finally{l.value=!1}}}At(i,h=>h&&d(h.file),{immediate:!0});const f=ee(()=>{var h;return a.value[(h=i.value)==null?void 0:h.file]||null});return Qn(".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"),(h,v)=>(H(),Z("div",{class:et(["ct",{"is-dark":n.value}])},[v[0]||(v[0]=x("h2",{class:"ct-h"},"Cities Data",-1)),v[1]||(v[1]=x("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)),x("div",m_,[(H(),Z(fe,null,Tt(s,w=>x("button",{key:w.id,type:"button",class:et(["ct-tab",{on:r.value===w.id}]),onClick:$=>r.value=w.id},[$e(X(w.label),1),a.value[w.file]?(H(),Z("span",y_,X((a.value[w.file].rows||[]).length.toLocaleString()),1)):Re("",!0)],10,b_)),64))]),u.value?(H(),Z("div",v_,X(u.value),1)):f.value?(H(),Un(__,{key:i.value.id,table:f.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(H(),Z("div",w_,"Loading "+X(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"pin-hint"),(w,k)=>r.value?(V(),K("div",{key:0,class:Le(["pin-hint",{dark:o.value}]),role:"status"},[P("span",dg,[k[0]||(k[0]=P("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),$e(" "+Z(s.value)+" ",1),P("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:h},"×")])],2)):Te("",!0)}};let hg=0;const gg=Yr("ui",{state:()=>({_storeInstanceId:++hg,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,i={id:this.nextToastId++,message:t,type:n,duration:o,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(i),!r&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.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)}))}}}),mg=Yr("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()}}}),_g=Yr("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]=gn({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]=gn({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}}}),bg={activeSource:"pray-tools"},yg=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},vg={class:"profile-loader"},wg={key:0,class:"profile-error"},kg={key:1,class:"profile-error"},$g=yg({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=oe(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),s=oe(()=>{var m;return((m=o.value)==null?void 0:m.profile)||null}),r=oe(()=>{var m;return((m=o.value)==null?void 0:m.tk)||""}),i=oe(()=>{var m;return((m=o.value)==null?void 0:m.dataSource)||bg.activeSource}),a=oe(()=>{var m;return((m=o.value)==null?void 0:m.colorSet)||"default"}),l=oe(()=>!1),c=oe(()=>{var m;return((m=o.value)==null?void 0:m.pinHint)!==!1}),u=oe(()=>{var $,O;const m=((($=o.value)==null?void 0:$.locale)||((O=o.value)==null?void 0:O.lang)||"").split("-")[0].toLowerCase();return Cl.includes(m)?m:""}),f=He("appI18n",null);Cc(()=>{u.value&&f&&(f.global.locale.value=u.value)});const h=oe(()=>{var m,$;return u.value||(($=(m=f==null?void 0:f.global)==null?void 0:m.locale)==null?void 0:$.value)||"en"}),y=oe(()=>{var m;return((m=o.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),w=He("profileModules",null);if(!w)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const k=oe(()=>{if(!s.value)return null;const m=`./${s.value}.vue`;return w[m]?Sc(w[m]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(w)),null)});_t("mapboxToken",r),_t("dataSource",i),_t("colorSet",a),_t("profileConfig",o),_t("instanceId",y),_t("lang",h);const M=gg(),T=mg(),S=_g();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((b=M.setTheme)==null||b.call(M,m))}catch{}return _t("uiStore",M),_t("mapStore",T),_t("dataStore",S),(m,$)=>(V(),K("div",vg,[o.value?k.value?(V(),et(ai(k.value),{key:2})):(V(),K("div",kg,[P("p",null,[$[1]||($[1]=$e("⚠️ Profile ",-1)),P("strong",null,'"'+Z(s.value)+'"',1),$[2]||($[2]=$e(" not found.",-1))])])):(V(),K("div",wg,[...$[0]||($[0]=[P("p",null,[$e("⚠️ "),P("strong",null,"doxa-map"),$e(": missing or invalid "),P("code",null,"profile-config"),$e(" prop.")],-1),P("p",null,[$e("Example: "),P("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),k.value&&l.value?(V(),et(ai(gt(null)),{key:3})):Te("",!0),k.value&&c.value?(V(),et(fg,{key:4})):Te("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),Og=Object.assign({"./connectivity-list.vue":()=>nr(()=>Promise.resolve().then(()=>Ug),void 0),"./connectivity-map.vue":()=>nr(()=>Promise.resolve().then(()=>Lm),void 0),"./data-tables.vue":()=>nr(()=>Promise.resolve().then(()=>Qm),void 0)});function Ng(){return Zu($g,{configureApp(e){e.use(ap()),e.use(ug()),e.provide("profileModules",Og)}})}const Cg=Ng();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Cg));const Ag={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"}}]},Eg={class:"ci-tot"},Tg={class:"ci-chip"},Lg={class:"ci-chip"},Sg={class:"ci-chip"},Ig={class:"ci-chip"},Fg=["onClick"],xg={class:"sec-name"},Pg={class:"sec-meta"},Mg={class:"r-name"},Dg={class:"r-sub"},Bg={class:"r-num"},Rg={class:"r-sub"},Wg={class:"r-num"},Ug=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=He("profileConfig",ce(null)),n=oe(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),o=oe(()=>Ag.countries||[]),s=oe(()=>{const f=new Map;for(const h of o.value){const y=h.region||"Other";f.has(y)||f.set(y,[]),f.get(y).push(h)}return[...f.entries()].map(([h,y])=>({name:h,items:y.slice().sort((w,k)=>k.people_groups-w.people_groups),groups:y.reduce((w,k)=>w+k.people_groups,0),unknown:y.filter(w=>w.internet_access==="unknown").length})).sort((h,y)=>y.groups-h.groups)}),r=ce({}),i=f=>!!r.value[f],a=f=>{r.value={...r.value,[f]:!r.value[f]}},l=oe(()=>{const f=o.value;return{countries:f.length,resolved:f.filter(h=>h.internet_access!=="unknown").length,unknown:f.filter(h=>h.internet_access==="unknown").length,low:f.filter(h=>h.internet_access==="no").length}}),c=f=>f==="yes"?"ok":f==="partial"?"mid":f==="no"?"low":"unk",u=f=>f==="yes"?"connected":f==="partial"?"partial":f==="no"?"low":"unknown";return Zt(".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"),(f,h)=>(V(),K("div",{class:Le(["ci",{"is-dark":n.value}])},[h[1]||(h[1]=P("h2",{class:"ci-h"},"Cities with Internet",-1)),h[2]||(h[2]=P("p",{class:"ci-sub"},[$e(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),P("strong",null,"unknown means unmeasured, never assumed"),$e(". ")],-1)),P("div",Eg,[P("span",Tg,Z(l.value.countries)+" countries",1),P("span",Lg,Z(l.value.resolved)+" measured",1),P("span",Sg,Z(l.value.unknown)+" unknown",1),P("span",Ig,Z(l.value.low)+" low-connectivity",1)]),(V(!0),K(pe,null,bt(s.value,y=>(V(),K("section",{key:y.name,class:"sec"},[P("button",{type:"button",class:"sec-head",onClick:w=>a(y.name)},[P("span",{class:Le(["sec-caret",{open:!i(y.name)}])},"▶",2),P("h3",xg,Z(y.name),1),P("span",Pg,[$e(Z(y.items.length)+" countries · "+Z(y.groups.toLocaleString())+" people groups ",1),y.unknown?(V(),K(pe,{key:0},[$e(" · "+Z(y.unknown)+" unmeasured",1)],64)):Te("",!0)])],8,Fg),kc(P("div",null,[(V(!0),K(pe,null,bt(y.items,w=>(V(),K("div",{key:w.iso3,class:"row"},[P("div",null,[P("div",Mg,Z(w.country),1),P("div",Dg,[$e(Z(w.people_groups)+" people groups · "+Z(w.clusters)+" locations ",1),w.multi?(V(),K(pe,{key:0},[$e(" · "+Z(w.multi)+" population centres",1)],64)):Te("",!0)])]),P("div",Bg,[w.internet_pct!==null&&w.internet_pct!==void 0?(V(),K(pe,{key:0},[$e(Z(w.internet_pct)+"% ",1),P("div",Rg,Z(w.internet_year),1)],64)):(V(),K(pe,{key:1},[$e("—")],64))]),P("div",Wg,[w.mobile_per_100!==null&&w.mobile_per_100!==void 0?(V(),K(pe,{key:0},[$e(Z(w.mobile_per_100)+" ",1),h[0]||(h[0]=P("div",{class:"r-sub"},"mob/100",-1))],64)):(V(),K(pe,{key:1},[$e("—")],64))]),P("span",{class:Le(["pill",c(w.internet_access)])},Z(u(w.internet_access)),3)]))),128))],512),[[xu,!i(y.name)]])]))),128)),h[3]||(h[3]=P("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"})),us={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 jg(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(us.boundaries),o&&(r.push(us.mapbox),r.push(us.osm)),s.innerHTML=r.map(a=>`${a.label}`).join(" · ");const i={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(i,"bottom-right"),i}const Gg={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){return Zt(` +.map-toolbar { + position: absolute; + top: 6px; + /* Sit the control column near the edge with a small symmetric padding (3px) — + same value works whether the toolbar is swapped to the left or right side, and + it lines up with the search bar's 3px side inset. coder 2026-06-24. */ + right: 3px; + display: flex; + flex-direction: column; + gap: var(--map-toolbar-gap, 8px); + z-index: 10; +} +/* Slim every toolbar control to a fixed 32px (coder 2026-06-24: "buttons can be + smaller"): smaller but still tappable, and uniform so they all align. The icons + inside stay their own fixed px sizes (they don't scale with the button), so they + remain legible — "icons fixed in their sizing". Caps the responsive + --map-btn-size (40/36/32). FullscreenButton.vue is not edited; it slims here too. */ +.map-toolbar .mcb, +.map-toolbar .hbg-btn { width: 32px; height: 32px; } +.map-toolbar .hbg-ctrl { margin: 10px 0 0 0; } /* drop the 6px left offset so it lines up with the rest */ +@media (max-width: 767px) { + /* Mobile (with geocoder): drop the toolbar well below the search bar so + it doesn't sit flush against the search pill. Search = top:10, + height ~36, bottom:46. top:80 leaves a comfortable ~34px gap. */ + .map-toolbar { top: 72px; gap: 6px; } + /* Mobile (no geocoder): collapse the reserved gap — controls sit flush + to the top of the map area with the same 6px inset used on desktop. */ + .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } +} +`,"map-toolbar"),(t,n)=>(V(),K("div",{class:Le(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[ci(t.$slots,"default")],2))}},Yg=["title","disabled"],so={__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 Zt(` +.mcb{ + width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); + background:#fff; + border:none; + border-radius:50%; + cursor:pointer; + /* Don't let a drag that starts near a button select its glyph (the old + "drag selects the emoji to copy" bug while grabbing the scroll edge). */ + user-select:none;-webkit-user-select:none; + display:flex;align-items:center;justify-content:center; + /* Tight shadow only — the old 0 2px 8px spread bled to the map's clipped right + edge (overflow:hidden) and read as a "shadow wall" + made buttons look + over-padded. (coder 2026-06-24) */ + 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; + /* No blue/grey selection box on click/tap (webkit tap highlight). */ + -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;} +/* dark */ +.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)=>(V(),K("button",{class:Le(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[ci(t.$slots,"default")],10,Yg))}},Vg={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomIn()}return(s,r)=>(V(),et(so,{"is-dark":e.isDark,title:gt(t)("buttons.zoomIn"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},Hg={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=Jt(),n=e;function o(){var s;(s=n.map)==null||s.zoomOut()}return(s,r)=>(V(),et(so,{"is-dark":e.isDark,title:gt(t)("buttons.zoomOut"),onClick:o},{default:rn(()=>[...r[0]||(r[0]=[P("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},qg={__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}=Jt(),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:i,latitude:a}=r.coords;Number.isFinite(i)&&Number.isFinite(a)?n.map.flyTo({center:[i,a],zoom:n.userZoom,duration:1500}):o()},()=>o(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,i)=>(V(),et(so,{"is-dark":e.isDark,title:gt(t)("buttons.resetView"),onClick:s},{default:rn(()=>[...i[0]||(i[0]=[P("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[P("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"]))}},zg={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Kg={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Xg={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:n}=Jt(),o=e,s=t,r=ce(!1);let i=null,a=null,l=null,c=null,u=null,f=null,h=null,y=null,w=null,k=null,M=null,T=0,S=0,b=null,m=null;function $(){if(typeof document>"u")return!1;const z=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(z)||z.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function O(){var z,W,H;return((H=(W=(z=o.mapContainer)==null?void 0:z.getRootNode)==null?void 0:W.call(z))==null?void 0:H.host)??null}function N(){var W,H;const z=(H=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:H.call(W);return document.fullscreenElement||document.webkitFullscreenElement||(z&&z instanceof ShadowRoot?z.fullscreenElement:null)||null}function C(z){const W=z.requestFullscreen||z.webkitRequestFullscreen;if(!W)return Promise.reject(new Error("Fullscreen API unavailable"));const H=W.call(z);return H&&typeof H.then=="function"?H:Promise.resolve()}function L(){const z=document.exitFullscreen||document.webkitExitFullscreen;if(!z)return Promise.reject(new Error("Fullscreen API unavailable"));const W=z.call(document);return W&&typeof W.then=="function"?W:Promise.resolve()}function X(){const z=O();if(!z)return!1;if(l=z,a=z.style.cssText,z.style.position="fixed",z.style.top="0",z.style.left="0",z.style.right="0",z.style.bottom="0",z.style.width="100vw",z.style.height="100vh",z.style.height="100dvh",z.style.zIndex="2147483647",z.style.margin="0",z.style.borderRadius="0",z.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){T=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const W=document.body,H=document.documentElement;c=W?W.style.overflow:null,u=H?H.style.overflow:null,f=W?W.style.position:null,h=W?W.style.top:null,y=W?W.style.left:null,w=W?W.style.width:null,k=W?W.style.touchAction:null,M=H?H.style.touchAction:null,H&&(H.style.overflow="hidden",H.style.touchAction="none"),W&&(W.style.overflow="hidden",W.style.position="fixed",W.style.top=`-${T}px`,W.style.left=`-${S}px`,W.style.width="100%",W.style.touchAction="none"),b=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},m=ae=>{if(!l)return;const Ee=ae.target;Ee&&(Ee===l||l.contains&&l.contains(Ee))||ae.cancelable&&ae.preventDefault()},document.addEventListener("touchmove",b,{passive:!1,capture:!0}),document.addEventListener("wheel",m,{passive:!1,capture:!0})}return!0}function re(){if(l){if(l.style.cssText=a||"",l=null,a=null,typeof document<"u"){const z=document.body,W=document.documentElement;z&&(z.style.overflow=c??"",z.style.position=f??"",z.style.top=h??"",z.style.left=y??"",z.style.width=w??"",z.style.touchAction=k??""),W&&(W.style.overflow=u??"",W.style.touchAction=M??""),b&&(document.removeEventListener("touchmove",b,{capture:!0}),b=null),m&&(document.removeEventListener("wheel",m,{capture:!0}),m=null),typeof window<"u"&&(T||S)&&window.scrollTo(S,T)}c=null,u=null,f=null,h=null,y=null,w=null,k=null,M=null,T=0,S=0}}function q(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function ie(){if(!$()){r.value?(re(),r.value=!1,s("change",!1)):X()&&(r.value=!0,s("change",!0)),q();return}if(N())L().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const W=O()??document.documentElement;C(W).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{C(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function _e(){r.value=!!N(),s("change",r.value)}return Yt(()=>{var W,H;document.addEventListener("fullscreenchange",_e),document.addEventListener("webkitfullscreenchange",_e);const z=(H=(W=o.mapContainer)==null?void 0:W.getRootNode)==null?void 0:H.call(W);z instanceof ShadowRoot&&(i=z,z.addEventListener("fullscreenchange",_e),z.addEventListener("webkitfullscreenchange",_e))}),wn(()=>{document.removeEventListener("fullscreenchange",_e),document.removeEventListener("webkitfullscreenchange",_e),i&&(i.removeEventListener("fullscreenchange",_e),i.removeEventListener("webkitfullscreenchange",_e),i=null),l&&re()}),(z,W)=>(V(),et(so,{"is-dark":e.isDark,active:r.value,title:gt(n)("buttons.toggleFullscreen"),onClick:ie},{default:rn(()=>[r.value?(V(),K("svg",Kg,[...W[1]||(W[1]=[P("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(V(),K("svg",zg,[...W[0]||(W[0]=[P("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"]))}},Jg=tr&&tr.tagName.toUpperCase()==="SCRIPT"&&tr.src||new URL("cities-internet.js",document.baseURI).href,ps=e=>String(e||"").trim().replace(/\/+$/,"");function Zg(){try{const t=String(Jg||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Qg(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return ps(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return ps(n)}return ps(Zg()||"")}function em({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 i=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(i){if(/^https?:\/\//i.test(i))return i;if(i.startsWith("/"))return s?window.location.origin+i:i;const a=Qg(o),l=i.replace(/^\.\//,"");if(a)return a+"/"+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 tm={style:{position:"relative"}},nm={class:"share-tabs"},om={key:0,class:"share-body"},rm={class:"share-url-box"},sm={class:"share-url-text"},im={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},am={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"},lm={key:1,class:"share-body"},cm={class:"share-size-pills"},um=["onClick"],pm={class:"share-code-box"},dm={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},fm={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"},hm={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Zt(` +/* ---- popover shell ---- */ +/* ---- popover shell (imitates SemanticTreeLegend .stl-inner) ---- */ +.share-pop{ + position:absolute; + top:0; + right:48px; + width:380px; + background:#161b22; + border:1px solid #30363d; + border-radius:12px; + box-shadow:0 6px 24px rgba(0,0,0,0.45); + padding:0; + z-index:1100; + 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:share-pop-in 0.18s ease-out forwards; +} +@keyframes share-pop-in{ + to{opacity:1;transform:translateY(0) scale(1);} +} +.share-pop.light{ + background:#ffffff; + border:1px solid #d8dee4; + box-shadow:0 6px 24px rgba(0,0,0,0.16); + color:#1f2328; +} + +/* ---- header / close ---- */ +/* ---- header (imitates .stl-titlebar: 32px min-height, slim) ---- */ +.share-header{ + display:flex; + align-items:center; + justify-content:space-between; + padding:8px 12px; + min-height:32px; + border-bottom:1px solid #21262d; +} +.share-pop.light .share-header{border-bottom:1px solid #d8dee4;} +.share-title{ + font:600 10px ui-monospace,monospace; + color:#73A17F; + text-transform:uppercase; + letter-spacing:0.07em; +} +.share-pop.light .share-title{color:#3b463d;} +.share-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; +} +.share-close:hover{color:#c9d1d9;background:rgba(59,70,61,0.18);border-color:#73A17F;} +.share-pop.light .share-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} +.share-pop.light .share-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} + +/* ---- tabs ---- */ +.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; +} + +/* ---- tab body ---- */ +.share-body{ + padding:12px 16px 14px 16px; +} + +/* ---- Share Link tab ---- */ +.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;} + +/* ---- primary CTA button ---- */ +.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; +} + +/* ---- social row ---- */ +.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); +} + +/* ---- Embed tab ---- */ +.share-embed-desc{ + font-size:13.5px; + line-height:1.55; + opacity:0.72; + margin-bottom:16px; +} + +.share-size-pills{ + display:flex; + gap:8px; + margin-bottom:14px; +} +.share-size-pill{ + padding:6px 14px; + border-radius:20px; + border:1px solid rgba(255,255,255,0.12); + background:transparent; + color:inherit; + font-size:12.5px; + font-weight:500; + cursor:pointer; + transition:background 0.15s,border-color 0.15s; + font-family:inherit; +} +.share-size-pill:hover{ + background:rgba(255,255,255,0.06); +} +.share-size-pill.active{ + background:rgba(74,144,217,0.18); + border-color:rgba(74,144,217,0.45); + color:#7ab8f5; +} +.share-pop.light .share-size-pill{ + border:1px solid rgba(0,0,0,0.12); +} +.share-pop.light .share-size-pill:hover{ + background:rgba(0,0,0,0.04); +} +.share-pop.light .share-size-pill.active{ + background:rgba(26,115,232,0.10); + border-color:rgba(26,115,232,0.40); + color:#1a73e8; +} + +.share-code-box{ + background:rgba(0,0,0,0.28); + border:1px solid rgba(255,255,255,0.06); + border-radius:10px; + padding:12px 14px; + font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace; + font-size:11.5px; + line-height:1.5; + color:#a0aab8; + word-break:break-all; + white-space:pre-wrap; + max-height:90px; + overflow-y:auto; + -webkit-user-select:all; + user-select:all; +} +.share-pop.light .share-code-box{ + background:rgba(0,0,0,0.035); + border:1px solid rgba(0,0,0,0.08); + color:#444; +} + +/* ---- copy code button (secondary style) ---- */ +.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; +} + +/* ---- responsive: align with MapToolbar's layout convention ---- + The research-map profile uses @media(max-width:767px) and positions the + search bar at top:10, left:10, right:10. The geocoder pill renders ~60px + tall on mobile, so its bottom edge is ~70px. MapToolbar sits at top:80 + (10px gap below search). We mirror MapToolbar exactly so the popover's + top edge aligns with the top of the button. + right:52 = MapToolbar right(10) + button-width(36) + 6px breathing room. */ +@media(max-width:767px){ + .share-pop{ + position:fixed; + top:120px; + left:10px; + right:52px; + width:auto; + max-width:none; + max-height:calc(100vh - 96px); + overflow-y:auto; + -webkit-overflow-scrolling:touch; + z-index:9999; + } +} +`,"share-button");const{t}=Jt(),n=e,o=ce(!1),s=ce(null),r=ce(null),i=ce("link"),a=ce(!1),l=ce(!1),c=ce("medium"),u={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},f=He("profileConfig",null),h=oe(()=>em({embedPath:n.embedPath,profileConfig:gt(f)||null})),y=oe(()=>{const $=u[c.value].height;return''});function w(){o.value=!o.value,o.value&&(i.value="link",a.value=!1,l.value=!1)}function k(){o.value=!1}async function M($){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText($),!0}catch{}try{const O=document.createElement("textarea");O.value=$,O.setAttribute("readonly",""),O.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(O),O.select();const N=document.execCommand("copy");return document.body.removeChild(O),N}catch{return!1}}async function T(){await M(h.value)&&(a.value=!0,setTimeout(()=>{a.value=!1},2e3))}async function S(){await M(y.value)&&(l.value=!0,setTimeout(()=>{l.value=!1},2e3))}function b($){if(!o.value)return;const O=$.composedPath?$.composedPath():[$.target];s.value&&O.some(C=>C===s.value)||r.value&&O.some(C=>C===r.value||C===r.value.$el)||!O.some(C=>{var L,X;return(X=(L=C==null?void 0:C.classList)==null?void 0:L.contains)==null?void 0:X.call(L,"mapboxgl-canvas")})||k()}function m($){$.key==="Escape"&&o.value&&k()}return Yt(()=>{document.addEventListener("click",b,!0),document.addEventListener("keydown",m)}),wn(()=>{document.removeEventListener("click",b,!0),document.removeEventListener("keydown",m)}),($,O)=>(V(),K("div",tm,[ke(so,{ref_key:"btnEl",ref:r,"is-dark":e.isDark,active:o.value,title:gt(t)("buttons.shareEmbed"),onClick:w},{default:rn(()=>[...O[2]||(O[2]=[P("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"},[P("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),P("polyline",{points:"16 6 12 2 8 6"}),P("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),o.value?(V(),K("div",{key:0,ref_key:"popoverEl",ref:s,class:Le(["share-pop",{light:!e.isDark}])},[P("div",{class:"share-header"},[O[4]||(O[4]=P("span",{class:"share-title"},"Share",-1)),P("button",{class:"share-close",onClick:k,"aria-label":"Close"},[...O[3]||(O[3]=[P("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[P("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),P("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),P("div",nm,[P("button",{class:Le(["share-tab",{active:i.value==="link"}]),onClick:O[0]||(O[0]=N=>i.value="link")},"Share Link",2),P("button",{class:Le(["share-tab",{active:i.value==="embed"}]),onClick:O[1]||(O[1]=N=>i.value="embed")},"Add to Your Website",2)]),i.value==="link"?(V(),K("div",om,[P("div",rm,[P("div",sm,Z(h.value),1)]),P("button",{class:Le(["share-primary-btn",{copied:a.value}]),onClick:T},[a.value?(V(),K("svg",am,[...O[6]||(O[6]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),K("svg",im,[...O[5]||(O[5]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Z(a.value?"Copied!":"Copy Link"),1)],2)])):Te("",!0),i.value==="embed"?(V(),K("div",lm,[O[9]||(O[9]=P("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),P("div",cm,[(V(),K(pe,null,bt(u,(N,C)=>P("button",{key:C,class:Le(["share-size-pill",{active:c.value===C}]),onClick:L=>c.value=C},Z(N.label),11,um)),64))]),P("div",pm,Z(y.value),1),P("button",{class:Le(["share-secondary-btn",{copied:l.value}]),onClick:S},[l.value?(V(),K("svg",fm,[...O[8]||(O[8]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),K("svg",dm,[...O[7]||(O[7]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),$e(" "+Z(l.value?"Copied!":"Copy Code"),1)],2)])):Te("",!0)],2)):Te("",!0)]))}},gm={class:"gm-legend"},mm={class:"gm-keys"},_m={key:1,class:"gm-err"},bm={key:2,class:"gm-sheet"},ym={class:"gm-sh-head"},vm={class:"gm-sh-name"},wm={key:0,class:"gm-ai"},km={class:"gm-stat"},$m={class:"gm-stat"},Om={class:"gm-stat"},Nm={class:"gm-stat"},Cm={class:"gm-stat"},Am={key:1,class:"gm-list"},Em={class:"gm-list-h"},Tm={key:2,class:"gm-list"},Lm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=He("profileConfig",ce(null)),n=oe(()=>{var T;return((T=t.value)==null?void 0:T.isDark)===!0}),o=oe(()=>{var T;return((T=t.value)==null?void 0:T.tk)||window.DOXA_TOKEN||""}),s=oe(()=>{var T;return String(((T=t.value)==null?void 0:T.assetsBase)||"./assets").replace(/\/+$/,"")}),r=ce(null),i=No(null),a=ce([]),l=ce(null),c=ce(!0),u=ce(null),f=[{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"}],h=T=>(f.find(S=>S.id===T)||{}).color||"#9aa2ad",y=oe(()=>{const T={};for(const S of a.value)T[S.iso3]=S;return T});async function w(){const[T,S]=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 a.value=T.countries||[],S}function k(T,S){const b=y.value,$={type:"FeatureCollection",features:(S.features||[]).map(O=>{var L;const N=(L=O.properties)==null?void 0:L.iso3,C=b[N];return{type:"Feature",properties:{iso3:N,band:(C==null?void 0:C.band)||"none",color:C?h(C.band):"rgba(0,0,0,0)",hasData:!!C},geometry:O.geometry}})};if(T.getSource("ci-src")){T.getSource("ci-src").setData($);return}T.addSource("ci-src",{type:"geojson",data:$}),T.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),T.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),T.on("click","ci-fill",O=>{var C,L,X;const N=(X=(L=(C=O.features)==null?void 0:C[0])==null?void 0:L.properties)==null?void 0:X.iso3;N&&y.value[N]&&(l.value=y.value[N])}),T.on("mouseenter","ci-fill",()=>{T.getCanvas().style.cursor="pointer"}),T.on("mouseleave","ci-fill",()=>{T.getCanvas().style.cursor=""})}Yt(async()=>{const T=window.mapboxgl;if(!T||!r.value){u.value="mapbox-gl not loaded";return}try{const S=await w(),b=new T.Map({container:r.value,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});i.value=gn(b),jg(b,{boundaries:!0}),b.once("load",()=>k(b,S))}catch(S){u.value=String(S.message||S)}}),wn(()=>{var T;try{(T=i.value)==null||T.remove()}catch{}});const M=T=>(Number(T)||0).toLocaleString();return Zt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;right:8px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-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"),(T,S)=>(V(),K("div",{class:Le(["gm",{"is-dark":n.value}])},[P("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),i.value?(V(),et(Gg,{key:0},{default:rn(()=>[ke(Vg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Hg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(qg,{map:i.value,"is-dark":n.value},null,8,["map","is-dark"]),ke(Xg,{"map-container":r.value,"is-dark":n.value},null,8,["map-container","is-dark"]),ke(hm,{"is-dark":n.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Te("",!0),P("div",gm,[S[2]||(S[2]=P("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),P("div",mm,[(V(),K(pe,null,bt(f,b=>P("span",{key:b.id,class:"gm-key"},[P("i",{class:"gm-sw",style:go({background:b.color})},null,4),$e(Z(b.label),1)])),64))]),S[3]||(S[3]=P("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?(V(),K("div",_m,Z(u.value),1)):Te("",!0),l.value?(V(),K("div",bm,[P("div",ym,[P("span",vm,Z(l.value.country),1),P("button",{type:"button",class:"gm-x",onClick:S[0]||(S[0]=b=>l.value=null)},"Close")]),c.value?(V(),K("div",wm,[S[4]||(S[4]=P("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),P("button",{type:"button",class:"gm-ai-x",onClick:S[1]||(S[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Te("",!0),P("div",km,[S[5]||(S[5]=P("span",null,"Internet users",-1)),P("b",null,Z(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),P("div",$m,[S[6]||(S[6]=P("span",null,"Measured",-1)),P("b",null,Z(l.value.internet_year||"—"),1)]),P("div",Om,[S[7]||(S[7]=P("span",null,"Mobile per 100",-1)),P("b",null,Z(l.value.mobile_per_100??"—"),1)]),P("div",Nm,[S[8]||(S[8]=P("span",null,"People groups",-1)),P("b",null,Z(M(l.value.people_groups)),1)]),P("div",Cm,[S[9]||(S[9]=P("span",null,"Top platform",-1)),P("b",null,[$e(Z(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(V(),K(pe,{key:0},[$e(" · "+Z(l.value.top_platform_pct)+"%",1)],64)):Te("",!0)])]),l.value.carriers&&l.value.carriers.length?(V(),K("div",Am,[P("div",Em,"Carriers & ISPs ("+Z(l.value.carrier_count)+")",1),P("ul",null,[(V(!0),K(pe,null,bt(l.value.carriers,(b,m)=>(V(),K("li",{key:m},Z(b),1))),128))])])):Te("",!0),l.value.platforms&&l.value.platforms.length?(V(),K("div",Tm,[S[10]||(S[10]=P("div",{class:"gm-list-h"},"Social platforms",-1)),P("ul",null,[(V(!0),K(pe,null,bt(l.value.platforms,(b,m)=>(V(),K("li",{key:m},Z(b.name)+" · "+Z(b.pct)+"%",1))),128))])])):Te("",!0),S[11]||(S[11]=P("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))])):Te("",!0)],2))}}},Symbol.toStringTag,{value:"Module"})),Sm={class:"dt-head"},Im={class:"dt-title"},Fm={class:"dt-count"},xm={key:0,class:"dt-grain"},Pm={class:"dt-actions"},Mm={key:0,class:"dt-err"},Dm={class:"dt-wrap"},Bm={class:"dt-hint"},Rm={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Wm={class:"dt-sheet-head"},Um={class:"dt-dl"},jm=["href"],Gm={key:1},Ym={key:2},Vm={key:2,class:"dt-caveats"},Hm={class:"dt-cav-k"},qm={__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=ce(!1),r=ce(null),i=ce(null),a=No(null),l=ce(null),c=ce(!1),u=oe(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),f=oe(()=>{var N;return((N=n.table)==null?void 0:N.meta)||{}}),h=oe(()=>{var N;return(((N=n.table)==null?void 0:N.rows)||[]).length}),y=oe(()=>Object.entries(f.value).filter(([N,C])=>typeof C=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(N)).map(([N,C])=>({key:N.replace(/_/g," "),text:C})));let w=null;function k(){return window.Tabulator?Promise.resolve(window.Tabulator):w||(w=new Promise((N,C)=>{const L=document.createElement("script");L.src=`${u.value}/vendor/tabulator/tabulator.min.js`,L.onload=()=>N(window.Tabulator),L.onerror=()=>C(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(L)}),w)}async function M(N){if(!(!N||N.querySelector("style[data-tabulator]")))try{const C=await fetch(`${u.value}/vendor/tabulator/tabulator.min.css`);if(!C.ok)return;const L=document.createElement("style");L.setAttribute("data-tabulator",""),L.textContent=await C.text(),N.appendChild(L)}catch{}}function T(N){var re,q;if(!i.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const C=((re=n.table)==null?void 0:re.columns)||[],X=(s.value?C.slice(0,3):C).map((ie,_e)=>({title:ie.title,field:ie.field,headerFilter:ie.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:ie.type==="number"?"number":ie.type==="boolean"?"boolean":"string",formatter:ie.type==="boolean"?"tickCross":void 0,.../_url$/.test(ie.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&_e{r.value=_e.getData(),o("row-click",_e.getData())}),a.value.on("tableBuilt",()=>{c.value=!0})}const S=N=>{var C,L;return((L=(((C=n.table)==null?void 0:C.columns)||[]).find(X=>X.field===N))==null?void 0:L.title)||N.replace(/_/g," ")},b=N=>typeof N=="string"&&N.includes(", ")&&N.length>40?N.split(", "):null,m=N=>typeof N=="string"&&/^https?:\/\//.test(N),$=oe(()=>r.value?Object.entries(r.value).filter(([,N])=>N!==""&&N!==null&&N!==void 0):[]);function O(N){var C;try{(C=a.value)==null||C.download(N,`${(f.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${N}`)}catch(L){l.value=String(L.message||L)}}return Yt(async()=>{var N,C;try{await M((C=(N=i.value)==null?void 0:N.getRootNode)==null?void 0:C.call(N)),T(await k())}catch(L){l.value=String(L.message||L)}}),wn(()=>{var N;try{(N=a.value)==null||N.destroy()}catch{}}),St(()=>n.table,()=>{var N,C;try{(C=a.value)==null||C.replaceData(((N=n.table)==null?void 0:N.rows)||[])}catch{}}),Zt(".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"),(N,C)=>{var L,X;return V(),K("div",{class:Le(["dt",{"is-dark":e.isDark}])},[P("div",Sm,[P("h3",Im,Z(f.value.title||"Data"),1),P("span",Fm,Z(h.value.toLocaleString())+" rows",1),f.value.grain?(V(),K("span",xm,"· "+Z(f.value.grain),1)):Te("",!0),P("span",Pm,[P("button",{type:"button",class:"dt-btn",onClick:C[0]||(C[0]=re=>O("csv"))},"CSV"),P("button",{type:"button",class:"dt-btn",onClick:C[1]||(C[1]=re=>O("json"))},"JSON")])]),l.value?(V(),K("div",Mm,Z(l.value),1)):Te("",!0),P("div",Dm,[P("div",{ref_key:"host",ref:i},null,512)]),P("p",Bm,"Tap any row for its full detail"+Z(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(V(),K("div",{key:1,class:"dt-scrim",onClick:C[3]||(C[3]=np(re=>r.value=null,["self"]))},[P("div",Rm,[P("div",Wm,[P("strong",null,Z(r.value[(X=(((L=e.table)==null?void 0:L.columns)||[])[0])==null?void 0:X.field]||"Detail"),1),P("button",{type:"button",class:"dt-close",onClick:C[2]||(C[2]=re=>r.value=null)},"Close")]),P("dl",Um,[(V(!0),K(pe,null,bt($.value,([re,q])=>(V(),K(pe,{key:re},[P("dt",null,Z(S(re)),1),P("dd",null,[m(q)?(V(),K("a",{key:0,href:q,target:"_blank",rel:"noopener"},Z(q),9,jm)):b(q)?(V(),K("ul",Gm,[(V(!0),K(pe,null,bt(b(q),(ie,_e)=>(V(),K("li",{key:_e},Z(ie),1))),128))])):(V(),K("span",Ym,Z(q===!0?"yes":q===!1?"no":q),1))])],64))),128))])])])):Te("",!0),y.value.length?(V(),K("div",Vm,[(V(!0),K(pe,null,bt(y.value,re=>(V(),K("div",{key:re.key},[P("span",Hm,Z(re.key)+":",1),$e(" "+Z(re.text),1)]))),128))])):Te("",!0)],2)}}},zm={class:"ct-tabs"},Km=["onClick"],Xm={key:0,class:"ct-n"},Jm={key:0,class:"ct-err"},Zm={key:1,class:"ct-load"},Qm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=He("profileConfig",ce(null)),n=oe(()=>{var h;return((h=t.value)==null?void 0:h.isDark)===!0}),o=oe(()=>{var h;return String(((h=t.value)==null?void 0:h.assetsBase)||"./assets").replace(/\/+$/,"")}),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=ce("cities"),i=oe(()=>s.find(h=>h.id===r.value)||s[0]),a=ce({}),l=ce(!1),c=ce(null);async function u(h){if(!a.value[h]){l.value=!0,c.value=null;try{const y=await fetch(`${o.value}/tables/${h}.json`);if(!y.ok)throw new Error(`table not found (${y.status})`);a.value={...a.value,[h]:await y.json()}}catch(y){c.value=String(y.message||y)}finally{l.value=!1}}}St(i,h=>h&&u(h.file),{immediate:!0});const f=oe(()=>{var h;return a.value[(h=i.value)==null?void 0:h.file]||null});return Zt(".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"),(h,y)=>(V(),K("div",{class:Le(["ct",{"is-dark":n.value}])},[y[0]||(y[0]=P("h2",{class:"ct-h"},"Cities Data",-1)),y[1]||(y[1]=P("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)),P("div",zm,[(V(),K(pe,null,bt(s,w=>P("button",{key:w.id,type:"button",class:Le(["ct-tab",{on:r.value===w.id}]),onClick:k=>r.value=w.id},[$e(Z(w.label),1),a.value[w.file]?(V(),K("span",Xm,Z((a.value[w.file].rows||[]).length.toLocaleString()),1)):Te("",!0)],10,Km)),64))]),c.value?(V(),K("div",Jm,Z(c.value),1)):f.value?(V(),et(qm,{key:i.value.id,table:f.value,"assets-base":o.value,"is-dark":n.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(V(),K("div",Zm,"Loading "+Z(i.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html b/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html index 7c48a391..d50686c0 100644 --- a/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html +++ b/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-list/index.html @@ -29,7 +29,7 @@ - + diff --git a/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-map/index.html b/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-map/index.html index ea5cf861..1dfcd808 100644 --- a/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-map/index.html +++ b/public/js/doxa-maps-build/doxa-maps/cities-internet/connectivity-map/index.html @@ -29,7 +29,7 @@ - + diff --git a/public/js/doxa-maps-build/doxa-maps/cities-internet/data-tables/index.html b/public/js/doxa-maps-build/doxa-maps/cities-internet/data-tables/index.html index 9f0fffae..fb0b6402 100644 --- a/public/js/doxa-maps-build/doxa-maps/cities-internet/data-tables/index.html +++ b/public/js/doxa-maps-build/doxa-maps/cities-internet/data-tables/index.html @@ -29,7 +29,7 @@ - + diff --git a/public/js/doxa-maps-build/doxa-maps/cities-internet/index.html b/public/js/doxa-maps-build/doxa-maps/cities-internet/index.html index 2e31826b..cb4c4376 100644 --- a/public/js/doxa-maps-build/doxa-maps/cities-internet/index.html +++ b/public/js/doxa-maps-build/doxa-maps/cities-internet/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":18,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-wfe2Vyh8VE8Db9ua0rsL2l6tF+PsihChCdxBRE7q9X5oz4YMeQbh5Qfuk1SbjdXN","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-wfe2Vyh8VE8Db9ua0rsL2l6tF+PsihChCdxBRE7q9X5oz4YMeQbh5Qfuk1SbjdXN\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-wfe2Vyh8VE8Db9ua0rsL2l6tF+PsihChCdxBRE7q9X5oz4YMeQbh5Qfuk1SbjdXN\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-wfe2Vyh8VE8Db9ua0rsL2l6tF+PsihChCdxBRE7q9X5oz4YMeQbh5Qfuk1SbjdXN\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}}]}]}; - + diff --git a/public/js/doxa-maps-build/doxa-maps/country-posters/country-poster-wall/index.html b/public/js/doxa-maps-build/doxa-maps/country-posters/country-poster-wall/index.html index 73735b2b..131c0ca8 100644 --- a/public/js/doxa-maps-build/doxa-maps/country-posters/country-poster-wall/index.html +++ b/public/js/doxa-maps-build/doxa-maps/country-posters/country-poster-wall/index.html @@ -29,7 +29,7 @@ - + diff --git a/public/js/doxa-maps-build/doxa-maps/country-posters/country-posters.js b/public/js/doxa-maps-build/doxa-maps/country-posters/country-posters.js index 4c382648..9a012722 100644 --- a/public/js/doxa-maps-build/doxa-maps/country-posters/country-posters.js +++ b/public/js/doxa-maps-build/doxa-maps/country-posters/country-posters.js @@ -1,47 +1,47 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-b7582f77]{width:100%;height:100%;position:relative}.profile-error[data-v-b7582f77]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}.people-group-detail[data-v-17d34c3a]{display:flex;flex-direction:column;height:100%;overflow-y:auto}.detail-header[data-v-17d34c3a]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:10}.header-left[data-v-17d34c3a]{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.header-text[data-v-17d34c3a]{flex:1;min-width:0}.people-group-name[data-v-17d34c3a]{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text}.people-group-subtitle[data-v-17d34c3a]{margin:4px 0 0;font-size:13px;color:#666;line-height:1.2}.close-button[data-v-17d34c3a]{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color .2s ease;flex-shrink:0}.close-button[data-v-17d34c3a]:hover{color:#333}.detail-content[data-v-17d34c3a]{padding:6px 12px 12px;flex:1;overflow-y:auto}.quick-stats[data-v-17d34c3a]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.stat-item[data-v-17d34c3a]{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.stat-label[data-v-17d34c3a]{color:#666;font-weight:500}.stat-value[data-v-17d34c3a]{color:#333;font-weight:600;text-align:right}.action-buttons[data-v-17d34c3a]{display:flex;gap:8px;padding-top:12px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}.action-btn[data-v-17d34c3a]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.action-btn.primary[data-v-17d34c3a]{background:#92b195;color:#fff}.action-btn.primary[data-v-17d34c3a]:hover{background:#73a17f;box-shadow:0 2px 4px #92b1954d}.action-btn.secondary[data-v-17d34c3a]{background:#ecf0f1;color:#333}.action-btn.secondary[data-v-17d34c3a]:hover{background:#d5dbdb}.btn-icon[data-v-17d34c3a]{flex-shrink:0}.image-container[data-v-17d34c3a]{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5}.image-container.position-above[data-v-17d34c3a]{width:120px;height:150px;margin:0 auto 16px}.image-container.position-inside[data-v-17d34c3a]{width:200px;height:250px;margin:0 auto 16px}.people-group-image[data-v-17d34c3a]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.people-group-image.loaded[data-v-17d34c3a]{opacity:1}.image-placeholder-svg[data-v-17d34c3a]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0;transition:opacity .3s ease}.image-placeholder-svg.hidden[data-v-17d34c3a]{opacity:0;pointer-events:none}.image-container[data-v-17d34c3a]{position:relative}.description-section[data-v-17d34c3a]{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.description-text[data-v-17d34c3a]{margin:0;font-size:14px;line-height:1.6;color:#555}.description-text.empty[data-v-17d34c3a]{color:#999;font-style:italic}.action-buttons[data-v-17d34c3a]::-webkit-scrollbar{height:4px}.action-buttons[data-v-17d34c3a]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.action-buttons[data-v-17d34c3a]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.action-buttons[data-v-17d34c3a]::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 480px){.people-group-name[data-v-17d34c3a]{font-size:16px}.stat-item[data-v-17d34c3a]{font-size:13px}.action-btn[data-v-17d34c3a]{padding:8px 14px;font-size:13px}}.title-slot[data-v-7caa85cc]{padding:4% 2%;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%;height:100%;color:#0a0a0a}.title-slot__title[data-v-7caa85cc]{font-weight:700;font-size:clamp(20px,6vw,64px);line-height:1.05;letter-spacing:-.01em}.title-slot__subtitle[data-v-7caa85cc]{margin-top:.35em;font-weight:500;font-size:clamp(12px,2.4vw,28px);color:#444}.poster-slot[data-v-1a65b1e9],.poster-slot[data-v-2cbe964e],.poster-slot[data-v-d12819c9],.poster-slot[data-v-93c6c172]{display:none}.poster-preview[data-v-563f7dcd]{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;padding:0}.poster-preview__page[data-v-563f7dcd]{display:block}.poster-preview__map[data-v-563f7dcd]{object-fit:cover;display:block}.poster-preview__map.placeholder[data-v-563f7dcd]{display:flex;align-items:center;justify-content:center;background:#ddd;color:#555;font-size:14px}.poster-preview__slot[data-v-563f7dcd]{pointer-events:none}.poster-dlg-backdrop[data-v-1e730db1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}.poster-dlg[data-v-1e730db1]{background:#fff;width:min(1100px,95vw);height:min(800px,92vh);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000059}.poster-dlg__header[data-v-1e730db1]{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #eee}.poster-dlg__header h2[data-v-1e730db1]{margin:0;font-size:16px;font-weight:600}.poster-dlg__close[data-v-1e730db1]{background:none;border:0;font-size:22px;cursor:pointer;color:#555}.poster-dlg__body[data-v-1e730db1]{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr}.poster-dlg__controls[data-v-1e730db1]{padding:14px;border-right:1px solid #eee;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#fafafa}.poster-dlg__preview[data-v-1e730db1]{padding:14px;overflow:auto;background:#2b2b2b}.ctl[data-v-1e730db1]{display:flex;flex-direction:column;font-size:12px;color:#444;gap:4px}.ctl--check[data-v-1e730db1]{border:0;padding:0;margin:0}.ctl--check legend[data-v-1e730db1]{font-size:12px;color:#444;padding:0 0 4px}.ctl--check label[data-v-1e730db1]{display:flex;align-items:center;gap:6px;font-size:12px}.ctl input[data-v-1e730db1],.ctl select[data-v-1e730db1]{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.muted[data-v-1e730db1]{opacity:.65}.actions[data-v-1e730db1]{display:flex;gap:8px;margin-top:auto}.btn[data-v-1e730db1]{padding:8px 12px;border-radius:4px;border:1px solid #ccc;cursor:pointer;font-size:13px}.btn--primary[data-v-1e730db1]{background:#26d;color:#fff;border-color:#26d}.btn--primary[data-v-1e730db1]:disabled{background:#88aae0;cursor:progress}.btn--ghost[data-v-1e730db1]{background:transparent}.render-status[data-v-1e730db1]{display:flex;flex-direction:column;gap:6px;padding:8px;background:#fff;border:1px solid #eee;border-radius:4px;font-size:12px}.render-status progress[data-v-1e730db1]{width:100%}.poster-dlg-enter-active[data-v-1e730db1],.poster-dlg-leave-active[data-v-1e730db1]{transition:opacity .15s ease}.poster-dlg-enter-from[data-v-1e730db1],.poster-dlg-leave-to[data-v-1e730db1]{opacity:0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); -(function(){"use strict";var Eg;var ms=typeof document<"u"?document.currentScript:null;const C2="modulepreload",E2=function(e){return"/"+e},T2={},Kt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})},bs="affinityBlock",En="#95a5a6",Ao={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf"},Ja={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000"},Ho=Ja,Al=Object.entries(Ao).reduce((e,[t,o])=>(e[o]=t,e),{}),ys=Object.entries(Ao).reduce((e,[t,o])=>(e[o]=Ho[t],e),{}),Ll=Ao;function vs(e){return Ao[e]||"Unknown"}function _s(e){return Ho[e]||En}function Cl(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Ho[e]||En:ys[e]||En:En}function El(){return Object.entries(Ao).map(([e,t])=>({code:e,name:t,color:Ho[e]}))}function Tl(e){return{code:e,name:Ao[e]||"Unknown",color:Ho[e]||En}}function $l(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return _s(t)}function Pl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vs(t)}function xs(){const e=["match",["get",bs]];return Object.entries(Ho).forEach(([t,o])=>{e.push(t,o)}),e.push(En),e}const Nl=xs,Hg=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Ho,AFFINITY_BLOCK_COLORS_BY_NAME:ys,AFFINITY_BLOCK_NAMES:Ao,AFFINITY_BLOCK_NAME_TO_CODE:Al,NAMES:Ll,PALETTE:Ja,PROPERTY_KEY:bs,affinityBlockCodeLookup:Ao,affinityBlockCodeToColor:Ho,affinityBlockCodeToName:Ao,affinityBlockColors:ys,affinityBlockNameToCode:Al,applyColor:xs,buildColorExpression:Nl,default:{name:"Affinity Block",propertyKey:bs,palette:Ja,colors:Ja,names:Ll,getColor:$l,applyColor:xs,buildColorExpression:Nl,getName:Pl,getAffinityBlockName:vs,getAffinityBlockColor:Cl,getAffinityBlockColorByCode:_s,getAffinityBlocksArray:El,getAffinityBlockData:Tl},getAffinityBlockColor:Cl,getAffinityBlockColorByCode:_s,getAffinityBlockData:Tl,getAffinityBlockName:vs,getAffinityBlocksArray:El,getColor:$l,getName:Pl},Symbol.toStringTag,{value:"Module"}));function qg(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ws),e}const Fl=Ls,Wg=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Vg,PALETTE:Za,PROPERTY_KEY:ks,REGION_COLOR_ALIASES:As,SLUG_PALETTE:Qa,applyColor:Ls,buildColorExpression:Fl,default:{name:"DOXA Region",propertyKey:ks,palette:Za,colors:Za,slugColors:Qa,aliases:As,fallback:ws,getColor:Rl,applyColor:Ls,buildColorExpression:Fl,getRegionColor:Ml,getRegionColorBySlug:Ss},getColor:Rl,getRegionColor:Ml,getRegionColorBySlug:Ss},Symbol.toStringTag,{value:"Module"})),Dl="resourceType",qo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Yg=qo,ta=["bible","jesusFilm","radio","gospel","audio","stories"],Cs={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Xg=Cs;function oa(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Ol(e){var t;for(const o of ta)if((e[o]||((t=e._raw)==null?void 0:t[oa(o)]))==="Available")return qo.hasResources;return qo.noResources}function Bl(e){var t;for(const o of ta)if((e[o]||((t=e._raw)==null?void 0:t[oa(o)]))==="Available")return!0;return!1}function Gl(e){var t;for(const o of ta)if((e[o]||((t=e._raw)==null?void 0:t[oa(o)]))==="Available")return o;return"noResources"}function Es(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],qo.hasResources,qo.noResources]}const jl=Es,Jg=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Cs,PALETTE:qo,PROPERTY_KEY:Dl,RESOURCE_COLORS:Yg,RESOURCE_NAMES:Xg,RESOURCE_PRIORITY:ta,applyColor:Es,buildColorExpression:jl,default:{name:"Gospel Resources",propertyKey:Dl,palette:qo,colors:qo,names:Cs,priority:ta,getColor:Ol,applyColor:Es,buildColorExpression:jl,hasAnyResource:Bl,getResourceType:Gl,getCSVColumn:oa},getCSVColumn:oa,getColor:Ol,getResourceType:Gl,hasAnyResource:Bl},Symbol.toStringTag,{value:"Module"}));/** +(function(){"use strict";var Tg;var En=typeof document<"u"?document.currentScript:null;const N2="modulepreload",I2=function(e){return"/"+e},M2={},Kt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})},bs="affinityBlock",Tn="#95a5a6",Lo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf"},Za={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000"},Ho=Za,Ll=Object.entries(Lo).reduce((e,[t,o])=>(e[o]=t,e),{}),ys=Object.entries(Lo).reduce((e,[t,o])=>(e[o]=Ho[t],e),{}),Cl=Lo;function vs(e){return Lo[e]||"Unknown"}function _s(e){return Ho[e]||Tn}function El(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Ho[e]||Tn:ys[e]||Tn:Tn}function Tl(){return Object.entries(Lo).map(([e,t])=>({code:e,name:t,color:Ho[e]}))}function $l(e){return{code:e,name:Lo[e]||"Unknown",color:Ho[e]||Tn}}function Pl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return _s(t)}function Nl(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vs(t)}function xs(){const e=["match",["get",bs]];return Object.entries(Ho).forEach(([t,o])=>{e.push(t,o)}),e.push(Tn),e}const Il=xs,qg=Object.freeze(Object.defineProperty({__proto__:null,AFFINITY_BLOCK_COLORS:Ho,AFFINITY_BLOCK_COLORS_BY_NAME:ys,AFFINITY_BLOCK_NAMES:Lo,AFFINITY_BLOCK_NAME_TO_CODE:Ll,NAMES:Cl,PALETTE:Za,PROPERTY_KEY:bs,affinityBlockCodeLookup:Lo,affinityBlockCodeToColor:Ho,affinityBlockCodeToName:Lo,affinityBlockColors:ys,affinityBlockNameToCode:Ll,applyColor:xs,buildColorExpression:Il,default:{name:"Affinity Block",propertyKey:bs,palette:Za,colors:Za,names:Cl,getColor:Pl,applyColor:xs,buildColorExpression:Il,getName:Nl,getAffinityBlockName:vs,getAffinityBlockColor:El,getAffinityBlockColorByCode:_s,getAffinityBlocksArray:Tl,getAffinityBlockData:$l},getAffinityBlockColor:El,getAffinityBlockColorByCode:_s,getAffinityBlockData:$l,getAffinityBlockName:vs,getAffinityBlocksArray:Tl,getColor:Pl,getName:Nl},Symbol.toStringTag,{value:"Module"}));function Vg(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ws),e}const Dl=Ls,Yg=Object.freeze(Object.defineProperty({__proto__:null,DOXA_REGION_COLORS:Wg,PALETTE:Qa,PROPERTY_KEY:ks,REGION_COLOR_ALIASES:As,SLUG_PALETTE:er,applyColor:Ls,buildColorExpression:Dl,default:{name:"DOXA Region",propertyKey:ks,palette:Qa,colors:Qa,slugColors:er,aliases:As,fallback:ws,getColor:Fl,applyColor:Ls,buildColorExpression:Dl,getRegionColor:Rl,getRegionColorBySlug:Ss},getColor:Fl,getRegionColor:Rl,getRegionColorBySlug:Ss},Symbol.toStringTag,{value:"Module"})),Ol="resourceType",qo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},Xg=qo,oa=["bible","jesusFilm","radio","gospel","audio","stories"],Cs={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Jg=Cs;function na(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function Bl(e){var t;for(const o of oa)if((e[o]||((t=e._raw)==null?void 0:t[na(o)]))==="Available")return qo.hasResources;return qo.noResources}function Gl(e){var t;for(const o of oa)if((e[o]||((t=e._raw)==null?void 0:t[na(o)]))==="Available")return!0;return!1}function jl(e){var t;for(const o of oa)if((e[o]||((t=e._raw)==null?void 0:t[na(o)]))==="Available")return o;return"noResources"}function Es(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],qo.hasResources,qo.noResources]}const zl=Es,Zg=Object.freeze(Object.defineProperty({__proto__:null,NAMES:Cs,PALETTE:qo,PROPERTY_KEY:Ol,RESOURCE_COLORS:Xg,RESOURCE_NAMES:Jg,RESOURCE_PRIORITY:oa,applyColor:Es,buildColorExpression:zl,default:{name:"Gospel Resources",propertyKey:Ol,palette:qo,colors:qo,names:Cs,priority:oa,getColor:Bl,applyColor:Es,buildColorExpression:zl,hasAnyResource:Gl,getResourceType:jl,getCSVColumn:na},getCSVColumn:na,getColor:Bl,getResourceType:jl,hasAnyResource:Gl},Symbol.toStringTag,{value:"Module"}));/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Ts(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const We={},Tn=[],so=()=>{},zl=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),at=Object.assign,$s=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Zg=Object.prototype.hasOwnProperty,Ue=(e,t)=>Zg.call(e,t),Ae=Array.isArray,Vo=e=>na(e)==="[object Map]",Lo=e=>na(e)==="[object Set]",Ul=e=>na(e)==="[object Date]",Te=e=>typeof e=="function",et=e=>typeof e=="string",Dt=e=>typeof e=="symbol",Ke=e=>e!==null&&typeof e=="object",Kl=e=>(Ke(e)||Te(e))&&Te(e.then)&&Te(e.catch),Hl=Object.prototype.toString,na=e=>Hl.call(e),Qg=e=>na(e).slice(8,-1),or=e=>na(e)==="[object Object]",nr=e=>et(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,aa=Ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ar=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ef=/-\w/g,mt=ar(e=>e.replace(ef,t=>t.slice(1).toUpperCase())),tf=/\B([A-Z])/g,Ht=ar(e=>e.replace(tf,"-$1").toLowerCase()),rr=ar(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ps=ar(e=>e?`on${rr(e)}`:""),io=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ir=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ns=e=>{const t=et(e)?Number(e):NaN;return isNaN(t)?e:t};let Vl;const lr=()=>Vl||(Vl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function tt(e){if(Ae(e)){const t={};for(let o=0;o{if(o){const n=o.split(nf);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Le(e){let t="";if(et(e))t=e;else if(Ae(e))for(let o=0;oCo(o,t))}const Xl=e=>!!(e&&e.__v_isRef===!0),me=e=>et(e)?e:e==null?"":Ae(e)||Ke(e)&&(e.toString===Hl||!Te(e.toString))?Xl(e)?me(e.value):JSON.stringify(e,Jl,2):String(e),Jl=(e,t)=>Xl(t)?Jl(e,t.value):Vo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Ms(n,r)+" =>"]=a,o),{})}:Lo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ms(o))}:Dt(t)?Ms(t):Ke(t)&&!Ae(t)&&!or(t)?String(t):t,Ms=(e,t="")=>{var o;return Dt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Ts(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Xe={},$n=[],io=()=>{},Ul=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),or=e=>e.startsWith("onUpdate:"),st=Object.assign,$s=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Qg=Object.prototype.hasOwnProperty,He=(e,t)=>Qg.call(e,t),Ae=Array.isArray,Vo=e=>aa(e)==="[object Map]",Co=e=>aa(e)==="[object Set]",Kl=e=>aa(e)==="[object Date]",Te=e=>typeof e=="function",ot=e=>typeof e=="string",Dt=e=>typeof e=="symbol",qe=e=>e!==null&&typeof e=="object",Hl=e=>(qe(e)||Te(e))&&Te(e.then)&&Te(e.catch),ql=Object.prototype.toString,aa=e=>ql.call(e),ef=e=>aa(e).slice(8,-1),nr=e=>aa(e)==="[object Object]",ar=e=>ot(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ra=Ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},tf=/-\w/g,mt=rr(e=>e.replace(tf,t=>t.slice(1).toUpperCase())),of=/\B([A-Z])/g,Ht=rr(e=>e.replace(of,"-$1").toLowerCase()),sr=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ps=rr(e=>e?`on${sr(e)}`:""),lo=(e,t)=>!Object.is(e,t),ir=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ns=e=>{const t=ot(e)?Number(e):NaN;return isNaN(t)?e:t};let Wl;const cr=()=>Wl||(Wl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function nt(e){if(Ae(e)){const t={};for(let o=0;o{if(o){const n=o.split(af);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Le(e){let t="";if(ot(e))t=e;else if(Ae(e))for(let o=0;oEo(o,t))}const Jl=e=>!!(e&&e.__v_isRef===!0),me=e=>ot(e)?e:e==null?"":Ae(e)||qe(e)&&(e.toString===ql||!Te(e.toString))?Jl(e)?me(e.value):JSON.stringify(e,Zl,2):String(e),Zl=(e,t)=>Jl(t)?Zl(e,t.value):Vo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Ms(n,r)+" =>"]=a,o),{})}:Co(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ms(o))}:Dt(t)?Ms(t):qe(t)&&!Ae(t)&&!nr(t)?String(t):t,Ms=(e,t="")=>{var o;return Dt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let dt;class Zl{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&&dt&&(dt.active?(this.parent=dt,this.index=(dt.scopes||(dt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(dt===this)dt=this.prevScope;else{let t=dt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(sa){let t=sa;for(sa=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;ra;){let t=ra;for(ra=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function nc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ac(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Gs(n),uf(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Bs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(rc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function rc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ia)||(e.globalVersion=ia,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Bs(e))))return;e.flags|=2;const t=e.dep,o=Xe,n=Zt;Xe=e,Zt=!0;try{nc(e);const a=e.fn(e._value);(t.version===0||io(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Xe=o,Zt=n,ac(e),e.flags&=-3}}function Gs(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Gs(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function uf(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Zt=!0;const sc=[];function lo(){sc.push(Zt),Zt=!1}function co(){const e=sc.pop();Zt=e===void 0?!0:e}function ic(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Xe;Xe=void 0;try{t()}finally{Xe=o}}}let ia=0;class df{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class js{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(!Xe||!Zt||Xe===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Xe)o=this.activeLink=new df(Xe,this),Xe.deps?(o.prevDep=Xe.depsTail,Xe.depsTail.nextDep=o,Xe.depsTail=o):Xe.deps=Xe.depsTail=o,lc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Xe.depsTail,o.nextDep=void 0,Xe.depsTail.nextDep=o,Xe.depsTail=o,Xe.deps===o&&(Xe.deps=n)}return o}trigger(t){this.version++,ia++,this.notify(t)}notify(t){Ds();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Os()}}}function lc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)lc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const cr=new WeakMap,dn=Symbol(""),zs=Symbol(""),la=Symbol("");function At(e,t,o){if(Zt&&Xe){let n=cr.get(e);n||cr.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new js),a.map=n,a.key=o),a.track()}}function Eo(e,t,o,n,a,r){const s=cr.get(e);if(!s){ia++;return}const i=l=>{l&&l.trigger()};if(Ds(),t==="clear")s.forEach(i);else{const l=Ae(e),c=l&&nr(o);if(l&&o==="length"){const u=Number(n);s.forEach((h,m)=>{(m==="length"||m===la||!Dt(m)&&m>=u)&&i(h)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(la)),t){case"add":l?c&&i(s.get("length")):(i(s.get(dn)),Vo(e)&&i(s.get(zs)));break;case"delete":l||(i(s.get(dn)),Vo(e)&&i(s.get(zs)));break;case"set":Vo(e)&&i(s.get(dn));break}}Os()}function pf(e,t){const o=cr.get(e);return o&&o.get(t)}function $n(e){const t=Be(e);return t===e?t:(At(t,"iterate",la),Ot(e)?t:t.map(Qt))}function ur(e){return At(e=Be(e),"iterate",la),e}function uo(e,t){return Po(e)?Nn($o(e)?Qt(t):t):Qt(t)}const gf={__proto__:null,[Symbol.iterator](){return Us(this,Symbol.iterator,e=>uo(this,e))},concat(...e){return $n(this).concat(...e.map(t=>Ae(t)?$n(t):t))},entries(){return Us(this,"entries",e=>(e[1]=uo(this,e[1]),e))},every(e,t){return To(this,"every",e,t,void 0,arguments)},filter(e,t){return To(this,"filter",e,t,o=>o.map(n=>uo(this,n)),arguments)},find(e,t){return To(this,"find",e,t,o=>uo(this,o),arguments)},findIndex(e,t){return To(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return To(this,"findLast",e,t,o=>uo(this,o),arguments)},findLastIndex(e,t){return To(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return To(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ks(this,"includes",e)},indexOf(...e){return Ks(this,"indexOf",e)},join(e){return $n(this).join(e)},lastIndexOf(...e){return Ks(this,"lastIndexOf",e)},map(e,t){return To(this,"map",e,t,void 0,arguments)},pop(){return ca(this,"pop")},push(...e){return ca(this,"push",e)},reduce(e,...t){return cc(this,"reduce",e,t)},reduceRight(e,...t){return cc(this,"reduceRight",e,t)},shift(){return ca(this,"shift")},some(e,t){return To(this,"some",e,t,void 0,arguments)},splice(...e){return ca(this,"splice",e)},toReversed(){return $n(this).toReversed()},toSorted(e){return $n(this).toSorted(e)},toSpliced(...e){return $n(this).toSpliced(...e)},unshift(...e){return ca(this,"unshift",e)},values(){return Us(this,"values",e=>uo(this,e))}};function Us(e,t,o){const n=ur(e),a=n[t]();return n!==e&&!Ot(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const ff=Array.prototype;function To(e,t,o,n,a,r){const s=ur(e),i=s!==e&&!Ot(e),l=s[t];if(l!==ff[t]){const h=l.apply(e,r);return i?Qt(h):h}let c=o;s!==e&&(i?c=function(h,m){return o.call(this,uo(e,h),m,e)}:o.length>2&&(c=function(h,m){return o.call(this,h,m,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function cc(e,t,o,n){const a=ur(e),r=a!==e&&!Ot(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,h){return i&&(i=!1,c=uo(e,c)),o.call(this,c,uo(e,u),h,e)}):o.length>3&&(s=function(c,u,h){return o.call(this,c,u,h,e)}));const l=a[t](s,...n);return i?uo(e,l):l}function Ks(e,t,o){const n=Be(e);At(n,"iterate",la);const a=n[t](...o);return(a===-1||a===!1)&&hr(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function ca(e,t,o=[]){lo(),Ds();const n=Be(e)[t].apply(e,o);return Os(),co(),n}const hf=Ts("__proto__,__v_isRef,__isVue"),uc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Dt));function mf(e){Dt(e)||(e=String(e));const t=Be(this);return At(t,"has",e),t.hasOwnProperty(e)}class dc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?bc:mc:r?hc:fc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Ae(t);if(!a){let l;if(s&&(l=gf[o]))return l;if(o==="hasOwnProperty")return mf}const i=Reflect.get(t,o,ot(t)?t:n);if((Dt(o)?uc.has(o):hf(o))||(a||At(t,"get",o),r))return i;if(ot(i)){const l=s&&nr(o)?i:i.value;return a&&Ke(l)?pn(l):l}return Ke(i)?a?pn(i):Pn(i):i}}class pc extends dc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Ae(t)&&nr(o);if(!this._isShallow){const c=Po(r);if(!Ot(n)&&!Po(n)&&(r=Be(r),n=Be(n)),!s&&ot(r)&&!ot(n))return c||(r.value=n),!0}const i=s?Number(o)e,dr=e=>Reflect.getPrototypeOf(e);function xf(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=Vo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Hs:t?Nn:Qt;return!t&&At(r,"iterate",l?zs:dn),at(Object.create(c),{next(){const{value:h,done:m}=c.next();return m?{value:h,done:m}:{value:i?[u(h[0]),u(h[1])]:u(h),done:m}}})}}function pr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function kf(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(io(a,i)&&At(s,"get",a),At(s,"get",i));const{has:l}=dr(s),c=t?Hs:e?Nn:Qt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&At(Be(a),"iterate",dn),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(io(a,i)&&At(s,"has",a),At(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),c=t?Hs:e?Nn:Qt;return!e&&At(l,"iterate",dn),i.forEach((u,h)=>a.call(r,c(u),c(h),s))}};return at(o,e?{add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear")}:{add(a){const r=Be(this),s=dr(r),i=Be(a),l=!t&&!Ot(a)&&!Po(a)?i:a;return s.has.call(r,l)||io(a,l)&&s.has.call(r,a)||io(i,l)&&s.has.call(r,i)||(r.add(l),Eo(r,"add",l,l)),this},set(a,r){!t&&!Ot(r)&&!Po(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=dr(s);let c=i.call(s,a);c||(a=Be(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?io(r,u)&&Eo(s,"set",a,r):Eo(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=dr(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&Eo(r,"delete",a,void 0),c},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&Eo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=xf(a,e,t)}),o}function gr(e,t){const o=kf(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ue(o,a)&&a in n?o:n,a,r)}const wf={get:gr(!1,!1)},Sf={get:gr(!1,!0)},Af={get:gr(!0,!1)},Lf={get:gr(!0,!0)},fc=new WeakMap,hc=new WeakMap,mc=new WeakMap,bc=new WeakMap;function Cf(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Pn(e){return Po(e)?e:fr(e,!1,bf,wf,fc)}function Ef(e){return fr(e,!1,vf,Sf,hc)}function pn(e){return fr(e,!0,yf,Af,mc)}function B2(e){return fr(e,!0,_f,Lf,bc)}function fr(e,t,o,n,a){if(!Ke(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Cf(Qg(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function $o(e){return Po(e)?$o(e.__v_raw):!!(e&&e.__v_isReactive)}function Po(e){return!!(e&&e.__v_isReadonly)}function Ot(e){return!!(e&&e.__v_isShallow)}function hr(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function ua(e){return!Ue(e,"__v_skip")&&Object.isExtensible(e)&&ql(e,"__v_skip",!0),e}const Qt=e=>Ke(e)?Pn(e):e,Nn=e=>Ke(e)?pn(e):e;function ot(e){return e?e.__v_isRef===!0:!1}function de(e){return vc(e,!1)}function yc(e){return vc(e,!0)}function vc(e,t){return ot(e)?e:new Tf(e,t)}class Tf{constructor(t,o){this.dep=new js,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Be(t),this._value=o?t:Qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ot(t)||Po(t);t=n?t:Be(t),io(t,o)&&(this._rawValue=t,this._value=n?t:Qt(t),this.dep.trigger())}}function ge(e){return ot(e)?e.value:e}const $f={get:(e,t,o)=>t==="__v_raw"?e:ge(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ot(a)&&!ot(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function _c(e){return $o(e)?e:new Proxy(e,$f)}function Pf(e){const t=Ae(e)?new Array(e.length):{};for(const o in e)t[o]=xc(e,o);return t}class Nf{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Dt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!Ae(t)||Dt(this._key)||!nr(this._key))do a=!hr(r)||Ot(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ge(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ot(this._raw[this._key])){const o=this._object[this._key];if(ot(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return pf(this._raw,this._key)}}class If{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function mr(e,t,o){return ot(e)?e:Te(e)?new If(e):Ke(e)&&arguments.length>1?xc(e,t,o):de(e)}function xc(e,t,o){return new Nf(e,t,o)}class Mf{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new js(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ia-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Xe!==this)return oc(this,!0),!0}get value(){const t=this.dep.track();return rc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Rf(e,t,o=!1){let n,a;return Te(e)?n=e:(n=e.get,a=e.set),new Mf(n,a,o)}const br={},yr=new WeakMap;let gn;function Ff(e,t=!1,o=gn){if(o){let n=yr.get(o);n||yr.set(o,n=[]),n.push(e)}}function Df(e,t,o=We){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=g=>a?g:Ot(g)||a===!1||a===0?No(g,1):No(g);let u,h,m,k,w=!1,b=!1;if(ot(e)?(h=()=>e.value,w=Ot(e)):$o(e)?(h=()=>c(e),w=!0):Ae(e)?(b=!0,w=e.some(g=>$o(g)||Ot(g)),h=()=>e.map(g=>{if(ot(g))return g.value;if($o(g))return c(g);if(Te(g))return l?l(g,2):g()})):Te(e)?t?h=l?()=>l(e,2):e:h=()=>{if(m){lo();try{m()}finally{co()}}const g=gn;gn=u;try{return l?l(e,3,[k]):e(k)}finally{gn=g}}:h=so,t&&a){const g=h,f=a===!0?1/0:a;h=()=>No(g(),f)}const x=Ql(),v=()=>{u.stop(),x&&x.active&&$s(x.effects,u)};if(r&&t){const g=t;t=(...f)=>{const y=g(...f);return v(),y}}let _=b?new Array(e.length).fill(br):br;const d=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const f=u.run();if(g||a||w||(b?f.some((y,T)=>io(y,_[T])):io(f,_))){m&&m();const y=gn;gn=u;try{const T=[f,_===br?void 0:b&&_[0]===br?[]:_,k];_=f,l?l(t,3,T):t(...T)}finally{gn=y}}}else u.run()};return i&&i(d),u=new ec(h),u.scheduler=s?()=>s(d,!1):d,k=g=>Ff(g,!1,u),m=u.onStop=()=>{const g=yr.get(u);if(g){if(l)l(g,4);else for(const f of g)f();yr.delete(u)}},t?n?d(!0):_=u.run():s?s(d.bind(null,!0),!0):u.run(),v.pause=u.pause.bind(u),v.resume=u.resume.bind(u),v.stop=v,v}function No(e,t=1/0,o){if(t<=0||!Ke(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ot(e))No(e.value,t,o);else if(Ae(e))for(let n=0;n{No(n,t,o)});else if(or(e)){for(const n in e)No(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&No(e[n],t,o)}return e}/** +**/let pt;class Ql{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&&pt&&(pt.active?(this.parent=pt,this.index=(pt.scopes||(pt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(pt===this)pt=this.prevScope;else{let t=pt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(ia){let t=ia;for(ia=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;sa;){let t=sa;for(sa=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function ac(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function rc(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Gs(n),df(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Bs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(sc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function sc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===la)||(e.globalVersion=la,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Bs(e))))return;e.flags|=2;const t=e.dep,o=Ze,n=Zt;Ze=e,Zt=!0;try{ac(e);const a=e.fn(e._value);(t.version===0||lo(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ze=o,Zt=n,rc(e),e.flags&=-3}}function Gs(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Gs(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function df(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Zt=!0;const ic=[];function co(){ic.push(Zt),Zt=!1}function uo(){const e=ic.pop();Zt=e===void 0?!0:e}function lc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}let la=0;class pf{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class js{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(!Ze||!Zt||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new pf(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,cc(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ze.depsTail,o.nextDep=void 0,Ze.depsTail.nextDep=o,Ze.depsTail=o,Ze.deps===o&&(Ze.deps=n)}return o}trigger(t){this.version++,la++,this.notify(t)}notify(t){Ds();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Os()}}}function cc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)cc(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const ur=new WeakMap,dn=Symbol(""),zs=Symbol(""),ca=Symbol("");function At(e,t,o){if(Zt&&Ze){let n=ur.get(e);n||ur.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new js),a.map=n,a.key=o),a.track()}}function To(e,t,o,n,a,r){const s=ur.get(e);if(!s){la++;return}const i=l=>{l&&l.trigger()};if(Ds(),t==="clear")s.forEach(i);else{const l=Ae(e),c=l&&ar(o);if(l&&o==="length"){const u=Number(n);s.forEach((f,m)=>{(m==="length"||m===ca||!Dt(m)&&m>=u)&&i(f)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(ca)),t){case"add":l?c&&i(s.get("length")):(i(s.get(dn)),Vo(e)&&i(s.get(zs)));break;case"delete":l||(i(s.get(dn)),Vo(e)&&i(s.get(zs)));break;case"set":Vo(e)&&i(s.get(dn));break}}Os()}function gf(e,t){const o=ur.get(e);return o&&o.get(t)}function Pn(e){const t=Be(e);return t===e?t:(At(t,"iterate",ca),Ot(e)?t:t.map(Qt))}function dr(e){return At(e=Be(e),"iterate",ca),e}function po(e,t){return No(e)?In(Po(e)?Qt(t):t):Qt(t)}const ff={__proto__:null,[Symbol.iterator](){return Us(this,Symbol.iterator,e=>po(this,e))},concat(...e){return Pn(this).concat(...e.map(t=>Ae(t)?Pn(t):t))},entries(){return Us(this,"entries",e=>(e[1]=po(this,e[1]),e))},every(e,t){return $o(this,"every",e,t,void 0,arguments)},filter(e,t){return $o(this,"filter",e,t,o=>o.map(n=>po(this,n)),arguments)},find(e,t){return $o(this,"find",e,t,o=>po(this,o),arguments)},findIndex(e,t){return $o(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $o(this,"findLast",e,t,o=>po(this,o),arguments)},findLastIndex(e,t){return $o(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $o(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ks(this,"includes",e)},indexOf(...e){return Ks(this,"indexOf",e)},join(e){return Pn(this).join(e)},lastIndexOf(...e){return Ks(this,"lastIndexOf",e)},map(e,t){return $o(this,"map",e,t,void 0,arguments)},pop(){return ua(this,"pop")},push(...e){return ua(this,"push",e)},reduce(e,...t){return uc(this,"reduce",e,t)},reduceRight(e,...t){return uc(this,"reduceRight",e,t)},shift(){return ua(this,"shift")},some(e,t){return $o(this,"some",e,t,void 0,arguments)},splice(...e){return ua(this,"splice",e)},toReversed(){return Pn(this).toReversed()},toSorted(e){return Pn(this).toSorted(e)},toSpliced(...e){return Pn(this).toSpliced(...e)},unshift(...e){return ua(this,"unshift",e)},values(){return Us(this,"values",e=>po(this,e))}};function Us(e,t,o){const n=dr(e),a=n[t]();return n!==e&&!Ot(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const hf=Array.prototype;function $o(e,t,o,n,a,r){const s=dr(e),i=s!==e&&!Ot(e),l=s[t];if(l!==hf[t]){const f=l.apply(e,r);return i?Qt(f):f}let c=o;s!==e&&(i?c=function(f,m){return o.call(this,po(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function uc(e,t,o,n){const a=dr(e),r=a!==e&&!Ot(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,f){return i&&(i=!1,c=po(e,c)),o.call(this,c,po(e,u),f,e)}):o.length>3&&(s=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](s,...n);return i?po(e,l):l}function Ks(e,t,o){const n=Be(e);At(n,"iterate",ca);const a=n[t](...o);return(a===-1||a===!1)&&mr(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function ua(e,t,o=[]){co(),Ds();const n=Be(e)[t].apply(e,o);return Os(),uo(),n}const mf=Ts("__proto__,__v_isRef,__isVue"),dc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Dt));function bf(e){Dt(e)||(e=String(e));const t=Be(this);return At(t,"has",e),t.hasOwnProperty(e)}class pc{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?yc:bc:r?mc:hc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Ae(t);if(!a){let l;if(s&&(l=ff[o]))return l;if(o==="hasOwnProperty")return bf}const i=Reflect.get(t,o,at(t)?t:n);if((Dt(o)?dc.has(o):mf(o))||(a||At(t,"get",o),r))return i;if(at(i)){const l=s&&ar(o)?i:i.value;return a&&qe(l)?pn(l):l}return qe(i)?a?pn(i):Nn(i):i}}class gc extends pc{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=Ae(t)&&ar(o);if(!this._isShallow){const c=No(r);if(!Ot(n)&&!No(n)&&(r=Be(r),n=Be(n)),!s&&at(r)&&!at(n))return c||(r.value=n),!0}const i=s?Number(o)e,pr=e=>Reflect.getPrototypeOf(e);function kf(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=Vo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Hs:t?In:Qt;return!t&&At(r,"iterate",l?zs:dn),st(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:i?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wf(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(lo(a,i)&&At(s,"get",a),At(s,"get",i));const{has:l}=pr(s),c=t?Hs:e?In:Qt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&At(Be(a),"iterate",dn),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(lo(a,i)&&At(s,"has",a),At(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),c=t?Hs:e?In:Qt;return!e&&At(l,"iterate",dn),i.forEach((u,f)=>a.call(r,c(u),c(f),s))}};return st(o,e?{add:gr("add"),set:gr("set"),delete:gr("delete"),clear:gr("clear")}:{add(a){const r=Be(this),s=pr(r),i=Be(a),l=!t&&!Ot(a)&&!No(a)?i:a;return s.has.call(r,l)||lo(a,l)&&s.has.call(r,a)||lo(i,l)&&s.has.call(r,i)||(r.add(l),To(r,"add",l,l)),this},set(a,r){!t&&!Ot(r)&&!No(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=pr(s);let c=i.call(s,a);c||(a=Be(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?lo(r,u)&&To(s,"set",a,r):To(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=pr(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&To(r,"delete",a,void 0),c},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&To(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=kf(a,e,t)}),o}function fr(e,t){const o=wf(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(He(o,a)&&a in n?o:n,a,r)}const Sf={get:fr(!1,!1)},Af={get:fr(!1,!0)},Lf={get:fr(!0,!1)},Cf={get:fr(!0,!0)},hc=new WeakMap,mc=new WeakMap,bc=new WeakMap,yc=new WeakMap;function Ef(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Nn(e){return No(e)?e:hr(e,!1,yf,Sf,hc)}function Tf(e){return hr(e,!1,_f,Af,mc)}function pn(e){return hr(e,!0,vf,Lf,bc)}function K2(e){return hr(e,!0,xf,Cf,yc)}function hr(e,t,o,n,a){if(!qe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Ef(ef(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Po(e){return No(e)?Po(e.__v_raw):!!(e&&e.__v_isReactive)}function No(e){return!!(e&&e.__v_isReadonly)}function Ot(e){return!!(e&&e.__v_isShallow)}function mr(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function da(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&Vl(e,"__v_skip",!0),e}const Qt=e=>qe(e)?Nn(e):e,In=e=>qe(e)?pn(e):e;function at(e){return e?e.__v_isRef===!0:!1}function de(e){return _c(e,!1)}function vc(e){return _c(e,!0)}function _c(e,t){return at(e)?e:new $f(e,t)}class $f{constructor(t,o){this.dep=new js,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Be(t),this._value=o?t:Qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ot(t)||No(t);t=n?t:Be(t),lo(t,o)&&(this._rawValue=t,this._value=n?t:Qt(t),this.dep.trigger())}}function ge(e){return at(e)?e.value:e}const Pf={get:(e,t,o)=>t==="__v_raw"?e:ge(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return at(a)&&!at(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function xc(e){return Po(e)?e:new Proxy(e,Pf)}function Nf(e){const t=Ae(e)?new Array(e.length):{};for(const o in e)t[o]=kc(e,o);return t}class If{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Dt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!Ae(t)||Dt(this._key)||!ar(this._key))do a=!mr(r)||Ot(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ge(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&at(this._raw[this._key])){const o=this._object[this._key];if(at(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return gf(this._raw,this._key)}}class Mf{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function br(e,t,o){return at(e)?e:Te(e)?new Mf(e):qe(e)&&arguments.length>1?kc(e,t,o):de(e)}function kc(e,t,o){return new If(e,t,o)}class Rf{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new js(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=la-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ze!==this)return nc(this,!0),!0}get value(){const t=this.dep.track();return sc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ff(e,t,o=!1){let n,a;return Te(e)?n=e:(n=e.get,a=e.set),new Rf(n,a,o)}const yr={},vr=new WeakMap;let gn;function Df(e,t=!1,o=gn){if(o){let n=vr.get(o);n||vr.set(o,n=[]),n.push(e)}}function Of(e,t,o=Xe){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=p=>a?p:Ot(p)||a===!1||a===0?Io(p,1):Io(p);let u,f,m,k,w=!1,h=!1;if(at(e)?(f=()=>e.value,w=Ot(e)):Po(e)?(f=()=>c(e),w=!0):Ae(e)?(h=!0,w=e.some(p=>Po(p)||Ot(p)),f=()=>e.map(p=>{if(at(p))return p.value;if(Po(p))return c(p);if(Te(p))return l?l(p,2):p()})):Te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){co();try{m()}finally{uo()}}const p=gn;gn=u;try{return l?l(e,3,[k]):e(k)}finally{gn=p}}:f=io,t&&a){const p=f,g=a===!0?1/0:a;f=()=>Io(p(),g)}const _=ec(),b=()=>{u.stop(),_&&_.active&&$s(_.effects,u)};if(r&&t){const p=t;t=(...g)=>{const y=p(...g);return b(),y}}let v=h?new Array(e.length).fill(yr):yr;const d=p=>{if(!(!(u.flags&1)||!u.dirty&&!p))if(t){const g=u.run();if(p||a||w||(h?g.some((y,I)=>lo(y,v[I])):lo(g,v))){m&&m();const y=gn;gn=u;try{const I=[g,v===yr?void 0:h&&v[0]===yr?[]:v,k];v=g,l?l(t,3,I):t(...I)}finally{gn=y}}}else u.run()};return i&&i(d),u=new tc(f),u.scheduler=s?()=>s(d,!1):d,k=p=>Df(p,!1,u),m=u.onStop=()=>{const p=vr.get(u);if(p){if(l)l(p,4);else for(const g of p)g();vr.delete(u)}},t?n?d(!0):v=u.run():s?s(d.bind(null,!0),!0):u.run(),b.pause=u.pause.bind(u),b.resume=u.resume.bind(u),b.stop=b,b}function Io(e,t=1/0,o){if(t<=0||!qe(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))Io(e.value,t,o);else if(Ae(e))for(let n=0;n{Io(n,t,o)});else if(nr(e)){for(const n in e)Io(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Io(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const da=[];let qs=!1;function G2(e,...t){if(qs)return;qs=!0,lo();const o=da.length?da[da.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Of();if(n)In(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${xu(o,r.type)}>`).join(` +**/const pa=[];let qs=!1;function H2(e,...t){if(qs)return;qs=!0,co();const o=pa.length?pa[pa.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Bf();if(n)Mn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${ku(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` -`,...Bf(a)),console.warn(...r)}co(),qs=!1}function Of(){let e=da[da.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function Bf(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Gf(o))}),t}function Gf({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${xu(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...jf(e.props),r]:[a+r]}function jf(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...kc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function kc(e,t,o){return et(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ot(t)?(t=kc(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function In(e,t,o,n){try{return n?e(...n):e()}catch(a){pa(a,t,o)}}function qt(e,t,o,n){if(Te(e)){const a=In(e,t,o,n);return a&&Kl(a)&&a.catch(r=>{pa(r,t,o)}),a}if(Ae(e)){const a=[];for(let r=0;r>>1,a=Tt[n],r=ga(a);r=ga(o)?Tt.push(e):Tt.splice(Uf(t),0,e),e.flags|=1,Sc()}}function Sc(){vr||(vr=wc.then(Cc))}function Kf(e){if(!Ae(e))Wo&&e.id===-1?Wo.splice(Rn+1,0,e):e.flags&1||(Mn.push(e),e.flags|=1);else for(let t=0;tga(o)-ga(n));if(Mn.length=0,Wo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Cc(e){try{for(po=0;po{n._d&&Tr(-1);const r=_r(t),s=Mo.length;let i;try{i=e(...a)}finally{for(let l=Mo.length;l>s;l--)ii();_r(r),n._d&&Tr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Bt(e,t){if(_t===null)return e;const o=Ir(_t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Te(t)?t.call(n&&n.proxy):t}}function Hf(){return!!(mo()||hn)}const qf=Symbol.for("v-scx"),Vf=()=>Ee(qf);function Wf(e,t){return Ws(e,null,t)}function Me(e,t,o){return Ws(e,t,o)}function Ws(e,t,o=We){const{immediate:n,deep:a,flush:r,once:s}=o,i=at({},o),l=t&&n||!t&&r!=="post";let c;if(Dn){if(r==="sync"){const k=Vf();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=so,k.resume=so,k.pause=so,k}}const u=kt;i.call=(k,w,b)=>qt(k,u,w,b);let h=!1;r==="post"?i.scheduler=k=>{Mt(k,u&&u.suspense)}:r!=="sync"&&(h=!0,i.scheduler=(k,w)=>{w?k():Vs(k)}),i.augmentJob=k=>{t&&(k.flags|=4),h&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=Df(e,t,i);return Dn&&(c?c.push(m):l&&m()),m}function Yf(e,t,o){const n=this.proxy,a=et(e)?e.includes(".")?Tc(n,e):()=>n[e]:e.bind(n,n);let r;Te(t)?r=t:(r=t.handler,o=t);const s=Ca(this),i=Ws(a,r.bind(n),o);return s(),i}function Tc(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Vt=Symbol("_leaveCb"),fa=Symbol("_enterCb");function Jf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Yt(()=>{e.isMounted=!0}),go(()=>{e.isUnmounting=!0}),e}const Wt=[Function,Array],$c={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Wt,onEnter:Wt,onAfterEnter:Wt,onEnterCancelled:Wt,onBeforeLeave:Wt,onLeave:Wt,onAfterLeave:Wt,onLeaveCancelled:Wt,onBeforeAppear:Wt,onAppear:Wt,onAfterAppear:Wt,onAppearCancelled:Wt},Pc=e=>{const t=e.subTree;return t.component?Pc(t.component):t},Zf={name:"BaseTransition",props:$c,setup(e,{slots:t}){const o=mo(),n=Jf();return()=>{const a=t.default&&Mc(t.default(),!0),r=a&&a.length?Nc(a):o.subTree?ve():void 0;if(!r)return;const s=Be(e),{mode:i}=s;if(n.isLeaving)return Xs(r);const l=kr(r);if(!l)return Xs(r);let c=Ys(l,s,n,o,h=>c=h);l.type!==Ct&&ha(l,c);let u=o.subTree&&kr(o.subTree);if(u&&u.type!==Ct&&!bn(u,l)&&Pc(o).type!==Ct){let h=Ys(u,s,n,o);if(ha(u,h),i==="out-in"&&l.type!==Ct)return n.isLeaving=!0,h.afterLeave=()=>{n.isLeaving=!1,o.job.flags&8||o.update(),delete h.afterLeave,u=void 0},Xs(r);i==="in-out"&&l.type!==Ct?h.delayLeave=(m,k,w)=>{const b=Ic(n,u);b[String(u.key)]=u,m[Vt]=()=>{k(),m[Vt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{w(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function Nc(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Ct){t=o;break}}return t}const Qf=Zf;function Ic(e,t){const{leavingVNodes:o}=e;let n=o.get(t.type);return n||(n=Object.create(null),o.set(t.type,n)),n}function Ys(e,t,o,n,a){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:m,onLeave:k,onAfterLeave:w,onLeaveCancelled:b,onBeforeAppear:x,onAppear:v,onAfterAppear:_,onAppearCancelled:d}=t,g=String(e.key),f=Ic(o,e),y=(L,B)=>{L&&qt(L,n,9,B)},T=(L,B)=>{const H=B[1];y(L,B),Ae(L)?L.every(z=>z.length<=1)&&H():L.length<=1&&H()},O={mode:s,persisted:i,beforeEnter(L){let B=l;if(!o.isMounted)if(r)B=x||l;else return;L[Vt]&&L[Vt](!0);const H=f[g];H&&bn(e,H)&&H.el[Vt]&&H.el[Vt](),y(B,[L])},enter(L){if(f[g]===e)return;let B=c,H=u,z=h;if(!o.isMounted)if(r)B=v||c,H=_||u,z=d||h;else return;let U=!1;L[fa]=N=>{U||(U=!0,N?y(z,[L]):y(H,[L]),O.delayedLeave&&O.delayedLeave(),L[fa]=void 0)};const R=L[fa].bind(null,!1);B?T(B,[L,R]):R()},leave(L,B){const H=String(e.key);if(L[fa]&&L[fa](!0),o.isUnmounting)return B();y(m,[L]);let z=!1;L[Vt]=R=>{z||(z=!0,B(),R?y(b,[L]):y(w,[L]),L[Vt]=void 0,f[H]===e&&delete f[H])};const U=L[Vt].bind(null,!1);f[H]=e,k?T(k,[L,U]):U()},clone(L){const B=Ys(L,t,o,n,a);return a&&a(B),B}};return O}function Xs(e){if(va(e))return e=Xo(e),e.children=null,e}function kr(e){if(!va(e))return xr(e.type)&&e.children?Nc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Te(o.default))return o.default()}}function ha(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ha(xr(o.type)&&kr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Mc(e,t=!1,o){let n=[],a=0;for(let r=0;r1)for(let r=0;rba(b,t&&(Ae(t)?t[x]:t),o,n,a));return}if(Fn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ba(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Ir(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===We?i.refs={}:i.refs,h=i.setupState,m=Be(h),k=h===We?zl:b=>Rc(u,b)?!1:Ue(m,b),w=(b,x)=>!(x&&Rc(u,x));if(c!=null&&c!==l){if(Fc(t),et(c))u[c]=null,k(c)&&(h[c]=null);else if(ot(c)){const b=t;w(c,b.k)&&(c.value=null),b.k&&(u[b.k]=null)}}if(Te(l))In(l,i,12,[s,u]);else{const b=et(l),x=ot(l);if(b||x){const v=()=>{if(e.f){const _=b?k(l)?h[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Ae(_)&&$s(_,r);else if(Ae(_))_.includes(r)||_.push(r);else if(b)u[l]=[r],k(l)&&(h[l]=u[l]);else{const d=[r];w(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else b?(u[l]=s,k(l)&&(h[l]=s)):x&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const _=()=>{v(),wr.delete(e)};_.id=-1,wr.set(e,_),Mt(_,o)}else Fc(e),v()}}}function Fc(e){const t=wr.get(e);t&&(t.flags|=8,wr.delete(e))}const Dc=e=>e.nodeType===8;lr().requestIdleCallback,lr().cancelIdleCallback;function eh(e,t){if(Dc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Dc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Fn=e=>!!e.type.__asyncLoader;function ya(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,h=0;const m=()=>(h++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((x,v)=>{l(b,()=>x(m()),()=>v(b),h+1)});throw b}).then(b=>w!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return ma({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,b,x){const v=w.isConnected;let _=!1;(b.bu||(b.bu=[])).push(()=>_=!0);const d=()=>{_||!w.parentNode||v&&!w.isConnected||x()},g=r?()=>{const f=r(d,y=>eh(w,y));f&&(b.bum||(b.bum=[])).push(f)}:d;u?g():k().then(()=>!b.isUnmounted&&g())},get __asyncResolved(){return u},setup(){const w=kt;if(Js(w),u)return()=>Sr(u,w);const b=f=>{c=null,pa(f,w,13,!n)};if(i&&w.suspense||Dn)return k().then(f=>()=>Sr(f,w)).catch(f=>(b(f),()=>n?qe(n,{error:f}):null));const x=de(!1),v=de(),_=de(!!a);let d,g;return _a(()=>{d!=null&&clearTimeout(d),g!=null&&clearTimeout(g)}),a&&(g=setTimeout(()=>{w.isUnmounted||(_.value=!1)},a)),s!=null&&(d=setTimeout(()=>{if(!w.isUnmounted&&!x.value&&!v.value){const f=new Error(`Async component timed out after ${s}ms.`);b(f),v.value=f}},s)),k().then(()=>{w.isUnmounted||(x.value=!0,w.parent&&va(w.parent.vnode)&&w.parent.update())}).catch(f=>{if(w.isUnmounted){c=null;return}b(f),v.value=f}),()=>{if(x.value&&u)return Sr(u,w);if(v.value&&n)return qe(n,{error:v.value});if(o&&!_.value)return Sr(o,w)}}})}function Sr(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=qe(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const va=e=>e.type.__isKeepAlive;function th(e,t){Oc(e,"a",t)}function oh(e,t){Oc(e,"da",t)}function Oc(e,t,o=kt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ar(t,n,o),o){let a=o.parent;for(;a&&a.parent;)va(a.parent.vnode)&&nh(n,t,o,a),a=a.parent}}function nh(e,t,o,n){const a=Ar(t,e,n,!0);_a(()=>{$s(n[t],a)},o)}function Ar(e,t,o=kt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{lo();const i=Ca(o),l=qt(t,o,e,s);return i(),co(),l});return n?a.unshift(r):a.push(r),r}}const Io=e=>(t,o=kt)=>{(!Dn||e==="sp")&&Ar(e,(...n)=>t(...n),o)},Bc=Io("bm"),Yt=Io("m"),ah=Io("bu"),rh=Io("u"),go=Io("bum"),_a=Io("um"),sh=Io("sp"),ih=Io("rtg"),lh=Io("rtc");function ch(e,t=kt){Ar("ec",e,t)}const uh="components",Gc=Symbol.for("v-ndc");function Zs(e){return et(e)?dh(uh,e,!1)||e:e||Gc}function dh(e,t,o=!0,n=!1){const a=_t||kt;if(a){const r=a.type;{const i=_u(r,!1);if(i&&(i===t||i===mt(t)||i===rr(mt(t))))return r}const s=jc(a[e]||r[e],t)||jc(a.appContext[e],t);return!s&&n?r:s}}function jc(e,t){return e&&(e[t]||e[mt(t)]||e[rr(mt(t))])}function xt(e,t,o,n){let a;const r=o,s=Ae(e);if(s||et(e)){const i=s&&$o(e);let l=!1,c=!1;i&&(l=!Ot(e),c=Po(e),e=ur(e)),a=new Array(e.length);for(let u=0,h=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),W(),Ge(Ne,null,[qe("slot",c,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Mo.length;W();let l;try{const c=s&&zc(s(o)),u=o.key||r||c&&c.key;l=Ge(Ne,{key:(u&&!Dt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Mo.length;u>i;u--)ii();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function zc(e){return e.some(t=>Aa(t)?!(t.type===Ct||t.type===Ne&&!zc(t.children)):!0)?e:null}const Qs=e=>e?bu(e)?Ir(e):Qs(e.parent):null,xa=at(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=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qc(e),$forceUpdate:e=>e.f||(e.f=()=>{Vs(e.update)}),$nextTick:e=>e.n||(e.n=eo.bind(e.proxy)),$watch:e=>Yf.bind(e)}),ei=(e,t)=>e!==We&&!e.__isScriptSetup&&Ue(e,t),ph={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const m=s[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(ei(n,t))return s[t]=1,n[t];if(a!==We&&Ue(a,t))return s[t]=2,a[t];if(Ue(r,t))return s[t]=3,r[t];if(o!==We&&Ue(o,t))return s[t]=4,o[t];ti&&(s[t]=0)}}const c=xa[t];let u,h;if(c)return t==="$attrs"&&At(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==We&&Ue(o,t))return s[t]=4,o[t];if(h=l.config.globalProperties,Ue(h,t))return h[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return ei(a,t)?(a[t]=o,!0):n!==We&&Ue(n,t)?(n[t]=o,!0):Ue(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==We&&i[0]!=="$"&&Ue(e,i)||ei(t,i)||Ue(r,i)||Ue(n,i)||Ue(xa,i)||Ue(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ue(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Uc(e){return Ae(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ti=!0;function gh(e){const t=qc(e),o=e.proxy,n=e.ctx;ti=!1,t.beforeCreate&&Kc(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:h,mounted:m,beforeUpdate:k,updated:w,activated:b,deactivated:x,beforeDestroy:v,beforeUnmount:_,destroyed:d,unmounted:g,render:f,renderTracked:y,renderTriggered:T,errorCaptured:O,serverPrefetch:L,expose:B,inheritAttrs:H,components:z,directives:U,filters:R}=t;if(c&&fh(c,n,null),s)for(const j in s){const J=s[j];Te(J)&&(n[j]=J.bind(o))}if(a){const j=a.call(o,o);Ke(j)&&(e.data=Pn(j))}if(ti=!0,r)for(const j in r){const J=r[j],ce=Te(J)?J.bind(o,o):Te(J.get)?J.get.bind(o,o):so,F=!Te(J)&&Te(J.set)?J.set.bind(o):so,te=Q({get:ce,set:F});Object.defineProperty(n,j,{enumerable:!0,configurable:!0,get:()=>te.value,set:G=>te.value=G})}if(i)for(const j in i)Hc(i[j],n,o,j);if(l){const j=Te(l)?l.call(o):l;Reflect.ownKeys(j).forEach(J=>{Lt(J,j[J])})}u&&Kc(u,e,"c");function E(j,J){Ae(J)?J.forEach(ce=>j(ce.bind(o))):J&&j(J.bind(o))}if(E(Bc,h),E(Yt,m),E(ah,k),E(rh,w),E(th,b),E(oh,x),E(ch,O),E(lh,y),E(ih,T),E(go,_),E(_a,g),E(sh,L),Ae(B))if(B.length){const j=e.exposed||(e.exposed={});B.forEach(J=>{Object.defineProperty(j,J,{get:()=>o[J],set:ce=>o[J]=ce,enumerable:!0})})}else e.exposed||(e.exposed={});f&&e.render===so&&(e.render=f),H!=null&&(e.inheritAttrs=H),z&&(e.components=z),U&&(e.directives=U),L&&Js(e)}function fh(e,t,o=so){Ae(e)&&(e=oi(e));for(const n in e){const a=e[n];let r;Ke(a)?"default"in a?r=Ee(a.from||n,a.default,!0):r=Ee(a.from||n):r=Ee(a),ot(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Kc(e,t,o){qt(Ae(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Hc(e,t,o,n){let a=n.includes(".")?Tc(o,n):()=>o[n];if(et(e)){const r=t[e];Te(r)&&Me(a,r)}else if(Te(e))Me(a,e.bind(o));else if(Ke(e))if(Ae(e))e.forEach(r=>Hc(r,t,o,n));else{const r=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(r)&&Me(a,r,e)}}function qc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Lr(l,c,s,!0)),Lr(l,t,s)),Ke(t)&&r.set(t,l),l}function Lr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Lr(e,r,o,!0),a&&a.forEach(s=>Lr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=hh[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const hh={data:Vc,props:Wc,emits:Wc,methods:ka,computed:ka,beforeCreate:$t,created:$t,beforeMount:$t,mounted:$t,beforeUpdate:$t,updated:$t,beforeDestroy:$t,beforeUnmount:$t,destroyed:$t,unmounted:$t,activated:$t,deactivated:$t,errorCaptured:$t,serverPrefetch:$t,components:ka,directives:ka,watch:bh,provide:Vc,inject:mh};function Vc(e,t){return t?e?function(){return at(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function mh(e,t){return ka(oi(e),oi(t))}function oi(e){if(Ae(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function xh(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let a=o;const r=t.startsWith("update:"),s=r&&_h(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>et(u)?u.trim():u)),s.number&&(a=a.map(ir)));let i,l=n[i=Ps(t)]||n[i=Ps(mt(t))];!l&&r&&(l=n[i=Ps(Ht(t))]),l&&qt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,qt(c,e,6,a)}}const kh=new WeakMap;function Xc(e,t,o=!1){const n=o?kh:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Te(e)){const l=c=>{const u=Xc(c,t,!0);u&&(i=!0,at(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ke(e)&&n.set(e,null),null):(Ae(r)?r.forEach(l=>s[l]=null):at(s,r),Ke(e)&&n.set(e,s),s)}function Cr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ue(e,t[0].toLowerCase()+t.slice(1))||Ue(e,Ht(t))||Ue(e,t))}function j2(){}function Jc(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:h,data:m,setupState:k,ctx:w,inheritAttrs:b}=e,x=_r(e);let v,_;try{if(o.shapeFlag&4){const g=a||n,f=g;v=fo(c.call(f,g,u,h,k,m,w)),_=i}else{const g=t;v=fo(g.length>1?g(h,{attrs:i,slots:s,emit:l}):g(h,null)),_=t.props?i:wh(i)}}catch(g){Mo.length=0,pa(g,e,1),v=qe(Ct)}let d=v;if(_&&b!==!1){const g=Object.keys(_),{shapeFlag:f}=d;g.length&&f&7&&(r&&g.some(tr)&&(_=Sh(_,r)),d=Xo(d,_,!1,!0))}if(o.dirs&&(d=Xo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const g=xr(d.type)&&kr(d)||d;ha(g,o.transition)}return v=d,_r(x),v}const wh=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},Sh=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Ah(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Zc(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let h=0;hObject.create(eu),ou=e=>Object.getPrototypeOf(e)===eu;function Ch(e,t,o,n=!1){const a={},r=tu();e.propsDefaults=Object.create(null),nu(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Ef(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Eh(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[m,k]=au(h,t,!0);at(s,m),k&&i.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Ke(e)&&n.set(e,Tn),Tn;if(Ae(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ri=e=>Ae(e)?e.map(fo):[fo(e)],$h=(e,t,o)=>{if(t._n)return t;const n=It((...a)=>ri(t(...a)),o);return n._c=!1,n},su=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ai(a))continue;const r=e[a];if(Te(r))t[a]=$h(a,r,n);else if(r!=null){const s=ri(r);t[a]=()=>s}}},iu=(e,t)=>{const o=ri(t);e.slots.default=()=>o},lu=(e,t,o)=>{for(const n in t)(o||!ai(n))&&(e[n]=t[n])},Ph=(e,t,o)=>{const n=e.slots=tu();if(e.vnode.shapeFlag&32){const a=t._;a?(lu(n,t,o),o&&ql(n,"_",a,!0)):su(t,n)}else t&&iu(e,t)},Nh=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=We;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:lu(a,t,o):(r=!t.$stable,su(t,a)),s=t}else t&&(iu(e,t),s={default:1});if(r)for(const i in a)!ai(i)&&s[i]==null&&delete a[i]},Mt=Dh;function Ih(e){return Mh(e)}function Mh(e,t){const o=lr();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:h,nextSibling:m,setScopeId:k=so,insertStaticContent:w}=e,b=(C,I,P,K=null,Z=null,ne=null,re=void 0,ue=null,A=!!I.dynamicChildren)=>{if(C===I)return;C&&!bn(C,I)&&(K=fe(C),G(C,Z,ne,!0),C=null),I.patchFlag===-2&&(A=!1,I.dynamicChildren=null);const{type:p,ref:$,shapeFlag:q}=I;switch(p){case wa:x(C,I,P,K);break;case Ct:v(C,I,P,K);break;case Er:C==null&&_(I,P,K,re);break;case Ne:z(C,I,P,K,Z,ne,re,ue,A);break;default:q&1?f(C,I,P,K,Z,ne,re,ue,A):q&6?U(C,I,P,K,Z,ne,re,ue,A):(q&64||q&128)&&p.process(C,I,P,K,Z,ne,re,ue,A,Se)}$!=null&&Z?ba($,C&&C.ref,ne,I||C,!I):$==null&&C&&C.ref!=null&&ba(C.ref,null,ne,C,!0)},x=(C,I,P,K)=>{if(C==null)n(I.el=i(I.children),P,K);else{const Z=I.el=C.el;I.children!==C.children&&c(Z,I.children)}},v=(C,I,P,K)=>{C==null?n(I.el=l(I.children||""),P,K):I.el=C.el},_=(C,I,P,K)=>{[C.el,C.anchor]=w(C.children,I,P,K,C.el,C.anchor)},d=({el:C,anchor:I},P,K)=>{let Z;for(;C&&C!==I;)Z=m(C),n(C,P,K),C=Z;n(I,P,K)},g=({el:C,anchor:I})=>{let P;for(;C&&C!==I;)P=m(C),a(C),C=P;a(I)},f=(C,I,P,K,Z,ne,re,ue,A)=>{if(I.type==="svg"?re="svg":I.type==="math"&&(re="mathml"),C==null)y(I,P,K,Z,ne,re,ue,A);else{const p=C.el&&C.el._isVueCE?C.el:null;try{p&&p._beginPatch(),L(C,I,Z,ne,re,ue,A)}finally{p&&p._endPatch()}}},y=(C,I,P,K,Z,ne,re,ue)=>{let A,p;const{props:$,shapeFlag:q,transition:le,dirs:ae}=C;if(A=C.el=s(C.type,ne,$&&$.is,$),q&8?u(A,C.children):q&16&&O(C.children,A,null,K,Z,si(C,ne),re,ue),ae&&fn(C,null,K,"created"),T(A,C,C.scopeId,re,K),$){for(const Y in $)Y!=="value"&&!aa(Y)&&r(A,Y,null,$[Y],ne,K);"value"in $&&r(A,"value",null,$.value,ne),(p=$.onVnodeBeforeMount)&&ho(p,K,C)}ae&&fn(C,null,K,"beforeMount");const V=Rh(Z,le);V&&le.beforeEnter(A),n(A,I,P),((p=$&&$.onVnodeMounted)||V||ae)&&Mt(()=>{try{p&&ho(p,K,C),V&&le.enter(A),ae&&fn(C,null,K,"mounted")}finally{}},Z)},T=(C,I,P,K,Z)=>{if(P&&k(C,P),K)for(let ne=0;ne{for(let p=A;p{const ue=I.el=C.el;let{patchFlag:A,dynamicChildren:p,dirs:$}=I;A|=C.patchFlag&16;const q=C.props||We,le=I.props||We;let ae;if(P&&mn(P,!1),(ae=le.onVnodeBeforeUpdate)&&ho(ae,P,I,C),$&&fn(I,C,P,"beforeUpdate"),P&&mn(P,!0),p&&(!C.dynamicChildren||C.dynamicChildren.length!==p.length)&&(A=0,re=!1,p=null),(q.innerHTML&&le.innerHTML==null||q.textContent&&le.textContent==null)&&u(ue,""),p?B(C.dynamicChildren,p,ue,P,K,si(I,Z),ne):re||J(C,I,ue,null,P,K,si(I,Z),ne,!1),A>0){if(A&16)H(ue,q,le,P,Z);else if(A&2&&q.class!==le.class&&r(ue,"class",null,le.class,Z),A&4&&r(ue,"style",q.style,le.style,Z),A&8){const V=I.dynamicProps;for(let Y=0;Y{ae&&ho(ae,P,I,C),$&&fn(I,C,P,"updated")},K)},B=(C,I,P,K,Z,ne,re)=>{for(let ue=0;ue{if(I!==P){if(I!==We)for(const ne in I)!aa(ne)&&!(ne in P)&&r(C,ne,I[ne],null,Z,K);for(const ne in P){if(aa(ne))continue;const re=P[ne],ue=I[ne];re!==ue&&ne!=="value"&&r(C,ne,ue,re,Z,K)}"value"in P&&r(C,"value",I.value,P.value,Z)}},z=(C,I,P,K,Z,ne,re,ue,A)=>{const p=I.el=C?C.el:i(""),$=I.anchor=C?C.anchor:i("");let{patchFlag:q,dynamicChildren:le,slotScopeIds:ae}=I;ae&&(ue=ue?ue.concat(ae):ae),C==null?(n(p,P,K),n($,P,K),O(I.children||[],P,$,Z,ne,re,ue,A)):q>0&&q&64&&le&&C.dynamicChildren&&C.dynamicChildren.length===le.length?(B(C.dynamicChildren,le,P,Z,ne,re,ue),(I.key!=null||Z&&I===Z.subTree)&&cu(C,I,!0)):J(C,I,P,$,Z,ne,re,ue,A)},U=(C,I,P,K,Z,ne,re,ue,A)=>{I.slotScopeIds=ue,C==null?I.shapeFlag&512?Z.ctx.activate(I,P,K,re,A):R(I,P,K,Z,ne,re,A):N(C,I,A)},R=(C,I,P,K,Z,ne,re)=>{const ue=C.component=Kh(C,K,Z);if(va(C)&&(ue.ctx.renderer=Se),Hh(ue,!1,re),ue.asyncDep){if(Z&&Z.registerDep(ue,E,re),!C.el){const A=ue.subTree=qe(Ct);v(null,A,I,P),C.placeholder=A.el}}else E(ue,C,I,P,Z,ne,re)},N=(C,I,P)=>{const K=I.component=C.component;if(Ah(C,I,P))if(K.asyncDep&&!K.asyncResolved){j(K,I,P);return}else K.next=I,K.update();else I.el=C.el,K.vnode=I},E=(C,I,P,K,Z,ne,re)=>{const ue=()=>{if(C.isMounted){let{next:q,bu:le,u:ae,parent:V,vnode:Y}=C;{const it=uu(C);if(it){q&&(q.el=Y.el,j(C,q,re)),it.asyncDep.then(()=>{Mt(()=>{C.isUnmounted||p()},Z)});return}}let ye=q,xe;mn(C,!1),q?(q.el=Y.el,j(C,q,re)):q=Y,le&&sr(le),(xe=q.props&&q.props.onVnodeBeforeUpdate)&&ho(xe,V,q,Y),mn(C,!0);const Re=Jc(C),gt=C.subTree;C.subTree=Re,b(gt,Re,h(gt.el),fe(gt),C,Z,ne),q.el=Re.el,ye===null&&Lh(C,Re.el),ae&&Mt(ae,Z),(xe=q.props&&q.props.onVnodeUpdated)&&Mt(()=>ho(xe,V,q,Y),Z)}else{let q;const{el:le,props:ae}=I,{bm:V,m:Y,parent:ye,root:xe,type:Re}=C,gt=Fn(I);mn(C,!1),V&&sr(V),!gt&&(q=ae&&ae.onVnodeBeforeMount)&&ho(q,ye,I),mn(C,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(Re,C.parent?C.parent.type:void 0);const it=C.subTree=Jc(C);b(null,it,P,K,C,Z,ne),I.el=it.el}if(Y&&Mt(Y,Z),!gt&&(q=ae&&ae.onVnodeMounted)){const it=I;Mt(()=>ho(q,ye,it),Z)}(I.shapeFlag&256||ye&&Fn(ye.vnode)&&ye.vnode.shapeFlag&256)&&C.a&&Mt(C.a,Z),C.isMounted=!0,I=P=K=null}};C.scope.on();const A=C.effect=new ec(ue);C.scope.off();const p=C.update=A.run.bind(A),$=C.job=A.runIfDirty.bind(A);$.i=C,$.id=C.uid,A.scheduler=()=>Vs($),mn(C,!0),p()},j=(C,I,P)=>{I.component=C;const K=C.vnode.props;C.vnode=I,C.next=null,Eh(C,I.props,K,P),Nh(C,I.children,P),lo(),Ac(C),co()},J=(C,I,P,K,Z,ne,re,ue,A=!1)=>{const p=C&&C.children,$=C?C.shapeFlag:0,q=I.children,{patchFlag:le,shapeFlag:ae}=I;if(le>0){if(le&128){F(p,q,P,K,Z,ne,re,ue,A);return}else if(le&256){ce(p,q,P,K,Z,ne,re,ue,A);return}}ae&8?($&16&&ke(p,Z,ne),q!==p&&u(P,q)):$&16?ae&16?F(p,q,P,K,Z,ne,re,ue,A):ke(p,Z,ne,!0):($&8&&u(P,""),ae&16&&O(q,P,K,Z,ne,re,ue,A))},ce=(C,I,P,K,Z,ne,re,ue,A)=>{C=C||Tn,I=I||Tn;const p=C.length,$=I.length,q=Math.min(p,$);let le;for(le=0;le$?ke(C,Z,ne,!0,!1,q):O(I,P,K,Z,ne,re,ue,A,q)},F=(C,I,P,K,Z,ne,re,ue,A)=>{let p=0;const $=I.length;let q=C.length-1,le=$-1;for(;p<=q&&p<=le;){const ae=C[p],V=I[p]=A?Ro(I[p]):fo(I[p]);if(bn(ae,V))b(ae,V,P,null,Z,ne,re,ue,A);else break;p++}for(;p<=q&&p<=le;){const ae=C[q],V=I[le]=A?Ro(I[le]):fo(I[le]);if(bn(ae,V))b(ae,V,P,null,Z,ne,re,ue,A);else break;q--,le--}if(p>q){if(p<=le){const ae=le+1,V=ae<$?I[ae].el:K;for(;p<=le;)b(null,I[p]=A?Ro(I[p]):fo(I[p]),P,V,Z,ne,re,ue,A),p++}}else if(p>le)for(;p<=q;)G(C[p],Z,ne,!0),p++;else{const ae=p,V=p,Y=new Map;for(p=V;p<=le;p++){const Nt=I[p]=A?Ro(I[p]):fo(I[p]);Nt.key!=null&&Y.set(Nt.key,p)}let ye,xe=0;const Re=le-V+1;let gt=!1,it=0;const Ko=new Array(Re);for(p=0;p=Re){G(Nt,Z,ne,!0);continue}let ft;if(Nt.key!=null)ft=Y.get(Nt.key);else for(ye=V;ye<=le;ye++)if(Ko[ye-V]===0&&bn(Nt,I[ye])){ft=ye;break}ft===void 0?G(Nt,Z,ne,!0):(Ko[ft-V]=p+1,ft>=it?it=ft:gt=!0,b(Nt,I[ft],P,null,Z,ne,re,ue,A),xe++)}const Va=gt?Fh(Ko):Tn;for(ye=Va.length-1,p=Re-1;p>=0;p--){const Nt=V+p,ft=I[Nt],ls=I[Nt+1],cs=Nt+1<$?ls.el||pu(ls):K;Ko[p]===0?b(null,ft,P,cs,Z,ne,re,ue,A):gt&&(ye<0||p!==Va[ye]?te(ft,P,cs,2):ye--)}}},te=(C,I,P,K,Z=null)=>{const{el:ne,type:re,transition:ue,children:A,shapeFlag:p}=C;if(p&6){te(C.component.subTree,I,P,K);return}if(p&128){C.suspense.move(I,P,K);return}if(p&64){re.move(C,I,P,Se);return}if(re===Ne){n(ne,I,P);for(let q=0;que.enter(ne),Z));else{const{leave:q,delayLeave:le,afterLeave:ae}=ue,V=()=>{C.ctx.isUnmounted?a(ne):n(ne,I,P)},Y=()=>{const ye=ne._isLeaving||!!ne[Vt];ne._isLeaving&&ne[Vt](!0),ue.persisted&&!ye?V():q(ne,()=>{V(),ae&&ae()})};le?le(ne,V,Y):Y()}else n(ne,I,P)},G=(C,I,P,K=!1,Z=!1)=>{const{type:ne,props:re,ref:ue,children:A,dynamicChildren:p,shapeFlag:$,patchFlag:q,dirs:le,cacheIndex:ae,memo:V}=C;if(q===-2&&(Z=!1),ue!=null&&(lo(),ba(ue,null,P,C,!0),co()),ae!=null&&(I.renderCache[ae]=void 0),$&256){I.ctx.deactivate(C);return}const Y=$&1&&le,ye=!Fn(C);let xe;if(ye&&(xe=re&&re.onVnodeBeforeUnmount)&&ho(xe,I,C),$&6)pe(C.component,P,K);else{if($&128){C.suspense.unmount(P,K);return}Y&&fn(C,null,I,"beforeUnmount"),$&64?C.type.remove(C,I,P,Se,K):p&&!p.hasOnce&&(ne!==Ne||q>0&&q&64)?ke(p,I,P,!1,!0):(ne===Ne&&q&384||!Z&&$&16)&&ke(A,I,P),K&&se(C)}const Re=V!=null&&ae==null;(ye&&(xe=re&&re.onVnodeUnmounted)||Y||Re)&&Mt(()=>{xe&&ho(xe,I,C),Y&&fn(C,null,I,"unmounted"),Re&&(C.el=null)},P)},se=C=>{const{type:I,el:P,anchor:K,transition:Z}=C;if(I===Ne){he(P,K);return}if(I===Er){g(C);return}const ne=()=>{a(P),Z&&!Z.persisted&&Z.afterLeave&&Z.afterLeave()};if(C.shapeFlag&1&&Z&&!Z.persisted){const{leave:re,delayLeave:ue}=Z,A=()=>re(P,ne);ue?ue(C.el,ne,A):A()}else ne()},he=(C,I)=>{let P;for(;C!==I;)P=m(C),a(C),C=P;a(I)},pe=(C,I,P)=>{const{bum:K,scope:Z,job:ne,subTree:re,um:ue,m:A,a:p}=C;du(A),du(p),K&&sr(K),Z.stop(),ne&&(ne.flags|=8,G(re,C,I,P)),ue&&Mt(ue,I),Mt(()=>{C.isUnmounted=!0},I)},ke=(C,I,P,K=!1,Z=!1,ne=0)=>{for(let re=ne;re{if(C.shapeFlag&6)return fe(C.component.subTree);if(C.shapeFlag&128)return C.suspense.next();const I=m(C.anchor||C.el),P=I&&I[Xf];return P?m(P):I};let we=!1;const ee=(C,I,P)=>{let K;C==null?I._vnode&&(G(I._vnode,null,null,!0),K=I._vnode.component):b(I._vnode||null,C,I,null,null,null,P),I._vnode=C,we||(we=!0,Ac(K),Lc(),we=!1)},Se={p:b,um:G,m:te,r:se,mt:R,mc:O,pc:J,pbc:B,n:fe,o:e};return{render:ee,hydrate:void 0,createApp:vh(ee)}}function si({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function mn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Rh(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function cu(e,t,o=!1){const n=e.children,a=t.children;if(Ae(n)&&Ae(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function uu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:uu(t)}function du(e){if(e)for(let t=0;te.__isSuspense;function Dh(e,t){t&&t.pendingBranch?Ae(e)?t.effects.push(...e):t.effects.push(e):Kf(e)}const Ne=Symbol.for("v-fgt"),wa=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Er=Symbol.for("v-stc"),Mo=[];let Gt=null;function W(e=!1){Mo.push(Gt=e?null:[])}function ii(){Mo.pop(),Gt=Mo[Mo.length-1]||null}let Sa=1;function Tr(e,t=!1){Sa+=e,e<0&&Gt&&t&&(Gt.hasOnce=!0)}function fu(e){return e.dynamicChildren=Sa>0?Gt||Tn:null,ii(),Sa>0&&Gt&&Gt.push(e),e}function oe(e,t,o,n,a,r){return fu(S(e,t,o,n,a,r,!0))}function Ge(e,t,o,n,a){return fu(qe(e,t,o,n,a,!0))}function Aa(e){return e?e.__v_isVNode===!0:!1}function bn(e,t){return e.type===t.type&&e.key===t.key}const hu=({key:e})=>e??null,$r=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?et(e)||ot(e)||Te(e)?{i:_t,r:e,k:t,f:!!o}:e:null);function S(e,t=null,o=null,n=0,a=null,r=e===Ne?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hu(t),ref:t&&$r(t),scopeId:Ec,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:_t};return i?(Pr(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=et(o)?8:16),Sa>0&&!s&&Gt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Gt.push(l),l}const qe=Oh;function Oh(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Gc)&&(e=Ct),Aa(e)){const i=Xo(e,t,!0);return o&&Pr(i,o),Sa>0&&!r&&Gt&&(i.shapeFlag&6?Gt[Gt.indexOf(e)]=i:Gt.push(i)),i.patchFlag=-2,i}if(Jh(e)&&(e=e.__vccOpts),t){t=Bh(t);let{class:i,style:l}=t;i&&!et(i)&&(t.class=Le(i)),Ke(l)&&(hr(l)&&!Ae(l)&&(l=at({},l)),t.style=tt(l))}const s=et(e)?1:gu(e)?128:xr(e)?64:Ke(e)?4:Te(e)?2:0;return S(e,t,o,n,a,s,r,!0)}function Bh(e){return e?hr(e)||ou(e)?at({},e):e:null}function Xo(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?jh(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&hu(c),ref:t&&t.ref?o&&r?Ae(r)?r.concat($r(t)):[r,$r(t)]:$r(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!==Ne?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xo(e.ssContent),ssFallback:e.ssFallback&&Xo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ha(u,l.clone(u)),u}function ct(e=" ",t=0){return qe(wa,null,e,t)}function Gh(e,t){const o=qe(Er,null,e);return o.staticCount=t,o}function ve(e="",t=!1){return t?(W(),Ge(Ct,null,e)):qe(Ct,null,e)}function fo(e){return e==null||typeof e=="boolean"?qe(Ct):Ae(e)?qe(Ne,null,e.slice()):Aa(e)?Ro(e):qe(wa,null,String(e))}function Ro(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xo(e)}function Pr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ae(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Pr(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!ou(t)?t._ctx=_t:a===3&&_t&&(_t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Pr(e,{default:t});return}t={default:t,_ctx:_t},o=32}else t=String(t),n&64?(o=16,t=[ct(t)]):o=8;e.children=t,e.shapeFlag|=o}function jh(...e){const t={};for(let o=0;okt||_t;let Nr,La;{const e=lr(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>kt=o),La=t("__VUE_SSR_SETTERS__",o=>Dn=o)}const Ca=e=>{const t=kt;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},mu=()=>{kt&&kt.scope.off(),Nr(null)};function bu(e){return e.vnode.shapeFlag&4}let Dn=!1;function Hh(e,t=!1,o=!1){t&&La(t);const{props:n,children:a}=e.vnode,r=bu(e);Ch(e,n,r,t),Ph(e,a,o||t);const s=r?qh(e,t):void 0;return t&&La(!1),s}function qh(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ph);const{setup:n}=o;if(n){lo();const a=e.setupContext=n.length>1?Wh(e):null,r=Ca(e),s=In(n,e,0,[e.props,a]),i=Kl(s);if(co(),r(),(i||e.sp)&&!Fn(e)&&Js(e),i){if(s.then(mu,mu),t)return s.then(l=>{La(!0);try{yu(e,l,t)}finally{La(!1)}}).catch(l=>{pa(l,e,0)});e.asyncDep=s}else yu(e,s)}else vu(e)}function yu(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ke(t)&&(e.setupState=_c(t)),vu(e)}function vu(e,t,o){const n=e.type;e.render||(e.render=n.render||so);{const a=Ca(e);lo();try{gh(e)}finally{co(),a()}}}const Vh={get(e,t){return At(e,"get",""),e[t]}};function Wh(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Vh),slots:e.slots,emit:e.emit,expose:t}}function Ir(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_c(ua(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in xa)return xa[o](e)},has(t,o){return o in t||o in xa}})):e.proxy}const Yh=/(?:^|[-_])\w/g,Xh=e=>e.replace(Yh,t=>t.toUpperCase()).replace(/[-_]/g,"");function _u(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function xu(e,t,o=!1){let n=_u(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Xh(n):o?"App":"Anonymous"}function Jh(e){return Te(e)&&"__vccOpts"in e}const Q=(e,t)=>Rf(e,t,Dn);function li(e,t,o){try{Tr(-1);const n=arguments.length;return n===2?Ke(t)&&!Ae(t)?Aa(t)?qe(e,null,[t]):qe(e,t):qe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Aa(o)&&(o=[o]),qe(e,t,o))}finally{Tr(1)}}const Zh="3.5.42";/** +`,...Gf(a)),console.warn(...r)}uo(),qs=!1}function Bf(){let e=pa[pa.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function Gf(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...jf(o))}),t}function jf({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${ku(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...zf(e.props),r]:[a+r]}function zf(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...wc(n,e[n]))}),o.length>3&&t.push(" ..."),t}function wc(e,t,o){return ot(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=wc(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function Mn(e,t,o,n){try{return n?e(...n):e()}catch(a){ga(a,t,o)}}function qt(e,t,o,n){if(Te(e)){const a=Mn(e,t,o,n);return a&&Hl(a)&&a.catch(r=>{ga(r,t,o)}),a}if(Ae(e)){const a=[];for(let r=0;r>>1,a=Tt[n],r=fa(a);r=fa(o)?Tt.push(e):Tt.splice(Kf(t),0,e),e.flags|=1,Ac()}}function Ac(){_r||(_r=Sc.then(Ec))}function Hf(e){if(!Ae(e))Wo&&e.id===-1?Wo.splice(Fn+1,0,e):e.flags&1||(Rn.push(e),e.flags|=1);else for(let t=0;tfa(o)-fa(n));if(Rn.length=0,Wo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ec(e){try{for(go=0;go{n._d&&$r(-1);const r=xr(t),s=Ro.length;let i;try{i=e(...a)}finally{for(let l=Ro.length;l>s;l--)ii();xr(r),n._d&&$r(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Bt(e,t){if(_t===null)return e;const o=Mr(_t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Te(t)?t.call(n&&n.proxy):t}}function qf(){return!!(bo()||hn)}const Vf=Symbol.for("v-scx"),Wf=()=>Ee(Vf);function Yf(e,t){return Ws(e,null,t)}function Re(e,t,o){return Ws(e,t,o)}function Ws(e,t,o=Xe){const{immediate:n,deep:a,flush:r,once:s}=o,i=st({},o),l=t&&n||!t&&r!=="post";let c;if(On){if(r==="sync"){const k=Wf();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=io,k.resume=io,k.pause=io,k}}const u=kt;i.call=(k,w,h)=>qt(k,u,w,h);let f=!1;r==="post"?i.scheduler=k=>{Mt(k,u&&u.suspense)}:r!=="sync"&&(f=!0,i.scheduler=(k,w)=>{w?k():Vs(k)}),i.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=Of(e,t,i);return On&&(c?c.push(m):l&&m()),m}function Xf(e,t,o){const n=this.proxy,a=ot(e)?e.includes(".")?$c(n,e):()=>n[e]:e.bind(n,n);let r;Te(t)?r=t:(r=t.handler,o=t);const s=Ea(this),i=Ws(a,r.bind(n),o);return s(),i}function $c(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Vt=Symbol("_leaveCb"),ha=Symbol("_enterCb");function Zf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Yt(()=>{e.isMounted=!0}),fo(()=>{e.isUnmounting=!0}),e}const Wt=[Function,Array],Pc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Wt,onEnter:Wt,onAfterEnter:Wt,onEnterCancelled:Wt,onBeforeLeave:Wt,onLeave:Wt,onAfterLeave:Wt,onLeaveCancelled:Wt,onBeforeAppear:Wt,onAppear:Wt,onAfterAppear:Wt,onAppearCancelled:Wt},Nc=e=>{const t=e.subTree;return t.component?Nc(t.component):t},Qf={name:"BaseTransition",props:Pc,setup(e,{slots:t}){const o=bo(),n=Zf();return()=>{const a=t.default&&Rc(t.default(),!0),r=a&&a.length?Ic(a):o.subTree?_e():void 0;if(!r)return;const s=Be(e),{mode:i}=s;if(n.isLeaving)return Xs(r);const l=wr(r);if(!l)return Xs(r);let c=Ys(l,s,n,o,f=>c=f);l.type!==Ct&&ma(l,c);let u=o.subTree&&wr(o.subTree);if(u&&u.type!==Ct&&!bn(u,l)&&Nc(o).type!==Ct){let f=Ys(u,s,n,o);if(ma(u,f),i==="out-in"&&l.type!==Ct)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,o.job.flags&8||o.update(),delete f.afterLeave,u=void 0},Xs(r);i==="in-out"&&l.type!==Ct?f.delayLeave=(m,k,w)=>{const h=Mc(n,u);h[String(u.key)]=u,m[Vt]=()=>{k(),m[Vt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{w(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function Ic(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==Ct){t=o;break}}return t}const eh=Qf;function Mc(e,t){const{leavingVNodes:o}=e;let n=o.get(t.type);return n||(n=Object.create(null),o.set(t.type,n)),n}function Ys(e,t,o,n,a){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:m,onLeave:k,onAfterLeave:w,onLeaveCancelled:h,onBeforeAppear:_,onAppear:b,onAfterAppear:v,onAppearCancelled:d}=t,p=String(e.key),g=Mc(o,e),y=(x,G)=>{x&&qt(x,n,9,G)},I=(x,G)=>{const V=G[1];y(x,G),Ae(x)?x.every(j=>j.length<=1)&&V():x.length<=1&&V()},D={mode:s,persisted:i,beforeEnter(x){let G=l;if(!o.isMounted)if(r)G=_||l;else return;x[Vt]&&x[Vt](!0);const V=g[p];V&&bn(e,V)&&V.el[Vt]&&V.el[Vt](),y(G,[x])},enter(x){if(g[p]===e)return;let G=c,V=u,j=f;if(!o.isMounted)if(r)G=b||c,V=v||u,j=d||f;else return;let U=!1;x[ha]=M=>{U||(U=!0,M?y(j,[x]):y(V,[x]),D.delayedLeave&&D.delayedLeave(),x[ha]=void 0)};const R=x[ha].bind(null,!1);G?I(G,[x,R]):R()},leave(x,G){const V=String(e.key);if(x[ha]&&x[ha](!0),o.isUnmounting)return G();y(m,[x]);let j=!1;x[Vt]=R=>{j||(j=!0,G(),R?y(h,[x]):y(w,[x]),x[Vt]=void 0,g[V]===e&&delete g[V])};const U=x[Vt].bind(null,!1);g[V]=e,k?I(k,[x,U]):U()},clone(x){const G=Ys(x,t,o,n,a);return a&&a(G),G}};return D}function Xs(e){if(_a(e))return e=Xo(e),e.children=null,e}function wr(e){if(!_a(e))return kr(e.type)&&e.children?Ic(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Te(o.default))return o.default()}}function ma(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ma(kr(o.type)&&wr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Rc(e,t=!1,o){let n=[],a=0;for(let r=0;r1)for(let r=0;rya(h,t&&(Ae(t)?t[_]:t),o,n,a));return}if(Dn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ya(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Mr(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===Xe?i.refs={}:i.refs,f=i.setupState,m=Be(f),k=f===Xe?Ul:h=>Fc(u,h)?!1:He(m,h),w=(h,_)=>!(_&&Fc(u,_));if(c!=null&&c!==l){if(Dc(t),ot(c))u[c]=null,k(c)&&(f[c]=null);else if(at(c)){const h=t;w(c,h.k)&&(c.value=null),h.k&&(u[h.k]=null)}}if(Te(l))Mn(l,i,12,[s,u]);else{const h=ot(l),_=at(l);if(h||_){const b=()=>{if(e.f){const v=h?k(l)?f[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Ae(v)&&$s(v,r);else if(Ae(v))v.includes(r)||v.push(r);else if(h)u[l]=[r],k(l)&&(f[l]=u[l]);else{const d=[r];w(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else h?(u[l]=s,k(l)&&(f[l]=s)):_&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const v=()=>{b(),Sr.delete(e)};v.id=-1,Sr.set(e,v),Mt(v,o)}else Dc(e),b()}}}function Dc(e){const t=Sr.get(e);t&&(t.flags|=8,Sr.delete(e))}const Oc=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function th(e,t){if(Oc(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Oc(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Dn=e=>!!e.type.__asyncLoader;function va(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let w;return c||(w=c=t().catch(h=>{if(h=h instanceof Error?h:new Error(String(h)),l)return new Promise((_,b)=>{l(h,()=>_(m()),()=>b(h),f+1)});throw h}).then(h=>w!==c&&c?c:(h&&(h.__esModule||h[Symbol.toStringTag]==="Module")&&(h=h.default),u=h,h)))};return ba({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,h,_){const b=w.isConnected;let v=!1;(h.bu||(h.bu=[])).push(()=>v=!0);const d=()=>{v||!w.parentNode||b&&!w.isConnected||_()},p=r?()=>{const g=r(d,y=>th(w,y));g&&(h.bum||(h.bum=[])).push(g)}:d;u?p():k().then(()=>!h.isUnmounted&&p())},get __asyncResolved(){return u},setup(){const w=kt;if(Js(w),u)return()=>Ar(u,w);const h=g=>{c=null,ga(g,w,13,!n)};if(i&&w.suspense||On)return k().then(g=>()=>Ar(g,w)).catch(g=>(h(g),()=>n?We(n,{error:g}):null));const _=de(!1),b=de(),v=de(!!a);let d,p;return xa(()=>{d!=null&&clearTimeout(d),p!=null&&clearTimeout(p)}),a&&(p=setTimeout(()=>{w.isUnmounted||(v.value=!1)},a)),s!=null&&(d=setTimeout(()=>{if(!w.isUnmounted&&!_.value&&!b.value){const g=new Error(`Async component timed out after ${s}ms.`);h(g),b.value=g}},s)),k().then(()=>{w.isUnmounted||(_.value=!0,w.parent&&_a(w.parent.vnode)&&w.parent.update())}).catch(g=>{if(w.isUnmounted){c=null;return}h(g),b.value=g}),()=>{if(_.value&&u)return Ar(u,w);if(b.value&&n)return We(n,{error:b.value});if(o&&!v.value)return Ar(o,w)}}})}function Ar(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=We(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const _a=e=>e.type.__isKeepAlive;function oh(e,t){Bc(e,"a",t)}function nh(e,t){Bc(e,"da",t)}function Bc(e,t,o=kt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Lr(t,n,o),o){let a=o.parent;for(;a&&a.parent;)_a(a.parent.vnode)&&ah(n,t,o,a),a=a.parent}}function ah(e,t,o,n){const a=Lr(t,e,n,!0);xa(()=>{$s(n[t],a)},o)}function Lr(e,t,o=kt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{co();const i=Ea(o),l=qt(t,o,e,s);return i(),uo(),l});return n?a.unshift(r):a.push(r),r}}const Mo=e=>(t,o=kt)=>{(!On||e==="sp")&&Lr(e,(...n)=>t(...n),o)},Gc=Mo("bm"),Yt=Mo("m"),rh=Mo("bu"),sh=Mo("u"),fo=Mo("bum"),xa=Mo("um"),ih=Mo("sp"),lh=Mo("rtg"),ch=Mo("rtc");function uh(e,t=kt){Lr("ec",e,t)}const dh="components",jc=Symbol.for("v-ndc");function Zs(e){return ot(e)?ph(dh,e,!1)||e:e||jc}function ph(e,t,o=!0,n=!1){const a=_t||kt;if(a){const r=a.type;{const i=xu(r,!1);if(i&&(i===t||i===mt(t)||i===sr(mt(t))))return r}const s=zc(a[e]||r[e],t)||zc(a.appContext[e],t);return!s&&n?r:s}}function zc(e,t){return e&&(e[t]||e[mt(t)]||e[sr(mt(t))])}function xt(e,t,o,n){let a;const r=o,s=Ae(e);if(s||ot(e)){const i=s&&Po(e);let l=!1,c=!1;i&&(l=!Ot(e),c=No(e),e=dr(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),W(),Ge(Ne,null,[We("slot",c,n&&n())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Ro.length;W();let l;try{const c=s&&Uc(s(o)),u=o.key||r||c&&c.key;l=Ge(Ne,{key:(u&&!Dt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Ro.length;u>i;u--)ii();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Uc(e){return e.some(t=>La(t)?!(t.type===Ct||t.type===Ne&&!Uc(t.children)):!0)?e:null}const Qs=e=>e?yu(e)?Mr(e):Qs(e.parent):null,ka=st(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=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vc(e),$forceUpdate:e=>e.f||(e.f=()=>{Vs(e.update)}),$nextTick:e=>e.n||(e.n=eo.bind(e.proxy)),$watch:e=>Xf.bind(e)}),ei=(e,t)=>e!==Xe&&!e.__isScriptSetup&&He(e,t),gh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const m=s[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(ei(n,t))return s[t]=1,n[t];if(a!==Xe&&He(a,t))return s[t]=2,a[t];if(He(r,t))return s[t]=3,r[t];if(o!==Xe&&He(o,t))return s[t]=4,o[t];ti&&(s[t]=0)}}const c=ka[t];let u,f;if(c)return t==="$attrs"&&At(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Xe&&He(o,t))return s[t]=4,o[t];if(f=l.config.globalProperties,He(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return ei(a,t)?(a[t]=o,!0):n!==Xe&&He(n,t)?(n[t]=o,!0):He(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Xe&&i[0]!=="$"&&He(e,i)||ei(t,i)||He(r,i)||He(n,i)||He(ka,i)||He(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:He(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Kc(e){return Ae(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ti=!0;function fh(e){const t=Vc(e),o=e.proxy,n=e.ctx;ti=!1,t.beforeCreate&&Hc(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:w,activated:h,deactivated:_,beforeDestroy:b,beforeUnmount:v,destroyed:d,unmounted:p,render:g,renderTracked:y,renderTriggered:I,errorCaptured:D,serverPrefetch:x,expose:G,inheritAttrs:V,components:j,directives:U,filters:R}=t;if(c&&hh(c,n,null),s)for(const B in s){const J=s[B];Te(J)&&(n[B]=J.bind(o))}if(a){const B=a.call(o,o);qe(B)&&(e.data=Nn(B))}if(ti=!0,r)for(const B in r){const J=r[B],ce=Te(J)?J.bind(o,o):Te(J.get)?J.get.bind(o,o):io,F=!Te(J)&&Te(J.set)?J.set.bind(o):io,ne=oe({get:ce,set:F});Object.defineProperty(n,B,{enumerable:!0,configurable:!0,get:()=>ne.value,set:z=>ne.value=z})}if(i)for(const B in i)qc(i[B],n,o,B);if(l){const B=Te(l)?l.call(o):l;Reflect.ownKeys(B).forEach(J=>{Lt(J,B[J])})}u&&Hc(u,e,"c");function E(B,J){Ae(J)?J.forEach(ce=>B(ce.bind(o))):J&&B(J.bind(o))}if(E(Gc,f),E(Yt,m),E(rh,k),E(sh,w),E(oh,h),E(nh,_),E(uh,D),E(ch,y),E(lh,I),E(fo,v),E(xa,p),E(ih,x),Ae(G))if(G.length){const B=e.exposed||(e.exposed={});G.forEach(J=>{Object.defineProperty(B,J,{get:()=>o[J],set:ce=>o[J]=ce,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===io&&(e.render=g),V!=null&&(e.inheritAttrs=V),j&&(e.components=j),U&&(e.directives=U),x&&Js(e)}function hh(e,t,o=io){Ae(e)&&(e=oi(e));for(const n in e){const a=e[n];let r;qe(a)?"default"in a?r=Ee(a.from||n,a.default,!0):r=Ee(a.from||n):r=Ee(a),at(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Hc(e,t,o){qt(Ae(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function qc(e,t,o,n){let a=n.includes(".")?$c(o,n):()=>o[n];if(ot(e)){const r=t[e];Te(r)&&Re(a,r)}else if(Te(e))Re(a,e.bind(o));else if(qe(e))if(Ae(e))e.forEach(r=>qc(r,t,o,n));else{const r=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(r)&&Re(a,r,e)}}function Vc(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Cr(l,c,s,!0)),Cr(l,t,s)),qe(t)&&r.set(t,l),l}function Cr(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Cr(e,r,o,!0),a&&a.forEach(s=>Cr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=mh[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const mh={data:Wc,props:Yc,emits:Yc,methods:wa,computed:wa,beforeCreate:$t,created:$t,beforeMount:$t,mounted:$t,beforeUpdate:$t,updated:$t,beforeDestroy:$t,beforeUnmount:$t,destroyed:$t,unmounted:$t,activated:$t,deactivated:$t,errorCaptured:$t,serverPrefetch:$t,components:wa,directives:wa,watch:yh,provide:Wc,inject:bh};function Wc(e,t){return t?e?function(){return st(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function bh(e,t){return wa(oi(e),oi(t))}function oi(e){if(Ae(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function kh(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Xe;let a=o;const r=t.startsWith("update:"),s=r&&xh(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>ot(u)?u.trim():u)),s.number&&(a=a.map(lr)));let i,l=n[i=Ps(t)]||n[i=Ps(mt(t))];!l&&r&&(l=n[i=Ps(Ht(t))]),l&&qt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,qt(c,e,6,a)}}const wh=new WeakMap;function Jc(e,t,o=!1){const n=o?wh:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Te(e)){const l=c=>{const u=Jc(c,t,!0);u&&(i=!0,st(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(qe(e)&&n.set(e,null),null):(Ae(r)?r.forEach(l=>s[l]=null):st(s,r),qe(e)&&n.set(e,s),s)}function Er(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,Ht(t))||He(e,t))}function q2(){}function Zc(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:w,inheritAttrs:h}=e,_=xr(e);let b,v;try{if(o.shapeFlag&4){const p=a||n,g=p;b=ho(c.call(g,p,u,f,k,m,w)),v=i}else{const p=t;b=ho(p.length>1?p(f,{attrs:i,slots:s,emit:l}):p(f,null)),v=t.props?i:Sh(i)}}catch(p){Ro.length=0,ga(p,e,1),b=We(Ct)}let d=b;if(v&&h!==!1){const p=Object.keys(v),{shapeFlag:g}=d;p.length&&g&7&&(r&&p.some(or)&&(v=Ah(v,r)),d=Xo(d,v,!1,!0))}if(o.dirs&&(d=Xo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const p=kr(d.type)&&wr(d)||d;ma(p,o.transition)}return b=d,xr(_),b}const Sh=e=>{let t;for(const o in e)(o==="class"||o==="style"||tr(o))&&((t||(t={}))[o]=e[o]);return t},Ah=(e,t)=>{const o={};for(const n in e)(!or(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Lh(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Qc(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(tu),nu=e=>Object.getPrototypeOf(e)===tu;function Eh(e,t,o,n=!1){const a={},r=ou();e.propsDefaults=Object.create(null),au(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Tf(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Th(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[m,k]=ru(f,t,!0);st(s,m),k&&i.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return qe(e)&&n.set(e,$n),$n;if(Ae(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ri=e=>Ae(e)?e.map(ho):[ho(e)],Ph=(e,t,o)=>{if(t._n)return t;const n=It((...a)=>ri(t(...a)),o);return n._c=!1,n},iu=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ai(a))continue;const r=e[a];if(Te(r))t[a]=Ph(a,r,n);else if(r!=null){const s=ri(r);t[a]=()=>s}}},lu=(e,t)=>{const o=ri(t);e.slots.default=()=>o},cu=(e,t,o)=>{for(const n in t)(o||!ai(n))&&(e[n]=t[n])},Nh=(e,t,o)=>{const n=e.slots=ou();if(e.vnode.shapeFlag&32){const a=t._;a?(cu(n,t,o),o&&Vl(n,"_",a,!0)):iu(t,n)}else t&&lu(e,t)},Ih=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Xe;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:cu(a,t,o):(r=!t.$stable,iu(t,a)),s=t}else t&&(lu(e,t),s={default:1});if(r)for(const i in a)!ai(i)&&s[i]==null&&delete a[i]},Mt=Oh;function Mh(e){return Rh(e)}function Rh(e,t){const o=cr();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=io,insertStaticContent:w}=e,h=(C,P,$,K=null,ee=null,re=null,se=void 0,ue=null,L=!!P.dynamicChildren)=>{if(C===P)return;C&&!bn(C,P)&&(K=he(C),z(C,ee,re,!0),C=null),P.patchFlag===-2&&(L=!1,P.dynamicChildren=null);const{type:S,ref:Z,shapeFlag:T}=P;switch(S){case Sa:_(C,P,$,K);break;case Ct:b(C,P,$,K);break;case Tr:C==null&&v(P,$,K,se);break;case Ne:j(C,P,$,K,ee,re,se,ue,L);break;default:T&1?g(C,P,$,K,ee,re,se,ue,L):T&6?U(C,P,$,K,ee,re,se,ue,L):(T&64||T&128)&&S.process(C,P,$,K,ee,re,se,ue,L,we)}Z!=null&&ee?ya(Z,C&&C.ref,re,P||C,!P):Z==null&&C&&C.ref!=null&&ya(C.ref,null,re,C,!0)},_=(C,P,$,K)=>{if(C==null)n(P.el=i(P.children),$,K);else{const ee=P.el=C.el;P.children!==C.children&&c(ee,P.children)}},b=(C,P,$,K)=>{C==null?n(P.el=l(P.children||""),$,K):P.el=C.el},v=(C,P,$,K)=>{[C.el,C.anchor]=w(C.children,P,$,K,C.el,C.anchor)},d=({el:C,anchor:P},$,K)=>{let ee;for(;C&&C!==P;)ee=m(C),n(C,$,K),C=ee;n(P,$,K)},p=({el:C,anchor:P})=>{let $;for(;C&&C!==P;)$=m(C),a(C),C=$;a(P)},g=(C,P,$,K,ee,re,se,ue,L)=>{if(P.type==="svg"?se="svg":P.type==="math"&&(se="mathml"),C==null)y(P,$,K,ee,re,se,ue,L);else{const S=C.el&&C.el._isVueCE?C.el:null;try{S&&S._beginPatch(),x(C,P,ee,re,se,ue,L)}finally{S&&S._endPatch()}}},y=(C,P,$,K,ee,re,se,ue)=>{let L,S;const{props:Z,shapeFlag:T,transition:H,dirs:te}=C;if(L=C.el=s(C.type,re,Z&&Z.is,Z),T&8?u(L,C.children):T&16&&D(C.children,L,null,K,ee,si(C,re),se,ue),te&&fn(C,null,K,"created"),I(L,C,C.scopeId,se,K),Z){for(const Y in Z)Y!=="value"&&!ra(Y)&&r(L,Y,null,Z[Y],re,K);"value"in Z&&r(L,"value",null,Z.value,re),(S=Z.onVnodeBeforeMount)&&mo(S,K,C)}te&&fn(C,null,K,"beforeMount");const q=Fh(ee,H);q&&H.beforeEnter(L),n(L,P,$),((S=Z&&Z.onVnodeMounted)||q||te)&&Mt(()=>{try{S&&mo(S,K,C),q&&H.enter(L),te&&fn(C,null,K,"mounted")}finally{}},ee)},I=(C,P,$,K,ee)=>{if($&&k(C,$),K)for(let re=0;re{for(let S=L;S{const ue=P.el=C.el;let{patchFlag:L,dynamicChildren:S,dirs:Z}=P;L|=C.patchFlag&16;const T=C.props||Xe,H=P.props||Xe;let te;if($&&mn($,!1),(te=H.onVnodeBeforeUpdate)&&mo(te,$,P,C),Z&&fn(P,C,$,"beforeUpdate"),$&&mn($,!0),S&&(!C.dynamicChildren||C.dynamicChildren.length!==S.length)&&(L=0,se=!1,S=null),(T.innerHTML&&H.innerHTML==null||T.textContent&&H.textContent==null)&&u(ue,""),S?G(C.dynamicChildren,S,ue,$,K,si(P,ee),re):se||J(C,P,ue,null,$,K,si(P,ee),re,!1),L>0){if(L&16)V(ue,T,H,$,ee);else if(L&2&&T.class!==H.class&&r(ue,"class",null,H.class,ee),L&4&&r(ue,"style",T.style,H.style,ee),L&8){const q=P.dynamicProps;for(let Y=0;Y{te&&mo(te,$,P,C),Z&&fn(P,C,$,"updated")},K)},G=(C,P,$,K,ee,re,se)=>{for(let ue=0;ue{if(P!==$){if(P!==Xe)for(const re in P)!ra(re)&&!(re in $)&&r(C,re,P[re],null,ee,K);for(const re in $){if(ra(re))continue;const se=$[re],ue=P[re];se!==ue&&re!=="value"&&r(C,re,ue,se,ee,K)}"value"in $&&r(C,"value",P.value,$.value,ee)}},j=(C,P,$,K,ee,re,se,ue,L)=>{const S=P.el=C?C.el:i(""),Z=P.anchor=C?C.anchor:i("");let{patchFlag:T,dynamicChildren:H,slotScopeIds:te}=P;te&&(ue=ue?ue.concat(te):te),C==null?(n(S,$,K),n(Z,$,K),D(P.children||[],$,Z,ee,re,se,ue,L)):T>0&&T&64&&H&&C.dynamicChildren&&C.dynamicChildren.length===H.length?(G(C.dynamicChildren,H,$,ee,re,se,ue),(P.key!=null||ee&&P===ee.subTree)&&uu(C,P,!0)):J(C,P,$,Z,ee,re,se,ue,L)},U=(C,P,$,K,ee,re,se,ue,L)=>{P.slotScopeIds=ue,C==null?P.shapeFlag&512?ee.ctx.activate(P,$,K,se,L):R(P,$,K,ee,re,se,L):M(C,P,L)},R=(C,P,$,K,ee,re,se)=>{const ue=C.component=Hh(C,K,ee);if(_a(C)&&(ue.ctx.renderer=we),qh(ue,!1,se),ue.asyncDep){if(ee&&ee.registerDep(ue,E,se),!C.el){const L=ue.subTree=We(Ct);b(null,L,P,$),C.placeholder=L.el}}else E(ue,C,P,$,ee,re,se)},M=(C,P,$)=>{const K=P.component=C.component;if(Lh(C,P,$))if(K.asyncDep&&!K.asyncResolved){B(K,P,$);return}else K.next=P,K.update();else P.el=C.el,K.vnode=P},E=(C,P,$,K,ee,re,se)=>{const ue=()=>{if(C.isMounted){let{next:T,bu:H,u:te,parent:q,vnode:Y}=C;{const ze=du(C);if(ze){T&&(T.el=Y.el,B(C,T,se)),ze.asyncDep.then(()=>{Mt(()=>{C.isUnmounted||S()},ee)});return}}let be=T,ye;mn(C,!1),T?(T.el=Y.el,B(C,T,se)):T=Y,H&&ir(H),(ye=T.props&&T.props.onVnodeBeforeUpdate)&&mo(ye,q,T,Y),mn(C,!0);const Me=Zc(C),je=C.subTree;C.subTree=Me,h(je,Me,f(je.el),he(je),C,ee,re),T.el=Me.el,be===null&&Ch(C,Me.el),te&&Mt(te,ee),(ye=T.props&&T.props.onVnodeUpdated)&&Mt(()=>mo(ye,q,T,Y),ee)}else{let T;const{el:H,props:te}=P,{bm:q,m:Y,parent:be,root:ye,type:Me}=C,je=Dn(P);mn(C,!1),q&&ir(q),!je&&(T=te&&te.onVnodeBeforeMount)&&mo(T,be,P),mn(C,!0);{ye.ce&&ye.ce._hasShadowRoot()&&ye.ce._injectChildStyle(Me,C.parent?C.parent.type:void 0);const ze=C.subTree=Zc(C);h(null,ze,$,K,C,ee,re),P.el=ze.el}if(Y&&Mt(Y,ee),!je&&(T=te&&te.onVnodeMounted)){const ze=P;Mt(()=>mo(T,be,ze),ee)}(P.shapeFlag&256||be&&Dn(be.vnode)&&be.vnode.shapeFlag&256)&&C.a&&Mt(C.a,ee),C.isMounted=!0,P=$=K=null}};C.scope.on();const L=C.effect=new tc(ue);C.scope.off();const S=C.update=L.run.bind(L),Z=C.job=L.runIfDirty.bind(L);Z.i=C,Z.id=C.uid,L.scheduler=()=>Vs(Z),mn(C,!0),S()},B=(C,P,$)=>{P.component=C;const K=C.vnode.props;C.vnode=P,C.next=null,Th(C,P.props,K,$),Ih(C,P.children,$),co(),Lc(C),uo()},J=(C,P,$,K,ee,re,se,ue,L=!1)=>{const S=C&&C.children,Z=C?C.shapeFlag:0,T=P.children,{patchFlag:H,shapeFlag:te}=P;if(H>0){if(H&128){F(S,T,$,K,ee,re,se,ue,L);return}else if(H&256){ce(S,T,$,K,ee,re,se,ue,L);return}}te&8?(Z&16&&ke(S,ee,re),T!==S&&u($,T)):Z&16?te&16?F(S,T,$,K,ee,re,se,ue,L):ke(S,ee,re,!0):(Z&8&&u($,""),te&16&&D(T,$,K,ee,re,se,ue,L))},ce=(C,P,$,K,ee,re,se,ue,L)=>{C=C||$n,P=P||$n;const S=C.length,Z=P.length,T=Math.min(S,Z);let H;for(H=0;HZ?ke(C,ee,re,!0,!1,T):D(P,$,K,ee,re,se,ue,L,T)},F=(C,P,$,K,ee,re,se,ue,L)=>{let S=0;const Z=P.length;let T=C.length-1,H=Z-1;for(;S<=T&&S<=H;){const te=C[S],q=P[S]=L?Fo(P[S]):ho(P[S]);if(bn(te,q))h(te,q,$,null,ee,re,se,ue,L);else break;S++}for(;S<=T&&S<=H;){const te=C[T],q=P[H]=L?Fo(P[H]):ho(P[H]);if(bn(te,q))h(te,q,$,null,ee,re,se,ue,L);else break;T--,H--}if(S>T){if(S<=H){const te=H+1,q=teH)for(;S<=T;)z(C[S],ee,re,!0),S++;else{const te=S,q=S,Y=new Map;for(S=q;S<=H;S++){const Nt=P[S]=L?Fo(P[S]):ho(P[S]);Nt.key!=null&&Y.set(Nt.key,S)}let be,ye=0;const Me=H-q+1;let je=!1,ze=0;const so=new Array(Me);for(S=0;S=Me){z(Nt,ee,re,!0);continue}let ft;if(Nt.key!=null)ft=Y.get(Nt.key);else for(be=q;be<=H;be++)if(so[be-q]===0&&bn(Nt,P[be])){ft=be;break}ft===void 0?z(Nt,ee,re,!0):(so[ft-q]=S+1,ft>=ze?ze=ft:je=!0,h(Nt,P[ft],$,null,ee,re,se,ue,L),ye++)}const Wa=je?Dh(so):$n;for(be=Wa.length-1,S=Me-1;S>=0;S--){const Nt=q+S,ft=P[Nt],cs=P[Nt+1],us=Nt+1{const{el:re,type:se,transition:ue,children:L,shapeFlag:S}=C;if(S&6){ne(C.component.subTree,P,$,K);return}if(S&128){C.suspense.move(P,$,K);return}if(S&64){se.move(C,P,$,we);return}if(se===Ne){n(re,P,$);for(let T=0;Tue.enter(re),ee));else{const{leave:T,delayLeave:H,afterLeave:te}=ue,q=()=>{C.ctx.isUnmounted?a(re):n(re,P,$)},Y=()=>{const be=re._isLeaving||!!re[Vt];re._isLeaving&&re[Vt](!0),ue.persisted&&!be?q():T(re,()=>{q(),te&&te()})};H?H(re,q,Y):Y()}else n(re,P,$)},z=(C,P,$,K=!1,ee=!1)=>{const{type:re,props:se,ref:ue,children:L,dynamicChildren:S,shapeFlag:Z,patchFlag:T,dirs:H,cacheIndex:te,memo:q}=C;if(T===-2&&(ee=!1),ue!=null&&(co(),ya(ue,null,$,C,!0),uo()),te!=null&&(P.renderCache[te]=void 0),Z&256){P.ctx.deactivate(C);return}const Y=Z&1&&H,be=!Dn(C);let ye;if(be&&(ye=se&&se.onVnodeBeforeUnmount)&&mo(ye,P,C),Z&6)pe(C.component,$,K);else{if(Z&128){C.suspense.unmount($,K);return}Y&&fn(C,null,P,"beforeUnmount"),Z&64?C.type.remove(C,P,$,we,K):S&&!S.hasOnce&&(re!==Ne||T>0&&T&64)?ke(S,P,$,!1,!0):(re===Ne&&T&384||!ee&&Z&16)&&ke(L,P,$),K&&ie(C)}const Me=q!=null&&te==null;(be&&(ye=se&&se.onVnodeUnmounted)||Y||Me)&&Mt(()=>{ye&&mo(ye,P,C),Y&&fn(C,null,P,"unmounted"),Me&&(C.el=null)},$)},ie=C=>{const{type:P,el:$,anchor:K,transition:ee}=C;if(P===Ne){fe($,K);return}if(P===Tr){p(C);return}const re=()=>{a($),ee&&!ee.persisted&&ee.afterLeave&&ee.afterLeave()};if(C.shapeFlag&1&&ee&&!ee.persisted){const{leave:se,delayLeave:ue}=ee,L=()=>se($,re);ue?ue(C.el,re,L):L()}else re()},fe=(C,P)=>{let $;for(;C!==P;)$=m(C),a(C),C=$;a(P)},pe=(C,P,$)=>{const{bum:K,scope:ee,job:re,subTree:se,um:ue,m:L,a:S}=C;pu(L),pu(S),K&&ir(K),ee.stop(),re&&(re.flags|=8,z(se,C,P,$)),ue&&Mt(ue,P),Mt(()=>{C.isUnmounted=!0},P)},ke=(C,P,$,K=!1,ee=!1,re=0)=>{for(let se=re;se{if(C.shapeFlag&6)return he(C.component.subTree);if(C.shapeFlag&128)return C.suspense.next();const P=m(C.anchor||C.el),$=P&&P[Jf];return $?m($):P};let Se=!1;const Q=(C,P,$)=>{let K;C==null?P._vnode&&(z(P._vnode,null,null,!0),K=P._vnode.component):h(P._vnode||null,C,P,null,null,null,$),P._vnode=C,Se||(Se=!0,Lc(K),Cc(),Se=!1)},we={p:h,um:z,m:ne,r:ie,mt:R,mc:D,pc:J,pbc:G,n:he,o:e};return{render:Q,hydrate:void 0,createApp:_h(Q)}}function si({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function mn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Fh(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function uu(e,t,o=!1){const n=e.children,a=t.children;if(Ae(n)&&Ae(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function du(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:du(t)}function pu(e){if(e)for(let t=0;te.__isSuspense;function Oh(e,t){t&&t.pendingBranch?Ae(e)?t.effects.push(...e):t.effects.push(e):Hf(e)}const Ne=Symbol.for("v-fgt"),Sa=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Tr=Symbol.for("v-stc"),Ro=[];let Gt=null;function W(e=!1){Ro.push(Gt=e?null:[])}function ii(){Ro.pop(),Gt=Ro[Ro.length-1]||null}let Aa=1;function $r(e,t=!1){Aa+=e,e<0&&Gt&&t&&(Gt.hasOnce=!0)}function hu(e){return e.dynamicChildren=Aa>0?Gt||$n:null,ii(),Aa>0&&Gt&&Gt.push(e),e}function ae(e,t,o,n,a,r){return hu(A(e,t,o,n,a,r,!0))}function Ge(e,t,o,n,a){return hu(We(e,t,o,n,a,!0))}function La(e){return e?e.__v_isVNode===!0:!1}function bn(e,t){return e.type===t.type&&e.key===t.key}const mu=({key:e})=>e??null,Pr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ot(e)||at(e)||Te(e)?{i:_t,r:e,k:t,f:!!o}:e:null);function A(e,t=null,o=null,n=0,a=null,r=e===Ne?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&mu(t),ref:t&&Pr(t),scopeId:Tc,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:_t};return i?(Nr(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=ot(o)?8:16),Aa>0&&!s&&Gt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Gt.push(l),l}const We=Bh;function Bh(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===jc)&&(e=Ct),La(e)){const i=Xo(e,t,!0);return o&&Nr(i,o),Aa>0&&!r&&Gt&&(i.shapeFlag&6?Gt[Gt.indexOf(e)]=i:Gt.push(i)),i.patchFlag=-2,i}if(Zh(e)&&(e=e.__vccOpts),t){t=Gh(t);let{class:i,style:l}=t;i&&!ot(i)&&(t.class=Le(i)),qe(l)&&(mr(l)&&!Ae(l)&&(l=st({},l)),t.style=nt(l))}const s=ot(e)?1:fu(e)?128:kr(e)?64:qe(e)?4:Te(e)?2:0;return A(e,t,o,n,a,s,r,!0)}function Gh(e){return e?mr(e)||nu(e)?st({},e):e:null}function Xo(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?zh(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&mu(c),ref:t&&t.ref?o&&r?Ae(r)?r.concat(Pr(t)):[r,Pr(t)]:Pr(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!==Ne?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xo(e.ssContent),ssFallback:e.ssFallback&&Xo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ma(u,l.clone(u)),u}function ut(e=" ",t=0){return We(Sa,null,e,t)}function jh(e,t){const o=We(Tr,null,e);return o.staticCount=t,o}function _e(e="",t=!1){return t?(W(),Ge(Ct,null,e)):We(Ct,null,e)}function ho(e){return e==null||typeof e=="boolean"?We(Ct):Ae(e)?We(Ne,null,e.slice()):La(e)?Fo(e):We(Sa,null,String(e))}function Fo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xo(e)}function Nr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ae(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Nr(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!nu(t)?t._ctx=_t:a===3&&_t&&(_t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Nr(e,{default:t});return}t={default:t,_ctx:_t},o=32}else t=String(t),n&64?(o=16,t=[ut(t)]):o=8;e.children=t,e.shapeFlag|=o}function zh(...e){const t={};for(let o=0;okt||_t;let Ir,Ca;{const e=cr(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Ir=t("__VUE_INSTANCE_SETTERS__",o=>kt=o),Ca=t("__VUE_SSR_SETTERS__",o=>On=o)}const Ea=e=>{const t=kt;return Ir(e),e.scope.on(),()=>{e.scope.off(),Ir(t)}},bu=()=>{kt&&kt.scope.off(),Ir(null)};function yu(e){return e.vnode.shapeFlag&4}let On=!1;function qh(e,t=!1,o=!1){t&&Ca(t);const{props:n,children:a}=e.vnode,r=yu(e);Eh(e,n,r,t),Nh(e,a,o||t);const s=r?Vh(e,t):void 0;return t&&Ca(!1),s}function Vh(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,gh);const{setup:n}=o;if(n){co();const a=e.setupContext=n.length>1?Yh(e):null,r=Ea(e),s=Mn(n,e,0,[e.props,a]),i=Hl(s);if(uo(),r(),(i||e.sp)&&!Dn(e)&&Js(e),i){if(s.then(bu,bu),t)return s.then(l=>{Ca(!0);try{vu(e,l,t)}finally{Ca(!1)}}).catch(l=>{ga(l,e,0)});e.asyncDep=s}else vu(e,s)}else _u(e)}function vu(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:qe(t)&&(e.setupState=xc(t)),_u(e)}function _u(e,t,o){const n=e.type;e.render||(e.render=n.render||io);{const a=Ea(e);co();try{fh(e)}finally{uo(),a()}}}const Wh={get(e,t){return At(e,"get",""),e[t]}};function Yh(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Wh),slots:e.slots,emit:e.emit,expose:t}}function Mr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(xc(da(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in ka)return ka[o](e)},has(t,o){return o in t||o in ka}})):e.proxy}const Xh=/(?:^|[-_])\w/g,Jh=e=>e.replace(Xh,t=>t.toUpperCase()).replace(/[-_]/g,"");function xu(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function ku(e,t,o=!1){let n=xu(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Jh(n):o?"App":"Anonymous"}function Zh(e){return Te(e)&&"__vccOpts"in e}const oe=(e,t)=>Ff(e,t,On);function li(e,t,o){try{$r(-1);const n=arguments.length;return n===2?qe(t)&&!Ae(t)?La(t)?We(e,null,[t]):We(e,t):We(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&La(o)&&(o=[o]),We(e,t,o))}finally{$r(1)}}const Qh="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ci;const ku=typeof window<"u"&&window.trustedTypes;if(ku)try{ci=ku.createPolicy("vue",{createHTML:e=>e})}catch{}const wu=ci?e=>ci.createHTML(e):e=>e,Qh="http://www.w3.org/2000/svg",em="http://www.w3.org/1998/Math/MathML",Fo=typeof document<"u"?document:null,Su=Fo&&Fo.createElement("template"),tm={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Fo.createElementNS(Qh,e):t==="mathml"?Fo.createElementNS(em,e):o?Fo.createElement(e,{is:o}):Fo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Fo.createTextNode(e),createComment:e=>Fo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{Su.innerHTML=wu(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Su.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Jo="transition",Ea="animation",Ta=Symbol("_vtc"),Au={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},om=at({},$c,Au),nm=(e=>(e.displayName="Transition",e.props=om,e))((e,{slots:t})=>li(Qf,am(e),t)),yn=(e,t=[])=>{Ae(e)?e.forEach(o=>o(...t)):e&&e(...t)},Lu=e=>e?Ae(e)?e.some(t=>t.length>1):e.length>1:!1;function am(e){const t={};for(const z in e)z in Au||(t[z]=e[z]);if(e.css===!1)return t;const{name:o="v",type:n,duration:a,enterFromClass:r=`${o}-enter-from`,enterActiveClass:s=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:l=r,appearActiveClass:c=s,appearToClass:u=i,leaveFromClass:h=`${o}-leave-from`,leaveActiveClass:m=`${o}-leave-active`,leaveToClass:k=`${o}-leave-to`}=e,w=rm(a),b=w&&w[0],x=w&&w[1],{onBeforeEnter:v,onEnter:_,onEnterCancelled:d,onLeave:g,onLeaveCancelled:f,onBeforeAppear:y=v,onAppear:T=_,onAppearCancelled:O=d}=t,L=(z,U,R,N)=>{z._enterCancelled=N,vn(z,U?u:i),vn(z,U?c:s),R&&R()},B=(z,U)=>{z._isLeaving=!1,vn(z,h),vn(z,k),vn(z,m),U&&U()},H=z=>(U,R)=>{const N=z?T:_,E=()=>L(U,z,R);yn(N,[U,E]),Cu(()=>{vn(U,z?l:r),Do(U,z?u:i),Lu(N)||Eu(U,n,b,E)})};return at(t,{onBeforeEnter(z){yn(v,[z]),Do(z,r),Do(z,s)},onBeforeAppear(z){yn(y,[z]),Do(z,l),Do(z,c)},onEnter:H(!1),onAppear:H(!0),onLeave(z,U){z._isLeaving=!0;const R=()=>B(z,U);Do(z,h),z._enterCancelled?(Do(z,m),Pu(z)):(Pu(z),Do(z,m)),Cu(()=>{z._isLeaving&&(vn(z,h),Do(z,k),Lu(g)||Eu(z,n,x,R))}),yn(g,[z,R])},onEnterCancelled(z){L(z,!1,void 0,!0),yn(d,[z])},onAppearCancelled(z){L(z,!0,void 0,!0),yn(O,[z])},onLeaveCancelled(z){B(z),yn(f,[z])}})}function rm(e){if(e==null)return null;if(Ke(e))return[ui(e.enter),ui(e.leave)];{const t=ui(e);return[t,t]}}function ui(e){return Ns(e)}function Do(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[Ta]||(e[Ta]=new Set)).add(t)}function vn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const o=e[Ta];o&&(o.delete(t),o.size||(e[Ta]=void 0))}function Cu(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let sm=0;function Eu(e,t,o,n){const a=e._endId=++sm,r=()=>{a===e._endId&&n()};if(o!=null)return setTimeout(r,o);const{type:s,timeout:i,propCount:l}=im(e,t);if(!s)return n();const c=s+"end";let u=0;const h=()=>{e.removeEventListener(c,m),r()},m=k=>{k.target===e&&++u>=l&&h()};setTimeout(()=>{u(o[w]||"").split(", "),a=n(`${Jo}Delay`),r=n(`${Jo}Duration`),s=Tu(a,r),i=n(`${Ea}Delay`),l=n(`${Ea}Duration`),c=Tu(i,l);let u=null,h=0,m=0;t===Jo?s>0&&(u=Jo,h=s,m=r.length):t===Ea?c>0&&(u=Ea,h=c,m=l.length):(h=Math.max(s,c),u=h>0?s>c?Jo:Ea:null,m=u?u===Jo?r.length:l.length:0);const k=u===Jo&&/\b(?:transform|all)(?:,|$)/.test(n(`${Jo}Property`).toString());return{type:u,timeout:h,propCount:m,hasTransform:k}}function Tu(e,t){for(;e.length$u(o)+$u(e[n])))}function $u(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Pu(e){return(e?e.ownerDocument:document).body.offsetHeight}function lm(e,t,o){const n=e[Ta];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Mr=Symbol("_vod"),Nu=Symbol("_vsh"),Iu={name:"show",beforeMount(e,{value:t},{transition:o}){e[Mr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):$a(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),$a(e,!0),n.enter(e)):n.leave(e,()=>{$a(e,!1)}):$a(e,t))},beforeUnmount(e,{value:t}){$a(e,t)}};function $a(e,t){e.style.display=t?e[Mr]:"none",e[Nu]=!t}const cm=Symbol(""),um=/(?:^|;)\s*display\s*:/;function dm(e,t,o){const n=e.style,a=et(o);let r=!1;if(o&&!a){if(t)if(et(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&Pa(n,i,"")}else for(const s in t)o[s]==null&&Pa(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?gm(e,s,!et(t)&&t?t[s]:void 0,i)||Pa(n,s,i):Pa(n,s,"")}}else if(a){if(t!==o){const s=n[cm];s&&(o+=";"+s),n.cssText=o,r=um.test(o)}}else t&&e.removeAttribute("style");Mr in e&&(e[Mr]=r?n.display:"",e[Nu]&&(n.display="none"))}const Rr=/\s*!important$/;function Pa(e,t,o){if(Ae(o))o.forEach(n=>Pa(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Rr.test(o)?e.setProperty(t,o.replace(Rr,""),"important"):e.setProperty(t,o);else{const n=pm(e,t);Rr.test(o)?e.setProperty(Ht(n),o.replace(Rr,""),"important"):e[n]=o}}const Mu=["Webkit","Moz","ms"],di={};function pm(e,t){const o=di[t];if(o)return o;let n=mt(t);if(n!=="filter"&&n in e)return di[t]=n;n=rr(n);for(let a=0;api||(vm.then(()=>pi=0),pi=Date.now());function xm(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Ae(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,km=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?lm(e,n,s):t==="style"?dm(e,o,n):er(t)?tr(t)||hm(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wm(e,t,n,s))?(Du(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fu(e,t,n,s,r,t!=="value")):e._isVueCE&&(Sm(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!et(n)))?Du(e,mt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fu(e,t,n,s))};function wm(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bu(t)&&Te(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bu(t)&&et(o)?!1:t in e}function Sm(e,t){const o=e._def.props;if(!o)return!1;const n=mt(t);return Array.isArray(o)?o.some(a=>mt(a)===n):Object.keys(o).some(a=>mt(a)===n)}const Gu={};function Am(e,t,o){let n=ma(e,t);or(n)&&(n=at({},n,t));class a extends gi{constructor(s){super(n,s,o)}}return a.def=n,a}const Lm=typeof HTMLElement<"u"?HTMLElement:class{};class gi extends Lm{constructor(t,o={},n=Vu){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Vu?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(at({},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 gi){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,eo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!Ae(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ns(this._props[l])),(i||(i=Object.create(null)))[mt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ue(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=Ae(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(mt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Gu;const a=mt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Ns(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Gu?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(Ht(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Ht(t),o+""):o||this.removeAttribute(Ht(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Nm(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=qe(this._def,at(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,or(s[0])?at({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Ht(r)!==r&&a(Ht(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Ae(t)?o=>sr(t,o):t};function Cm(e){e.target.composing=!0}function ju(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const bo=Symbol("_assign"),Fr=Symbol("_initialValue");function fi(e,t,o){return t&&(e=e.trim()),o&&(e=ir(e)),e}const Dr={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[Fr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Fr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[bo]=On(a);const r=n||a.props&&a.props.type==="number";Zo(e,t?"change":"input",s=>{s.target.composing||e[bo](fi(e.value,o,r))}),(o||r)&&Zo(e,"change",()=>{e.value=fi(e.value,o,r)}),t||(Zo(e,"compositionstart",Cm),Zo(e,"compositionend",ju),Zo(e,"change",ju))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[Fr];delete e[Fr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[bo](fi(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[bo]=On(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?ir(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},hi={deep:!0,created(e,t,o){e[bo]=On(o),Zo(e,"change",()=>{const n=e._modelValue,a=Na(e),r=e.checked,s=e[bo];if(Ae(n)){const i=Is(n,a),l=i!==-1;if(r&&!l)s(n.concat(a));else if(!r&&l){const c=[...n];c.splice(i,1),s(c)}}else if(Lo(n)){const i=new Set(n);r?i.add(a):i.delete(a),s(i)}else s(Ku(e,r))})},mounted:zu,beforeUpdate(e,t,o){e[bo]=On(o),zu(e,t,o)}};function zu(e,{value:t,oldValue:o},n){e._modelValue=t;let a;if(Ae(t))a=Is(t,n.props.value)>-1;else if(Lo(t))a=t.has(n.props.value);else{if(t===o)return;a=Co(t,Ku(e,!0))}e.checked!==a&&(e.checked=a)}const Or={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,Zo(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?ir(Na(l)):Na(l)),r=e.multiple,s=r?Lo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?Ae(s)?a.slice():a:s];try{e[bo](s)}finally{eo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[bo]=On(n)},mounted(e,{value:t}){Uu(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[bo]=On(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!Em(t,o[1],o[0]))&&Uu(e,t)}};function Em(e,t,o){if(!o||Ae(e))return Co(e,t);if(Lo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function Uu(e,t){const o=e.multiple,n=Ae(t);if(!(o&&!n&&!Lo(t))){for(let a=0,r=e.options.length;aString(c)===String(i)):s.selected=Is(t,i)>-1}else s.selected=t.has(i);else if(Co(Na(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Na(e){return"_value"in e?e._value:e.value}function Ku(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const Tm=["ctrl","shift","alt","meta"],$m={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)=>Tm.some(o=>e[`${o}Key`]&&!t.includes(o))},rt=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{qu().render(...e)},Vu=(...e)=>{const t=qu().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Mm(n);if(!a)return;const r=t._component;!Te(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,Im(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function Im(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Mm(e){return et(e)?document.querySelector(e):e}/*! +**/let ci;const wu=typeof window<"u"&&window.trustedTypes;if(wu)try{ci=wu.createPolicy("vue",{createHTML:e=>e})}catch{}const Su=ci?e=>ci.createHTML(e):e=>e,em="http://www.w3.org/2000/svg",tm="http://www.w3.org/1998/Math/MathML",Do=typeof document<"u"?document:null,Au=Do&&Do.createElement("template"),om={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Do.createElementNS(em,e):t==="mathml"?Do.createElementNS(tm,e):o?Do.createElement(e,{is:o}):Do.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Do.createTextNode(e),createComment:e=>Do.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Do.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{Au.innerHTML=Su(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Au.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Jo="transition",Ta="animation",$a=Symbol("_vtc"),Lu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},nm=st({},Pc,Lu),am=(e=>(e.displayName="Transition",e.props=nm,e))((e,{slots:t})=>li(eh,rm(e),t)),yn=(e,t=[])=>{Ae(e)?e.forEach(o=>o(...t)):e&&e(...t)},Cu=e=>e?Ae(e)?e.some(t=>t.length>1):e.length>1:!1;function rm(e){const t={};for(const j in e)j in Lu||(t[j]=e[j]);if(e.css===!1)return t;const{name:o="v",type:n,duration:a,enterFromClass:r=`${o}-enter-from`,enterActiveClass:s=`${o}-enter-active`,enterToClass:i=`${o}-enter-to`,appearFromClass:l=r,appearActiveClass:c=s,appearToClass:u=i,leaveFromClass:f=`${o}-leave-from`,leaveActiveClass:m=`${o}-leave-active`,leaveToClass:k=`${o}-leave-to`}=e,w=sm(a),h=w&&w[0],_=w&&w[1],{onBeforeEnter:b,onEnter:v,onEnterCancelled:d,onLeave:p,onLeaveCancelled:g,onBeforeAppear:y=b,onAppear:I=v,onAppearCancelled:D=d}=t,x=(j,U,R,M)=>{j._enterCancelled=M,vn(j,U?u:i),vn(j,U?c:s),R&&R()},G=(j,U)=>{j._isLeaving=!1,vn(j,f),vn(j,k),vn(j,m),U&&U()},V=j=>(U,R)=>{const M=j?I:v,E=()=>x(U,j,R);yn(M,[U,E]),Eu(()=>{vn(U,j?l:r),Oo(U,j?u:i),Cu(M)||Tu(U,n,h,E)})};return st(t,{onBeforeEnter(j){yn(b,[j]),Oo(j,r),Oo(j,s)},onBeforeAppear(j){yn(y,[j]),Oo(j,l),Oo(j,c)},onEnter:V(!1),onAppear:V(!0),onLeave(j,U){j._isLeaving=!0;const R=()=>G(j,U);Oo(j,f),j._enterCancelled?(Oo(j,m),Nu(j)):(Nu(j),Oo(j,m)),Eu(()=>{j._isLeaving&&(vn(j,f),Oo(j,k),Cu(p)||Tu(j,n,_,R))}),yn(p,[j,R])},onEnterCancelled(j){x(j,!1,void 0,!0),yn(d,[j])},onAppearCancelled(j){x(j,!0,void 0,!0),yn(D,[j])},onLeaveCancelled(j){G(j),yn(g,[j])}})}function sm(e){if(e==null)return null;if(qe(e))return[ui(e.enter),ui(e.leave)];{const t=ui(e);return[t,t]}}function ui(e){return Ns(e)}function Oo(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.add(o)),(e[$a]||(e[$a]=new Set)).add(t)}function vn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const o=e[$a];o&&(o.delete(t),o.size||(e[$a]=void 0))}function Eu(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let im=0;function Tu(e,t,o,n){const a=e._endId=++im,r=()=>{a===e._endId&&n()};if(o!=null)return setTimeout(r,o);const{type:s,timeout:i,propCount:l}=lm(e,t);if(!s)return n();const c=s+"end";let u=0;const f=()=>{e.removeEventListener(c,m),r()},m=k=>{k.target===e&&++u>=l&&f()};setTimeout(()=>{u(o[w]||"").split(", "),a=n(`${Jo}Delay`),r=n(`${Jo}Duration`),s=$u(a,r),i=n(`${Ta}Delay`),l=n(`${Ta}Duration`),c=$u(i,l);let u=null,f=0,m=0;t===Jo?s>0&&(u=Jo,f=s,m=r.length):t===Ta?c>0&&(u=Ta,f=c,m=l.length):(f=Math.max(s,c),u=f>0?s>c?Jo:Ta:null,m=u?u===Jo?r.length:l.length:0);const k=u===Jo&&/\b(?:transform|all)(?:,|$)/.test(n(`${Jo}Property`).toString());return{type:u,timeout:f,propCount:m,hasTransform:k}}function $u(e,t){for(;e.lengthPu(o)+Pu(e[n])))}function Pu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nu(e){return(e?e.ownerDocument:document).body.offsetHeight}function cm(e,t,o){const n=e[$a];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Iu=Symbol("_vsh"),Mu={name:"show",beforeMount(e,{value:t},{transition:o}){e[Rr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Pa(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Pa(e,!0),n.enter(e)):n.leave(e,()=>{Pa(e,!1)}):Pa(e,t))},beforeUnmount(e,{value:t}){Pa(e,t)}};function Pa(e,t){e.style.display=t?e[Rr]:"none",e[Iu]=!t}const um=Symbol(""),dm=/(?:^|;)\s*display\s*:/;function pm(e,t,o){const n=e.style,a=ot(o);let r=!1;if(o&&!a){if(t)if(ot(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&Na(n,i,"")}else for(const s in t)o[s]==null&&Na(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?fm(e,s,!ot(t)&&t?t[s]:void 0,i)||Na(n,s,i):Na(n,s,"")}}else if(a){if(t!==o){const s=n[um];s&&(o+=";"+s),n.cssText=o,r=dm.test(o)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=r?n.display:"",e[Iu]&&(n.display="none"))}const Fr=/\s*!important$/;function Na(e,t,o){if(Ae(o))o.forEach(n=>Na(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Fr.test(o)?e.setProperty(t,o.replace(Fr,""),"important"):e.setProperty(t,o);else{const n=gm(e,t);Fr.test(o)?e.setProperty(Ht(n),o.replace(Fr,""),"important"):e[n]=o}}const Ru=["Webkit","Moz","ms"],di={};function gm(e,t){const o=di[t];if(o)return o;let n=mt(t);if(n!=="filter"&&n in e)return di[t]=n;n=sr(n);for(let a=0;api||(_m.then(()=>pi=0),pi=Date.now());function km(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(Ae(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,wm=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?cm(e,n,s):t==="style"?pm(e,o,n):tr(t)?or(t)||mm(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sm(e,t,n,s))?(Ou(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Du(e,t,n,s,r,t!=="value")):e._isVueCE&&(Am(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ot(n)))?Ou(e,mt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Du(e,t,n,s))};function Sm(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gu(t)&&Te(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Gu(t)&&ot(o)?!1:t in e}function Am(e,t){const o=e._def.props;if(!o)return!1;const n=mt(t);return Array.isArray(o)?o.some(a=>mt(a)===n):Object.keys(o).some(a=>mt(a)===n)}const ju={};function Lm(e,t,o){let n=ba(e,t);nr(n)&&(n=st({},n,t));class a extends gi{constructor(s){super(n,s,o)}}return a.def=n,a}const Cm=typeof HTMLElement<"u"?HTMLElement:class{};class gi extends Cm{constructor(t,o={},n=Wu){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Wu?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(st({},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 gi){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,eo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!Ae(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ns(this._props[l])),(i||(i=Object.create(null)))[mt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)He(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=Ae(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(mt))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):ju;const a=mt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Ns(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===ju?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(Ht(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Ht(t),o+""):o||this.removeAttribute(Ht(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Im(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=We(this._def,st(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,nr(s[0])?st({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Ht(r)!==r&&a(Ht(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return Ae(t)?o=>ir(t,o):t};function Em(e){e.target.composing=!0}function zu(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const yo=Symbol("_assign"),Dr=Symbol("_initialValue");function fi(e,t,o){return t&&(e=e.trim()),o&&(e=lr(e)),e}const Or={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[Dr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Dr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[yo]=Bn(a);const r=n||a.props&&a.props.type==="number";Zo(e,t?"change":"input",s=>{s.target.composing||e[yo](fi(e.value,o,r))}),(o||r)&&Zo(e,"change",()=>{e.value=fi(e.value,o,r)}),t||(Zo(e,"compositionstart",Em),Zo(e,"compositionend",zu),Zo(e,"change",zu))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[Dr];delete e[Dr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[yo](fi(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[yo]=Bn(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?lr(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},hi={deep:!0,created(e,t,o){e[yo]=Bn(o),Zo(e,"change",()=>{const n=e._modelValue,a=Ia(e),r=e.checked,s=e[yo];if(Ae(n)){const i=Is(n,a),l=i!==-1;if(r&&!l)s(n.concat(a));else if(!r&&l){const c=[...n];c.splice(i,1),s(c)}}else if(Co(n)){const i=new Set(n);r?i.add(a):i.delete(a),s(i)}else s(Hu(e,r))})},mounted:Uu,beforeUpdate(e,t,o){e[yo]=Bn(o),Uu(e,t,o)}};function Uu(e,{value:t,oldValue:o},n){e._modelValue=t;let a;if(Ae(t))a=Is(t,n.props.value)>-1;else if(Co(t))a=t.has(n.props.value);else{if(t===o)return;a=Eo(t,Hu(e,!0))}e.checked!==a&&(e.checked=a)}const Br={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,Zo(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?lr(Ia(l)):Ia(l)),r=e.multiple,s=r?Co(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?Ae(s)?a.slice():a:s];try{e[yo](s)}finally{eo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[yo]=Bn(n)},mounted(e,{value:t}){Ku(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[yo]=Bn(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!Tm(t,o[1],o[0]))&&Ku(e,t)}};function Tm(e,t,o){if(!o||Ae(e))return Eo(e,t);if(Co(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function Ku(e,t){const o=e.multiple,n=Ae(t);if(!(o&&!n&&!Co(t))){for(let a=0,r=e.options.length;aString(c)===String(i)):s.selected=Is(t,i)>-1}else s.selected=t.has(i);else if(Eo(Ia(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ia(e){return"_value"in e?e._value:e.value}function Hu(e,t){const o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}const $m=["ctrl","shift","alt","meta"],Pm={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)=>$m.some(o=>e[`${o}Key`]&&!t.includes(o))},it=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{Vu().render(...e)},Wu=(...e)=>{const t=Vu().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=Rm(n);if(!a)return;const r=t._component;!Te(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,Mm(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function Mm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Rm(e){return ot(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Wu;const Br=e=>Wu=e,Yu=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ia;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ia||(Ia={}));function Rm(){const e=Rs(!0),t=e.run(()=>de({}));let o=[],n=[];const a=ua({install(r){Br(a),a._a=r,r.provide(Yu,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Xu=()=>{};function Ju(e,t,o,n=Xu){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Ql()&&cf(a),a}function Bn(e,...t){e.slice().forEach(o=>{o(...t)})}const Fm=e=>e(),Zu=Symbol(),bi=Symbol();function yi(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];mi(a)&&mi(n)&&e.hasOwnProperty(o)&&!ot(n)&&!$o(n)?e[o]=yi(a,n):e[o]=n}return e}const Dm=Symbol();function Om(e){return!mi(e)||!e.hasOwnProperty(Dm)}const{assign:Qo}=Object;function Bm(e){return!!(ot(e)&&e.effect)}function Gm(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Pf(o.state.value[e]);return Qo(u,r,Object.keys(s||{}).reduce((h,m)=>(h[m]=ua(Q(()=>{Br(o);const k=o._s.get(e);return s[m].call(k,k)})),h),{}))}return l=Qu(e,c,t,o,n,!0),l}function Qu(e,t,o={},n,a,r){let s;const i=Qo({actions:{}},o),l={deep:!0};let c,u,h=[],m=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let b;function x(O){let L;c=u=!1,typeof O=="function"?(O(n.state.value[e]),L={type:Ia.patchFunction,storeId:e,events:k}):(yi(n.state.value[e],O),L={type:Ia.patchObject,payload:O,storeId:e,events:k});const B=b=Symbol();eo().then(()=>{b===B&&(c=!0)}),u=!0,Bn(h,L,n.state.value[e])}const v=r?function(){const{state:L}=o,B=L?L():{};this.$patch(H=>{Qo(H,B)})}:Xu;function _(){s.stop(),h=[],m=[],n._s.delete(e)}const d=(O,L="")=>{if(Zu in O)return O[bi]=L,O;const B=function(){Br(n);const H=Array.from(arguments),z=[],U=[];function R(j){z.push(j)}function N(j){U.push(j)}Bn(m,{args:H,name:B[bi],store:f,after:R,onError:N});let E;try{E=O.apply(this&&this.$id===e?this:f,H)}catch(j){throw Bn(U,j),j}return E instanceof Promise?E.then(j=>(Bn(z,j),j)).catch(j=>(Bn(U,j),Promise.reject(j))):(Bn(z,E),E)};return B[Zu]=!0,B[bi]=L,B},g={_p:n,$id:e,$onAction:Ju.bind(null,m),$patch:x,$reset:v,$subscribe(O,L={}){const B=Ju(h,O,L.detached,()=>H()),H=s.run(()=>Me(()=>n.state.value[e],z=>{(L.flush==="sync"?u:c)&&O({storeId:e,type:Ia.direct,events:k},z)},Qo({},l,L)));return B},$dispose:_},f=Pn(g);n._s.set(e,f);const T=(n._a&&n._a.runWithContext||Fm)(()=>n._e.run(()=>(s=Rs()).run(()=>t({action:d}))));for(const O in T){const L=T[O];if(ot(L)&&!Bm(L)||$o(L))r||(w&&Om(L)&&(ot(L)?L.value=w[O]:yi(L,w[O])),n.state.value[e][O]=L);else if(typeof L=="function"){const B=d(L,O);T[O]=B,i.actions[O]=L}}return Qo(f,T),Qo(Be(f),T),Object.defineProperty(f,"$state",{get:()=>n.state.value[e],set:O=>{x(L=>{Qo(L,O)})}}),n._p.forEach(O=>{Qo(f,s.run(()=>O({store:f,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(f.$state,w),c=!0,u=!0,f}/*! #__NO_SIDE_EFFECTS__ */function vi(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=Hf();return i=i||(c?Ee(Yu,null):null),i&&Br(i),i=Wu,i._s.has(n)||(r?Qu(n,t,a,i):Gm(n,a,i)),i._s.get(n)}return s.$id=n,s}const jm={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},zm={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Um={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Km={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},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:"اللغات"}},Hm={menuComingSoon:"القائمة قادمة قريباً"},qm={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Vm={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Wm={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Ym={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Xm={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Jm={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"},Zm={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Qm={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},eb={menuComingSoon:"Menü folgt in Kürze"},tb={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},ob={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},nb={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},ab={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"},rb={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},sb={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"},ib={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},lb={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"},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"}},cb={menuComingSoon:"Menu coming soon"},ub={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},db={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},pb={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},gb={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"}},fb={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups",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"},hb={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},mb={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},bb={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."}},yb={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},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"}},vb={menuComingSoon:"Menú próximamente"},_b={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},xb={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},kb={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"}},wb={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"},Sb={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Ab={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"},Lb={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Cb={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},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"}},Eb={menuComingSoon:"Menu bientôt disponible"},Tb={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},$b={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Pb={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Nb={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"}},Ib={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"},Mb={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Rb={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Fb={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Db={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ob={menuComingSoon:"मेनू शीघ्र आ रहा है"},Bb={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Gb={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},jb={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},zb={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Ub={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"},Kb={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Hb={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},qb={menuComingSoon:"Menu in arrivo"},Vb={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Wb={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Yb={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Xb={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Jb={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"},Zb={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."}},Qb={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},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"}},ey={menuComingSoon:"Menu em breve"},ty={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},oy={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ny={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"}},ay={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"},ry={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},sy={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ă"},iy={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ă."}},ly={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},cy={menuComingSoon:"Meniu în curând"},uy={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},dy={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},py={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},gy={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},fy={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},hy={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},my={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},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:"Языки"}},by={menuComingSoon:"Меню скоро появится"},yy={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},vy={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},_y={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},xy={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},ky={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},wy={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Sy={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Ay={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Ly={menuComingSoon:"菜单即将推出"},Cy={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ey={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Ty={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Yu;const Gr=e=>Yu=e,Xu=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ma;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ma||(Ma={}));function Fm(){const e=Rs(!0),t=e.run(()=>de({}));let o=[],n=[];const a=da({install(r){Gr(a),a._a=r,r.provide(Xu,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Ju=()=>{};function Zu(e,t,o,n=Ju){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&ec()&&uf(a),a}function Gn(e,...t){e.slice().forEach(o=>{o(...t)})}const Dm=e=>e(),Qu=Symbol(),bi=Symbol();function yi(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];mi(a)&&mi(n)&&e.hasOwnProperty(o)&&!at(n)&&!Po(n)?e[o]=yi(a,n):e[o]=n}return e}const Om=Symbol();function Bm(e){return!mi(e)||!e.hasOwnProperty(Om)}const{assign:Qo}=Object;function Gm(e){return!!(at(e)&&e.effect)}function jm(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=Nf(o.state.value[e]);return Qo(u,r,Object.keys(s||{}).reduce((f,m)=>(f[m]=da(oe(()=>{Gr(o);const k=o._s.get(e);return s[m].call(k,k)})),f),{}))}return l=ed(e,c,t,o,n,!0),l}function ed(e,t,o={},n,a,r){let s;const i=Qo({actions:{}},o),l={deep:!0};let c,u,f=[],m=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let h;function _(D){let x;c=u=!1,typeof D=="function"?(D(n.state.value[e]),x={type:Ma.patchFunction,storeId:e,events:k}):(yi(n.state.value[e],D),x={type:Ma.patchObject,payload:D,storeId:e,events:k});const G=h=Symbol();eo().then(()=>{h===G&&(c=!0)}),u=!0,Gn(f,x,n.state.value[e])}const b=r?function(){const{state:x}=o,G=x?x():{};this.$patch(V=>{Qo(V,G)})}:Ju;function v(){s.stop(),f=[],m=[],n._s.delete(e)}const d=(D,x="")=>{if(Qu in D)return D[bi]=x,D;const G=function(){Gr(n);const V=Array.from(arguments),j=[],U=[];function R(B){j.push(B)}function M(B){U.push(B)}Gn(m,{args:V,name:G[bi],store:g,after:R,onError:M});let E;try{E=D.apply(this&&this.$id===e?this:g,V)}catch(B){throw Gn(U,B),B}return E instanceof Promise?E.then(B=>(Gn(j,B),B)).catch(B=>(Gn(U,B),Promise.reject(B))):(Gn(j,E),E)};return G[Qu]=!0,G[bi]=x,G},p={_p:n,$id:e,$onAction:Zu.bind(null,m),$patch:_,$reset:b,$subscribe(D,x={}){const G=Zu(f,D,x.detached,()=>V()),V=s.run(()=>Re(()=>n.state.value[e],j=>{(x.flush==="sync"?u:c)&&D({storeId:e,type:Ma.direct,events:k},j)},Qo({},l,x)));return G},$dispose:v},g=Nn(p);n._s.set(e,g);const I=(n._a&&n._a.runWithContext||Dm)(()=>n._e.run(()=>(s=Rs()).run(()=>t({action:d}))));for(const D in I){const x=I[D];if(at(x)&&!Gm(x)||Po(x))r||(w&&Bm(x)&&(at(x)?x.value=w[D]:yi(x,w[D])),n.state.value[e][D]=x);else if(typeof x=="function"){const G=d(x,D);I[D]=G,i.actions[D]=x}}return Qo(g,I),Qo(Be(g),I),Object.defineProperty(g,"$state",{get:()=>n.state.value[e],set:D=>{_(x=>{Qo(x,D)})}}),n._p.forEach(D=>{Qo(g,s.run(()=>D({store:g,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(g.$state,w),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function vi(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=qf();return i=i||(c?Ee(Xu,null):null),i&&Gr(i),i=Yu,i._s.has(n)||(r?ed(n,t,a,i):jm(n,a,i)),i._s.get(n)}return s.$id=n,s}const zm={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Um={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Km={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Hm={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},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:"اللغات"}},qm={menuComingSoon:"القائمة قادمة قريباً"},Vm={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Wm={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ym={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Xm={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Jm={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Zm={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"},Qm={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},eb={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},tb={menuComingSoon:"Menü folgt in Kürze"},ob={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},nb={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ab={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},rb={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"},sb={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ib={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"},lb={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},cb={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"},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"}},ub={menuComingSoon:"Menu coming soon"},db={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},pb={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},gb={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},fb={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"}},hb={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups",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"},mb={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},bb={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"},yb={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."}},vb={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},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"}},_b={menuComingSoon:"Menú próximamente"},xb={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},kb={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},wb={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"}},Sb={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"},Ab={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Lb={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"},Cb={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Eb={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},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"}},Tb={menuComingSoon:"Menu bientôt disponible"},$b={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Pb={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Nb={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Ib={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"}},Mb={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"},Rb={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Fb={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Db={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Ob={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Bb={menuComingSoon:"मेनू शीघ्र आ रहा है"},Gb={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},jb={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},zb={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ub={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Kb={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"},Hb={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},qb={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Vb={menuComingSoon:"Menu in arrivo"},Wb={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Yb={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Xb={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Jb={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Zb={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"},Qb={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."}},ey={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},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"}},ty={menuComingSoon:"Menu em breve"},oy={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ny={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ay={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"}},ry={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"},sy={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},iy={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ă"},ly={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ă."}},cy={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},uy={menuComingSoon:"Meniu în curând"},dy={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},py={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},gy={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},fy={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},hy={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},my={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},by={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},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:"Языки"}},yy={menuComingSoon:"Меню скоро появится"},vy={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},_y={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},xy={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ky={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},wy={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Sy={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ay={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Ly={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Cy={menuComingSoon:"菜单即将推出"},Ey={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ty={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},$y={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function $y(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Gr=typeof window<"u",en=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Py=(e,t,o)=>Ny({l:e,k:t,s:o}),Ny=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),lt=e=>typeof e=="number"&&isFinite(e),Iy=e=>ad(e)==="[object Date]",tn=e=>ad(e)==="[object RegExp]",jr=e=>Ie(e)&&Object.keys(e).length===0,wt=Object.assign,My=Object.create,Ve=(e=null)=>My(e);let ed;const Oo=()=>ed||(ed=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ve());function td(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function od(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Ry(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${od(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${od(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Fy=Object.prototype.hasOwnProperty;function to(e,t){return Fy.call(e,t)}const nt=Array.isArray,Je=e=>typeof e=="function",_e=e=>typeof e=="string",Fe=e=>typeof e=="boolean",je=e=>e!==null&&typeof e=="object",Dy=e=>je(e)&&Je(e.then)&&Je(e.catch),nd=Object.prototype.toString,ad=e=>nd.call(e),Ie=e=>{if(!je(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Oy=e=>e==null?"":nt(e)||Ie(e)&&e.toString===nd?JSON.stringify(e,null,2):String(e);function By(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function zr(e){let t=e;return()=>++t}const Ur=e=>!je(e)||nt(e);function Kr(e,t){if(Ur(e)||Ur(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(je(n[r])&&!je(a[r])&&(a[r]=Array.isArray(n[r])?[]:Ve()),Ur(a[r])||Ur(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! + */function Py(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const jr=typeof window<"u",en=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Ny=(e,t,o)=>Iy({l:e,k:t,s:o}),Iy=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ct=e=>typeof e=="number"&&isFinite(e),My=e=>rd(e)==="[object Date]",tn=e=>rd(e)==="[object RegExp]",zr=e=>Ie(e)&&Object.keys(e).length===0,wt=Object.assign,Ry=Object.create,Ye=(e=null)=>Ry(e);let td;const Bo=()=>td||(td=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ye());function od(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function nd(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Fy(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${nd(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${nd(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Dy=Object.prototype.hasOwnProperty;function to(e,t){return Dy.call(e,t)}const rt=Array.isArray,Qe=e=>typeof e=="function",xe=e=>typeof e=="string",Fe=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",Oy=e=>Ue(e)&&Qe(e.then)&&Qe(e.catch),ad=Object.prototype.toString,rd=e=>ad.call(e),Ie=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},By=e=>e==null?"":rt(e)||Ie(e)&&e.toString===ad?JSON.stringify(e,null,2):String(e);function Gy(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function Ur(e){let t=e;return()=>++t}const Kr=e=>!Ue(e)||rt(e);function Hr(e,t){if(Kr(e)||Kr(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Ue(n[r])&&!Ue(a[r])&&(a[r]=Array.isArray(n[r])?[]:Ye()),Kr(a[r])||Kr(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Gy(e,t,o){return{line:e,column:t,offset:o}}function Hr(e,t,o){return{start:e,end:t}}const jy=/\{([0-9a-zA-Z]+)\}/g;function rd(e,...t){return t.length===1&&zy(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(jy,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const sd=Object.assign,id=e=>typeof e=="string",zy=e=>e!==null&&typeof e=="object";function ld(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const _i={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Uy={[_i.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Ky(e,t,...o){const n=rd(Uy[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Ce={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},Hy={[Ce.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ce.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ce.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ce.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ce.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ce.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ce.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ce.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ce.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ce.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ce.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ce.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ce.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ce.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ce.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ce.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Gn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=rd((a||Hy)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function qy(e){throw e}const Bo=" ",Vy="\r",Pt=` -`,Wy="\u2028",Yy="\u2029";function Xy(e){const t=e;let o=0,n=1,a=1,r=0;const s=T=>t[T]===Vy&&t[T+1]===Pt,i=T=>t[T]===Pt,l=T=>t[T]===Yy,c=T=>t[T]===Wy,u=T=>s(T)||i(T)||l(T)||c(T),h=()=>o,m=()=>n,k=()=>a,w=()=>r,b=T=>s(T)||l(T)||c(T)?Pt:t[T],x=()=>b(o),v=()=>b(o+r);function _(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function d(){return s(o+r)&&r++,r++,t[o+r]}function g(){o=0,n=1,a=1,r=0}function f(T=0){r=T}function y(){const T=o+r;for(;T!==o;)_();r=0}return{index:h,line:m,column:k,peekOffset:w,charAt:b,currentChar:x,currentPeek:v,next:_,peek:d,reset:g,resetPeek:f,skipToPeek:y}}const on=void 0,Jy=".",cd="'",Zy="tokenizer";function Qy(e,t={}){const o=t.location!==!1,n=Xy(e),a=()=>n.index(),r=()=>Gy(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function h(A,p,$,...q){const le=c();if(p.column+=$,p.offset+=$,u){const ae=o?Hr(le.startLoc,p):null,V=Gn(A,ae,{domain:Zy,args:q});u(V)}}function m(A,p,$){A.endLoc=r(),A.currentType=p;const q={type:p};return o&&(q.loc=Hr(A.startLoc,A.endLoc)),$!=null&&(q.value=$),q}const k=A=>m(A,14);function w(A,p){return A.currentChar()===p?(A.next(),p):(h(Ce.EXPECTED_TOKEN,r(),0,p),"")}function b(A){let p="";for(;A.currentPeek()===Bo||A.currentPeek()===Pt;)p+=A.currentPeek(),A.peek();return p}function x(A){const p=b(A);return A.skipToPeek(),p}function v(A){if(A===on)return!1;const p=A.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function _(A){if(A===on)return!1;const p=A.charCodeAt(0);return p>=48&&p<=57}function d(A,p){const{currentType:$}=p;if($!==2)return!1;b(A);const q=v(A.currentPeek());return A.resetPeek(),q}function g(A,p){const{currentType:$}=p;if($!==2)return!1;b(A);const q=A.currentPeek()==="-"?A.peek():A.currentPeek(),le=_(q);return A.resetPeek(),le}function f(A,p){const{currentType:$}=p;if($!==2)return!1;b(A);const q=A.currentPeek()===cd;return A.resetPeek(),q}function y(A,p){const{currentType:$}=p;if($!==8)return!1;b(A);const q=A.currentPeek()===".";return A.resetPeek(),q}function T(A,p){const{currentType:$}=p;if($!==9)return!1;b(A);const q=v(A.currentPeek());return A.resetPeek(),q}function O(A,p){const{currentType:$}=p;if(!($===8||$===12))return!1;b(A);const q=A.currentPeek()===":";return A.resetPeek(),q}function L(A,p){const{currentType:$}=p;if($!==10)return!1;const q=()=>{const ae=A.currentPeek();return ae==="{"?v(A.peek()):ae==="@"||ae==="%"||ae==="|"||ae===":"||ae==="."||ae===Bo||!ae?!1:ae===Pt?(A.peek(),q()):z(A,!1)},le=q();return A.resetPeek(),le}function B(A){b(A);const p=A.currentPeek()==="|";return A.resetPeek(),p}function H(A){const p=b(A),$=A.currentPeek()==="%"&&A.peek()==="{";return A.resetPeek(),{isModulo:$,hasSpace:p.length>0}}function z(A,p=!0){const $=(le=!1,ae="",V=!1)=>{const Y=A.currentPeek();return Y==="{"?ae==="%"?!1:le:Y==="@"||!Y?ae==="%"?!0:le:Y==="%"?(A.peek(),$(le,"%",!0)):Y==="|"?ae==="%"||V?!0:!(ae===Bo||ae===Pt):Y===Bo?(A.peek(),$(!0,Bo,V)):Y===Pt?(A.peek(),$(!0,Pt,V)):!0},q=$();return p&&A.resetPeek(),q}function U(A,p){const $=A.currentChar();return $===on?on:p($)?(A.next(),$):null}function R(A){const p=A.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function N(A){return U(A,R)}function E(A){const p=A.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function j(A){return U(A,E)}function J(A){const p=A.charCodeAt(0);return p>=48&&p<=57}function ce(A){return U(A,J)}function F(A){const p=A.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function te(A){return U(A,F)}function G(A){let p="",$="";for(;p=ce(A);)$+=p;return $}function se(A){x(A);const p=A.currentChar();return p!=="%"&&h(Ce.EXPECTED_TOKEN,r(),0,p),A.next(),"%"}function he(A){let p="";for(;;){const $=A.currentChar();if($==="{"||$==="}"||$==="@"||$==="|"||!$)break;if($==="%")if(z(A))p+=$,A.next();else break;else if($===Bo||$===Pt)if(z(A))p+=$,A.next();else{if(B(A))break;p+=$,A.next()}else p+=$,A.next()}return p}function pe(A){x(A);let p="",$="";for(;p=j(A);)$+=p;return A.currentChar()===on&&h(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),$}function ke(A){x(A);let p="";return A.currentChar()==="-"?(A.next(),p+=`-${G(A)}`):p+=G(A),A.currentChar()===on&&h(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),p}function fe(A){return A!==cd&&A!==Pt}function we(A){x(A),w(A,"'");let p="",$="";for(;p=U(A,fe);)p==="\\"?$+=ee(A):$+=p;const q=A.currentChar();return q===Pt||q===on?(h(Ce.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),q===Pt&&(A.next(),w(A,"'")),$):(w(A,"'"),$)}function ee(A){const p=A.currentChar();switch(p){case"\\":case"'":return A.next(),`\\${p}`;case"u":return Se(A,p,4);case"U":return Se(A,p,6);default:return h(Ce.UNKNOWN_ESCAPE_SEQUENCE,r(),0,p),""}}function Se(A,p,$){w(A,p);let q="";for(let le=0;le<$;le++){const ae=te(A);if(!ae){h(Ce.INVALID_UNICODE_ESCAPE_SEQUENCE,r(),0,`\\${p}${q}${A.currentChar()}`);break}q+=ae}return`\\${p}${q}`}function $e(A){return A!=="{"&&A!=="}"&&A!==Bo&&A!==Pt}function C(A){x(A);let p="",$="";for(;p=U(A,$e);)$+=p;return $}function I(A){let p="",$="";for(;p=N(A);)$+=p;return $}function P(A){const p=$=>{const q=A.currentChar();return q==="{"||q==="%"||q==="@"||q==="|"||q==="("||q===")"||!q||q===Bo?$:($+=q,A.next(),p($))};return p("")}function K(A){x(A);const p=w(A,"|");return x(A),p}function Z(A,p){let $=null;switch(A.currentChar()){case"{":return p.braceNest>=1&&h(Ce.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),A.next(),$=m(p,2,"{"),x(A),p.braceNest++,$;case"}":return p.braceNest>0&&p.currentType===2&&h(Ce.EMPTY_PLACEHOLDER,r(),0),A.next(),$=m(p,3,"}"),p.braceNest--,p.braceNest>0&&x(A),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),$;case"@":return p.braceNest>0&&h(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),$=ne(A,p)||k(p),p.braceNest=0,$;default:{let le=!0,ae=!0,V=!0;if(B(A))return p.braceNest>0&&h(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),$=m(p,1,K(A)),p.braceNest=0,p.inLinked=!1,$;if(p.braceNest>0&&(p.currentType===5||p.currentType===6||p.currentType===7))return h(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),p.braceNest=0,re(A,p);if(le=d(A,p))return $=m(p,5,pe(A)),x(A),$;if(ae=g(A,p))return $=m(p,6,ke(A)),x(A),$;if(V=f(A,p))return $=m(p,7,we(A)),x(A),$;if(!le&&!ae&&!V)return $=m(p,13,C(A)),h(Ce.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,$.value),x(A),$;break}}return $}function ne(A,p){const{currentType:$}=p;let q=null;const le=A.currentChar();switch(($===8||$===9||$===12||$===10)&&(le===Pt||le===Bo)&&h(Ce.INVALID_LINKED_FORMAT,r(),0),le){case"@":return A.next(),q=m(p,8,"@"),p.inLinked=!0,q;case".":return x(A),A.next(),m(p,9,".");case":":return x(A),A.next(),m(p,10,":");default:return B(A)?(q=m(p,1,K(A)),p.braceNest=0,p.inLinked=!1,q):y(A,p)||O(A,p)?(x(A),ne(A,p)):T(A,p)?(x(A),m(p,12,I(A))):L(A,p)?(x(A),le==="{"?Z(A,p)||q:m(p,11,P(A))):($===8&&h(Ce.INVALID_LINKED_FORMAT,r(),0),p.braceNest=0,p.inLinked=!1,re(A,p))}}function re(A,p){let $={type:14};if(p.braceNest>0)return Z(A,p)||k(p);if(p.inLinked)return ne(A,p)||k(p);switch(A.currentChar()){case"{":return Z(A,p)||k(p);case"}":return h(Ce.UNBALANCED_CLOSING_BRACE,r(),0),A.next(),m(p,3,"}");case"@":return ne(A,p)||k(p);default:{if(B(A))return $=m(p,1,K(A)),p.braceNest=0,p.inLinked=!1,$;const{isModulo:le,hasSpace:ae}=H(A);if(le)return ae?m(p,0,he(A)):m(p,4,se(A));if(z(A))return m(p,0,he(A));break}}return $}function ue(){const{currentType:A,offset:p,startLoc:$,endLoc:q}=l;return l.lastType=A,l.lastOffset=p,l.lastStartLoc=$,l.lastEndLoc=q,l.offset=a(),l.startLoc=r(),n.currentChar()===on?m(l,14):re(n,l)}return{nextToken:ue,currentOffset:a,currentPosition:r,context:c}}const e0="parser",t0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function o0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function n0(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(d,g,f,y,...T){const O=d.currentPosition();if(O.offset+=y,O.column+=y,o){const L=t?Hr(f,O):null,B=Gn(g,L,{domain:e0,args:T});o(B)}}function r(d,g,f,y,...T){const O=d.currentPosition();if(O.offset+=y,O.column+=y,n){const L=t?Hr(f,O):null;n(Ky(g,L,T))}}function s(d,g,f){const y={type:d};return t&&(y.start=g,y.end=g,y.loc={start:f,end:f}),y}function i(d,g,f,y){t&&(d.end=g,d.loc&&(d.loc.end=f))}function l(d,g){const f=d.context(),y=s(3,f.offset,f.startLoc);return y.value=g,i(y,d.currentOffset(),d.currentPosition()),y}function c(d,g){const f=d.context(),{lastOffset:y,lastStartLoc:T}=f,O=s(5,y,T);return O.index=parseInt(g,10),d.nextToken(),i(O,d.currentOffset(),d.currentPosition()),O}function u(d,g,f){const y=d.context(),{lastOffset:T,lastStartLoc:O}=y,L=s(4,T,O);return L.key=g,f===!0&&(L.modulo=!0),d.nextToken(),i(L,d.currentOffset(),d.currentPosition()),L}function h(d,g){const f=d.context(),{lastOffset:y,lastStartLoc:T}=f,O=s(9,y,T);return O.value=g.replace(t0,o0),d.nextToken(),i(O,d.currentOffset(),d.currentPosition()),O}function m(d){const g=d.nextToken(),f=d.context(),{lastOffset:y,lastStartLoc:T}=f,O=s(8,y,T);return g.type!==12?(a(d,Ce.UNEXPECTED_EMPTY_LINKED_MODIFIER,f.lastStartLoc,0),O.value="",i(O,y,T),{nextConsumeToken:g,node:O}):(g.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,oo(g)),O.value=g.value||"",i(O,d.currentOffset(),d.currentPosition()),{node:O})}function k(d,g){const f=d.context(),y=s(7,f.offset,f.startLoc);return y.value=g,i(y,d.currentOffset(),d.currentPosition()),y}function w(d){const g=d.context(),f=s(6,g.offset,g.startLoc);let y=d.nextToken();if(y.type===9){const T=m(d);f.modifier=T.node,y=T.nextConsumeToken||d.nextToken()}switch(y.type!==10&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(y)),y=d.nextToken(),y.type===2&&(y=d.nextToken()),y.type){case 11:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(y)),f.key=k(d,y.value||"");break;case 5:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(y)),f.key=u(d,y.value||"");break;case 6:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(y)),f.key=c(d,y.value||"");break;case 7:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(y)),f.key=h(d,y.value||"");break;default:{a(d,Ce.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const T=d.context(),O=s(7,T.offset,T.startLoc);return O.value="",i(O,T.offset,T.startLoc),f.key=O,i(f,T.offset,T.startLoc),{nextConsumeToken:y,node:f}}}return i(f,d.currentOffset(),d.currentPosition()),{node:f}}function b(d){const g=d.context(),f=g.currentType===1?d.currentOffset():g.offset,y=g.currentType===1?g.endLoc:g.startLoc,T=s(2,f,y);T.items=[];let O=null,L=null;do{const z=O||d.nextToken();switch(O=null,z.type){case 0:z.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(z)),T.items.push(l(d,z.value||""));break;case 6:z.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(z)),T.items.push(c(d,z.value||""));break;case 4:L=!0;break;case 5:z.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(z)),T.items.push(u(d,z.value||"",!!L)),L&&(r(d,_i.USE_MODULO_SYNTAX,g.lastStartLoc,0,oo(z)),L=null);break;case 7:z.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(z)),T.items.push(h(d,z.value||""));break;case 8:{const U=w(d);T.items.push(U.node),O=U.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const B=g.currentType===1?g.lastOffset:d.currentOffset(),H=g.currentType===1?g.lastEndLoc:d.currentPosition();return i(T,B,H),T}function x(d,g,f,y){const T=d.context();let O=y.items.length===0;const L=s(1,g,f);L.cases=[],L.cases.push(y);do{const B=b(d);O||(O=B.items.length===0),L.cases.push(B)}while(T.currentType!==14);return O&&a(d,Ce.MUST_HAVE_MESSAGES_IN_PLURAL,f,0),i(L,d.currentOffset(),d.currentPosition()),L}function v(d){const g=d.context(),{offset:f,startLoc:y}=g,T=b(d);return g.currentType===14?T:x(d,f,y,T)}function _(d){const g=Qy(d,sd({},e)),f=g.context(),y=s(0,f.offset,f.startLoc);return t&&y.loc&&(y.loc.source=d),y.body=v(g),e.onCacheKey&&(y.cacheKey=e.onCacheKey(d)),f.currentType!==14&&a(g,Ce.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,d[f.offset]||""),i(y,g.currentOffset(),g.currentPosition()),y}return{parse:_}}function oo(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 a0(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function ud(e,t){for(let o=0;odd(o)),e}function dd(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(b,x){s.code+=b}function c(b,x=!0){const v=x?n:"";l(a?v+" ".repeat(b):v)}function u(b=!0){const x=++s.indentLevel;b&&c(x)}function h(b=!0){const x=--s.indentLevel;b&&c(x)}function m(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:h,newline:m,helper:b=>`_${b}`,needIndent:()=>s.needIndent}}function u0(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),zn(e,t.key),t.modifier?(e.push(", "),zn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function d0(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=id(t.mode)?t.mode:"normal",n=id(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=c0(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${ld(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),zn(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 h0(e,t={}){const o=sd({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=n0(o).parse(e);return n?(r&&s0(i),a&&jn(i),{ast:i,code:""}):(r0(i,o),f0(i,o))}/*! + */function jy(e,t,o){return{line:e,column:t,offset:o}}function qr(e,t,o){return{start:e,end:t}}const zy=/\{([0-9a-zA-Z]+)\}/g;function sd(e,...t){return t.length===1&&Uy(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(zy,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const id=Object.assign,ld=e=>typeof e=="string",Uy=e=>e!==null&&typeof e=="object";function cd(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const _i={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Ky={[_i.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Hy(e,t,...o){const n=sd(Ky[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Ce={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},qy={[Ce.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ce.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ce.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ce.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ce.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ce.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ce.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ce.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ce.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ce.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ce.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ce.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ce.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ce.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ce.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ce.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function jn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=sd((a||qy)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function Vy(e){throw e}const Go=" ",Wy="\r",Pt=` +`,Yy="\u2028",Xy="\u2029";function Jy(e){const t=e;let o=0,n=1,a=1,r=0;const s=I=>t[I]===Wy&&t[I+1]===Pt,i=I=>t[I]===Pt,l=I=>t[I]===Xy,c=I=>t[I]===Yy,u=I=>s(I)||i(I)||l(I)||c(I),f=()=>o,m=()=>n,k=()=>a,w=()=>r,h=I=>s(I)||l(I)||c(I)?Pt:t[I],_=()=>h(o),b=()=>h(o+r);function v(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function d(){return s(o+r)&&r++,r++,t[o+r]}function p(){o=0,n=1,a=1,r=0}function g(I=0){r=I}function y(){const I=o+r;for(;I!==o;)v();r=0}return{index:f,line:m,column:k,peekOffset:w,charAt:h,currentChar:_,currentPeek:b,next:v,peek:d,reset:p,resetPeek:g,skipToPeek:y}}const on=void 0,Zy=".",ud="'",Qy="tokenizer";function e0(e,t={}){const o=t.location!==!1,n=Jy(e),a=()=>n.index(),r=()=>jy(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(L,S,Z,...T){const H=c();if(S.column+=Z,S.offset+=Z,u){const te=o?qr(H.startLoc,S):null,q=jn(L,te,{domain:Qy,args:T});u(q)}}function m(L,S,Z){L.endLoc=r(),L.currentType=S;const T={type:S};return o&&(T.loc=qr(L.startLoc,L.endLoc)),Z!=null&&(T.value=Z),T}const k=L=>m(L,14);function w(L,S){return L.currentChar()===S?(L.next(),S):(f(Ce.EXPECTED_TOKEN,r(),0,S),"")}function h(L){let S="";for(;L.currentPeek()===Go||L.currentPeek()===Pt;)S+=L.currentPeek(),L.peek();return S}function _(L){const S=h(L);return L.skipToPeek(),S}function b(L){if(L===on)return!1;const S=L.charCodeAt(0);return S>=97&&S<=122||S>=65&&S<=90||S===95}function v(L){if(L===on)return!1;const S=L.charCodeAt(0);return S>=48&&S<=57}function d(L,S){const{currentType:Z}=S;if(Z!==2)return!1;h(L);const T=b(L.currentPeek());return L.resetPeek(),T}function p(L,S){const{currentType:Z}=S;if(Z!==2)return!1;h(L);const T=L.currentPeek()==="-"?L.peek():L.currentPeek(),H=v(T);return L.resetPeek(),H}function g(L,S){const{currentType:Z}=S;if(Z!==2)return!1;h(L);const T=L.currentPeek()===ud;return L.resetPeek(),T}function y(L,S){const{currentType:Z}=S;if(Z!==8)return!1;h(L);const T=L.currentPeek()===".";return L.resetPeek(),T}function I(L,S){const{currentType:Z}=S;if(Z!==9)return!1;h(L);const T=b(L.currentPeek());return L.resetPeek(),T}function D(L,S){const{currentType:Z}=S;if(!(Z===8||Z===12))return!1;h(L);const T=L.currentPeek()===":";return L.resetPeek(),T}function x(L,S){const{currentType:Z}=S;if(Z!==10)return!1;const T=()=>{const te=L.currentPeek();return te==="{"?b(L.peek()):te==="@"||te==="%"||te==="|"||te===":"||te==="."||te===Go||!te?!1:te===Pt?(L.peek(),T()):j(L,!1)},H=T();return L.resetPeek(),H}function G(L){h(L);const S=L.currentPeek()==="|";return L.resetPeek(),S}function V(L){const S=h(L),Z=L.currentPeek()==="%"&&L.peek()==="{";return L.resetPeek(),{isModulo:Z,hasSpace:S.length>0}}function j(L,S=!0){const Z=(H=!1,te="",q=!1)=>{const Y=L.currentPeek();return Y==="{"?te==="%"?!1:H:Y==="@"||!Y?te==="%"?!0:H:Y==="%"?(L.peek(),Z(H,"%",!0)):Y==="|"?te==="%"||q?!0:!(te===Go||te===Pt):Y===Go?(L.peek(),Z(!0,Go,q)):Y===Pt?(L.peek(),Z(!0,Pt,q)):!0},T=Z();return S&&L.resetPeek(),T}function U(L,S){const Z=L.currentChar();return Z===on?on:S(Z)?(L.next(),Z):null}function R(L){const S=L.charCodeAt(0);return S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===95||S===36}function M(L){return U(L,R)}function E(L){const S=L.charCodeAt(0);return S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===95||S===36||S===45}function B(L){return U(L,E)}function J(L){const S=L.charCodeAt(0);return S>=48&&S<=57}function ce(L){return U(L,J)}function F(L){const S=L.charCodeAt(0);return S>=48&&S<=57||S>=65&&S<=70||S>=97&&S<=102}function ne(L){return U(L,F)}function z(L){let S="",Z="";for(;S=ce(L);)Z+=S;return Z}function ie(L){_(L);const S=L.currentChar();return S!=="%"&&f(Ce.EXPECTED_TOKEN,r(),0,S),L.next(),"%"}function fe(L){let S="";for(;;){const Z=L.currentChar();if(Z==="{"||Z==="}"||Z==="@"||Z==="|"||!Z)break;if(Z==="%")if(j(L))S+=Z,L.next();else break;else if(Z===Go||Z===Pt)if(j(L))S+=Z,L.next();else{if(G(L))break;S+=Z,L.next()}else S+=Z,L.next()}return S}function pe(L){_(L);let S="",Z="";for(;S=B(L);)Z+=S;return L.currentChar()===on&&f(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),Z}function ke(L){_(L);let S="";return L.currentChar()==="-"?(L.next(),S+=`-${z(L)}`):S+=z(L),L.currentChar()===on&&f(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),S}function he(L){return L!==ud&&L!==Pt}function Se(L){_(L),w(L,"'");let S="",Z="";for(;S=U(L,he);)S==="\\"?Z+=Q(L):Z+=S;const T=L.currentChar();return T===Pt||T===on?(f(Ce.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),T===Pt&&(L.next(),w(L,"'")),Z):(w(L,"'"),Z)}function Q(L){const S=L.currentChar();switch(S){case"\\":case"'":return L.next(),`\\${S}`;case"u":return we(L,S,4);case"U":return we(L,S,6);default:return f(Ce.UNKNOWN_ESCAPE_SEQUENCE,r(),0,S),""}}function we(L,S,Z){w(L,S);let T="";for(let H=0;H{const T=L.currentChar();return T==="{"||T==="%"||T==="@"||T==="|"||T==="("||T===")"||!T||T===Go?Z:(Z+=T,L.next(),S(Z))};return S("")}function K(L){_(L);const S=w(L,"|");return _(L),S}function ee(L,S){let Z=null;switch(L.currentChar()){case"{":return S.braceNest>=1&&f(Ce.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),L.next(),Z=m(S,2,"{"),_(L),S.braceNest++,Z;case"}":return S.braceNest>0&&S.currentType===2&&f(Ce.EMPTY_PLACEHOLDER,r(),0),L.next(),Z=m(S,3,"}"),S.braceNest--,S.braceNest>0&&_(L),S.inLinked&&S.braceNest===0&&(S.inLinked=!1),Z;case"@":return S.braceNest>0&&f(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),Z=re(L,S)||k(S),S.braceNest=0,Z;default:{let H=!0,te=!0,q=!0;if(G(L))return S.braceNest>0&&f(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),Z=m(S,1,K(L)),S.braceNest=0,S.inLinked=!1,Z;if(S.braceNest>0&&(S.currentType===5||S.currentType===6||S.currentType===7))return f(Ce.UNTERMINATED_CLOSING_BRACE,r(),0),S.braceNest=0,se(L,S);if(H=d(L,S))return Z=m(S,5,pe(L)),_(L),Z;if(te=p(L,S))return Z=m(S,6,ke(L)),_(L),Z;if(q=g(L,S))return Z=m(S,7,Se(L)),_(L),Z;if(!H&&!te&&!q)return Z=m(S,13,C(L)),f(Ce.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,Z.value),_(L),Z;break}}return Z}function re(L,S){const{currentType:Z}=S;let T=null;const H=L.currentChar();switch((Z===8||Z===9||Z===12||Z===10)&&(H===Pt||H===Go)&&f(Ce.INVALID_LINKED_FORMAT,r(),0),H){case"@":return L.next(),T=m(S,8,"@"),S.inLinked=!0,T;case".":return _(L),L.next(),m(S,9,".");case":":return _(L),L.next(),m(S,10,":");default:return G(L)?(T=m(S,1,K(L)),S.braceNest=0,S.inLinked=!1,T):y(L,S)||D(L,S)?(_(L),re(L,S)):I(L,S)?(_(L),m(S,12,P(L))):x(L,S)?(_(L),H==="{"?ee(L,S)||T:m(S,11,$(L))):(Z===8&&f(Ce.INVALID_LINKED_FORMAT,r(),0),S.braceNest=0,S.inLinked=!1,se(L,S))}}function se(L,S){let Z={type:14};if(S.braceNest>0)return ee(L,S)||k(S);if(S.inLinked)return re(L,S)||k(S);switch(L.currentChar()){case"{":return ee(L,S)||k(S);case"}":return f(Ce.UNBALANCED_CLOSING_BRACE,r(),0),L.next(),m(S,3,"}");case"@":return re(L,S)||k(S);default:{if(G(L))return Z=m(S,1,K(L)),S.braceNest=0,S.inLinked=!1,Z;const{isModulo:H,hasSpace:te}=V(L);if(H)return te?m(S,0,fe(L)):m(S,4,ie(L));if(j(L))return m(S,0,fe(L));break}}return Z}function ue(){const{currentType:L,offset:S,startLoc:Z,endLoc:T}=l;return l.lastType=L,l.lastOffset=S,l.lastStartLoc=Z,l.lastEndLoc=T,l.offset=a(),l.startLoc=r(),n.currentChar()===on?m(l,14):se(n,l)}return{nextToken:ue,currentOffset:a,currentPosition:r,context:c}}const t0="parser",o0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function n0(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function a0(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(d,p,g,y,...I){const D=d.currentPosition();if(D.offset+=y,D.column+=y,o){const x=t?qr(g,D):null,G=jn(p,x,{domain:t0,args:I});o(G)}}function r(d,p,g,y,...I){const D=d.currentPosition();if(D.offset+=y,D.column+=y,n){const x=t?qr(g,D):null;n(Hy(p,x,I))}}function s(d,p,g){const y={type:d};return t&&(y.start=p,y.end=p,y.loc={start:g,end:g}),y}function i(d,p,g,y){t&&(d.end=p,d.loc&&(d.loc.end=g))}function l(d,p){const g=d.context(),y=s(3,g.offset,g.startLoc);return y.value=p,i(y,d.currentOffset(),d.currentPosition()),y}function c(d,p){const g=d.context(),{lastOffset:y,lastStartLoc:I}=g,D=s(5,y,I);return D.index=parseInt(p,10),d.nextToken(),i(D,d.currentOffset(),d.currentPosition()),D}function u(d,p,g){const y=d.context(),{lastOffset:I,lastStartLoc:D}=y,x=s(4,I,D);return x.key=p,g===!0&&(x.modulo=!0),d.nextToken(),i(x,d.currentOffset(),d.currentPosition()),x}function f(d,p){const g=d.context(),{lastOffset:y,lastStartLoc:I}=g,D=s(9,y,I);return D.value=p.replace(o0,n0),d.nextToken(),i(D,d.currentOffset(),d.currentPosition()),D}function m(d){const p=d.nextToken(),g=d.context(),{lastOffset:y,lastStartLoc:I}=g,D=s(8,y,I);return p.type!==12?(a(d,Ce.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),D.value="",i(D,y,I),{nextConsumeToken:p,node:D}):(p.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,oo(p)),D.value=p.value||"",i(D,d.currentOffset(),d.currentPosition()),{node:D})}function k(d,p){const g=d.context(),y=s(7,g.offset,g.startLoc);return y.value=p,i(y,d.currentOffset(),d.currentPosition()),y}function w(d){const p=d.context(),g=s(6,p.offset,p.startLoc);let y=d.nextToken();if(y.type===9){const I=m(d);g.modifier=I.node,y=I.nextConsumeToken||d.nextToken()}switch(y.type!==10&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(y)),y=d.nextToken(),y.type===2&&(y=d.nextToken()),y.type){case 11:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(y)),g.key=k(d,y.value||"");break;case 5:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(y)),g.key=u(d,y.value||"");break;case 6:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(y)),g.key=c(d,y.value||"");break;case 7:y.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(y)),g.key=f(d,y.value||"");break;default:{a(d,Ce.UNEXPECTED_EMPTY_LINKED_KEY,p.lastStartLoc,0);const I=d.context(),D=s(7,I.offset,I.startLoc);return D.value="",i(D,I.offset,I.startLoc),g.key=D,i(g,I.offset,I.startLoc),{nextConsumeToken:y,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function h(d){const p=d.context(),g=p.currentType===1?d.currentOffset():p.offset,y=p.currentType===1?p.endLoc:p.startLoc,I=s(2,g,y);I.items=[];let D=null,x=null;do{const j=D||d.nextToken();switch(D=null,j.type){case 0:j.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(j)),I.items.push(l(d,j.value||""));break;case 6:j.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(j)),I.items.push(c(d,j.value||""));break;case 4:x=!0;break;case 5:j.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(j)),I.items.push(u(d,j.value||"",!!x)),x&&(r(d,_i.USE_MODULO_SYNTAX,p.lastStartLoc,0,oo(j)),x=null);break;case 7:j.value==null&&a(d,Ce.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,oo(j)),I.items.push(f(d,j.value||""));break;case 8:{const U=w(d);I.items.push(U.node),D=U.nextConsumeToken||null;break}}}while(p.currentType!==14&&p.currentType!==1);const G=p.currentType===1?p.lastOffset:d.currentOffset(),V=p.currentType===1?p.lastEndLoc:d.currentPosition();return i(I,G,V),I}function _(d,p,g,y){const I=d.context();let D=y.items.length===0;const x=s(1,p,g);x.cases=[],x.cases.push(y);do{const G=h(d);D||(D=G.items.length===0),x.cases.push(G)}while(I.currentType!==14);return D&&a(d,Ce.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(x,d.currentOffset(),d.currentPosition()),x}function b(d){const p=d.context(),{offset:g,startLoc:y}=p,I=h(d);return p.currentType===14?I:_(d,g,y,I)}function v(d){const p=e0(d,id({},e)),g=p.context(),y=s(0,g.offset,g.startLoc);return t&&y.loc&&(y.loc.source=d),y.body=b(p),e.onCacheKey&&(y.cacheKey=e.onCacheKey(d)),g.currentType!==14&&a(p,Ce.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(y,p.currentOffset(),p.currentPosition()),y}return{parse:v}}function oo(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 r0(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function dd(e,t){for(let o=0;opd(o)),e}function pd(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function l(h,_){s.code+=h}function c(h,_=!0){const b=_?n:"";l(a?b+" ".repeat(h):b)}function u(h=!0){const _=++s.indentLevel;h&&c(_)}function f(h=!0){const _=--s.indentLevel;h&&c(_)}function m(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:m,helper:h=>`_${h}`,needIndent:()=>s.needIndent}}function d0(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Un(e,t.key),t.modifier?(e.push(", "),Un(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function p0(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=ld(t.mode)?t.mode:"normal",n=ld(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=u0(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${cd(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Un(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 m0(e,t={}){const o=id({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=a0(o).parse(e);return n?(r&&i0(i),a&&zn(i),{ast:i,code:""}):(s0(i,o),h0(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function m0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function yo(e){return je(e)&&ki(e)===0&&(to(e,"b")||to(e,"body"))}const pd=["b","body"];function b0(e){return nn(e,pd)}const gd=["c","cases"];function y0(e){return nn(e,gd,[])}const fd=["s","static"];function v0(e){return nn(e,fd)}const hd=["i","items"];function _0(e){return nn(e,hd,[])}const md=["t","type"];function ki(e){return nn(e,md)}const bd=["v","value"];function qr(e,t){const o=nn(e,bd);if(o!=null)return o;throw Ma(t)}const yd=["m","modifier"];function x0(e){return nn(e,yd)}const vd=["k","key"];function k0(e){const t=nn(e,vd);if(t)return t;throw Ma(6)}function nn(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},m[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,n=4,m[0]();else{if(a=0,s===void 0||(s=C0(s),s===!1))return!1;m[1]()}};function k(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,m[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=L0(r),h=an[n],c=h[l]||h.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const xd=new Map;function T0(e,t){return je(e)?e[t]:null}function $0(e,t){if(!je(e))return null;let o=xd.get(t);if(o||(o=E0(t),o&&xd.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,N0=e=>"",I0="text",M0=e=>e.length===0?"":By(e),R0=Oy;function kd(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function F0(e){const t=lt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(lt(e.named.count)||lt(e.named.n))?lt(e.named.count)?e.named.count:lt(e.named.n)?e.named.n:t:t}function D0(e,t){t.count||(t.count=e),t.n||(t.n=e)}function O0(e={}){const t=e.locale,o=F0(e),n=je(e.pluralRules)&&_e(t)&&Je(e.pluralRules[t])?e.pluralRules[t]:kd,a=je(e.pluralRules)&&_e(t)&&Je(e.pluralRules[t])?kd:void 0,r=v=>v[n(o,v.length,a)],s=e.list||[],i=v=>s[v],l=e.named||Ve();lt(e.pluralIndex)&&D0(o,l);const c=v=>l[v];function u(v){const _=Je(e.messages)?e.messages(v):je(e.messages)?e.messages[v]:!1;return _||(e.parent?e.parent.message(v):N0)}const h=v=>e.modifiers?e.modifiers[v]:P0,m=Ie(e.processor)&&Je(e.processor.normalize)?e.processor.normalize:M0,k=Ie(e.processor)&&Je(e.processor.interpolate)?e.processor.interpolate:R0,w=Ie(e.processor)&&_e(e.processor.type)?e.processor.type:I0,x={list:i,named:c,plural:r,linked:(v,..._)=>{const[d,g]=_;let f="text",y="";_.length===1?je(d)?(y=d.modifier||y,f=d.type||f):_e(d)&&(y=d||y):_.length===2&&(_e(d)&&(y=d||y),_e(g)&&(f=g||f));const T=u(v)(x),O=f==="vnode"&&nt(T)&&y?T[0]:T;return y?h(y)(O,f):O},message:u,type:w,interpolate:k,normalize:m,values:wt(Ve(),s,l)};return x}let Ra=null;function B0(e){Ra=e}function G0(e,t,o){Ra&&Ra.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const j0=z0("function:translate");function z0(e){return t=>Ra&&Ra.emit(e,t)}const U0=_i.__EXTEND_POINT__,_n=zr(U0),K0={FALLBACK_TO_TRANSLATE:_n(),CANNOT_FORMAT_NUMBER:_n(),FALLBACK_TO_NUMBER_FORMAT:_n(),CANNOT_FORMAT_DATE:_n(),FALLBACK_TO_DATE_FORMAT:_n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:_n(),__EXTEND_POINT__:_n()},wd=Ce.__EXTEND_POINT__,xn=zr(wd),no={INVALID_ARGUMENT:wd,INVALID_DATE_ARGUMENT:xn(),INVALID_ISO_DATE_ARGUMENT:xn(),NOT_SUPPORT_NON_STRING_MESSAGE:xn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:xn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:xn(),NOT_SUPPORT_LOCALE_TYPE:xn(),__EXTEND_POINT__:xn()};function vo(e){return Gn(e,null,void 0)}function wi(e,t){return t.locale!=null?Sd(t.locale):Sd(e.locale)}let Si;function Sd(e){if(_e(e))return e;if(Je(e)){if(e.resolvedOnce&&Si!=null)return Si;if(e.constructor.name==="Function"){const t=e();if(Dy(t))throw vo(no.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Si=t}else throw vo(no.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw vo(no.NOT_SUPPORT_LOCALE_TYPE)}function H0(e,t,o){return[...new Set([o,...nt(t)?t:je(t)?Object.keys(t):_e(t)?[t]:[o]])]}function Ad(e,t,o){const n=_e(o)?o:Un,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;nt(s);)s=Ld(r,s,t);const i=nt(t)||!Ie(t)?t:t.default?t.default:null;s=_e(i)?[i]:i,nt(s)&&Ld(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Ld(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Y0(){return{upper:(e,t)=>t==="text"&&_e(e)?e.toUpperCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&_e(e)?e.toLowerCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&_e(e)?Ed(e):t==="vnode"&&je(e)&&"__v_isVNode"in e?Ed(e.children):e}}let Td;function $d(e){Td=e}let Pd;function X0(e){Pd=e}let Nd;function J0(e){Nd=e}let Id=null;const Z0=e=>{Id=e},Q0=()=>Id;let Md=null;const Rd=e=>{Md=e},e1=()=>Md;let Fd=0;function t1(e={}){const t=Je(e.onWarn)?e.onWarn:$y,o=_e(e.version)?e.version:W0,n=_e(e.locale)||Je(e.locale)?e.locale:Un,a=Je(n)?Un:n,r=nt(e.fallbackLocale)||Ie(e.fallbackLocale)||_e(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Ie(e.messages)?e.messages:Ai(a),i=Ie(e.datetimeFormats)?e.datetimeFormats:Ai(a),l=Ie(e.numberFormats)?e.numberFormats:Ai(a),c=wt(Ve(),e.modifiers,Y0()),u=e.pluralRules||Ve(),h=Je(e.missing)?e.missing:null,m=Fe(e.missingWarn)||tn(e.missingWarn)?e.missingWarn:!0,k=Fe(e.fallbackWarn)||tn(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,b=!!e.unresolving,x=Je(e.postTranslation)?e.postTranslation:null,v=Ie(e.processor)?e.processor:null,_=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,g=Je(e.messageCompiler)?e.messageCompiler:Td,f=Je(e.messageResolver)?e.messageResolver:Pd||T0,y=Je(e.localeFallbacker)?e.localeFallbacker:Nd||H0,T=je(e.fallbackContext)?e.fallbackContext:void 0,O=e,L=je(O.__datetimeFormatters)?O.__datetimeFormatters:new Map,B=je(O.__numberFormatters)?O.__numberFormatters:new Map,H=je(O.__meta)?O.__meta:{};Fd++;const z={version:o,cid:Fd,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:h,missingWarn:m,fallbackWarn:k,fallbackFormat:w,unresolving:b,postTranslation:x,processor:v,warnHtmlMessage:_,escapeParameter:d,messageCompiler:g,messageResolver:f,localeFallbacker:y,fallbackContext:T,onWarn:t,__meta:H};return z.datetimeFormats=i,z.numberFormats=l,z.__datetimeFormatters=L,z.__numberFormatters=B,__INTLIFY_PROD_DEVTOOLS__&&G0(z,o,H),z}const Ai=e=>({[e]:Ve()});function Li(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return _e(i)?i:t}else return t}function Fa(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function o1(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function n1(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;na1(o,e)}function a1(e,t){const o=b0(t);if(o==null)throw Ma(0);if(ki(o)===1){const r=y0(o);return e.plural(r.reduce((s,i)=>[...s,Dd(e,i)],[]))}else return Dd(e,o)}function Dd(e,t){const o=v0(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=_0(t).reduce((a,r)=>[...a,Ei(e,r)],[]);return e.normalize(n)}}function Ei(e,t){const o=ki(t);switch(o){case 3:return qr(t,o);case 9:return qr(t,o);case 4:{const n=t;if(to(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(to(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ma(o)}case 5:{const n=t;if(to(n,"i")&<(n.i))return e.interpolate(e.list(n.i));if(to(n,"index")&<(n.index))return e.interpolate(e.list(n.index));throw Ma(o)}case 6:{const n=t,a=x0(n),r=k0(n);return e.linked(Ei(e,r),a?Ei(e,a):void 0,e.type)}case 7:return qr(t,o);case 8:return qr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Od=e=>e;let Kn=Ve();function Bd(e,t={}){let o=!1;const n=t.onError||qy;return t.onError=a=>{o=!0,n(a)},{...h0(e,t),detectError:o}}const r1=(e,t)=>{if(!_e(e))throw vo(no.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Od)(e),a=Kn[n];if(a)return a;const{code:r,detectError:s}=Bd(e,t),i=new Function(`return ${r}`)();return s?i:Kn[n]=i}};function s1(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&_e(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Od)(e),a=Kn[n];if(a)return a;const{ast:r,detectError:s}=Bd(e,{...t,location:!1,jit:!0}),i=Ci(r);return s?i:Kn[n]=i}else{const o=e.cacheKey;if(o){const n=Kn[o];return n||(Kn[o]=Ci(e))}else return Ci(e)}}const Gd=()=>"",Xt=e=>Je(e);function jd(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Ti(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,h=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,w=_e(c.default)||Fe(c.default)?Fe(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",b=o||w!=="",x=wi(e,c);m&&i1(c);let[v,_,d]=k?[l,x,i[x]||Ve()]:zd(e,l,x,s,h,u),g=v,f=l;if(!k&&!(_e(g)||yo(g)||Xt(g))&&b&&(g=w,f=g),!k&&(!(_e(g)||yo(g)||Xt(g))||!_e(_)))return a?Vr:l;let y=!1;const T=()=>{y=!0},O=Xt(g)?g:Ud(e,l,_,g,f,T);if(y)return g;const L=u1(e,_,d,c),B=O0(L),H=l1(e,O,B);let z=n?n(H,l):H;if(m&&_e(z)&&(z=Ry(z)),__INTLIFY_PROD_DEVTOOLS__){const U={timestamp:Date.now(),key:_e(l)?l:Xt(g)?g.key:"",locale:_||(Xt(g)?g.locale:""),format:_e(g)?g:Xt(g)?g.source:"",message:z};U.meta=wt({},e.__meta,Q0()||{}),j0(U)}return z}function i1(e){nt(e.list)?e.list=e.list.map(t=>_e(t)?td(t):t):je(e.named)&&Object.keys(e.named).forEach(t=>{_e(e.named[t])&&(e.named[t]=td(e.named[t]))})}function zd(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let h=Ve(),m,k=null;const w="translate";for(let b=0;bn;return c.locale=o,c.key=t,c}const l=s(n,c1(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function l1(e,t,o){return t(o)}function Ti(...e){const[t,o,n]=e,a=Ve();if(!_e(t)&&!lt(t)&&!Xt(t)&&!yo(t))throw vo(no.INVALID_ARGUMENT);const r=lt(t)?String(t):(Xt(t),t);return lt(o)?a.plural=o:_e(o)?a.default=o:Ie(o)&&!jr(o)?a.named=o:nt(o)&&(a.list=o),lt(n)?a.plural=n:_e(n)?a.default=n:Ie(n)&&wt(a,n),[r,a]}function c1(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>Py(t,o,s)}}function u1(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:r,messages:k=>{let w=s(o,k);if(w==null&&u){const[,,b]=zd(u,k,t,i,l,c);w=s(b,k)}if(_e(w)||yo(w)){let b=!1;const v=Ud(e,k,t,w,k,()=>{b=!0});return b?Gd:v}else return Xt(w)?w:Gd}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),lt(n.plural)&&(m.pluralIndex=n.plural),m}function Kd(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,h]=$i(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=wi(e,u),b=s(e,a,w);if(!_e(l)||l==="")return new Intl.DateTimeFormat(w,h).format(c);let x={},v,_=null;const d="datetime format";for(let y=0;y{Hd.includes(l)?s[l]=o[l]:r[l]=o[l]}),_e(n)?r.locale=n:Ie(n)&&(s=n),Ie(a)&&(s=a),[r.key||"",i,r,s]}function qd(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Vd(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,h]=Pi(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=wi(e,u),b=s(e,a,w);if(!_e(l)||l==="")return new Intl.NumberFormat(w,h).format(c);let x={},v,_=null;const d="number format";for(let y=0;y{Wd.includes(l)?s[l]=o[l]:r[l]=o[l]}),_e(n)?r.locale=n:Ie(n)&&(s=n),Ie(a)&&(s=a),[r.key||"",i,r,s]}function Yd(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}m0();/*! + */function b0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Bo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function vo(e){return Ue(e)&&ki(e)===0&&(to(e,"b")||to(e,"body"))}const gd=["b","body"];function y0(e){return nn(e,gd)}const fd=["c","cases"];function v0(e){return nn(e,fd,[])}const hd=["s","static"];function _0(e){return nn(e,hd)}const md=["i","items"];function x0(e){return nn(e,md,[])}const bd=["t","type"];function ki(e){return nn(e,bd)}const yd=["v","value"];function Vr(e,t){const o=nn(e,yd);if(o!=null)return o;throw Ra(t)}const vd=["m","modifier"];function k0(e){return nn(e,vd)}const _d=["k","key"];function w0(e){const t=nn(e,_d);if(t)return t;throw Ra(6)}function nn(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},m[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,n=4,m[0]();else{if(a=0,s===void 0||(s=E0(s),s===!1))return!1;m[1]()}};function k(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,m[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=C0(r),f=an[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const kd=new Map;function $0(e,t){return Ue(e)?e[t]:null}function P0(e,t){if(!Ue(e))return null;let o=kd.get(t);if(o||(o=T0(t),o&&kd.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,I0=e=>"",M0="text",R0=e=>e.length===0?"":Gy(e),F0=By;function wd(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function D0(e){const t=ct(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ct(e.named.count)||ct(e.named.n))?ct(e.named.count)?e.named.count:ct(e.named.n)?e.named.n:t:t}function O0(e,t){t.count||(t.count=e),t.n||(t.n=e)}function B0(e={}){const t=e.locale,o=D0(e),n=Ue(e.pluralRules)&&xe(t)&&Qe(e.pluralRules[t])?e.pluralRules[t]:wd,a=Ue(e.pluralRules)&&xe(t)&&Qe(e.pluralRules[t])?wd:void 0,r=b=>b[n(o,b.length,a)],s=e.list||[],i=b=>s[b],l=e.named||Ye();ct(e.pluralIndex)&&O0(o,l);const c=b=>l[b];function u(b){const v=Qe(e.messages)?e.messages(b):Ue(e.messages)?e.messages[b]:!1;return v||(e.parent?e.parent.message(b):I0)}const f=b=>e.modifiers?e.modifiers[b]:N0,m=Ie(e.processor)&&Qe(e.processor.normalize)?e.processor.normalize:R0,k=Ie(e.processor)&&Qe(e.processor.interpolate)?e.processor.interpolate:F0,w=Ie(e.processor)&&xe(e.processor.type)?e.processor.type:M0,_={list:i,named:c,plural:r,linked:(b,...v)=>{const[d,p]=v;let g="text",y="";v.length===1?Ue(d)?(y=d.modifier||y,g=d.type||g):xe(d)&&(y=d||y):v.length===2&&(xe(d)&&(y=d||y),xe(p)&&(g=p||g));const I=u(b)(_),D=g==="vnode"&&rt(I)&&y?I[0]:I;return y?f(y)(D,g):D},message:u,type:w,interpolate:k,normalize:m,values:wt(Ye(),s,l)};return _}let Fa=null;function G0(e){Fa=e}function j0(e,t,o){Fa&&Fa.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const z0=U0("function:translate");function U0(e){return t=>Fa&&Fa.emit(e,t)}const K0=_i.__EXTEND_POINT__,_n=Ur(K0),H0={FALLBACK_TO_TRANSLATE:_n(),CANNOT_FORMAT_NUMBER:_n(),FALLBACK_TO_NUMBER_FORMAT:_n(),CANNOT_FORMAT_DATE:_n(),FALLBACK_TO_DATE_FORMAT:_n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:_n(),__EXTEND_POINT__:_n()},Sd=Ce.__EXTEND_POINT__,xn=Ur(Sd),no={INVALID_ARGUMENT:Sd,INVALID_DATE_ARGUMENT:xn(),INVALID_ISO_DATE_ARGUMENT:xn(),NOT_SUPPORT_NON_STRING_MESSAGE:xn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:xn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:xn(),NOT_SUPPORT_LOCALE_TYPE:xn(),__EXTEND_POINT__:xn()};function _o(e){return jn(e,null,void 0)}function wi(e,t){return t.locale!=null?Ad(t.locale):Ad(e.locale)}let Si;function Ad(e){if(xe(e))return e;if(Qe(e)){if(e.resolvedOnce&&Si!=null)return Si;if(e.constructor.name==="Function"){const t=e();if(Oy(t))throw _o(no.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Si=t}else throw _o(no.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw _o(no.NOT_SUPPORT_LOCALE_TYPE)}function q0(e,t,o){return[...new Set([o,...rt(t)?t:Ue(t)?Object.keys(t):xe(t)?[t]:[o]])]}function Ld(e,t,o){const n=xe(o)?o:Kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;rt(s);)s=Cd(r,s,t);const i=rt(t)||!Ie(t)?t:t.default?t.default:null;s=xe(i)?[i]:i,rt(s)&&Cd(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Cd(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function X0(){return{upper:(e,t)=>t==="text"&&xe(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&xe(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&xe(e)?Td(e):t==="vnode"&&Ue(e)&&"__v_isVNode"in e?Td(e.children):e}}let $d;function Pd(e){$d=e}let Nd;function J0(e){Nd=e}let Id;function Z0(e){Id=e}let Md=null;const Q0=e=>{Md=e},e1=()=>Md;let Rd=null;const Fd=e=>{Rd=e},t1=()=>Rd;let Dd=0;function o1(e={}){const t=Qe(e.onWarn)?e.onWarn:Py,o=xe(e.version)?e.version:Y0,n=xe(e.locale)||Qe(e.locale)?e.locale:Kn,a=Qe(n)?Kn:n,r=rt(e.fallbackLocale)||Ie(e.fallbackLocale)||xe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Ie(e.messages)?e.messages:Ai(a),i=Ie(e.datetimeFormats)?e.datetimeFormats:Ai(a),l=Ie(e.numberFormats)?e.numberFormats:Ai(a),c=wt(Ye(),e.modifiers,X0()),u=e.pluralRules||Ye(),f=Qe(e.missing)?e.missing:null,m=Fe(e.missingWarn)||tn(e.missingWarn)?e.missingWarn:!0,k=Fe(e.fallbackWarn)||tn(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,h=!!e.unresolving,_=Qe(e.postTranslation)?e.postTranslation:null,b=Ie(e.processor)?e.processor:null,v=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,p=Qe(e.messageCompiler)?e.messageCompiler:$d,g=Qe(e.messageResolver)?e.messageResolver:Nd||$0,y=Qe(e.localeFallbacker)?e.localeFallbacker:Id||q0,I=Ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,x=Ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,G=Ue(D.__numberFormatters)?D.__numberFormatters:new Map,V=Ue(D.__meta)?D.__meta:{};Dd++;const j={version:o,cid:Dd,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:w,unresolving:h,postTranslation:_,processor:b,warnHtmlMessage:v,escapeParameter:d,messageCompiler:p,messageResolver:g,localeFallbacker:y,fallbackContext:I,onWarn:t,__meta:V};return j.datetimeFormats=i,j.numberFormats=l,j.__datetimeFormatters=x,j.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&j0(j,o,V),j}const Ai=e=>({[e]:Ye()});function Li(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return xe(i)?i:t}else return t}function Da(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function n1(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function a1(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nr1(o,e)}function r1(e,t){const o=y0(t);if(o==null)throw Ra(0);if(ki(o)===1){const r=v0(o);return e.plural(r.reduce((s,i)=>[...s,Od(e,i)],[]))}else return Od(e,o)}function Od(e,t){const o=_0(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=x0(t).reduce((a,r)=>[...a,Ei(e,r)],[]);return e.normalize(n)}}function Ei(e,t){const o=ki(t);switch(o){case 3:return Vr(t,o);case 9:return Vr(t,o);case 4:{const n=t;if(to(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(to(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ra(o)}case 5:{const n=t;if(to(n,"i")&&ct(n.i))return e.interpolate(e.list(n.i));if(to(n,"index")&&ct(n.index))return e.interpolate(e.list(n.index));throw Ra(o)}case 6:{const n=t,a=k0(n),r=w0(n);return e.linked(Ei(e,r),a?Ei(e,a):void 0,e.type)}case 7:return Vr(t,o);case 8:return Vr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Bd=e=>e;let Hn=Ye();function Gd(e,t={}){let o=!1;const n=t.onError||Vy;return t.onError=a=>{o=!0,n(a)},{...m0(e,t),detectError:o}}const s1=(e,t)=>{if(!xe(e))throw _o(no.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Bd)(e),a=Hn[n];if(a)return a;const{code:r,detectError:s}=Gd(e,t),i=new Function(`return ${r}`)();return s?i:Hn[n]=i}};function i1(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&xe(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Bd)(e),a=Hn[n];if(a)return a;const{ast:r,detectError:s}=Gd(e,{...t,location:!1,jit:!0}),i=Ci(r);return s?i:Hn[n]=i}else{const o=e.cacheKey;if(o){const n=Hn[o];return n||(Hn[o]=Ci(e))}else return Ci(e)}}const jd=()=>"",Xt=e=>Qe(e);function zd(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Ti(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,f=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,w=xe(c.default)||Fe(c.default)?Fe(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",h=o||w!=="",_=wi(e,c);m&&l1(c);let[b,v,d]=k?[l,_,i[_]||Ye()]:Ud(e,l,_,s,f,u),p=b,g=l;if(!k&&!(xe(p)||vo(p)||Xt(p))&&h&&(p=w,g=p),!k&&(!(xe(p)||vo(p)||Xt(p))||!xe(v)))return a?Wr:l;let y=!1;const I=()=>{y=!0},D=Xt(p)?p:Kd(e,l,v,p,g,I);if(y)return p;const x=d1(e,v,d,c),G=B0(x),V=c1(e,D,G);let j=n?n(V,l):V;if(m&&xe(j)&&(j=Fy(j)),__INTLIFY_PROD_DEVTOOLS__){const U={timestamp:Date.now(),key:xe(l)?l:Xt(p)?p.key:"",locale:v||(Xt(p)?p.locale:""),format:xe(p)?p:Xt(p)?p.source:"",message:j};U.meta=wt({},e.__meta,e1()||{}),z0(U)}return j}function l1(e){rt(e.list)?e.list=e.list.map(t=>xe(t)?od(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{xe(e.named[t])&&(e.named[t]=od(e.named[t]))})}function Ud(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Ye(),m,k=null;const w="translate";for(let h=0;hn;return c.locale=o,c.key=t,c}const l=s(n,u1(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function c1(e,t,o){return t(o)}function Ti(...e){const[t,o,n]=e,a=Ye();if(!xe(t)&&!ct(t)&&!Xt(t)&&!vo(t))throw _o(no.INVALID_ARGUMENT);const r=ct(t)?String(t):(Xt(t),t);return ct(o)?a.plural=o:xe(o)?a.default=o:Ie(o)&&!zr(o)?a.named=o:rt(o)&&(a.list=o),ct(n)?a.plural=n:xe(n)?a.default=n:Ie(n)&&wt(a,n),[r,a]}function u1(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>Ny(t,o,s)}}function d1(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:r,messages:k=>{let w=s(o,k);if(w==null&&u){const[,,h]=Ud(u,k,t,i,l,c);w=s(h,k)}if(xe(w)||vo(w)){let h=!1;const b=Kd(e,k,t,w,k,()=>{h=!0});return h?jd:b}else return Xt(w)?w:jd}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ct(n.plural)&&(m.pluralIndex=n.plural),m}function Hd(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=$i(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=wi(e,u),h=s(e,a,w);if(!xe(l)||l==="")return new Intl.DateTimeFormat(w,f).format(c);let _={},b,v=null;const d="datetime format";for(let y=0;y{qd.includes(l)?s[l]=o[l]:r[l]=o[l]}),xe(n)?r.locale=n:Ie(n)&&(s=n),Ie(a)&&(s=a),[r.key||"",i,r,s]}function Vd(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Wd(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,f]=Pi(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,w=wi(e,u),h=s(e,a,w);if(!xe(l)||l==="")return new Intl.NumberFormat(w,f).format(c);let _={},b,v=null;const d="number format";for(let y=0;y{Yd.includes(l)?s[l]=o[l]:r[l]=o[l]}),xe(n)?r.locale=n:Ie(n)&&(s=n),Ie(a)&&(s=a),[r.key||"",i,r,s]}function Xd(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}b0();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const d1="9.14.5";function p1(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Oo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Oo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Oo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Oo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Oo().__INTLIFY_PROD_DEVTOOLS__=!1)}const g1=K0.__EXTEND_POINT__,Go=zr(g1);Go(),Go(),Go(),Go(),Go(),Go(),Go(),Go(),Go();const Xd=no.__EXTEND_POINT__,Rt=zr(Xd),pt={UNEXPECTED_RETURN_TYPE:Xd,INVALID_ARGUMENT:Rt(),MUST_BE_CALL_SETUP_TOP:Rt(),NOT_INSTALLED:Rt(),NOT_AVAILABLE_IN_LEGACY_MODE:Rt(),REQUIRED_VALUE:Rt(),INVALID_VALUE:Rt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Rt(),NOT_INSTALLED_WITH_PROVIDE:Rt(),UNEXPECTED_ERROR:Rt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Rt(),BRIDGE_SUPPORT_VUE_2_ONLY:Rt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Rt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Rt(),__EXTEND_POINT__:Rt()};function bt(e,...t){return Gn(e,null,void 0)}const Ni=en("__translateVNode"),Ii=en("__datetimeParts"),Mi=en("__numberParts"),Jd=en("__setPluralRules"),Zd=en("__injectWithOption"),Ri=en("__dispose");function Da(e){if(!je(e)||yo(e))return e;for(const t in e)if(to(e,t))if(!t.includes("."))je(e[t])&&Da(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ve(),Kr(c,s[l])):Kr(c,s)}else _e(i)&&Kr(JSON.parse(i),s)}),a==null&&r)for(const i in s)to(s,i)&&Da(s[i]);return s}function Qd(e){return e.type}function ep(e,t,o){let n=je(t.messages)?t.messages:Ve();"__i18nGlobal"in o&&(n=Wr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(je(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(je(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function tp(e){return qe(wa,null,e,0)}const op="__INTLIFY_META__",np=()=>[],f1=()=>!1;let ap=0;function rp(e){return(t,o,n,a)=>e(o,n,mo()||void 0,a)}const h1=()=>{const e=mo();let t=null;return e&&(t=Qd(e)[op])?{[op]:t}:null};function Fi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Gr?de:yc,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:_e(e.locale)?e.locale:Un),u=s(o&&l?o.fallbackLocale.value:_e(e.fallbackLocale)||nt(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=s(Wr(c.value,e)),m=s(Ie(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=s(Ie(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Fe(e.missingWarn)||tn(e.missingWarn)?e.missingWarn:!0,b=o?o.fallbackWarn:Fe(e.fallbackWarn)||tn(e.fallbackWarn)?e.fallbackWarn:!0,x=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,v=!!e.fallbackFormat,_=Je(e.missing)?e.missing:null,d=Je(e.missing)?rp(e.missing):null,g=Je(e.postTranslation)?e.postTranslation:null,f=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const T=o?o.modifiers:Ie(e.modifiers)?e.modifiers:{};let O=e.pluralRules||o&&o.pluralRules,L;L=(()=>{a&&Rd(null);const V={version:d1,locale:c.value,fallbackLocale:u.value,messages:h.value,modifiers:T,pluralRules:O,missing:d===null?void 0:d,missingWarn:w,fallbackWarn:b,fallbackFormat:v,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:f,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};V.datetimeFormats=m.value,V.numberFormats=k.value,V.__datetimeFormatters=Ie(L)?L.__datetimeFormatters:void 0,V.__numberFormatters=Ie(L)?L.__numberFormatters:void 0;const Y=t1(V);return a&&Rd(Y),Y})(),Fa(L,c.value,u.value);function H(){return[c.value,u.value,h.value,m.value,k.value]}const z=Q({get:()=>c.value,set:V=>{c.value=V,L.locale=c.value}}),U=Q({get:()=>u.value,set:V=>{u.value=V,L.fallbackLocale=u.value,Fa(L,c.value,V)}}),R=Q(()=>h.value),N=Q(()=>m.value),E=Q(()=>k.value);function j(){return Je(g)?g:null}function J(V){g=V,L.postTranslation=V}function ce(){return _}function F(V){V!==null&&(d=rp(V)),_=V,L.missing=d}const te=(V,Y,ye,xe,Re,gt)=>{H();let it;try{__INTLIFY_PROD_DEVTOOLS__,a||(L.fallbackContext=o?e1():void 0),it=V(L)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(L.fallbackContext=void 0)}if(ye!=="translate exists"&<(it)&&it===Vr||ye==="translate exists"&&!it){const[Ko,Va]=Y();return o&&x?xe(o):Re(Ko)}else{if(gt(it))return it;throw bt(pt.UNEXPECTED_RETURN_TYPE)}};function G(...V){return te(Y=>Reflect.apply(jd,null,[Y,...V]),()=>Ti(...V),"translate",Y=>Reflect.apply(Y.t,Y,[...V]),Y=>Y,Y=>_e(Y))}function se(...V){const[Y,ye,xe]=V;if(xe&&!je(xe))throw bt(pt.INVALID_ARGUMENT);return G(Y,ye,wt({resolvedMessage:!0},xe||{}))}function he(...V){return te(Y=>Reflect.apply(Kd,null,[Y,...V]),()=>$i(...V),"datetime format",Y=>Reflect.apply(Y.d,Y,[...V]),()=>Cd,Y=>_e(Y))}function pe(...V){return te(Y=>Reflect.apply(Vd,null,[Y,...V]),()=>Pi(...V),"number format",Y=>Reflect.apply(Y.n,Y,[...V]),()=>Cd,Y=>_e(Y))}function ke(V){return V.map(Y=>_e(Y)||lt(Y)||Fe(Y)?tp(String(Y)):Y)}const we={normalize:ke,interpolate:V=>V,type:"vnode"};function ee(...V){return te(Y=>{let ye;const xe=Y;try{xe.processor=we,ye=Reflect.apply(jd,null,[xe,...V])}finally{xe.processor=null}return ye},()=>Ti(...V),"translate",Y=>Y[Ni](...V),Y=>[tp(Y)],Y=>nt(Y))}function Se(...V){return te(Y=>Reflect.apply(Vd,null,[Y,...V]),()=>Pi(...V),"number format",Y=>Y[Mi](...V),np,Y=>_e(Y)||nt(Y))}function $e(...V){return te(Y=>Reflect.apply(Kd,null,[Y,...V]),()=>$i(...V),"datetime format",Y=>Y[Ii](...V),np,Y=>_e(Y)||nt(Y))}function C(V){O=V,L.pluralRules=O}function I(V,Y){return te(()=>{if(!V)return!1;const ye=_e(Y)?Y:c.value,xe=Z(ye),Re=L.messageResolver(xe,V);return i?Re!=null:yo(Re)||Xt(Re)||_e(Re)},()=>[V],"translate exists",ye=>Reflect.apply(ye.te,ye,[V,Y]),f1,ye=>Fe(ye))}function P(V){let Y=null;const ye=Ad(L,u.value,c.value);for(let xe=0;xe{l&&(c.value=V,L.locale=V,Fa(L,c.value,u.value))}),Me(o.fallbackLocale,V=>{l&&(u.value=V,L.fallbackLocale=V,Fa(L,c.value,u.value))}));const ae={id:ap,locale:z,fallbackLocale:U,get inheritLocale(){return l},set inheritLocale(V){l=V,V&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Fa(L,c.value,u.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:R,get modifiers(){return T},get pluralRules(){return O||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(V){w=V,L.missingWarn=w},get fallbackWarn(){return b},set fallbackWarn(V){b=V,L.fallbackWarn=b},get fallbackRoot(){return x},set fallbackRoot(V){x=V},get fallbackFormat(){return v},set fallbackFormat(V){v=V,L.fallbackFormat=v},get warnHtmlMessage(){return f},set warnHtmlMessage(V){f=V,L.warnHtmlMessage=V},get escapeParameter(){return y},set escapeParameter(V){y=V,L.escapeParameter=V},t:G,getLocaleMessage:Z,setLocaleMessage:ne,mergeLocaleMessage:re,getPostTranslationHandler:j,setPostTranslationHandler:J,getMissingHandler:ce,setMissingHandler:F,[Jd]:C};return ae.datetimeFormats=N,ae.numberFormats=E,ae.rt=se,ae.te=I,ae.tm=K,ae.d=he,ae.n=pe,ae.getDateTimeFormat=ue,ae.setDateTimeFormat=A,ae.mergeDateTimeFormat=p,ae.getNumberFormat=$,ae.setNumberFormat=q,ae.mergeNumberFormat=le,ae[Zd]=n,ae[Ni]=ee,ae[Ii]=$e,ae[Mi]=Se,ae}function m1(e){const t=_e(e.locale)?e.locale:Un,o=_e(e.fallbackLocale)||nt(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Je(e.missing)?e.missing:void 0,a=Fe(e.silentTranslationWarn)||tn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Fe(e.silentFallbackWarn)||tn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ie(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Je(e.postTranslation)?e.postTranslation:void 0,h=_e(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=Fe(e.sync)?e.sync:!0;let w=e.messages;if(Ie(e.sharedMessages)){const y=e.sharedMessages;w=Object.keys(y).reduce((O,L)=>{const B=O[L]||(O[L]={});return wt(B,y[L]),O},w||{})}const{__i18n:b,__root:x,__injectWithOption:v}=e,_=e.datetimeFormats,d=e.numberFormats,g=e.flatJson,f=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:g,datetimeFormats:_,numberFormats:d,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:h,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:f,__i18n:b,__root:x,__injectWithOption:v}}function Di(e={},t){{const o=Fi(m1(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Fe(r)?!r:r},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Fe(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,h=null;if(!_e(s))throw bt(pt.INVALID_ARGUMENT);const m=s;return _e(i)?c.locale=i:nt(i)?u=i:Ie(i)&&(h=i),nt(l)?u=l:Ie(l)&&(h=l),Reflect.apply(o.t,o,[m,u||h||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,h=null;if(!_e(s))throw bt(pt.INVALID_ARGUMENT);const m=s;return _e(i)?c.locale=i:lt(i)?c.plural=i:nt(i)?u=i:Ie(i)&&(h=i),_e(l)?c.locale=l:nt(l)?u=l:Ie(l)&&(h=l),Reflect.apply(o.t,o,[m,u||h||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const Oi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function b1({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ne?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ve())}function sp(e){return Ne}const ip=ma({name:"i18n-t",props:wt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>lt(e)||!isNaN(e)}},Oi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||ut({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(h=>h!=="_"),s=Ve();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=_e(e.plural)?+e.plural:e.plural);const i=b1(t,r),l=a[Ni](e.keypath,i,s),c=wt(Ve(),n),u=_e(e.tag)||je(e.tag)?e.tag:sp();return li(u,c,l)}}});function y1(e){return nt(e)&&!_e(e[0])}function lp(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ve();e.locale&&(s.locale=e.locale),_e(e.format)?s.key=e.format:je(e.format)&&(_e(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((m,k)=>o.includes(k)?wt(Ve(),m,{[k]:e.format[k]}):m,Ve()));const l=n(e.value,s,i);let c=[s.key];nt(l)?c=l.map((m,k)=>{const w=a[m.type],b=w?w({[m.type]:m.value,index:k,parts:l}):[m.value];return y1(b)&&(b[0].key=`${m.type}-${k}`),b}):_e(l)&&(c=[l]);const u=wt(Ve(),r),h=_e(e.tag)||je(e.tag)?e.tag:sp();return li(h,u,c)}}const cp=ma({name:"i18n-n",props:wt({value:{type:Number,required:!0},format:{type:[String,Object]}},Oi),setup(e,t){const o=e.i18n||ut({useScope:e.scope,__useComponent:!0});return lp(e,t,Wd,(...n)=>o[Mi](...n))}}),up=ma({name:"i18n-d",props:wt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Oi),setup(e,t){const o=e.i18n||ut({useScope:e.scope,__useComponent:!0});return lp(e,t,Hd,(...n)=>o[Ii](...n))}});function v1(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function _1(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw bt(pt.UNEXPECTED_ERROR);const u=v1(e,i.$),h=dp(c);return[Reflect.apply(u.t,u,[...pp(h)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Gr&&e.global===c&&(s.__i18nWatcher=Me(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Gr&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=dp(i);s.textContent=Reflect.apply(l.t,l,[...pp(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function dp(e){if(_e(e))return{path:e};if(Ie(e)){if(!("path"in e))throw bt(pt.REQUIRED_VALUE,"path");return e}else throw bt(pt.INVALID_VALUE)}function pp(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return _e(o)&&(s.locale=o),lt(a)&&(s.plural=a),lt(r)&&(s.plural=r),[t,i,s]}function x1(e,t,...o){const n=Ie(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":ip.name,"I18nT"].forEach(s=>e.component(s,ip)),[cp.name,"I18nN"].forEach(s=>e.component(s,cp)),[up.name,"I18nD"].forEach(s=>e.component(s,up))),e.directive("t",_1(t))}function k1(e,t,o){return{beforeCreate(){const n=mo();if(!n)throw bt(pt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=gp(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Di(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=gp(e,a);else{this.$i18n=Di({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&ep(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=mo();if(!n)throw bt(pt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function gp(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[Jd](t.pluralizationRules||e.pluralizationRules);const o=Wr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const w1=en("global-vue-i18n");function S1(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=A1(e,o),l=en("");function c(m){return r.get(m)||null}function u(m,k){r.set(m,k)}function h(m){r.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),Ie(w[0])){const v=w[0];m.__composerExtend=v.__composerExtend,m.__vueI18nExtend=v.__vueI18nExtend}let b=null;!o&&n&&(b=M1(k,m.global)),__VUE_I18N_FULL_INSTALL__&&x1(k,m,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(k1(i,i.__composer,m));const x=k.unmount;k.unmount=()=>{b&&b(),m.dispose(),x()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:h};return m}}function ut(e={}){const t=mo();if(t==null)throw bt(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw bt(pt.NOT_INSTALLED);const o=L1(t),n=E1(o),a=Qd(t),r=C1(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw bt(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return N1(t,r,n,e)}if(r==="global")return ep(n,e,a),n;if(r==="parent"){let l=T1(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=wt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Fi(l),s.__composerExtend&&(i[Ri]=s.__composerExtend(i)),P1(s,t,i),s.__setInstance(t,i)}return i}function A1(e,t,o){const n=Rs();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Di(e)):n.run(()=>Fi(e));if(a==null)throw bt(pt.UNEXPECTED_ERROR);return[n,a]}}function L1(e){{const t=Ee(e.isCE?w1:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw bt(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function C1(e,t){return jr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function E1(e){return e.mode==="composition"?e.global:e.global.__composer}function T1(e,t,o=!1){let n=null;const a=t.root;let r=$1(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Zd]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function $1(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function P1(e,t,o){Yt(()=>{},t),_a(()=>{const n=o;e.__deleteInstance(t);const a=n[Ri];a&&(a(),delete n[Ri])},t)}function N1(e,t,o,n={}){const a=t==="local",r=yc(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw bt(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Fe(n.inheritLocale)?n.inheritLocale:!_e(n.locale),i=de(!a||s?o.locale.value:_e(n.locale)?n.locale:Un),l=de(!a||s?o.fallbackLocale.value:_e(n.fallbackLocale)||nt(n.fallbackLocale)||Ie(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Wr(i.value,n)),u=de(Ie(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),h=de(Ie(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=a?o.missingWarn:Fe(n.missingWarn)||tn(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:Fe(n.fallbackWarn)||tn(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,b=!!n.fallbackFormat,x=Je(n.missing)?n.missing:null,v=Je(n.postTranslation)?n.postTranslation:null,_=a?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,g=a?o.modifiers:Ie(n.modifiers)?n.modifiers:{},f=n.pluralRules||a&&o.pluralRules;function y(){return[i.value,l.value,c.value,u.value,h.value]}const T=Q({get:()=>r.value?r.value.locale.value:i.value,set:P=>{r.value&&(r.value.locale.value=P),i.value=P}}),O=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:P=>{r.value&&(r.value.fallbackLocale.value=P),l.value=P}}),L=Q(()=>r.value?r.value.messages.value:c.value),B=Q(()=>u.value),H=Q(()=>h.value);function z(){return r.value?r.value.getPostTranslationHandler():v}function U(P){r.value&&r.value.setPostTranslationHandler(P)}function R(){return r.value?r.value.getMissingHandler():x}function N(P){r.value&&r.value.setMissingHandler(P)}function E(P){return y(),P()}function j(...P){return r.value?E(()=>Reflect.apply(r.value.t,null,[...P])):E(()=>"")}function J(...P){return r.value?Reflect.apply(r.value.rt,null,[...P]):""}function ce(...P){return r.value?E(()=>Reflect.apply(r.value.d,null,[...P])):E(()=>"")}function F(...P){return r.value?E(()=>Reflect.apply(r.value.n,null,[...P])):E(()=>"")}function te(P){return r.value?r.value.tm(P):{}}function G(P,K){return r.value?r.value.te(P,K):!1}function se(P){return r.value?r.value.getLocaleMessage(P):{}}function he(P,K){r.value&&(r.value.setLocaleMessage(P,K),c.value[P]=K)}function pe(P,K){r.value&&r.value.mergeLocaleMessage(P,K)}function ke(P){return r.value?r.value.getDateTimeFormat(P):{}}function fe(P,K){r.value&&(r.value.setDateTimeFormat(P,K),u.value[P]=K)}function we(P,K){r.value&&r.value.mergeDateTimeFormat(P,K)}function ee(P){return r.value?r.value.getNumberFormat(P):{}}function Se(P,K){r.value&&(r.value.setNumberFormat(P,K),h.value[P]=K)}function $e(P,K){r.value&&r.value.mergeNumberFormat(P,K)}const C={get id(){return r.value?r.value.id:-1},locale:T,fallbackLocale:O,messages:L,datetimeFormats:B,numberFormats:H,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(P){r.value&&(r.value.inheritLocale=P)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:g},get pluralRules(){return r.value?r.value.pluralRules:f},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:m},set missingWarn(P){r.value&&(r.value.missingWarn=P)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn(P){r.value&&(r.value.missingWarn=P)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(P){r.value&&(r.value.fallbackRoot=P)},get fallbackFormat(){return r.value?r.value.fallbackFormat:b},set fallbackFormat(P){r.value&&(r.value.fallbackFormat=P)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:_},set warnHtmlMessage(P){r.value&&(r.value.warnHtmlMessage=P)},get escapeParameter(){return r.value?r.value.escapeParameter:d},set escapeParameter(P){r.value&&(r.value.escapeParameter=P)},t:j,getPostTranslationHandler:z,setPostTranslationHandler:U,getMissingHandler:R,setMissingHandler:N,rt:J,d:ce,n:F,tm:te,te:G,getLocaleMessage:se,setLocaleMessage:he,mergeLocaleMessage:pe,getDateTimeFormat:ke,setDateTimeFormat:fe,mergeDateTimeFormat:we,getNumberFormat:ee,setNumberFormat:Se,mergeNumberFormat:$e};function I(P){P.locale.value=i.value,P.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{P.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{P.mergeDateTimeFormat(K,u.value[K])}),Object.keys(h.value).forEach(K=>{P.mergeNumberFormat(K,h.value[K])}),P.escapeParameter=d,P.fallbackFormat=b,P.fallbackRoot=w,P.fallbackWarn=k,P.missingWarn=m,P.warnHtmlMessage=_}return Bc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw bt(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const P=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=P.locale.value,l.value=P.fallbackLocale.value,c.value=P.messages.value,u.value=P.datetimeFormats.value,h.value=P.numberFormats.value):a&&I(P)}),C}const I1=["locale","fallbackLocale","availableLocales"],fp=["t","rt","d","n","tm","te"];function M1(e,t){const o=Object.create(null);return I1.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw bt(pt.UNEXPECTED_ERROR);const s=ot(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,fp.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw bt(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,fp.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(p1(),__INTLIFY_JIT_COMPILATION__?$d(s1):$d(r1),X0($0),J0(Ad),__INTLIFY_PROD_DEVTOOLS__){const e=Oo();e.__INTLIFY__=!0,B0(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const R1=Object.assign({"./locales/ar/aria.json":jm,"./locales/ar/buttons.json":zm,"./locales/ar/detail.json":Um,"./locales/ar/legend.json":Km,"./locales/ar/messages.json":Hm,"./locales/ar/options.json":qm,"./locales/ar/prayerLaps.json":Vm,"./locales/ar/search.json":Wm,"./locales/ar/tabs.json":Ym,"./locales/de/aria.json":Xm,"./locales/de/buttons.json":Jm,"./locales/de/detail.json":Zm,"./locales/de/legend.json":Qm,"./locales/de/messages.json":eb,"./locales/de/options.json":tb,"./locales/de/prayerLaps.json":ob,"./locales/de/search.json":nb,"./locales/de/tabs.json":ab,"./locales/en/aria.json":rb,"./locales/en/buttons.json":sb,"./locales/en/detail.json":ib,"./locales/en/legend.json":lb,"./locales/en/messages.json":cb,"./locales/en/options.json":ub,"./locales/en/popup.json":db,"./locales/en/prayerLaps.json":pb,"./locales/en/search.json":gb,"./locales/en/tabs.json":fb,"./locales/es/aria.json":hb,"./locales/es/buttons.json":mb,"./locales/es/detail.json":bb,"./locales/es/legend.json":yb,"./locales/es/messages.json":vb,"./locales/es/options.json":_b,"./locales/es/prayerLaps.json":xb,"./locales/es/search.json":kb,"./locales/es/tabs.json":wb,"./locales/fr/aria.json":Sb,"./locales/fr/buttons.json":Ab,"./locales/fr/detail.json":Lb,"./locales/fr/legend.json":Cb,"./locales/fr/messages.json":Eb,"./locales/fr/options.json":Tb,"./locales/fr/popup.json":$b,"./locales/fr/prayerLaps.json":Pb,"./locales/fr/search.json":Nb,"./locales/fr/tabs.json":Ib,"./locales/hi/aria.json":Mb,"./locales/hi/buttons.json":Rb,"./locales/hi/detail.json":Fb,"./locales/hi/legend.json":Db,"./locales/hi/messages.json":Ob,"./locales/hi/options.json":Bb,"./locales/hi/prayerLaps.json":Gb,"./locales/hi/search.json":jb,"./locales/it/aria.json":zb,"./locales/it/buttons.json":Ub,"./locales/it/detail.json":Kb,"./locales/it/legend.json":Hb,"./locales/it/messages.json":qb,"./locales/it/options.json":Vb,"./locales/it/prayerLaps.json":Wb,"./locales/it/search.json":Yb,"./locales/pt/aria.json":Xb,"./locales/pt/buttons.json":Jb,"./locales/pt/detail.json":Zb,"./locales/pt/legend.json":Qb,"./locales/pt/messages.json":ey,"./locales/pt/options.json":ty,"./locales/pt/prayerLaps.json":oy,"./locales/pt/search.json":ny,"./locales/pt/tabs.json":ay,"./locales/ro/aria.json":ry,"./locales/ro/buttons.json":sy,"./locales/ro/detail.json":iy,"./locales/ro/legend.json":ly,"./locales/ro/messages.json":cy,"./locales/ro/options.json":uy,"./locales/ro/prayerLaps.json":dy,"./locales/ro/search.json":py,"./locales/ru/aria.json":gy,"./locales/ru/buttons.json":fy,"./locales/ru/detail.json":hy,"./locales/ru/legend.json":my,"./locales/ru/messages.json":by,"./locales/ru/options.json":yy,"./locales/ru/prayerLaps.json":vy,"./locales/ru/search.json":_y,"./locales/ru/tabs.json":xy,"./locales/zh/aria.json":ky,"./locales/zh/buttons.json":wy,"./locales/zh/detail.json":Sy,"./locales/zh/legend.json":Ay,"./locales/zh/messages.json":Ly,"./locales/zh/options.json":Cy,"./locales/zh/prayerLaps.json":Ey,"./locales/zh/search.json":Ty}),Oa={};for(const[e,t]of Object.entries(R1)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Oa[n]??(Oa[n]={}),Oa[n][a]=t}const Bi=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function F1(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Bi.includes(t)?t:"en"}function D1(){return S1({legacy:!1,globalInjection:!0,locale:F1(),fallbackLocale:"en",messages:Oa,missingWarn:!1,fallbackWarn:!1})}function yt(e,t){const o=t||O1(e);Yt(()=>{var i;const n=mo();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function O1(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=Q(()=>{var w;return((w=o==null?void 0:o.value)==null?void 0:w.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=de(!1);let s=null,i=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function h(){try{sessionStorage.setItem(c(),"1")}catch{}}function m(){r.value&&(r.value=!1,h(),l&&(l.removeEventListener("pointerdown",k,!0),l=null),s&&(clearTimeout(s),s=null))}function k(){m()}return Yt(()=>{var v,_,d;if(u())return;const w=mo(),b=(d=(_=(v=w==null?void 0:w.proxy)==null?void 0:v.$el)==null?void 0:_.getRootNode)==null?void 0:d.call(_);if(!b||typeof b.querySelector!="function")return;let x=0;i=setInterval(()=>{x++,b.querySelector("canvas")?(clearInterval(i),i=null,r.value=!0,l=b,b.addEventListener("pointerdown",k,!0),s=setTimeout(m,14e3)):x>40&&(clearInterval(i),i=null)},300)}),go(()=>{i&&clearInterval(i),s&&clearTimeout(s),l&&l.removeEventListener("pointerdown",k,!0)}),yt(` + */const p1="9.14.5";function g1(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Bo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Bo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Bo().__INTLIFY_PROD_DEVTOOLS__=!1)}const f1=H0.__EXTEND_POINT__,jo=Ur(f1);jo(),jo(),jo(),jo(),jo(),jo(),jo(),jo(),jo();const Jd=no.__EXTEND_POINT__,Rt=Ur(Jd),gt={UNEXPECTED_RETURN_TYPE:Jd,INVALID_ARGUMENT:Rt(),MUST_BE_CALL_SETUP_TOP:Rt(),NOT_INSTALLED:Rt(),NOT_AVAILABLE_IN_LEGACY_MODE:Rt(),REQUIRED_VALUE:Rt(),INVALID_VALUE:Rt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Rt(),NOT_INSTALLED_WITH_PROVIDE:Rt(),UNEXPECTED_ERROR:Rt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Rt(),BRIDGE_SUPPORT_VUE_2_ONLY:Rt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Rt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Rt(),__EXTEND_POINT__:Rt()};function bt(e,...t){return jn(e,null,void 0)}const Ni=en("__translateVNode"),Ii=en("__datetimeParts"),Mi=en("__numberParts"),Zd=en("__setPluralRules"),Qd=en("__injectWithOption"),Ri=en("__dispose");function Oa(e){if(!Ue(e)||vo(e))return e;for(const t in e)if(to(e,t))if(!t.includes("."))Ue(e[t])&&Oa(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ye(),Hr(c,s[l])):Hr(c,s)}else xe(i)&&Hr(JSON.parse(i),s)}),a==null&&r)for(const i in s)to(s,i)&&Oa(s[i]);return s}function ep(e){return e.type}function tp(e,t,o){let n=Ue(t.messages)?t.messages:Ye();"__i18nGlobal"in o&&(n=Yr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ue(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ue(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function op(e){return We(Sa,null,e,0)}const np="__INTLIFY_META__",ap=()=>[],h1=()=>!1;let rp=0;function sp(e){return(t,o,n,a)=>e(o,n,bo()||void 0,a)}const m1=()=>{const e=bo();let t=null;return e&&(t=ep(e)[np])?{[np]:t}:null};function Fi(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=jr?de:vc,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:xe(e.locale)?e.locale:Kn),u=s(o&&l?o.fallbackLocale.value:xe(e.fallbackLocale)||rt(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=s(Yr(c.value,e)),m=s(Ie(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=s(Ie(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Fe(e.missingWarn)||tn(e.missingWarn)?e.missingWarn:!0,h=o?o.fallbackWarn:Fe(e.fallbackWarn)||tn(e.fallbackWarn)?e.fallbackWarn:!0,_=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,b=!!e.fallbackFormat,v=Qe(e.missing)?e.missing:null,d=Qe(e.missing)?sp(e.missing):null,p=Qe(e.postTranslation)?e.postTranslation:null,g=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const I=o?o.modifiers:Ie(e.modifiers)?e.modifiers:{};let D=e.pluralRules||o&&o.pluralRules,x;x=(()=>{a&&Fd(null);const q={version:p1,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:I,pluralRules:D,missing:d===null?void 0:d,missingWarn:w,fallbackWarn:h,fallbackFormat:b,unresolving:!0,postTranslation:p===null?void 0:p,warnHtmlMessage:g,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};q.datetimeFormats=m.value,q.numberFormats=k.value,q.__datetimeFormatters=Ie(x)?x.__datetimeFormatters:void 0,q.__numberFormatters=Ie(x)?x.__numberFormatters:void 0;const Y=o1(q);return a&&Fd(Y),Y})(),Da(x,c.value,u.value);function V(){return[c.value,u.value,f.value,m.value,k.value]}const j=oe({get:()=>c.value,set:q=>{c.value=q,x.locale=c.value}}),U=oe({get:()=>u.value,set:q=>{u.value=q,x.fallbackLocale=u.value,Da(x,c.value,q)}}),R=oe(()=>f.value),M=oe(()=>m.value),E=oe(()=>k.value);function B(){return Qe(p)?p:null}function J(q){p=q,x.postTranslation=q}function ce(){return v}function F(q){q!==null&&(d=sp(q)),v=q,x.missing=d}const ne=(q,Y,be,ye,Me,je)=>{V();let ze;try{__INTLIFY_PROD_DEVTOOLS__,a||(x.fallbackContext=o?t1():void 0),ze=q(x)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(x.fallbackContext=void 0)}if(be!=="translate exists"&&ct(ze)&&ze===Wr||be==="translate exists"&&!ze){const[so,Wa]=Y();return o&&_?ye(o):Me(so)}else{if(je(ze))return ze;throw bt(gt.UNEXPECTED_RETURN_TYPE)}};function z(...q){return ne(Y=>Reflect.apply(zd,null,[Y,...q]),()=>Ti(...q),"translate",Y=>Reflect.apply(Y.t,Y,[...q]),Y=>Y,Y=>xe(Y))}function ie(...q){const[Y,be,ye]=q;if(ye&&!Ue(ye))throw bt(gt.INVALID_ARGUMENT);return z(Y,be,wt({resolvedMessage:!0},ye||{}))}function fe(...q){return ne(Y=>Reflect.apply(Hd,null,[Y,...q]),()=>$i(...q),"datetime format",Y=>Reflect.apply(Y.d,Y,[...q]),()=>Ed,Y=>xe(Y))}function pe(...q){return ne(Y=>Reflect.apply(Wd,null,[Y,...q]),()=>Pi(...q),"number format",Y=>Reflect.apply(Y.n,Y,[...q]),()=>Ed,Y=>xe(Y))}function ke(q){return q.map(Y=>xe(Y)||ct(Y)||Fe(Y)?op(String(Y)):Y)}const Se={normalize:ke,interpolate:q=>q,type:"vnode"};function Q(...q){return ne(Y=>{let be;const ye=Y;try{ye.processor=Se,be=Reflect.apply(zd,null,[ye,...q])}finally{ye.processor=null}return be},()=>Ti(...q),"translate",Y=>Y[Ni](...q),Y=>[op(Y)],Y=>rt(Y))}function we(...q){return ne(Y=>Reflect.apply(Wd,null,[Y,...q]),()=>Pi(...q),"number format",Y=>Y[Mi](...q),ap,Y=>xe(Y)||rt(Y))}function $e(...q){return ne(Y=>Reflect.apply(Hd,null,[Y,...q]),()=>$i(...q),"datetime format",Y=>Y[Ii](...q),ap,Y=>xe(Y)||rt(Y))}function C(q){D=q,x.pluralRules=D}function P(q,Y){return ne(()=>{if(!q)return!1;const be=xe(Y)?Y:c.value,ye=ee(be),Me=x.messageResolver(ye,q);return i?Me!=null:vo(Me)||Xt(Me)||xe(Me)},()=>[q],"translate exists",be=>Reflect.apply(be.te,be,[q,Y]),h1,be=>Fe(be))}function $(q){let Y=null;const be=Ld(x,u.value,c.value);for(let ye=0;ye{l&&(c.value=q,x.locale=q,Da(x,c.value,u.value))}),Re(o.fallbackLocale,q=>{l&&(u.value=q,x.fallbackLocale=q,Da(x,c.value,u.value))}));const te={id:rp,locale:j,fallbackLocale:U,get inheritLocale(){return l},set inheritLocale(q){l=q,q&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Da(x,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:R,get modifiers(){return I},get pluralRules(){return D||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(q){w=q,x.missingWarn=w},get fallbackWarn(){return h},set fallbackWarn(q){h=q,x.fallbackWarn=h},get fallbackRoot(){return _},set fallbackRoot(q){_=q},get fallbackFormat(){return b},set fallbackFormat(q){b=q,x.fallbackFormat=b},get warnHtmlMessage(){return g},set warnHtmlMessage(q){g=q,x.warnHtmlMessage=q},get escapeParameter(){return y},set escapeParameter(q){y=q,x.escapeParameter=q},t:z,getLocaleMessage:ee,setLocaleMessage:re,mergeLocaleMessage:se,getPostTranslationHandler:B,setPostTranslationHandler:J,getMissingHandler:ce,setMissingHandler:F,[Zd]:C};return te.datetimeFormats=M,te.numberFormats=E,te.rt=ie,te.te=P,te.tm=K,te.d=fe,te.n=pe,te.getDateTimeFormat=ue,te.setDateTimeFormat=L,te.mergeDateTimeFormat=S,te.getNumberFormat=Z,te.setNumberFormat=T,te.mergeNumberFormat=H,te[Qd]=n,te[Ni]=Q,te[Ii]=$e,te[Mi]=we,te}function b1(e){const t=xe(e.locale)?e.locale:Kn,o=xe(e.fallbackLocale)||rt(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Qe(e.missing)?e.missing:void 0,a=Fe(e.silentTranslationWarn)||tn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Fe(e.silentFallbackWarn)||tn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ie(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Qe(e.postTranslation)?e.postTranslation:void 0,f=xe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=Fe(e.sync)?e.sync:!0;let w=e.messages;if(Ie(e.sharedMessages)){const y=e.sharedMessages;w=Object.keys(y).reduce((D,x)=>{const G=D[x]||(D[x]={});return wt(G,y[x]),D},w||{})}const{__i18n:h,__root:_,__injectWithOption:b}=e,v=e.datetimeFormats,d=e.numberFormats,p=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:p,datetimeFormats:v,numberFormats:d,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:g,__i18n:h,__root:_,__injectWithOption:b}}function Di(e={},t){{const o=Fi(b1(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Fe(r)?!r:r},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Fe(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,f=null;if(!xe(s))throw bt(gt.INVALID_ARGUMENT);const m=s;return xe(i)?c.locale=i:rt(i)?u=i:Ie(i)&&(f=i),rt(l)?u=l:Ie(l)&&(f=l),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,f=null;if(!xe(s))throw bt(gt.INVALID_ARGUMENT);const m=s;return xe(i)?c.locale=i:ct(i)?c.plural=i:rt(i)?u=i:Ie(i)&&(f=i),xe(l)?c.locale=l:rt(l)?u=l:Ie(l)&&(f=l),Reflect.apply(o.t,o,[m,u||f||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const Oi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function y1({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ne?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ye())}function ip(e){return Ne}const lp=ba({name:"i18n-t",props:wt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ct(e)||!isNaN(e)}},Oi),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||dt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(f=>f!=="_"),s=Ye();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=xe(e.plural)?+e.plural:e.plural);const i=y1(t,r),l=a[Ni](e.keypath,i,s),c=wt(Ye(),n),u=xe(e.tag)||Ue(e.tag)?e.tag:ip();return li(u,c,l)}}});function v1(e){return rt(e)&&!xe(e[0])}function cp(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ye();e.locale&&(s.locale=e.locale),xe(e.format)?s.key=e.format:Ue(e.format)&&(xe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((m,k)=>o.includes(k)?wt(Ye(),m,{[k]:e.format[k]}):m,Ye()));const l=n(e.value,s,i);let c=[s.key];rt(l)?c=l.map((m,k)=>{const w=a[m.type],h=w?w({[m.type]:m.value,index:k,parts:l}):[m.value];return v1(h)&&(h[0].key=`${m.type}-${k}`),h}):xe(l)&&(c=[l]);const u=wt(Ye(),r),f=xe(e.tag)||Ue(e.tag)?e.tag:ip();return li(f,u,c)}}const up=ba({name:"i18n-n",props:wt({value:{type:Number,required:!0},format:{type:[String,Object]}},Oi),setup(e,t){const o=e.i18n||dt({useScope:e.scope,__useComponent:!0});return cp(e,t,Yd,(...n)=>o[Mi](...n))}}),dp=ba({name:"i18n-d",props:wt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Oi),setup(e,t){const o=e.i18n||dt({useScope:e.scope,__useComponent:!0});return cp(e,t,qd,(...n)=>o[Ii](...n))}});function _1(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function x1(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw bt(gt.UNEXPECTED_ERROR);const u=_1(e,i.$),f=pp(c);return[Reflect.apply(u.t,u,[...gp(f)]),u]};return{created:(s,i)=>{const[l,c]=t(i);jr&&e.global===c&&(s.__i18nWatcher=Re(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{jr&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=pp(i);s.textContent=Reflect.apply(l.t,l,[...gp(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function pp(e){if(xe(e))return{path:e};if(Ie(e)){if(!("path"in e))throw bt(gt.REQUIRED_VALUE,"path");return e}else throw bt(gt.INVALID_VALUE)}function gp(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return xe(o)&&(s.locale=o),ct(a)&&(s.plural=a),ct(r)&&(s.plural=r),[t,i,s]}function k1(e,t,...o){const n=Ie(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":lp.name,"I18nT"].forEach(s=>e.component(s,lp)),[up.name,"I18nN"].forEach(s=>e.component(s,up)),[dp.name,"I18nD"].forEach(s=>e.component(s,dp))),e.directive("t",x1(t))}function w1(e,t,o){return{beforeCreate(){const n=bo();if(!n)throw bt(gt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=fp(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Di(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=fp(e,a);else{this.$i18n=Di({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&tp(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=bo();if(!n)throw bt(gt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function fp(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[Zd](t.pluralizationRules||e.pluralizationRules);const o=Yr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const S1=en("global-vue-i18n");function A1(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=L1(e,o),l=en("");function c(m){return r.get(m)||null}function u(m,k){r.set(m,k)}function f(m){r.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),Ie(w[0])){const b=w[0];m.__composerExtend=b.__composerExtend,m.__vueI18nExtend=b.__vueI18nExtend}let h=null;!o&&n&&(h=R1(k,m.global)),__VUE_I18N_FULL_INSTALL__&&k1(k,m,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(w1(i,i.__composer,m));const _=k.unmount;k.unmount=()=>{h&&h(),m.dispose(),_()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function dt(e={}){const t=bo();if(t==null)throw bt(gt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw bt(gt.NOT_INSTALLED);const o=C1(t),n=T1(o),a=ep(t),r=E1(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw bt(gt.NOT_AVAILABLE_IN_LEGACY_MODE);return I1(t,r,n,e)}if(r==="global")return tp(n,e,a),n;if(r==="parent"){let l=$1(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=wt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Fi(l),s.__composerExtend&&(i[Ri]=s.__composerExtend(i)),N1(s,t,i),s.__setInstance(t,i)}return i}function L1(e,t,o){const n=Rs();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Di(e)):n.run(()=>Fi(e));if(a==null)throw bt(gt.UNEXPECTED_ERROR);return[n,a]}}function C1(e){{const t=Ee(e.isCE?S1:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw bt(e.isCE?gt.NOT_INSTALLED_WITH_PROVIDE:gt.UNEXPECTED_ERROR);return t}}function E1(e,t){return zr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function T1(e){return e.mode==="composition"?e.global:e.global.__composer}function $1(e,t,o=!1){let n=null;const a=t.root;let r=P1(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Qd]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function P1(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function N1(e,t,o){Yt(()=>{},t),xa(()=>{const n=o;e.__deleteInstance(t);const a=n[Ri];a&&(a(),delete n[Ri])},t)}function I1(e,t,o,n={}){const a=t==="local",r=vc(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw bt(gt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Fe(n.inheritLocale)?n.inheritLocale:!xe(n.locale),i=de(!a||s?o.locale.value:xe(n.locale)?n.locale:Kn),l=de(!a||s?o.fallbackLocale.value:xe(n.fallbackLocale)||rt(n.fallbackLocale)||Ie(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Yr(i.value,n)),u=de(Ie(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=de(Ie(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=a?o.missingWarn:Fe(n.missingWarn)||tn(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:Fe(n.fallbackWarn)||tn(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,h=!!n.fallbackFormat,_=Qe(n.missing)?n.missing:null,b=Qe(n.postTranslation)?n.postTranslation:null,v=a?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,p=a?o.modifiers:Ie(n.modifiers)?n.modifiers:{},g=n.pluralRules||a&&o.pluralRules;function y(){return[i.value,l.value,c.value,u.value,f.value]}const I=oe({get:()=>r.value?r.value.locale.value:i.value,set:$=>{r.value&&(r.value.locale.value=$),i.value=$}}),D=oe({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:$=>{r.value&&(r.value.fallbackLocale.value=$),l.value=$}}),x=oe(()=>r.value?r.value.messages.value:c.value),G=oe(()=>u.value),V=oe(()=>f.value);function j(){return r.value?r.value.getPostTranslationHandler():b}function U($){r.value&&r.value.setPostTranslationHandler($)}function R(){return r.value?r.value.getMissingHandler():_}function M($){r.value&&r.value.setMissingHandler($)}function E($){return y(),$()}function B(...$){return r.value?E(()=>Reflect.apply(r.value.t,null,[...$])):E(()=>"")}function J(...$){return r.value?Reflect.apply(r.value.rt,null,[...$]):""}function ce(...$){return r.value?E(()=>Reflect.apply(r.value.d,null,[...$])):E(()=>"")}function F(...$){return r.value?E(()=>Reflect.apply(r.value.n,null,[...$])):E(()=>"")}function ne($){return r.value?r.value.tm($):{}}function z($,K){return r.value?r.value.te($,K):!1}function ie($){return r.value?r.value.getLocaleMessage($):{}}function fe($,K){r.value&&(r.value.setLocaleMessage($,K),c.value[$]=K)}function pe($,K){r.value&&r.value.mergeLocaleMessage($,K)}function ke($){return r.value?r.value.getDateTimeFormat($):{}}function he($,K){r.value&&(r.value.setDateTimeFormat($,K),u.value[$]=K)}function Se($,K){r.value&&r.value.mergeDateTimeFormat($,K)}function Q($){return r.value?r.value.getNumberFormat($):{}}function we($,K){r.value&&(r.value.setNumberFormat($,K),f.value[$]=K)}function $e($,K){r.value&&r.value.mergeNumberFormat($,K)}const C={get id(){return r.value?r.value.id:-1},locale:I,fallbackLocale:D,messages:x,datetimeFormats:G,numberFormats:V,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale($){r.value&&(r.value.inheritLocale=$)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:p},get pluralRules(){return r.value?r.value.pluralRules:g},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:m},set missingWarn($){r.value&&(r.value.missingWarn=$)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn($){r.value&&(r.value.missingWarn=$)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot($){r.value&&(r.value.fallbackRoot=$)},get fallbackFormat(){return r.value?r.value.fallbackFormat:h},set fallbackFormat($){r.value&&(r.value.fallbackFormat=$)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:v},set warnHtmlMessage($){r.value&&(r.value.warnHtmlMessage=$)},get escapeParameter(){return r.value?r.value.escapeParameter:d},set escapeParameter($){r.value&&(r.value.escapeParameter=$)},t:B,getPostTranslationHandler:j,setPostTranslationHandler:U,getMissingHandler:R,setMissingHandler:M,rt:J,d:ce,n:F,tm:ne,te:z,getLocaleMessage:ie,setLocaleMessage:fe,mergeLocaleMessage:pe,getDateTimeFormat:ke,setDateTimeFormat:he,mergeDateTimeFormat:Se,getNumberFormat:Q,setNumberFormat:we,mergeNumberFormat:$e};function P($){$.locale.value=i.value,$.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{$.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{$.mergeDateTimeFormat(K,u.value[K])}),Object.keys(f.value).forEach(K=>{$.mergeNumberFormat(K,f.value[K])}),$.escapeParameter=d,$.fallbackFormat=h,$.fallbackRoot=w,$.fallbackWarn=k,$.missingWarn=m,$.warnHtmlMessage=v}return Gc(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw bt(gt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const $=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=$.locale.value,l.value=$.fallbackLocale.value,c.value=$.messages.value,u.value=$.datetimeFormats.value,f.value=$.numberFormats.value):a&&P($)}),C}const M1=["locale","fallbackLocale","availableLocales"],hp=["t","rt","d","n","tm","te"];function R1(e,t){const o=Object.create(null);return M1.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw bt(gt.UNEXPECTED_ERROR);const s=at(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,hp.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw bt(gt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,hp.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(g1(),__INTLIFY_JIT_COMPILATION__?Pd(i1):Pd(s1),J0(P0),Z0(Ld),__INTLIFY_PROD_DEVTOOLS__){const e=Bo();e.__INTLIFY__=!0,G0(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const F1=Object.assign({"./locales/ar/aria.json":zm,"./locales/ar/buttons.json":Um,"./locales/ar/detail.json":Km,"./locales/ar/legend.json":Hm,"./locales/ar/messages.json":qm,"./locales/ar/options.json":Vm,"./locales/ar/prayerLaps.json":Wm,"./locales/ar/search.json":Ym,"./locales/ar/tabs.json":Xm,"./locales/de/aria.json":Jm,"./locales/de/buttons.json":Zm,"./locales/de/detail.json":Qm,"./locales/de/legend.json":eb,"./locales/de/messages.json":tb,"./locales/de/options.json":ob,"./locales/de/prayerLaps.json":nb,"./locales/de/search.json":ab,"./locales/de/tabs.json":rb,"./locales/en/aria.json":sb,"./locales/en/buttons.json":ib,"./locales/en/detail.json":lb,"./locales/en/legend.json":cb,"./locales/en/messages.json":ub,"./locales/en/options.json":db,"./locales/en/popup.json":pb,"./locales/en/prayerLaps.json":gb,"./locales/en/search.json":fb,"./locales/en/tabs.json":hb,"./locales/es/aria.json":mb,"./locales/es/buttons.json":bb,"./locales/es/detail.json":yb,"./locales/es/legend.json":vb,"./locales/es/messages.json":_b,"./locales/es/options.json":xb,"./locales/es/prayerLaps.json":kb,"./locales/es/search.json":wb,"./locales/es/tabs.json":Sb,"./locales/fr/aria.json":Ab,"./locales/fr/buttons.json":Lb,"./locales/fr/detail.json":Cb,"./locales/fr/legend.json":Eb,"./locales/fr/messages.json":Tb,"./locales/fr/options.json":$b,"./locales/fr/popup.json":Pb,"./locales/fr/prayerLaps.json":Nb,"./locales/fr/search.json":Ib,"./locales/fr/tabs.json":Mb,"./locales/hi/aria.json":Rb,"./locales/hi/buttons.json":Fb,"./locales/hi/detail.json":Db,"./locales/hi/legend.json":Ob,"./locales/hi/messages.json":Bb,"./locales/hi/options.json":Gb,"./locales/hi/prayerLaps.json":jb,"./locales/hi/search.json":zb,"./locales/it/aria.json":Ub,"./locales/it/buttons.json":Kb,"./locales/it/detail.json":Hb,"./locales/it/legend.json":qb,"./locales/it/messages.json":Vb,"./locales/it/options.json":Wb,"./locales/it/prayerLaps.json":Yb,"./locales/it/search.json":Xb,"./locales/pt/aria.json":Jb,"./locales/pt/buttons.json":Zb,"./locales/pt/detail.json":Qb,"./locales/pt/legend.json":ey,"./locales/pt/messages.json":ty,"./locales/pt/options.json":oy,"./locales/pt/prayerLaps.json":ny,"./locales/pt/search.json":ay,"./locales/pt/tabs.json":ry,"./locales/ro/aria.json":sy,"./locales/ro/buttons.json":iy,"./locales/ro/detail.json":ly,"./locales/ro/legend.json":cy,"./locales/ro/messages.json":uy,"./locales/ro/options.json":dy,"./locales/ro/prayerLaps.json":py,"./locales/ro/search.json":gy,"./locales/ru/aria.json":fy,"./locales/ru/buttons.json":hy,"./locales/ru/detail.json":my,"./locales/ru/legend.json":by,"./locales/ru/messages.json":yy,"./locales/ru/options.json":vy,"./locales/ru/prayerLaps.json":_y,"./locales/ru/search.json":xy,"./locales/ru/tabs.json":ky,"./locales/zh/aria.json":wy,"./locales/zh/buttons.json":Sy,"./locales/zh/detail.json":Ay,"./locales/zh/legend.json":Ly,"./locales/zh/messages.json":Cy,"./locales/zh/options.json":Ey,"./locales/zh/prayerLaps.json":Ty,"./locales/zh/search.json":$y}),Ba={};for(const[e,t]of Object.entries(F1)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;Ba[n]??(Ba[n]={}),Ba[n][a]=t}const Bi=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function D1(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Bi.includes(t)?t:"en"}function O1(){return A1({legacy:!1,globalInjection:!0,locale:D1(),fallbackLocale:"en",messages:Ba,missingWarn:!1,fallbackWarn:!1})}function yt(e,t){const o=t||B1(e);Yt(()=>{var i;const n=bo();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function B1(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=oe(()=>{var w;return((w=o==null?void 0:o.value)==null?void 0:w.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=de(!1);let s=null,i=null,l=null;function c(){return"doxa-pin-hint-seen"}function u(){try{return sessionStorage.getItem(c())==="1"}catch{return!1}}function f(){try{sessionStorage.setItem(c(),"1")}catch{}}function m(){r.value&&(r.value=!1,f(),l&&(l.removeEventListener("pointerdown",k,!0),l=null),s&&(clearTimeout(s),s=null))}function k(){m()}return Yt(()=>{var b,v,d;if(u())return;const w=bo(),h=(d=(v=(b=w==null?void 0:w.proxy)==null?void 0:b.$el)==null?void 0:v.getRootNode)==null?void 0:d.call(v);if(!h||typeof h.querySelector!="function")return;let _=0;i=setInterval(()=>{_++,h.querySelector("canvas")?(clearInterval(i),i=null,r.value=!0,l=h,h.addEventListener("pointerdown",k,!0),s=setTimeout(m,14e3)):_>40&&(clearInterval(i),i=null)},300)}),fo(()=>{i&&clearInterval(i),s&&clearTimeout(s),l&&l.removeEventListener("pointerdown",k,!0)}),yt(` .pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 2147482000; pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; @@ -68,7 +68,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(w,b)=>r.value?(W(),oe("div",{key:0,class:Le(["pin-hint",{dark:n.value}]),role:"status"},[S("span",B1,[b[0]||(b[0]=S("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ct(" "+me(a.value)+" ",1),S("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):ve("",!0)}},Yr="mapbox://styles/mapbox/standard",j1=Yr,z1=Yr,U1=!1,Gi={lightPreset:"night",theme:"default"};function K1(e){let t=!1;function o(){return!1}function n(){return o()?"night":"day"}function a(){return Yr}function r(i){if(!i)return;const l=()=>{{try{i.setConfigProperty("basemap","lightPreset",Gi.lightPreset),i.setConfigProperty("basemap","theme",Gi.theme)}catch(c){console.warn("[useMapTheme] setConfigProperty failed:",c)}return}};if(l(),!t){t=!0;try{i.once("idle",()=>{t=!1,l()})}catch{t=!1}}}function s(i){e.toggleTheme(),r(i)}return{STANDARD_STYLE:Yr,LIGHT_STYLE:j1,DARK_STYLE:z1,isDarkTheme:o,lightPreset:n,bootStyle:a,applyTheme:r,swapTheme:s}}let H1=0;const q1=vi("ui",{state:()=>({_storeInstanceId:++H1,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),V1=vi("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),W1=vi("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=ua({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=ua({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),kn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Ft=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Y1={class:"profile-loader"},X1={key:0,class:"profile-error"},J1={key:1,class:"profile-error"},Z1=Ft({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var d;const o=e,n=Q(()=>{if(!o.profileConfig)return null;try{return JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}}),a=Q(()=>{var g;return((g=n.value)==null?void 0:g.profile)||null}),r=Q(()=>{var g;return((g=n.value)==null?void 0:g.tk)||""}),s=Q(()=>{var g;return((g=n.value)==null?void 0:g.dataSource)||kn.activeSource||"doxa-csv"}),i=Q(()=>{var g;return((g=n.value)==null?void 0:g.colorSet)||"default"}),l=Q(()=>!1),c=Q(()=>{var g;return((g=n.value)==null?void 0:g.pinHint)!==!1}),u=Q(()=>{var f,y;const g=(((f=n.value)==null?void 0:f.locale)||((y=n.value)==null?void 0:y.lang)||"").split("-")[0].toLowerCase();return Bi.includes(g)?g:""}),h=Ee("appI18n",null);Wf(()=>{u.value&&h&&(h.global.locale.value=u.value)});const m=Q(()=>{var g,f;return u.value||((f=(g=h==null?void 0:h.global)==null?void 0:g.locale)==null?void 0:f.value)||"en"}),k=Q(()=>{var g;return((g=n.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),w=Ee("profileModules",null);if(!w)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const b=Q(()=>{if(!a.value)return null;const g=`./${a.value}.vue`;return w[g]?ya(w[g]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(w)),null)});Lt("mapboxToken",r),Lt("dataSource",s),Lt("colorSet",i),Lt("profileConfig",n),Lt("instanceId",k),Lt("lang",m);const x=q1(),v=V1(),_=W1();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((d=x.setTheme)==null||d.call(x,g))}catch{}return Lt("uiStore",x),Lt("mapStore",v),Lt("dataStore",_),(g,f)=>(W(),oe("div",Y1,[n.value?b.value?(W(),Ge(Zs(b.value),{key:2})):(W(),oe("div",J1,[S("p",null,[f[1]||(f[1]=ct("⚠️ Profile ",-1)),S("strong",null,'"'+me(a.value)+'"',1),f[2]||(f[2]=ct(" not found.",-1))])])):(W(),oe("div",X1,[...f[0]||(f[0]=[S("p",null,[ct("⚠️ "),S("strong",null,"doxa-map"),ct(": missing or invalid "),S("code",null,"profile-config"),ct(" prop.")],-1),S("p",null,[ct("Example: "),S("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),b.value&&l.value?(W(),Ge(Zs(ge(null)),{key:3})):ve("",!0),b.value&&c.value?(W(),Ge(G1,{key:4})):ve("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),hp="adoptionStatus",jo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},ji=jo,zi={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Q1=zi;function mp(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?jo.hasAdoption:jo.notAdopted}function Ui({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],jo.hasAdoption,["==",t,1],jo.hasAdoption,jo.notAdopted]}const bp=Ui,ev=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ji,ADOPTION_LABELS:Q1,LABELS:zi,PALETTE:jo,PROPERTY_KEY:hp,applyColor:Ui,buildColorExpression:bp,default:{name:"Adoption Progress",propertyKey:hp,palette:jo,colors:jo,labels:zi,getColor:mp,applyColor:Ui,buildColorExpression:bp},getColor:mp},Symbol.toStringTag,{value:"Module"})),yp="engagementStatus",zo={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Ki=zo,Hi={notEngaged:"Unengaged",hasEngagement:"Engaged"},tv=Hi;function vp(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?zo.hasEngagement:zo.notEngaged}function qi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],zo.hasEngagement,["==",t,1],zo.hasEngagement,zo.notEngaged]}const _p=qi,ov=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Ki,ENGAGEMENT_LABELS:tv,LABELS:Hi,PALETTE:zo,PROPERTY_KEY:yp,applyColor:qi,buildColorExpression:_p,default:{name:"Engagement Progress",propertyKey:yp,palette:zo,colors:zo,labels:Hi,getColor:vp,applyColor:qi,buildColorExpression:_p},getColor:vp},Symbol.toStringTag,{value:"Module"})),Vi="languageFamily",nv="#000000",rn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},xp=rn;function ao(e){return rn[e]||nv}const av=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(rn))t[e(o)]=o;return t})();function Xr(e){if(!e)return"Unknown";const t=String(e).trim();return av[t.toLowerCase()]||t}function kp(e){var t;return ao(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Wi(){const e=["match",["get",Vi]];return Object.entries(rn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const wp=Wi,rv=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:xp,PALETTE:rn,PROPERTY_KEY:Vi,applyColor:Wi,buildColorExpression:wp,canonicalFamilyName:Xr,default:{name:"Language Family",propertyKey:Vi,palette:rn,colors:rn,getColor:kp,applyColor:Wi,buildColorExpression:wp,getLanguageFamilyColor:ao,canonicalFamilyName:Xr},defaultFamilyColor:"#95a5a6",getColor:kp,getLanguageFamilyColor:ao,languageFamilyColors:rn},Symbol.toStringTag,{value:"Module"})),Sp="peoplePraying",_o=144,sn={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Jr=sn,Yi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},sv=Yi;function Zr(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=_o?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Xi(e){return sn[Zr(e)]}function Ap(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Lp(e){return Zr(e)==="fullPrayer"}function Cp(e){return Xi(e)}function Ji({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,_o],sn.fullPrayer,[">",t,0],sn.hasPrayer,sn.noPrayer]}const Ep=Ji,iv=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:_o,LABELS:Yi,PALETTE:sn,PRAYER_COLORS:Jr,PRAYER_LABELS:sv,PROPERTY_KEY:Sp,applyColor:Ji,buildColorExpression:Ep,checkHasFullPrayer:Lp,checkHasPrayer:Ap,default:{name:"Prayer Progress",propertyKey:Sp,palette:sn,colors:sn,labels:Yi,threshold:_o,getColor:Cp,applyColor:Ji,buildColorExpression:Ep,getPrayerLevel:Zr,getPrayerColor:Xi,checkHasPrayer:Ap,checkHasFullPrayer:Lp},getColor:Cp,getPrayerColor:Xi,getPrayerLevel:Zr},Symbol.toStringTag,{value:"Module"})),Tp="religion",Zi="#94a3b8",wn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},jt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ba(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return wn[t]?t:"U"}function $p(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return jt[Ba(t)]||Zi}function Qi(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",jt.C,"M",jt.M,"H",jt.H,"B",jt.B,"E",jt.E,"J",jt.J,"S",jt.S,"N",jt.N,"O",jt.O,Zi]}const Pp=Qi,lv=Object.assign({"./adoption.js":ev,"./engagement.js":ov,"./language-family.js":rv,"./prayer-progress.js":iv,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:jt,PROPERTY_KEY:Tp,RELIGION_FAMILIES:wn,applyColor:Qi,buildColorExpression:Pp,default:{name:"Religion",propertyKey:Tp,palette:jt,families:wn,getColor:$p,applyColor:Qi,buildColorExpression:Pp,fallback:Zi},getColor:$p,getReligionFamily:Ba},Symbol.toStringTag,{value:"Module"}))}),cv=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),uv=e=>e.replace(/-/g,"_").toUpperCase(),Hn={...{STATUS:"status",CUSTOM:"custom"}},el={};function Np(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=cv(o);Hn[uv(o)]=a,el[a]=n}}Np(lv);function dv(e){e&&Np(e)}function xo(e){return el[e]||el[Hn.LANGUAGE_FAMILY]}function pv(e,t={}){return xo(e).applyColor(t)}const gv=Object.assign({"./countries-map.vue":()=>Kt(()=>Promise.resolve().then(()=>mS),void 0),"./country-poster-wall.vue":()=>Kt(()=>Promise.resolve().then(()=>WS),void 0)});if(dv(Object.assign({"./src/colors/affinity-block.js":Hg,"./src/colors/doxa-region.js":Wg,"./src/colors/resource.js":Jg})),typeof window<"u"&&((Eg=window.mapboxgl)!=null&&Eg.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function fv(){return Am(Z1,{configureApp(e){e.use(Rm()),e.use(D1()),e.provide("profileModules",gv)}})}const hv=fv();typeof customElements<"u"&&(customElements.get("country-posters-map")||customElements.define("country-posters-map",hv));const mv="rgba(120, 128, 134, 0.28)",Ip="36px",Mp=()=>{};function bv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Mp;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Mp;const a=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${a(_)?"to right":"to left"}, ${mv} ${Ip}, transparent ${Ip})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const r=_=>{_.style.opacity="1"},s=_=>{_.style.opacity="0"},i=()=>n.find(_=>!a(_))||null,l=new Set;let c=!1,u=null;const h=()=>{for(const _ of n)l.has(_)||s(_)},m=()=>{const _=i();_&&(r(_),u&&clearTimeout(u),u=setTimeout(h,250))},k=()=>m(),w=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},b=()=>{u&&clearTimeout(u),h()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",b,{passive:!0}),e.addEventListener("touchcancel",b,{passive:!0});const x=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",x,{passive:!0});const v=[];for(const _ of n){const d=()=>{l.add(_),r(_)},g=()=>{l.delete(_),s(_)},f=()=>{c=!0,r(_)},y=()=>{c=!1,s(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",g),_.addEventListener("touchstart",f,{passive:!0}),_.addEventListener("touchend",y,{passive:!0}),v.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",g),_.removeEventListener("touchstart",f),_.removeEventListener("touchend",y)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",b),e.removeEventListener("touchcancel",b),typeof window<"u"&&window.removeEventListener("scroll",x);for(const d of v)d();for(const d of n)s(d)}}const yv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function vv(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=yv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const qn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Rp(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const _v=qn.mapbox.css,xv="https://tiles.openfreemap.org/styles/liberty";function tl(e){var o;const t=((o=qn[e])==null?void 0:o.global)||qn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function kv(e){const t=qn[e]||qn.mapbox;if(tl(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(tl(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}async function wv(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(i=>setTimeout(i,s)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const r=document.createElement("link");r.rel="stylesheet",r.href=t,await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0}),o.prepend(r)}),n(2e3)])}function Sv(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:xv}const Av=85.0511,Fp=-2,Lv=0,Cv=-60;function Dp(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Ev(e,t,o,n){if(!e||e<=0||!t||t<=0)return Lv;const a=Math.log2(e/512),r=Dp(n)-Dp(Av),s=Math.log2(t/(512*r)),i=Math.max(a,s);return Math.max(Fp,Math.min(i,(o??18)-1))}function Tv({containerRef:e,accessToken:t,style:o,provider:n="mapbox",center:a=[20,10],zoom:r=2,minZoom:s=void 0,maxZoom:i=18,pitch:l=0,bearing:c=0,renderWorldCopies:u=!0,showEdgeBorders:h=!0,southCutoff:m=Cv,maxBounds:k=void 0}){const w=de(null),b=de(!1);let x=null,v=null;const _=n==="maplibre";async function d(){var N;const y=vv(o,n).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await kv(n);const T=tl(n);if(!T){console.error(`[useMapInstance] ${_?"maplibregl":"mapboxgl"} is not available. Add the ${_?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!_){if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await wv(e.value,_?qn.maplibre.css:_v),await new Promise(E=>requestAnimationFrame(E));const O=e.value,L=O.clientWidth,B=O.clientHeight;if(L===0||B===0){console.error(`[useMapInstance] Container has ZERO dimensions (${L}×${B}). Map will be invisible. Check that parent elements have CSS sizing.`);let E=O.parentElement,j=0;for(;E&&j<5;)E=E.parentElement,j++}const H=t;_||(T.accessToken=H);const z=()=>typeof window<"u"&&window.innerWidth>=1024,U=(E,j)=>{if(!z())return Fp;const J=Ev(E,j,i,m);return typeof s=="number"?Math.max(s,J):J},R=U(O.clientWidth,O.clientHeight);_?(w.value=new T.Map({container:e.value,style:Sv(y),center:a,zoom:r,minZoom:R,maxZoom:i,pitch:l,bearing:c,dragRotate:!1,renderWorldCopies:u,...k?{maxBounds:k}:{},attributionControl:!1}),Rp(w.value)):(w.value=new T.Map({accessToken:H,container:e.value,style:y,center:a,zoom:r,minZoom:R,maxZoom:i,pitch:l,bearing:c,dragRotate:!1,touchPitch:!1,renderWorldCopies:u,...k?{maxBounds:k}:{},attributionControl:!1}),Rp(w.value));try{w.value.touchZoomRotate.disableRotation()}catch{}v=bv(((N=e.value)==null?void 0:N.parentElement)||null,{enabled:h}),x=()=>{const E=w.value;if(!E)return;const j=U(O.clientWidth,O.clientHeight);E.setMinZoom(j),E.getZoom(){requestAnimationFrame(()=>{var E;(E=w.value)==null||E.resize(),w.value&&w.value.setMinZoom(U(O.clientWidth,O.clientHeight)),b.value=!0})})}function g(){w.value&&(x&&(w.value.off("resize",x),typeof window<"u"&&(window.removeEventListener("resize",x),window.removeEventListener("orientationchange",x)),x=null),v&&(v(),v=null),w.value.remove(),w.value=null,b.value=!1)}return{map:w,isMapReady:b,initializeMap:d,destroy:g}}function Op(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function Ga(e){return Op(e)?{"circle-emissive-strength":1}:{}}const $v={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},Bp={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function Pv(e){return $v[e]||null}function ol(e="standard"){return Bp.circleRadius[e]||Bp.circleRadius.standard}function Gp(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Ee("uiStore"),{t:s,locale:i}=ut(),l=de([]);function c(d){const g=n(d.languageFamily),f="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let y=d.imageUrl;(!y||y.includes("NoImageAvailable"))&&(y=f);const T=(d.name||"U")[0].toUpperCase(),O=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],L=T.charCodeAt(0)%O.length;return` +`,"pin-hint"),(w,h)=>r.value?(W(),ae("div",{key:0,class:Le(["pin-hint",{dark:n.value}]),role:"status"},[A("span",G1,[h[0]||(h[0]=A("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ut(" "+me(a.value)+" ",1),A("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):_e("",!0)}},Xr="mapbox://styles/mapbox/standard",z1=Xr,U1=Xr,K1=!1,Gi={lightPreset:"night",theme:"default"};function H1(e){let t=!1;function o(){return!1}function n(){return o()?"night":"day"}function a(){return Xr}function r(i){if(!i)return;const l=()=>{{try{i.setConfigProperty("basemap","lightPreset",Gi.lightPreset),i.setConfigProperty("basemap","theme",Gi.theme)}catch(c){console.warn("[useMapTheme] setConfigProperty failed:",c)}return}};if(l(),!t){t=!0;try{i.once("idle",()=>{t=!1,l()})}catch{t=!1}}}function s(i){e.toggleTheme(),r(i)}return{STANDARD_STYLE:Xr,LIGHT_STYLE:z1,DARK_STYLE:U1,isDarkTheme:o,lightPreset:n,bootStyle:a,applyTheme:r,swapTheme:s}}let q1=0;const V1=vi("ui",{state:()=>({_storeInstanceId:++q1,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),W1=vi("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Y1=vi("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=da({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=da({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),kn={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Ft=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},X1={class:"profile-loader"},J1={key:0,class:"profile-error"},Z1={key:1,class:"profile-error"},Q1=Ft({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var d;const o=e,n=oe(()=>{if(!o.profileConfig)return null;try{return JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}}),a=oe(()=>{var p;return((p=n.value)==null?void 0:p.profile)||null}),r=oe(()=>{var p;return((p=n.value)==null?void 0:p.tk)||""}),s=oe(()=>{var p;return((p=n.value)==null?void 0:p.dataSource)||kn.activeSource||"doxa-csv"}),i=oe(()=>{var p;return((p=n.value)==null?void 0:p.colorSet)||"default"}),l=oe(()=>!1),c=oe(()=>{var p;return((p=n.value)==null?void 0:p.pinHint)!==!1}),u=oe(()=>{var g,y;const p=(((g=n.value)==null?void 0:g.locale)||((y=n.value)==null?void 0:y.lang)||"").split("-")[0].toLowerCase();return Bi.includes(p)?p:""}),f=Ee("appI18n",null);Yf(()=>{u.value&&f&&(f.global.locale.value=u.value)});const m=oe(()=>{var p,g;return u.value||((g=(p=f==null?void 0:f.global)==null?void 0:p.locale)==null?void 0:g.value)||"en"}),k=oe(()=>{var p;return((p=n.value)==null?void 0:p.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),w=Ee("profileModules",null);if(!w)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const h=oe(()=>{if(!a.value)return null;const p=`./${a.value}.vue`;return w[p]?va(w[p]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(w)),null)});Lt("mapboxToken",r),Lt("dataSource",s),Lt("colorSet",i),Lt("profileConfig",n),Lt("instanceId",k),Lt("lang",m);const _=V1(),b=W1(),v=Y1();try{const p=typeof localStorage<"u"?localStorage.getItem("theme"):null;p&&((d=_.setTheme)==null||d.call(_,p))}catch{}return Lt("uiStore",_),Lt("mapStore",b),Lt("dataStore",v),(p,g)=>(W(),ae("div",X1,[n.value?h.value?(W(),Ge(Zs(h.value),{key:2})):(W(),ae("div",Z1,[A("p",null,[g[1]||(g[1]=ut("⚠️ Profile ",-1)),A("strong",null,'"'+me(a.value)+'"',1),g[2]||(g[2]=ut(" not found.",-1))])])):(W(),ae("div",J1,[...g[0]||(g[0]=[A("p",null,[ut("⚠️ "),A("strong",null,"doxa-map"),ut(": missing or invalid "),A("code",null,"profile-config"),ut(" prop.")],-1),A("p",null,[ut("Example: "),A("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),h.value&&l.value?(W(),Ge(Zs(ge(null)),{key:3})):_e("",!0),h.value&&c.value?(W(),Ge(j1,{key:4})):_e("",!0)]))}},[["__scopeId","data-v-b7582f77"]]),mp="adoptionStatus",zo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},ji=zo,zi={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ev=zi;function bp(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?zo.hasAdoption:zo.notAdopted}function Ui({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],zo.hasAdoption,["==",t,1],zo.hasAdoption,zo.notAdopted]}const yp=Ui,tv=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ji,ADOPTION_LABELS:ev,LABELS:zi,PALETTE:zo,PROPERTY_KEY:mp,applyColor:Ui,buildColorExpression:yp,default:{name:"Adoption Progress",propertyKey:mp,palette:zo,colors:zo,labels:zi,getColor:bp,applyColor:Ui,buildColorExpression:yp},getColor:bp},Symbol.toStringTag,{value:"Module"})),vp="engagementStatus",Uo={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},Ki=Uo,Hi={notEngaged:"Unengaged",hasEngagement:"Engaged"},ov=Hi;function _p(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Uo.hasEngagement:Uo.notEngaged}function qi({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Uo.hasEngagement,["==",t,1],Uo.hasEngagement,Uo.notEngaged]}const xp=qi,nv=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Ki,ENGAGEMENT_LABELS:ov,LABELS:Hi,PALETTE:Uo,PROPERTY_KEY:vp,applyColor:qi,buildColorExpression:xp,default:{name:"Engagement Progress",propertyKey:vp,palette:Uo,colors:Uo,labels:Hi,getColor:_p,applyColor:qi,buildColorExpression:xp},getColor:_p},Symbol.toStringTag,{value:"Module"})),Vi="languageFamily",av="#000000",rn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},kp=rn;function ao(e){return rn[e]||av}const rv=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(rn))t[e(o)]=o;return t})();function Jr(e){if(!e)return"Unknown";const t=String(e).trim();return rv[t.toLowerCase()]||t}function wp(e){var t;return ao(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Wi(){const e=["match",["get",Vi]];return Object.entries(rn).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Sp=Wi,sv=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:kp,PALETTE:rn,PROPERTY_KEY:Vi,applyColor:Wi,buildColorExpression:Sp,canonicalFamilyName:Jr,default:{name:"Language Family",propertyKey:Vi,palette:rn,colors:rn,getColor:wp,applyColor:Wi,buildColorExpression:Sp,getLanguageFamilyColor:ao,canonicalFamilyName:Jr},defaultFamilyColor:"#95a5a6",getColor:wp,getLanguageFamilyColor:ao,languageFamilyColors:rn},Symbol.toStringTag,{value:"Module"})),Ap="peoplePraying",xo=144,sn={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Zr=sn,Yi={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},iv=Yi;function Qr(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=xo?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Xi(e){return sn[Qr(e)]}function Lp(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Cp(e){return Qr(e)==="fullPrayer"}function Ep(e){return Xi(e)}function Ji({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,xo],sn.fullPrayer,[">",t,0],sn.hasPrayer,sn.noPrayer]}const Tp=Ji,lv=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:xo,LABELS:Yi,PALETTE:sn,PRAYER_COLORS:Zr,PRAYER_LABELS:iv,PROPERTY_KEY:Ap,applyColor:Ji,buildColorExpression:Tp,checkHasFullPrayer:Cp,checkHasPrayer:Lp,default:{name:"Prayer Progress",propertyKey:Ap,palette:sn,colors:sn,labels:Yi,threshold:xo,getColor:Ep,applyColor:Ji,buildColorExpression:Tp,getPrayerLevel:Qr,getPrayerColor:Xi,checkHasPrayer:Lp,checkHasFullPrayer:Cp},getColor:Ep,getPrayerColor:Xi,getPrayerLevel:Qr},Symbol.toStringTag,{value:"Module"})),$p="religion",Zi="#94a3b8",wn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},jt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ga(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return wn[t]?t:"U"}function Pp(e){var o,n,a;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return jt[Ga(t)]||Zi}function Qi(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",jt.C,"M",jt.M,"H",jt.H,"B",jt.B,"E",jt.E,"J",jt.J,"S",jt.S,"N",jt.N,"O",jt.O,Zi]}const Np=Qi,cv=Object.assign({"./adoption.js":tv,"./engagement.js":nv,"./language-family.js":sv,"./prayer-progress.js":lv,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:jt,PROPERTY_KEY:$p,RELIGION_FAMILIES:wn,applyColor:Qi,buildColorExpression:Np,default:{name:"Religion",propertyKey:$p,palette:jt,families:wn,getColor:Pp,applyColor:Qi,buildColorExpression:Np,fallback:Zi},getColor:Pp,getReligionFamily:Ga},Symbol.toStringTag,{value:"Module"}))}),uv=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),dv=e=>e.replace(/-/g,"_").toUpperCase(),qn={...{STATUS:"status",CUSTOM:"custom"}},el={};function Ip(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const a=uv(o);qn[dv(o)]=a,el[a]=n}}Ip(cv);function pv(e){e&&Ip(e)}function ko(e){return el[e]||el[qn.LANGUAGE_FAMILY]}function gv(e,t={}){return ko(e).applyColor(t)}const fv=Object.assign({"./countries-map.vue":()=>Kt(()=>Promise.resolve().then(()=>xS),void 0),"./country-poster-wall.vue":()=>Kt(()=>Promise.resolve().then(()=>QS),void 0)});if(pv(Object.assign({"./src/colors/affinity-block.js":qg,"./src/colors/doxa-region.js":Yg,"./src/colors/resource.js":Zg})),typeof window<"u"&&((Tg=window.mapboxgl)!=null&&Tg.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function hv(){return Lm(Q1,{configureApp(e){e.use(Fm()),e.use(O1()),e.provide("profileModules",fv)}})}const mv=hv();typeof customElements<"u"&&(customElements.get("country-posters-map")||customElements.define("country-posters-map",mv));const bv="rgba(120, 128, 134, 0.28)",Mp="36px",Rp=()=>{};function yv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Rp;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Rp;const a=v=>v.classList.contains("map-scroll-edge--left");for(const v of n)v.style.background=`linear-gradient(${a(v)?"to right":"to left"}, ${bv} ${Mp}, transparent ${Mp})`,v.style.opacity="0",v.style.transition="opacity 0.16s ease",v.style.userSelect="none",v.style.webkitUserSelect="none";const r=v=>{v.style.opacity="1"},s=v=>{v.style.opacity="0"},i=()=>n.find(v=>!a(v))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const v of n)l.has(v)||s(v)},m=()=>{const v=i();v&&(r(v),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),w=v=>{if(!(v.touches&&v.touches.length===1))return;const d=v.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},h=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",h,{passive:!0}),e.addEventListener("touchcancel",h,{passive:!0});const _=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",_,{passive:!0});const b=[];for(const v of n){const d=()=>{l.add(v),r(v)},p=()=>{l.delete(v),s(v)},g=()=>{c=!0,r(v)},y=()=>{c=!1,s(v)};v.addEventListener("mouseenter",d),v.addEventListener("mouseleave",p),v.addEventListener("touchstart",g,{passive:!0}),v.addEventListener("touchend",y,{passive:!0}),b.push(()=>{v.removeEventListener("mouseenter",d),v.removeEventListener("mouseleave",p),v.removeEventListener("touchstart",g),v.removeEventListener("touchend",y)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",h),e.removeEventListener("touchcancel",h),typeof window<"u"&&window.removeEventListener("scroll",_);for(const d of b)d();for(const d of n)s(d)}}const vv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function _v(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=vv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const Vn={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 Fp(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const xv=Vn.mapbox.css,kv="https://tiles.openfreemap.org/styles/liberty";function tl(e){var o;const t=((o=Vn[e])==null?void 0:o.global)||Vn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function wv(e){const t=Vn[e]||Vn.mapbox;if(tl(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(tl(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,a)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}async function Sv(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(i=>setTimeout(i,s)),a=o.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const r=document.createElement("link");r.rel="stylesheet",r.href=t,await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0}),o.prepend(r)}),n(2e3)])}function Av(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:kv}const Lv=85.0511,Dp=-2,Cv=0,Ev=-60;function Op(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Tv(e,t,o,n){if(!e||e<=0||!t||t<=0)return Cv;const a=Math.log2(e/512),r=Op(n)-Op(Lv),s=Math.log2(t/(512*r)),i=Math.max(a,s);return Math.max(Dp,Math.min(i,(o??18)-1))}function $v({containerRef:e,accessToken:t,style:o,provider:n="mapbox",center:a=[20,10],zoom:r=2,minZoom:s=void 0,maxZoom:i=18,pitch:l=0,bearing:c=0,renderWorldCopies:u=!0,showEdgeBorders:f=!0,southCutoff:m=Ev,maxBounds:k=void 0}){const w=de(null),h=de(!1);let _=null,b=null;const v=n==="maplibre";async function d(){var M;const y=_v(o,n).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await wv(n);const I=tl(n);if(!I){console.error(`[useMapInstance] ${v?"maplibregl":"mapboxgl"} is not available. Add the ${v?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!v){if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Sv(e.value,v?Vn.maplibre.css:xv),await new Promise(E=>requestAnimationFrame(E));const D=e.value,x=D.clientWidth,G=D.clientHeight;if(x===0||G===0){console.error(`[useMapInstance] Container has ZERO dimensions (${x}×${G}). Map will be invisible. Check that parent elements have CSS sizing.`);let E=D.parentElement,B=0;for(;E&&B<5;)E=E.parentElement,B++}const V=t;v||(I.accessToken=V);const j=()=>typeof window<"u"&&window.innerWidth>=1024,U=(E,B)=>{if(!j())return Dp;const J=Tv(E,B,i,m);return typeof s=="number"?Math.max(s,J):J},R=U(D.clientWidth,D.clientHeight);v?(w.value=new I.Map({container:e.value,style:Av(y),center:a,zoom:r,minZoom:R,maxZoom:i,pitch:l,bearing:c,dragRotate:!1,renderWorldCopies:u,...k?{maxBounds:k}:{},attributionControl:!1}),Fp(w.value)):(w.value=new I.Map({accessToken:V,container:e.value,style:y,center:a,zoom:r,minZoom:R,maxZoom:i,pitch:l,bearing:c,dragRotate:!1,touchPitch:!1,renderWorldCopies:u,...k?{maxBounds:k}:{},attributionControl:!1}),Fp(w.value));try{w.value.touchZoomRotate.disableRotation()}catch{}b=yv(((M=e.value)==null?void 0:M.parentElement)||null,{enabled:f}),_=()=>{const E=w.value;if(!E)return;const B=U(D.clientWidth,D.clientHeight);E.setMinZoom(B),E.getZoom(){requestAnimationFrame(()=>{var E;(E=w.value)==null||E.resize(),w.value&&w.value.setMinZoom(U(D.clientWidth,D.clientHeight)),h.value=!0})})}function p(){w.value&&(_&&(w.value.off("resize",_),typeof window<"u"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",_)),_=null),b&&(b(),b=null),w.value.remove(),w.value=null,h.value=!1)}return{map:w,isMapReady:h,initializeMap:d,destroy:p}}function Bp(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function ja(e){return Bp(e)?{"circle-emissive-strength":1}:{}}const Pv={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}},Gp={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function Nv(e){return Pv[e]||null}function ol(e="standard"){return Gp.circleRadius[e]||Gp.circleRadius.standard}function jp(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Ee("uiStore"),{t:s,locale:i}=dt(),l=de([]);function c(d){const p=n(d.languageFamily),g="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let y=d.imageUrl;(!y||y.includes("NoImageAvailable"))&&(y=g);const I=(d.name||"U")[0].toUpperCase(),D=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],x=I.charCodeAt(0)%D.length;return`
- ${T} + ${I}
@@ -136,7 +136,7 @@ height: 100%; object-fit: cover; " - onerror="this.onerror=null; this.src='${f}'" + onerror="this.onerror=null; this.src='${g}'" /> @@ -147,7 +147,7 @@

Family: - + ${d.languageFamily||"Unknown"}

@@ -155,25 +155,25 @@ ${d.description?`

${d.description}

`:""} - `}function u(d){const g=d.iso_3166_1_alpha_3||"",y=d["name_"+((i==null?void 0:i.value)||"en")]||d.name_en||d.name||g,T=a(),O=g.toUpperCase(),L=T.filter(R=>{const N=(R.countryIso||R.country||"").toUpperCase();return N&&N===O}),B=L.length,H=L[0],z=(H==null?void 0:H.wagfRegionLabel)||(H==null?void 0:H.doxaRegionLabel)||(H==null?void 0:H.doxaRegion)||(H==null?void 0:H.wagfRegion)||"—",U=(H==null?void 0:H.wagfBlockLabel)||(H==null?void 0:H.wagfBlock)||"—";return` + `}function u(d){const p=d.iso_3166_1_alpha_3||"",y=d["name_"+((i==null?void 0:i.value)||"en")]||d.name_en||d.name||p,I=a(),D=p.toUpperCase(),x=I.filter(R=>{const M=(R.countryIso||R.country||"").toUpperCase();return M&&M===D}),G=x.length,V=x[0],j=(V==null?void 0:V.wagfRegionLabel)||(V==null?void 0:V.doxaRegionLabel)||(V==null?void 0:V.doxaRegion)||(V==null?void 0:V.wagfRegion)||"—",U=(V==null?void 0:V.wagfBlockLabel)||(V==null?void 0:V.wagfBlock)||"—";return`

${y}

- ${s("popup.country.wagfRegion")}: ${z} + ${s("popup.country.wagfRegion")}: ${j}

${s("popup.country.wagfBlock")}: ${U}

- ${s("popup.country.country")}: ${y} (${g}) + ${s("popup.country.country")}: ${y} (${p})

- ${s("popup.country.uupgCount")}: ${B} + ${s("popup.country.uupgCount")}: ${G}

- `}function h(d){const g=t();if(!g)return;const f=d||"language-family-pins";if(!g.getLayer(f))return;const y=T=>{try{const O=T.features[0],L=O.properties,B=O.geometry.coordinates.slice();for(;Math.abs(T.lngLat.lng-B[0])>180;)B[0]+=T.lngLat.lng>B[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(O),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(B).setHTML(c(L)).addTo(g)}catch(O){console.error(` [${o}] Pin click handler error:`,O)}};g.on("click",f,y),l.value.push({event:"click",layer:f,handler:y})}function m(){const d=t();if(!d)return;const g="regions-fill";if(!d.getLayer(g))return;const f=y=>{const T=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const O of T)if(d.getLayer(O)){const L=d.queryRenderedFeatures(y.point,{layers:[O]});if(L&&L.length>0)return}if(y.features&&y.features.length>0){const O=y.features[0].properties;new mapboxgl.Popup().setLngLat(y.lngLat).setHTML(u(O)).addTo(d)}};d.on("click",g,f),l.value.push({event:"click",layer:g,handler:f})}function k(){const d=t();if(!d)return;const g="clusters";if(!d.getLayer(g))return;const f=y=>{const T=d.queryRenderedFeatures(y.point,{layers:[g]});if(!T.length)return;const O=T[0].properties.cluster_id,L=T[0].source;d.getSource(L).getClusterExpansionZoom(O,(B,H)=>{B||d.easeTo({center:T[0].geometry.coordinates,zoom:H})})};d.on("click",g,f),l.value.push({event:"click",layer:g,handler:f})}function w(d){const g=t();if(!g||!g.getLayer(d))return;const f=()=>{g.getCanvas().style.cursor="pointer"},y=()=>{g.getCanvas().style.cursor=""};g.on("mouseenter",d,f),g.on("mouseleave",d,y),l.value.push({event:"mouseenter",layer:d,handler:f}),l.value.push({event:"mouseleave",layer:d,handler:y})}function b(){h(),w("language-family-pins"),h("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function x(){m(),w("regions-fill")}function v(){const d=t();d&&(d.getLayer("language-family-pins")&&b(),d.getLayer("regions-fill")&&x(),d.getLayer("people-groups-pins")&&(h(),w("people-groups-pins")))}function _(){const d=t();if(d){for(const{event:g,layer:f,handler:y}of l.value)try{d.off(g,f,y)}catch{}l.value=[]}}return{attachAllEventHandlers:v,attachLanguageFamilyEvents:b,attachRegionEvents:x,attachPinClickHandler:h,attachRegionClickHandler:m,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:_,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const ze={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},nl=[">",["to-number",["get","peoplePraying"],0],0],al={0:.25,8:.4,14:.5},Vn={0:.1,8:.18,14:.22},Wn={0:1.2,8:1.6,14:2},jp=["interpolate",["linear"],["zoom"],0,["case",nl,al[0],Vn[0]],8,["case",nl,al[8],Vn[8]],14,["case",nl,al[14],Vn[14]]],Nv=["interpolate",["linear"],["zoom"],0,Wn[0],8,Wn[8],14,Wn[14]],zp=["==",["to-number",["get","peoplePraying"],0],0],Iv={prayer:[zp],prayerProgress:[zp],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Mv(e){const t=Iv[e]||[];if(!t.length)return Nv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,Vn[0],Wn[0]],8,["case",o,Vn[8],Wn[8]],14,["case",o,Vn[14],Wn[14]]]}const Rv=[[/ sign language$/i,"Sign Language"]];function Fv(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(ze[a])return ze[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(ze[r])return ze[r]}}if(ze[t])return ze[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&ze[n])return ze[n];for(const[a,r]of Rv)if(a.test(t))return r;return null}function Dv(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Gp({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),s=de({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=de({});function l(F,te="languageFamily"){const G=t();if(!G||!(F!=null&&F.length))return;const se=pv(te),he=F.map(ee=>{var Se,$e,C,I,P,K,Z,ne,re,ue,A,p,$,q,le,ae,V,Y,ye;return{type:"Feature",properties:{uniqueId:ee.id||ee.uniqueId,slug:ee.slug||((Se=ee._normalized)==null?void 0:Se.slug)||"",rop3:ee.rop3||ee.peopleGroupId,peopleId3:ee.peopleId3||"",name:ee.name,language:ee.language,languageFamily:ee.languageFamily||(($e=ee._normalized)==null?void 0:$e.languageFamily)||Fv(ee.language)||"Unknown",affinityBlock:ee.affinityBlock||ee.affbloc||ee.Affbloc||((C=ee._normalized)==null?void 0:C.affinityBlock)||"Unknown",affinityBlockLabel:ee.affinityBlockLabel||((I=ee._normalized)==null?void 0:I.affinityBlockLabel)||"",cluster:ee.cluster||((P=ee._normalized)==null?void 0:P.cluster)||"",clusterLabel:ee.clusterLabel||((K=ee._normalized)==null?void 0:K.clusterLabel)||"",peopleGroup:ee.peopleGroup||((Z=ee._normalized)==null?void 0:Z.peopleGroup)||"",peopleGroupLabel:ee.peopleGroupLabel||((ne=ee._normalized)==null?void 0:ne.peopleGroupLabel)||"",doxaRegion:ee.doxaRegion||((re=ee._normalized)==null?void 0:re.doxaRegion)||"Unknown",wagfBlock:ee.wagfBlock||((ue=ee._normalized)==null?void 0:ue.wagfBlock)||"",wagfBlockLabel:ee.wagfBlockLabel||((A=ee._normalized)==null?void 0:A.wagfBlockLabel)||"",wagfRegionLabel:ee.wagfRegionLabel||((p=ee._normalized)==null?void 0:p.wagfRegionLabel)||"",country:ee.country,countryIso:ee.countryIso,countryIsoLabel:ee.countryIsoLabel,countryName:ee.countryName,religion:ee.religion,religionCode:ee.religionCode,religionLabel:ee.religionLabel,religionName:ee.religionName,population:ee.population,status:ee.status,description:ee.description||"",imageUrl:ee.imageUrl||"",peoplePraying:Number(ee.peoplePraying??(($=ee._normalized)==null?void 0:$.peoplePraying)??0),engagementStatus:ee.engagementStatus===!0||ee.engagementStatus===1||!1,adoptionStatus:ee.adoptionStatus===!0||ee.adoptionStatus===1||!1,bible:ee.bible||((q=ee._normalized)==null?void 0:q.bible)||"Not Available",jesusFilm:ee.jesusFilm||((le=ee._normalized)==null?void 0:le.jesusFilm)||"Not Available",radio:ee.radio||((ae=ee._normalized)==null?void 0:ae.radio)||"Not Available",gospel:ee.gospel||((V=ee._normalized)==null?void 0:V.gospel)||"Not Available",audio:ee.audio||((Y=ee._normalized)==null?void 0:Y.audio)||"Not Available",stories:ee.stories||((ye=ee._normalized)==null?void 0:ye.stories)||"Not Available",lng:parseFloat(ee.longitude||ee.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(ee.longitude||ee.lng),parseFloat(ee.latitude||ee.lat)]}}}).filter(ee=>!isNaN(ee.geometry.coordinates[0])&&!isNaN(ee.geometry.coordinates[1])),pe=.04,ke=ee=>`${ee.geometry.coordinates[0]},${ee.geometry.coordinates[1]}`,fe=new Map;for(const ee of he){const Se=ke(ee);fe.has(Se)||fe.set(Se,[]),fe.get(Se).push(ee)}for(const ee of fe.values()){if(ee.length<2)continue;const[Se,$e]=ee[0].geometry.coordinates,C=ee.length;for(let I=0;I",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),G.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":ol("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),s.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function c(F,te="doxa-regions"){const G=t();if(!G)return;G.getLayer("regions-fill")&&G.removeLayer("regions-fill"),G.getLayer("regions-border")&&G.removeLayer("regions-border"),G.getSource("regions")&&G.removeSource("regions");const se={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},he="#cccccc",pe=F&&F.isoToRegion?F.isoToRegion:{},ke=[],fe={};for(const[Se,$e]of Object.entries(pe)){const C=se[String($e).toLowerCase()];C&&ke.push(Se,C),fe[$e]||(fe[$e]=[]),fe[$e].push(Se)}i.value=fe;const we=ke.length?["match",["get","iso_3166_1_alpha_3"],...ke,he]:he,ee=G.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":G.getLayer("language-family-pins")?"language-family-pins":void 0;G.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),G.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":we,"fill-opacity":te==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},ee),G.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":we,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},ee),s.value.regions=!0,r.attachRegionEvents()}function u(F,te){const G=t();if(!G||!F||!(te!=null&&te.length))return;h();const se=te.filter(we=>{var Se;return(we.languageFamily||((Se=we._normalized)==null?void 0:Se.languageFamily)||"Unknown")===F});if(se.length<2)return;const he=n(F),pe=[],ke=15,fe=[...se].sort((we,ee)=>(we.longitude||we.lng)-(ee.longitude||ee.lng));for(let we=0;we=",["get","peoplePraying"],_o],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const z=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function U(F,te){const G=["interpolate",["linear"],["zoom"]];for(let se=0;se",["get","peoplePraying"],0],G=H();if(!T.every(he=>F.getLayer(he))){for(const he of T)if(F.getLayer(he))try{F.removeLayer(he)}catch{}F.addLayer({id:g,type:"circle",source:"language-families",filter:te,paint:{"circle-radius":U(z,1),"circle-color":G,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...Ga(F)}},"language-family-pins");for(const he of y)F.addLayer({id:he,type:"circle",source:"language-families",filter:te,paint:{"circle-radius":U(z,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":G,"circle-stroke-opacity":0,...Ga(F)}},"language-family-pins")}}function N(){const F=t();if(F)for(const te of T)F.getLayer(te)&&F.removeLayer(te)}function E(F){const te=t();if(!te)return;const G=[">",["get","peoplePraying"],0],se=F?["all",G,F]:G;for(const he of T)if(te.getLayer(he))try{te.setFilter(he,se)}catch{}}function j(){const F=t();if(F){if(R(),v&&(cancelAnimationFrame(v),v=null),_=!0,F.getLayer("language-family-pins"))try{F.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],_o],1,[">",["get","peoplePraying"],0],1,3])}catch{}J()}}function J(){v&&(cancelAnimationFrame(v),v=null);const F=++d;let te=performance.now();function G(se){if(!_||F!==d)return;const he=t();if(!he||!T.some(ke=>he.getLayer(ke))){v=null;return}const pe=(se-te)/1e3;for(let ke=0;kenull,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(ro==null?void 0:ro.center)||[20,10],defaultZoom:s=ro==null?void 0:ro.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(R,N,E={x:150,y:0}){const j=t();if(!j)return R;try{const J=j.getCanvas(),ce=J.width,F=J.height,te=j.project(R),G=window.devicePixelRatio||1,se=(E.x||0)*G,he=(E.y||0)*G,pe={x:te.x-se,y:te.y-he},ke=j.unproject(pe);return[ke.lng,ke.lat]}catch{return R}}function c(R,N=[]){const E=t();if(!E)return;let j=null,J=5;const ce=N.filter(te=>te.languageFamily===R);if(ce.length>0){let te=1/0,G=-1/0,se=1/0,he=-1/0;if(ce.forEach(pe=>{pe.longitude&&pe.latitude&&(te=Math.min(te,pe.longitude),G=Math.max(G,pe.longitude),se=Math.min(se,pe.latitude),he=Math.max(he,pe.latitude))}),te!==1/0){j=[(te+G)/2,(se+he)/2];const pe=G-te,ke=he-se,fe=Math.max(pe,ke);fe>50?J=2:fe>20?J=3:fe>10?J=4:fe>5?J=5:J=6}}if(!j)return;const F=l(j);E.flyTo({center:F,zoom:J,...i})}function u(R){const N=t();if(!N)return;let E=null,j=4;const J=Pv(R);if(J)E=J.center,j=J.zoom||4;else if(a!=null&&a.features){const F=a.features.find(te=>{var G,se;return((G=te.properties)==null?void 0:G.region)===R||((se=te.properties)==null?void 0:se.name)===R});F&&(E=h(F))}if(!E)return;const ce=l(E);N.flyTo({center:ce,zoom:j,...i})}function h(R){if(!R||!R.geometry)return null;const{type:N,coordinates:E}=R.geometry;let j=[];if(N==="Polygon"?j=E[0]||[]:N==="MultiPolygon"&&E.forEach(F=>{j=j.concat(F[0]||[])}),j.length===0)return null;let J=0,ce=0;return j.forEach(F=>{J+=F[0],ce+=F[1]}),[J/j.length,ce/j.length]}function m(R,N={}){const E=t();if(!E)return;const j={center:R,...i,...N};E.flyTo(j)}function k(R,N){const E=t();if(!E||(R==null?void 0:R.longitude)==null||(R==null?void 0:R.latitude)==null)return;const j=N??Math.min(E.getZoom()+2,8);m([R.longitude,R.latitude],{zoom:j})}function w(R,N={top:40,right:40,bottom:40,left:40},E={}){const j=t();if(!j||!R)return;const J=E.maxZoom??4;j.fitBounds(R,{padding:N,maxZoom:J,...i})}function b(){const R=t();R&&R.flyTo({center:r,zoom:s,...i})}const x=80,v=800,_=5,d=5,g=110,f=1.2;function y(R){const N=R.filter(Number.isFinite).slice().sort((C,I)=>C-I),E=N.length;if(!E)return null;let j=-1,J=0;for(let C=0;Cj&&(j=P,J=C)}const ce=(J+1)%E,F=new Array(E);for(let C=0;C0&&I((C+180)%360+360)%360-180,ke=pe(se),fe=24,we=360/fe,ee=new Array(fe).fill(0);for(const C of N){let I=Math.floor(((C+180)%360+360)%360/we);I>=fe&&(I=fe-1),ee[I]++}let Se=0;for(let C=1;Cee[Se]&&(Se=C);return{center:pe(-180+(Se+.5)*we),minLng:ke,maxLng:ke+(he-se),span:he-se}}function T(R){try{const N=R.getContainer&&R.getContainer().clientWidth||0,E=N>0?Math.log2(N/512):f,j=typeof R.getMinZoom=="function"?R.getMinZoom():E;return Math.max(j,E)}catch{return f}}function O(R,N,E,j){R.easeTo({center:[N,(E+j)/2],zoom:T(R),duration:v,essential:!0})}function L(R,N,E){if(E>g)return!0;try{const j=typeof R.cameraForBounds=="function"?R.cameraForBounds(N,{padding:x,maxZoom:_}):null;return j==null?!0:typeof j.zoom=="number"&&j.zoom<=T(R)+.05}catch{return!1}}function B(R,N){if(!Array.isArray(R))return R;switch(R[0]){case"get":return N==null?void 0:N[R[1]];case"literal":return R[1];case"has":return N!=null&&R[1]in N;case"!has":return N==null||!(R[1]in N);case"!":return!B(R[1],N);case"coalesce":{for(let j=1;j2){const ce=Number(B(R[2],N));return Number.isFinite(ce)?ce:0}return NaN}case"to-string":{const j=B(R[1],N);return j==null?"":String(j)}case"to-boolean":return!!B(R[1],N);case"slice":{const j=B(R[1],N),J=B(R[2],N),ce=R.length>3?B(R[3],N):void 0;return typeof j!="string"?"":ce!=null?j.slice(J,ce):j.slice(J)}default:return R}}function H(R,N){if(R===!0)return!0;if(R===!1)return!1;if(!Array.isArray(R))return!!R;const E=R[0];if(E==="all"){for(let j=1;j"||E===">="||E==="<"||E==="<="){const j=typeof R[1]=="string"?N==null?void 0:N[R[1]]:B(R[1],N),J=B(R[2],N);switch(E){case"==":return j===J||j==null&&J==null;case"!=":return!(j===J||j==null&&J==null);case">":return j>J;case">=":return j>=J;case"<":return j{const K=(P==null?void 0:P.properties)||{};return K.region===C||K.name===C||K.id===C});if(I){const P=[];let K=1/0,Z=-1/0;const ne=ue=>{for(const A of ue)Array.isArray(A[0])?ne(A):Number.isFinite(A[0])&&Number.isFinite(A[1])&&(P.push(A[0]),A[1]Z&&(Z=A[1]))};(ee=I.geometry)!=null&&ee.coordinates&&ne(I.geometry.coordinates);const re=y(P);if(re&&Number.isFinite(K)){const ue=[[re.minLng,K],[re.maxLng,Z]];L(E,ue,re.span)?O(E,re.center,K,Z):E.fitBounds(ue,{padding:x,maxZoom:_,duration:v,essential:!0});return}}}const j=N.sourceId??"language-families";if(!E.getSource(j))return;const J=N.matchExpr??R.filter;if(!J)return;const ce=z(E,j);if(!ce.length)return;const F=[];let te=1/0,G=-1/0,se=0,he=0,pe=0;const ke=new Set;for(const $e of ce){const C=$e==null?void 0:$e.properties;if(!H(J,C))continue;const I=C==null?void 0:C.uniqueId;if(I!=null){if(ke.has(I))continue;ke.add(I)}const P=(Se=$e.geometry)==null?void 0:Se.coordinates;if(!Array.isArray(P)||P.length<2)continue;const K=P[0],Z=P[1];!Number.isFinite(K)||!Number.isFinite(Z)||(se===0&&(he=K,pe=Z),F.push(K),ZG&&(G=Z),se++)}if(se===0)return;if(se===1){E.flyTo({center:[he,pe],zoom:d,duration:v,essential:!0});return}const fe=y(F)||{center:0,minLng:0,maxLng:0,span:0},we=[[fe.minLng,te],[fe.maxLng,G]];if(L(E,we,fe.span)){O(E,fe.center,te,G);return}try{E.fitBounds(we,{padding:x,maxZoom:_,duration:v,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:k,fitBounds:w,resetView:b,zoomToLegendRow:U,calculateRegionCenterFromPolygon:h}}const Qr="#1a1a1a",Uo="selected-pin-highlight";function Bv(e=Qr){const t=document.createElement("div");t.className="doxa-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + `}function f(d){const p=t();if(!p)return;const g=d||"language-family-pins";if(!p.getLayer(g))return;const y=I=>{try{const D=I.features[0],x=D.properties,G=D.geometry.coordinates.slice();for(;Math.abs(I.lngLat.lng-G[0])>180;)G[0]+=I.lngLat.lng>G[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(D),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(G).setHTML(c(x)).addTo(p)}catch(D){console.error(` [${o}] Pin click handler error:`,D)}};p.on("click",g,y),l.value.push({event:"click",layer:g,handler:y})}function m(){const d=t();if(!d)return;const p="regions-fill";if(!d.getLayer(p))return;const g=y=>{const I=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const D of I)if(d.getLayer(D)){const x=d.queryRenderedFeatures(y.point,{layers:[D]});if(x&&x.length>0)return}if(y.features&&y.features.length>0){const D=y.features[0].properties;new mapboxgl.Popup().setLngLat(y.lngLat).setHTML(u(D)).addTo(d)}};d.on("click",p,g),l.value.push({event:"click",layer:p,handler:g})}function k(){const d=t();if(!d)return;const p="clusters";if(!d.getLayer(p))return;const g=y=>{const I=d.queryRenderedFeatures(y.point,{layers:[p]});if(!I.length)return;const D=I[0].properties.cluster_id,x=I[0].source;d.getSource(x).getClusterExpansionZoom(D,(G,V)=>{G||d.easeTo({center:I[0].geometry.coordinates,zoom:V})})};d.on("click",p,g),l.value.push({event:"click",layer:p,handler:g})}function w(d){const p=t();if(!p||!p.getLayer(d))return;const g=()=>{p.getCanvas().style.cursor="pointer"},y=()=>{p.getCanvas().style.cursor=""};p.on("mouseenter",d,g),p.on("mouseleave",d,y),l.value.push({event:"mouseenter",layer:d,handler:g}),l.value.push({event:"mouseleave",layer:d,handler:y})}function h(){f(),w("language-family-pins"),f("language-family-pins-hitbox"),w("language-family-pins-hitbox"),k(),w("clusters")}function _(){m(),w("regions-fill")}function b(){const d=t();d&&(d.getLayer("language-family-pins")&&h(),d.getLayer("regions-fill")&&_(),d.getLayer("people-groups-pins")&&(f(),w("people-groups-pins")))}function v(){const d=t();if(d){for(const{event:p,layer:g,handler:y}of l.value)try{d.off(p,g,y)}catch{}l.value=[]}}return{attachAllEventHandlers:b,attachLanguageFamilyEvents:h,attachRegionEvents:_,attachPinClickHandler:f,attachRegionClickHandler:m,attachClusterClickHandler:k,attachCursorHandlers:w,detachAllEventHandlers:v,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Ke={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},nl=[">",["to-number",["get","peoplePraying"],0],0],al={0:.25,8:.4,14:.5},Wn={0:.1,8:.18,14:.22},Yn={0:1.2,8:1.6,14:2},zp=["interpolate",["linear"],["zoom"],0,["case",nl,al[0],Wn[0]],8,["case",nl,al[8],Wn[8]],14,["case",nl,al[14],Wn[14]]],Iv=["interpolate",["linear"],["zoom"],0,Yn[0],8,Yn[8],14,Yn[14]],Up=["==",["to-number",["get","peoplePraying"],0],0],Mv={prayer:[Up],prayerProgress:[Up],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Rv(e){const t=Mv[e]||[];if(!t.length)return Iv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,Wn[0],Yn[0]],8,["case",o,Wn[8],Yn[8]],14,["case",o,Wn[14],Yn[14]]]}const Fv=[[/ sign language$/i,"Sign Language"]];function Dv(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(Ke[a])return Ke[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(Ke[r])return Ke[r]}}if(Ke[t])return Ke[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&Ke[n])return Ke[n];for(const[a,r]of Fv)if(a.test(t))return r;return null}function Ov(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=jp({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),s=de({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=de({});function l(F,ne="languageFamily"){const z=t();if(!z||!(F!=null&&F.length))return;const ie=gv(ne),fe=F.map(Q=>{var we,$e,C,P,$,K,ee,re,se,ue,L,S,Z,T,H,te,q,Y,be;return{type:"Feature",properties:{uniqueId:Q.id||Q.uniqueId,slug:Q.slug||((we=Q._normalized)==null?void 0:we.slug)||"",rop3:Q.rop3||Q.peopleGroupId,peopleId3:Q.peopleId3||"",name:Q.name,language:Q.language,languageFamily:Q.languageFamily||(($e=Q._normalized)==null?void 0:$e.languageFamily)||Dv(Q.language)||"Unknown",affinityBlock:Q.affinityBlock||Q.affbloc||Q.Affbloc||((C=Q._normalized)==null?void 0:C.affinityBlock)||"Unknown",affinityBlockLabel:Q.affinityBlockLabel||((P=Q._normalized)==null?void 0:P.affinityBlockLabel)||"",cluster:Q.cluster||(($=Q._normalized)==null?void 0:$.cluster)||"",clusterLabel:Q.clusterLabel||((K=Q._normalized)==null?void 0:K.clusterLabel)||"",peopleGroup:Q.peopleGroup||((ee=Q._normalized)==null?void 0:ee.peopleGroup)||"",peopleGroupLabel:Q.peopleGroupLabel||((re=Q._normalized)==null?void 0:re.peopleGroupLabel)||"",doxaRegion:Q.doxaRegion||((se=Q._normalized)==null?void 0:se.doxaRegion)||"Unknown",wagfBlock:Q.wagfBlock||((ue=Q._normalized)==null?void 0:ue.wagfBlock)||"",wagfBlockLabel:Q.wagfBlockLabel||((L=Q._normalized)==null?void 0:L.wagfBlockLabel)||"",wagfRegionLabel:Q.wagfRegionLabel||((S=Q._normalized)==null?void 0:S.wagfRegionLabel)||"",country:Q.country,countryIso:Q.countryIso,countryIsoLabel:Q.countryIsoLabel,countryName:Q.countryName,religion:Q.religion,religionCode:Q.religionCode,religionLabel:Q.religionLabel,religionName:Q.religionName,population:Q.population,status:Q.status,description:Q.description||"",imageUrl:Q.imageUrl||"",peoplePraying:Number(Q.peoplePraying??((Z=Q._normalized)==null?void 0:Z.peoplePraying)??0),engagementStatus:Q.engagementStatus===!0||Q.engagementStatus===1||!1,adoptionStatus:Q.adoptionStatus===!0||Q.adoptionStatus===1||!1,bible:Q.bible||((T=Q._normalized)==null?void 0:T.bible)||"Not Available",jesusFilm:Q.jesusFilm||((H=Q._normalized)==null?void 0:H.jesusFilm)||"Not Available",radio:Q.radio||((te=Q._normalized)==null?void 0:te.radio)||"Not Available",gospel:Q.gospel||((q=Q._normalized)==null?void 0:q.gospel)||"Not Available",audio:Q.audio||((Y=Q._normalized)==null?void 0:Y.audio)||"Not Available",stories:Q.stories||((be=Q._normalized)==null?void 0:be.stories)||"Not Available",lng:parseFloat(Q.longitude||Q.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(Q.longitude||Q.lng),parseFloat(Q.latitude||Q.lat)]}}}).filter(Q=>!isNaN(Q.geometry.coordinates[0])&&!isNaN(Q.geometry.coordinates[1])),pe=.04,ke=Q=>`${Q.geometry.coordinates[0]},${Q.geometry.coordinates[1]}`,he=new Map;for(const Q of fe){const we=ke(Q);he.has(we)||he.set(we,[]),he.get(we).push(Q)}for(const Q of he.values()){if(Q.length<2)continue;const[we,$e]=Q[0].geometry.coordinates,C=Q.length;for(let P=0;P",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),z.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":ol("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),s.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function c(F,ne="doxa-regions"){const z=t();if(!z)return;z.getLayer("regions-fill")&&z.removeLayer("regions-fill"),z.getLayer("regions-border")&&z.removeLayer("regions-border"),z.getSource("regions")&&z.removeSource("regions");const ie={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},fe="#cccccc",pe=F&&F.isoToRegion?F.isoToRegion:{},ke=[],he={};for(const[we,$e]of Object.entries(pe)){const C=ie[String($e).toLowerCase()];C&&ke.push(we,C),he[$e]||(he[$e]=[]),he[$e].push(we)}i.value=he;const Se=ke.length?["match",["get","iso_3166_1_alpha_3"],...ke,fe]:fe,Q=z.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":z.getLayer("language-family-pins")?"language-family-pins":void 0;z.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),z.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":Se,"fill-opacity":ne==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},Q),z.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":Se,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},Q),s.value.regions=!0,r.attachRegionEvents()}function u(F,ne){const z=t();if(!z||!F||!(ne!=null&&ne.length))return;f();const ie=ne.filter(Se=>{var we;return(Se.languageFamily||((we=Se._normalized)==null?void 0:we.languageFamily)||"Unknown")===F});if(ie.length<2)return;const fe=n(F),pe=[],ke=15,he=[...ie].sort((Se,Q)=>(Se.longitude||Se.lng)-(Q.longitude||Q.lng));for(let Se=0;Se=",["get","peoplePraying"],xo],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const j=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function U(F,ne){const z=["interpolate",["linear"],["zoom"]];for(let ie=0;ie",["get","peoplePraying"],0],z=V();if(!I.every(fe=>F.getLayer(fe))){for(const fe of I)if(F.getLayer(fe))try{F.removeLayer(fe)}catch{}F.addLayer({id:p,type:"circle",source:"language-families",filter:ne,paint:{"circle-radius":U(j,1),"circle-color":z,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...ja(F)}},"language-family-pins");for(const fe of y)F.addLayer({id:fe,type:"circle",source:"language-families",filter:ne,paint:{"circle-radius":U(j,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":z,"circle-stroke-opacity":0,...ja(F)}},"language-family-pins")}}function M(){const F=t();if(F)for(const ne of I)F.getLayer(ne)&&F.removeLayer(ne)}function E(F){const ne=t();if(!ne)return;const z=[">",["get","peoplePraying"],0],ie=F?["all",z,F]:z;for(const fe of I)if(ne.getLayer(fe))try{ne.setFilter(fe,ie)}catch{}}function B(){const F=t();if(F){if(R(),b&&(cancelAnimationFrame(b),b=null),v=!0,F.getLayer("language-family-pins"))try{F.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],xo],1,[">",["get","peoplePraying"],0],1,3])}catch{}J()}}function J(){b&&(cancelAnimationFrame(b),b=null);const F=++d;let ne=performance.now();function z(ie){if(!v||F!==d)return;const fe=t();if(!fe||!I.some(ke=>fe.getLayer(ke))){b=null;return}const pe=(ie-ne)/1e3;for(let ke=0;kenull,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(ro==null?void 0:ro.center)||[20,10],defaultZoom:s=ro==null?void 0:ro.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(R,M,E={x:150,y:0}){const B=t();if(!B)return R;try{const J=B.getCanvas(),ce=J.width,F=J.height,ne=B.project(R),z=window.devicePixelRatio||1,ie=(E.x||0)*z,fe=(E.y||0)*z,pe={x:ne.x-ie,y:ne.y-fe},ke=B.unproject(pe);return[ke.lng,ke.lat]}catch{return R}}function c(R,M=[]){const E=t();if(!E)return;let B=null,J=5;const ce=M.filter(ne=>ne.languageFamily===R);if(ce.length>0){let ne=1/0,z=-1/0,ie=1/0,fe=-1/0;if(ce.forEach(pe=>{pe.longitude&&pe.latitude&&(ne=Math.min(ne,pe.longitude),z=Math.max(z,pe.longitude),ie=Math.min(ie,pe.latitude),fe=Math.max(fe,pe.latitude))}),ne!==1/0){B=[(ne+z)/2,(ie+fe)/2];const pe=z-ne,ke=fe-ie,he=Math.max(pe,ke);he>50?J=2:he>20?J=3:he>10?J=4:he>5?J=5:J=6}}if(!B)return;const F=l(B);E.flyTo({center:F,zoom:J,...i})}function u(R){const M=t();if(!M)return;let E=null,B=4;const J=Nv(R);if(J)E=J.center,B=J.zoom||4;else if(a!=null&&a.features){const F=a.features.find(ne=>{var z,ie;return((z=ne.properties)==null?void 0:z.region)===R||((ie=ne.properties)==null?void 0:ie.name)===R});F&&(E=f(F))}if(!E)return;const ce=l(E);M.flyTo({center:ce,zoom:B,...i})}function f(R){if(!R||!R.geometry)return null;const{type:M,coordinates:E}=R.geometry;let B=[];if(M==="Polygon"?B=E[0]||[]:M==="MultiPolygon"&&E.forEach(F=>{B=B.concat(F[0]||[])}),B.length===0)return null;let J=0,ce=0;return B.forEach(F=>{J+=F[0],ce+=F[1]}),[J/B.length,ce/B.length]}function m(R,M={}){const E=t();if(!E)return;const B={center:R,...i,...M};E.flyTo(B)}function k(R,M){const E=t();if(!E||(R==null?void 0:R.longitude)==null||(R==null?void 0:R.latitude)==null)return;const B=M??Math.min(E.getZoom()+2,8);m([R.longitude,R.latitude],{zoom:B})}function w(R,M={top:40,right:40,bottom:40,left:40},E={}){const B=t();if(!B||!R)return;const J=E.maxZoom??4;B.fitBounds(R,{padding:M,maxZoom:J,...i})}function h(){const R=t();R&&R.flyTo({center:r,zoom:s,...i})}const _=80,b=800,v=5,d=5,p=110,g=1.2;function y(R){const M=R.filter(Number.isFinite).slice().sort((C,P)=>C-P),E=M.length;if(!E)return null;let B=-1,J=0;for(let C=0;CB&&(B=$,J=C)}const ce=(J+1)%E,F=new Array(E);for(let C=0;C0&&P((C+180)%360+360)%360-180,ke=pe(ie),he=24,Se=360/he,Q=new Array(he).fill(0);for(const C of M){let P=Math.floor(((C+180)%360+360)%360/Se);P>=he&&(P=he-1),Q[P]++}let we=0;for(let C=1;CQ[we]&&(we=C);return{center:pe(-180+(we+.5)*Se),minLng:ke,maxLng:ke+(fe-ie),span:fe-ie}}function I(R){try{const M=R.getContainer&&R.getContainer().clientWidth||0,E=M>0?Math.log2(M/512):g,B=typeof R.getMinZoom=="function"?R.getMinZoom():E;return Math.max(B,E)}catch{return g}}function D(R,M,E,B){R.easeTo({center:[M,(E+B)/2],zoom:I(R),duration:b,essential:!0})}function x(R,M,E){if(E>p)return!0;try{const B=typeof R.cameraForBounds=="function"?R.cameraForBounds(M,{padding:_,maxZoom:v}):null;return B==null?!0:typeof B.zoom=="number"&&B.zoom<=I(R)+.05}catch{return!1}}function G(R,M){if(!Array.isArray(R))return R;switch(R[0]){case"get":return M==null?void 0:M[R[1]];case"literal":return R[1];case"has":return M!=null&&R[1]in M;case"!has":return M==null||!(R[1]in M);case"!":return!G(R[1],M);case"coalesce":{for(let B=1;B2){const ce=Number(G(R[2],M));return Number.isFinite(ce)?ce:0}return NaN}case"to-string":{const B=G(R[1],M);return B==null?"":String(B)}case"to-boolean":return!!G(R[1],M);case"slice":{const B=G(R[1],M),J=G(R[2],M),ce=R.length>3?G(R[3],M):void 0;return typeof B!="string"?"":ce!=null?B.slice(J,ce):B.slice(J)}default:return R}}function V(R,M){if(R===!0)return!0;if(R===!1)return!1;if(!Array.isArray(R))return!!R;const E=R[0];if(E==="all"){for(let B=1;B"||E===">="||E==="<"||E==="<="){const B=typeof R[1]=="string"?M==null?void 0:M[R[1]]:G(R[1],M),J=G(R[2],M);switch(E){case"==":return B===J||B==null&&J==null;case"!=":return!(B===J||B==null&&J==null);case">":return B>J;case">=":return B>=J;case"<":return B{const K=($==null?void 0:$.properties)||{};return K.region===C||K.name===C||K.id===C});if(P){const $=[];let K=1/0,ee=-1/0;const re=ue=>{for(const L of ue)Array.isArray(L[0])?re(L):Number.isFinite(L[0])&&Number.isFinite(L[1])&&($.push(L[0]),L[1]ee&&(ee=L[1]))};(Q=P.geometry)!=null&&Q.coordinates&&re(P.geometry.coordinates);const se=y($);if(se&&Number.isFinite(K)){const ue=[[se.minLng,K],[se.maxLng,ee]];x(E,ue,se.span)?D(E,se.center,K,ee):E.fitBounds(ue,{padding:_,maxZoom:v,duration:b,essential:!0});return}}}const B=M.sourceId??"language-families";if(!E.getSource(B))return;const J=M.matchExpr??R.filter;if(!J)return;const ce=j(E,B);if(!ce.length)return;const F=[];let ne=1/0,z=-1/0,ie=0,fe=0,pe=0;const ke=new Set;for(const $e of ce){const C=$e==null?void 0:$e.properties;if(!V(J,C))continue;const P=C==null?void 0:C.uniqueId;if(P!=null){if(ke.has(P))continue;ke.add(P)}const $=(we=$e.geometry)==null?void 0:we.coordinates;if(!Array.isArray($)||$.length<2)continue;const K=$[0],ee=$[1];!Number.isFinite(K)||!Number.isFinite(ee)||(ie===0&&(fe=K,pe=ee),F.push(K),eez&&(z=ee),ie++)}if(ie===0)return;if(ie===1){E.flyTo({center:[fe,pe],zoom:d,duration:b,essential:!0});return}const he=y(F)||{center:0,minLng:0,maxLng:0,span:0},Se=[[he.minLng,ne],[he.maxLng,z]];if(x(E,Se,he.span)){D(E,he.center,ne,z);return}try{E.fitBounds(Se,{padding:_,maxZoom:v,duration:b,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:k,fitBounds:w,resetView:h,zoomToLegendRow:U,calculateRegionCenterFromPolygon:f}}const es="#1a1a1a",Ko="selected-pin-highlight";function Gv(e=es){const t=document.createElement("div");t.className="doxa-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=` + + +
+
loading token…
+ + + + + + + + diff --git a/public/js/doxa-maps-build/doxa-maps/research-dashboard/index.html b/public/js/doxa-maps-build/doxa-maps/research-dashboard/index.html index a890a59e..37ca5b6f 100644 --- a/public/js/doxa-maps-build/doxa-maps/research-dashboard/index.html +++ b/public/js/doxa-maps-build/doxa-maps/research-dashboard/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":18,"bundles":[{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-BHZ25fzYe0jD3pRXnpDZQNiRn8kmraxudx6Q+jJTIwa4JmC+p9T/7BRkW+p1uWdu","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-BHZ25fzYe0jD3pRXnpDZQNiRn8kmraxudx6Q+jJTIwa4JmC+p9T/7BRkW+p1uWdu\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]}]}; - + diff --git a/public/js/doxa-maps-build/doxa-maps/template-bundle/index.html b/public/js/doxa-maps-build/doxa-maps/template-bundle/index.html index cbeba3a1..1563d9a1 100644 --- a/public/js/doxa-maps-build/doxa-maps/template-bundle/index.html +++ b/public/js/doxa-maps-build/doxa-maps/template-bundle/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":18,"bundles":[{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-7oKMpdhxEwHZk1lLpNS5+8FNfK7CEv2BAlgmw65N5F6CkNhduVcSVgIshYLDKYhJ","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-7oKMpdhxEwHZk1lLpNS5+8FNfK7CEv2BAlgmw65N5F6CkNhduVcSVgIshYLDKYhJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-7oKMpdhxEwHZk1lLpNS5+8FNfK7CEv2BAlgmw65N5F6CkNhduVcSVgIshYLDKYhJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; diff --git a/public/js/doxa-maps-build/doxa-maps/template-bundle/template-map-b/index.html b/public/js/doxa-maps-build/doxa-maps/template-bundle/template-map-b/index.html index 5ced53bf..d35aee6f 100644 --- a/public/js/doxa-maps-build/doxa-maps/template-bundle/template-map-b/index.html +++ b/public/js/doxa-maps-build/doxa-maps/template-bundle/template-map-b/index.html @@ -48,7 +48,7 @@ var BASE_CONFIG = {"profile":"template-map-b","dataSource":"pray-tools","instanceId":"template-bundle-template-map-b","assetsBase":"../../../assets"}; // MapLibre pages need NO token: the ladder below is skipped entirely. var TOKEN_FREE = false; - var TOKEN_SRC = "/api/maps/token.json"; + var TOKEN_SRC = "https://doxa.life/api/maps/token"; var BAKED_TOKEN = ""; var DEFAULT_TOKEN_URL = '/api/maps/token'; @@ -105,21 +105,47 @@ if (TOKEN_FREE) { return mount(''); } if (directToken) { return mount(directToken); } - // Rungs 4-6: resolve a token endpoint and fetch it. - var tokenUrl = - (window.MAP_TOKEN_URL) || - (TOKEN_SRC && TOKEN_SRC !== 'window.MAP_TOKEN_URL' ? TOKEN_SRC : '') || - DEFAULT_TOKEN_URL; + // Rungs 4-6: resolve the token ENDPOINT candidates and try them IN ORDER — the first + // one that answers with a token wins. Order: window.MAP_TOKEN_URL override → the + // configured TOKEN_SRC (an ABSOLUTE url, so a tree hosted on a CDN away from the API + // still finds it) → same-origin /api/maps/token (dev, or the site hosting both). + // A single hard-coded pick used to kill the page when its one url 404'd or was + // blocked by CORS; a shared link must work wherever the tree is hosted. + var candidates = []; + function addCandidate(u) { if (u && candidates.indexOf(u) === -1) candidates.push(u); } + addCandidate(window.MAP_TOKEN_URL); + addCandidate(TOKEN_SRC && TOKEN_SRC !== 'window.MAP_TOKEN_URL' ? TOKEN_SRC : ''); + addCandidate(DEFAULT_TOKEN_URL); - fetch(tokenUrl) - .then(function (r) { - var ct = r.headers.get('content-type') || ''; - return ct.indexOf('json') !== -1 ? r.json() : r.text(); - }) - .then(function (data) { mount(extractToken(data)); }) - .catch(function (e) { - fail('Token fetch failed from ' + tokenUrl + ' — set window.MAP_TOKEN_URL or pass ?tk=. (' + (e && e.message ? e.message : e) + ')'); - }); + function fetchToken(i, errors) { + if (i >= candidates.length) { + // Every endpoint failed: say which, and still offer the paste-once box (no dead ends). + askToken(); + if (status) { + var d = document.createElement('div'); + d.textContent = '⚠ Token fetch failed from ' + candidates.join(', ') + ' — set window.MAP_TOKEN_URL or pass ?tk=. (' + errors.join(' | ') + ')'; + status.insertBefore(d, status.firstChild); + } + return; + } + var url = candidates[i]; + return fetch(url) + .then(function (r) { + if (!r.ok) throw new Error(url + ' → HTTP ' + r.status); + var ct = r.headers.get('content-type') || ''; + return ct.indexOf('json') !== -1 ? r.json() : r.text(); + }) + .then(function (data) { + var tk = extractToken(data); + if (!tk) throw new Error(url + ' → no token in response'); + mount(tk); + }) + .catch(function (e) { + errors.push(e && e.message ? e.message : String(e)); + return fetchToken(i + 1, errors); + }); + } + fetchToken(0, []); })(); diff --git a/server/api/maps/token.get.ts b/server/api/maps/token.get.ts index 09c9ebd5..889efe70 100644 --- a/server/api/maps/token.get.ts +++ b/server/api/maps/token.get.ts @@ -66,6 +66,15 @@ const CLIENT_SCOPES = [ ] export default defineEventHandler(async (event): Promise => { + // CORS: the built map pages fetch this from wherever the doxa-maps tree is hosted + // (a CDN, a partner site, localhost) — a foreign origin without this header is + // blocked by the browser and the map never gets a token. Safe to open: pk tokens + // are public by design and tk tokens are minted read-only (see notes above). + setResponseHeaders(event, { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': 'GET, OPTIONS', + 'Cache-Control': 'no-store', + }) const config = useRuntimeConfig(event) // Prefer the server-only key if present; fall back to the public token // so existing setups (just NUXT_PUBLIC_MAPBOX_TOKEN) keep working.