diff --git a/internal/check-aria-labels-localized.mjs b/internal/check-aria-labels-localized.mjs new file mode 100644 index 000000000..c15b9a076 --- /dev/null +++ b/internal/check-aria-labels-localized.mjs @@ -0,0 +1,159 @@ +#!/usr/bin/env node +// check-aria-labels-localized — no control may announce a RAW I18N KEY, and the +// accessible names must change with the locale. +// +// ★ THE ONE STRING A SIGHTED TESTER NEVER SEES. Every other untranslated string in +// this tree got caught because somebody looked at the screen. aria-label is only ever +// spoken aloud, so it survived every visual QA pass. Measured 2026-09-24 on the served +// upg-100-list leaf: the legend's toggle button announced the literal string +// "aria.toggleLegend" — in English too, not just translated locales — because vue-i18n +// ECHOES THE KEY when a lookup misses and `toggleLegend` was absent from aria.json +// while its two siblings (backToLegend, closeDetailView) were present. Six call sites +// across LegendDesktop.vue and LegendMobile.vue, desktop AND mobile, every locale. +// +// A second instance in the same sweep had the opposite shape: SemanticTreeLegend's +// collapse button hardcoded 'Collapse legend' / 'Expand legend' with no t() at all, so +// it was correct English and untranslatable. One key missing FROM the catalog, one +// string never routed TO it — the gate below catches both, because it compares what is +// ANNOUNCED across locales rather than reading the source. +// +// ⚠ TWO ASSERTIONS, NOT ONE. "No raw keys" alone passes a hardcoded English label, and +// "labels differ across locales" alone passes a raw key (a key is identical in every +// locale — which is exactly why the SEPARABILITY floor below is per-locale). +// +// ⚠ A RAW KEY HAS A SHAPE NO HUMAN LABEL HAS: dotted, camelCase, no spaces. That is the +// whole detector, and it is locale-independent — it works on Arabic and Chinese pages +// where no English word list could. +// +// Usage: node internal/check-aria-labels-localized.mjs [locales] +import { chromium } from 'playwright' + +const URL_ = process.argv[2] || process.env.ARIA_URL +if (!URL_) { + console.log('ARIA-LABELS-LOCALIZED: SKIP — no leaf url given.') + console.log(' Pass one, or set ARIA_URL. Serve the TREE ROOT (public/) and point at a leaf,') + console.log(' e.g. doxa-maps/my-upg-100-list/upg-100-list/index.html') + process.exit(0) +} +const UNDER_TEST = (process.argv[3] || 'es,ar,zh').split(',').map((s) => s.trim()).filter(Boolean) + +// A raw vue-i18n key: starts lowercase, dotted, no whitespace. Human labels have spaces +// ("Zoom in") or are non-Latin; neither matches. +const RAW_KEY = /^[a-z][a-zA-Z0-9]*(\.[a-zA-Z0-9]+)+$/ + +// How many accessible names MUST change when the locale changes. Measured on the +// upg-100-list leaf 2026-09-24: 6 of 13, desktop and mobile alike. The rest are map- +// engine controls (Mapbox's own zoom/fullscreen buttons) whose labels this tree does +// not own. Override for a leaf with a different control set. +const LOCALIZED_FLOOR = Number(process.env.ARIA_LOCALIZED_FLOOR || 6) + +async function readLabels(browser, lang, viewport, mobile) { + const page = await browser.newPage({ viewport, isMobile: mobile, hasTouch: mobile }) + const errs = [] + page.on('pageerror', (e) => errs.push(String(e).slice(0, 120))) + await page.goto(`${URL_}?lang=${lang}`, { waitUntil: 'load', timeout: 45000 }) + await page.waitForTimeout(9000) + const labels = await page.evaluate(() => { + const walk = (root, out = []) => { + for (const el of root.querySelectorAll('*')) { out.push(el); if (el.shadowRoot) walk(el.shadowRoot, out) } + return out + } + // Shadow-piercing: these controls live several shadow roots deep. + return walk(document) + .filter((e) => e.getAttribute && e.getAttribute('aria-label') !== null) + .map((e) => (e.getAttribute('aria-label') || '').trim()) + }) + await page.close() + return { labels, errs } +} + +const browser = await chromium.launch({ args: ['--use-gl=swiftshader', '--enable-unsafe-swiftshader'] }) +const VIEWPORTS = [ + { name: 'desktop', viewport: { width: 1500, height: 1000 }, mobile: false }, + { name: 'mobile', viewport: { width: 390, height: 844 }, mobile: true }, +] +const seen = {} +try { + for (const vp of VIEWPORTS) { + seen[vp.name] = {} + for (const loc of ['en', ...UNDER_TEST]) { + seen[vp.name][loc] = await readLabels(browser, loc, vp.viewport, vp.mobile) + } + } +} finally { + await browser.close() +} + +const fails = [] +const report = [] + +for (const vp of VIEWPORTS) { + const byLoc = seen[vp.name] + const en = byLoc.en + + // PRECONDITION: a page with no aria-labels at all makes every assertion vacuous. A + // bundle that failed to execute renders nothing with zero page errors (the stale-SRI + // signature), and would otherwise read as "nothing untranslated". + if (!en.labels.length) { + fails.push(`${vp.name}: no aria-labels rendered at all — either the wrong url, or the ` + + 'bundle did not execute (a stale SRI hash refuses the script SILENTLY; run ' + + '`bun run tree` after `BUNDLE= bun x vite build`)') + continue + } + + for (const loc of ['en', ...UNDER_TEST]) { + const s = byLoc[loc] + // ASSERTION 1 — NO RAW KEYS, in every locale INCLUDING English. A missing catalog + // entry is announced as its own key name, which is gibberish to a screen reader. + const raw = [...new Set(s.labels.filter((t) => RAW_KEY.test(t)))] + if (raw.length) { + fails.push(`${vp.name}/${loc}: ${raw.length} control(s) announce a RAW I18N KEY — ` + + `${JSON.stringify(raw)} — vue-i18n echoes the key when the lookup misses, so a ` + + 'screen reader reads the key name aloud') + } + // NEVER BLANK either: an empty aria-label is worse than none, it suppresses the + // fallback to the element's own text. + const blank = s.labels.filter((t) => !t).length + if (blank) fails.push(`${vp.name}/${loc}: ${blank} EMPTY aria-label(s)`) + if (s.errs.length) fails.push(`${vp.name}/${loc}: ${s.errs.length} page error(s): ${s.errs[0]}`) + } + + // ASSERTION 2 — THE LOCALE MUST MOVE THEM. Raw-key-free is not the same as localized: + // a hardcoded English label passes assertion 1 forever. At least one accessible name + // must differ from English in each locale, or nothing on this surface is translated. + for (const loc of UNDER_TEST) { + const s = byLoc[loc] + const diff = s.labels.filter((t, i) => en.labels[i] && t !== en.labels[i]).length + if (s.labels.length && diff === 0) { + fails.push(`${vp.name}/${loc}: NOT ONE of ${s.labels.length} aria-label(s) differs from ` + + 'English — the accessible names are hardcoded, not catalogued') + } + // ⚠ A FLOOR, NOT JUST "> 0". `diff === 0` alone is decoration: it prints a count and + // only fails when EVERY label regresses. Measured 2026-09-24 — hardcoding ONE label + // back to English dropped this from 6 to 5 and the gate still passed, which is the + // exact shape ("a number printed but not asserted on") this tree keeps rediscovering. + // The floor is the count that currently holds, so any single regression goes red. + // RAISE IT when you localize more; never lower it to make a red build green. + if (s.labels.length && diff < LOCALIZED_FLOOR) { + fails.push(`${vp.name}/${loc}: only ${diff} of ${s.labels.length} aria-label(s) differ from ` + + `English, expected at least ${LOCALIZED_FLOOR} — a label that used to be catalogued ` + + 'has been hardcoded back to English (it leaves no raw key behind, so assertion 1 ' + + 'cannot see it)') + } + report.push(` ${vp.name.padEnd(8)} ${loc.padEnd(3)}: ${diff}/${s.labels.length} differ from English, ` + + `${s.labels.filter((t) => RAW_KEY.test(t)).length} raw key(s), ${s.labels.filter((t) => !t).length} blank`) + } +} + +console.log('ARIA-LABELS-LOCALIZED') +console.log(` leaf : ${URL_}`) +console.log(` labels : ${seen.desktop?.en?.labels.length ?? 0} desktop / ${seen.mobile?.en?.labels.length ?? 0} mobile (English)`) +for (const line of report) console.log(line) + +if (fails.length) { + console.error(`\nARIA-LABELS-LOCALIZED: FAIL — ${fails.length} problem(s)`) + for (const f of fails) console.error(' - ' + f) + process.exit(1) +} +console.log('\nARIA-LABELS-LOCALIZED: PASS — no control announces a raw i18n key, none is blank, ' + + 'and choosing a locale changes what a screen reader says.') diff --git a/internal/check-legend-info-localized.mjs b/internal/check-legend-info-localized.mjs new file mode 100644 index 000000000..544d09022 --- /dev/null +++ b/internal/check-legend-info-localized.mjs @@ -0,0 +1,148 @@ +#!/usr/bin/env node +// check-legend-info-localized — the legend's INFO POPOVERS must translate, in the +// real served page, not in a reimplementation of the lookup. +// +// ★ WHY THIS EXISTS BESIDE check:tabs-localized. That gate proves the dynamic-key +// mechanism reaches tabs.json — genuinely valuable, and it passes. But it tests SEVEN +// HARDCODED research-map tabs and it REIMPLEMENTS tabLabel() inside page.evaluate with +// catalogs fed in by hand. So it proves "tab localization works, for these seven", +// which is not the same claim as "this profile's tabs are localized". The UPG-100 +// legend's three tabs were absent from tabs.json entirely and that gate stayed green. +// +// ⚠ AND IT NEVER LOOKED AT `info` AT ALL. SemanticTreeLegend rendered `tab.info` RAW in +// all three places it appears (the button's title=, and the popover body) while the tab +// LABEL beside it went through the catalog. Measured 2026-09-24 on the served leaf: +// ?lang=es changed 2 of 76 rendered strings ("POPULATION" -> "POBLACIÓN") and left all +// three tabs AND all three info popovers in English. The mechanism worked; the strings +// were never catalogued. The Driver named this affordance specifically — "the tab itself +// gives you a little information button that will explain what a UPG-100 list is" — +// which is exactly the sentence a reader who does not read English cannot use. +// +// ⚠ IT RENDERS THE REAL PAGE. A catalog-only check cannot tell a shipped translation +// from a dead one, and a reimplemented lookup cannot tell you the component actually +// calls it. This opens the served leaf, switches locale the way a reader does (?lang=), +// CLICKS each info button and reads the popover that paints. +// +// ⚠ WAIT FOR THE FLUSH. showInfo() sets a ref; reading the DOM in the same tick as the +// click finds no popover and reads as "the affordance is broken". Measured: the first +// version of this probe reported "(no popover)" in every locale against a working build. +// +// Usage: node internal/check-legend-info-localized.mjs [locales] +import { chromium } from 'playwright' +import { readFileSync, existsSync } from 'node:fs' +import { join, dirname } from 'node:path' +import { fileURLToPath } from 'node:url' + +const REPO = join(dirname(fileURLToPath(import.meta.url)), '..') +const LOCALES = join(REPO, 'library/i18n/locales') + +const URL_ = process.argv[2] || process.env.LEGEND_URL +if (!URL_) { + console.log('LEGEND-INFO-LOCALIZED: SKIP — no leaf url given.') + console.log(' Pass one, or set LEGEND_URL. Serve the TREE ROOT (public/doxa-maps) and point') + console.log(' at a profile whose legend carries per-tab info buttons, e.g.') + console.log(' my-upg-100-list/upg-100-list/index.html') + process.exit(0) +} +const UNDER_TEST = (process.argv[3] || 'es,ar,zh').split(',').map((s) => s.trim()).filter(Boolean) + +const legendCat = (loc) => { + const p = join(LOCALES, loc, 'legend.json') + return existsSync(p) ? JSON.parse(readFileSync(p, 'utf8')) : null +} + +// Read each locale's info popovers from the REAL page, clicking every info button. +async function readLegend(page, url, lang) { + const errs = [] + page.on('pageerror', (e) => errs.push(String(e).slice(0, 120))) + await page.goto(`${url}?lang=${lang}`, { waitUntil: 'load', timeout: 45000 }) + await page.waitForTimeout(9000) + const walkFn = () => { + const walk = (root, out = []) => { + for (const el of root.querySelectorAll('*')) { out.push(el); if (el.shadowRoot) walk(el.shadowRoot, out) } + return out + } + return walk(document) + } + const count = await page.evaluate(`(${walkFn.toString()})().filter(e => (e.className||'').toString().includes('stl-tab-info')).length`) + const pops = [] + for (let i = 0; i < count; i++) { + await page.evaluate(`(${walkFn.toString()})().filter(e => (e.className||'').toString().includes('stl-tab-info'))[${i}]?.click()`) + // ⚠ showInfo() sets a ref — read AFTER Vue flushes, or every popover reads empty. + await page.waitForTimeout(400) + pops.push(await page.evaluate(`(() => { const el = (${walkFn.toString()})().find(e => (e.className||'').toString().includes('stl-info-pop')); return el ? (el.innerText||'').trim() : '' })()`)) + } + const tabs = await page.evaluate(`(${walkFn.toString()})().filter(e => (e.className||'').toString().includes('stl-tab-chip')).map(c => (c.innerText||'').trim().split('\\n')[0]).filter(Boolean)`) + return { tabs, pops, errs } +} + +const browser = await chromium.launch({ args: ['--use-gl=swiftshader', '--enable-unsafe-swiftshader'] }) +const seen = {} +try { + for (const loc of ['en', ...UNDER_TEST]) { + const page = await browser.newPage({ viewport: { width: 1500, height: 1000 } }) + seen[loc] = await readLegend(page, URL_, loc) + await page.close() + } +} finally { + await browser.close() +} + +const en = seen.en +const fails = [] + +// PRECONDITION: this page must actually HAVE the affordance, or every assertion below +// is vacuous. A leaf whose bundle failed to execute renders zero tabs with zero page +// errors — the stale-SRI signature — and would otherwise pass as "nothing untranslated". +if (!en.pops.length) { + console.error('\nLEGEND-INFO-LOCALIZED: FAIL — no info buttons rendered at all in English.') + console.error(' Either this profile has no per-tab info affordance (wrong url), or the bundle') + console.error(' did not execute. A stale SRI hash refuses the script SILENTLY, with no page') + console.error(` error and zero tabs — run \`bun run tree\` after \`BUNDLE= bun x vite build\`.`) + console.error(` tabs rendered: ${JSON.stringify(en.tabs)} page errors: ${en.errs.length}`) + process.exit(1) +} + +// THE LOAD-BEARING ASSERTION. A chosen locale must CHANGE the info text — that is the +// difference between a translation that ships and one that merely exists on disk. +const separable = {} +for (const loc of UNDER_TEST) { + const s = seen[loc] + if (!s.pops.length) { fails.push(`${loc}: no info popovers rendered (English had ${en.pops.length})`); continue } + if (s.pops.length !== en.pops.length) { + fails.push(`${loc}: ${s.pops.length} info popover(s), English had ${en.pops.length}`) + } + // NEVER BLANK. The whole point of a per-key fallback is that an untranslated key + // shows English rather than nothing. + const blank = s.pops.filter((t) => !t.trim()).length + if (blank) fails.push(`${loc}: ${blank} info popover(s) rendered BLANK — the fallback should show English`) + // Count how many DIFFER from English. Zero means the catalog is not reached: either + // the entries are missing, or the component renders the raw prop as it used to. + const diff = s.pops.filter((t, i) => t && en.pops[i] && t !== en.pops[i]).length + separable[loc] = diff + const cat = legendCat(loc) + const catKeys = cat && cat.tabInfo ? Object.keys(cat.tabInfo).length : 0 + if (catKeys > 0 && diff === 0) { + fails.push(`${loc}: legend.json declares ${catKeys} tabInfo key(s) but NOT ONE info popover ` + + 'differs from English — the catalog is present and unreached (the raw-prop bug)') + } + if (s.errs.length) fails.push(`${loc}: ${s.errs.length} page error(s): ${s.errs[0]}`) +} + +console.log('LEGEND-INFO-LOCALIZED') +console.log(` leaf : ${URL_}`) +console.log(` info popups: ${en.pops.length} (English)`) +console.log(` tabs : ${en.tabs.join(' · ')}`) +for (const loc of UNDER_TEST) { + const s = seen[loc] + console.log(` ${loc.padEnd(10)}: ${separable[loc] ?? 0}/${s.pops.length} info text(s) differ from English, ` + + `${s.pops.filter((t) => !t.trim()).length} blank tabs: ${s.tabs.join(' · ')}`) +} + +if (fails.length) { + console.error(`\nLEGEND-INFO-LOCALIZED: FAIL — ${fails.length} problem(s)`) + for (const f of fails) console.error(' - ' + f) + process.exit(1) +} +console.log('\nLEGEND-INFO-LOCALIZED: PASS — choosing a locale changes the rendered info text, so ' + + 'the legend\'s explanations reach the reader in their own language, never blank.') diff --git a/internal/check-packet-render.mjs b/internal/check-packet-render.mjs index 427c9e05f..766365d92 100644 --- a/internal/check-packet-render.mjs +++ b/internal/check-packet-render.mjs @@ -186,6 +186,32 @@ const r = await page.evaluate(() => { rhythms: RHYTHMS.filter((w) => body.includes(w)).length, rhythmsTotal: RHYTHMS.length, wheelSegs: document.querySelectorAll('svg path[fill^="hsl"]').length, + // ⚠ COUNT THE WHEEL'S OWN LABELS, SCOPED TO THE WHEEL SHEET. `rhythms` below + // searches document.body.innerText, and the SAME rhythm vocabulary is rendered + // TWICE — once per wheel segment, and once per prayer point (each point prints + // tr(p.rhythm) as its heading). So "every rhythm word appears in the document" is + // satisfied by the POINTS page alone and says nothing about the wheel. + // Measured 2026-09-24: blanking every wheel segment label left the gate reporting + // "12 segments, 11/11 rhythms, content intact — PASS" on a prayer wheel that was a + // twelve-colour pie chart with no words on it. Both numbers stayed true: the + // segments are elements and survive, and the words were still on the points + // page. The Driver's spec names the wheel as one of the packet's four sections. + // + // COUNT ELEMENTS, NOT DISTINCT WORDS. `order` renders 12 segments from 12 keys, but + // `praise` and `praise_end` collapse to the same word in English (which is why the + // line below prints 11/11, not 12/12) — and that collision is LOCALE-DEPENDENT. A + // distinct-word count would be a different number per language. + wheelLabels: (() => { + const title = document.querySelector('.wheel-title') + const sheet = title ? title.closest('.sheet') : null + const svg = sheet ? sheet.querySelector('svg') : null + if (!svg) return -1 + // The segment labels are the non-numeric runs: the pips are all "5" and + // the footer reads "5 x 12". + return [...svg.querySelectorAll('text')] + .map((t) => (t.textContent || '').trim()) + .filter((s) => s && !/^\d+$/.test(s) && !/^\d[\s\S]*×\s*12$/.test(s)).length + })(), // ⚠ NOT body.includes('Gadarenes'). That was an ENGLISH proper noun, so this // assertion would go RED on a correctly-translated packet and stays green today // only because every locale falls back to English for this key. The check and the @@ -268,6 +294,17 @@ if (r.cards && expectPhotos && r.imgs === 0) { + 'PACKET_EXPECT_PHOTOS=0 to declare this a deliberately photo-less packet.') } if (r.wheelSegs !== 12) fails.push(`prayer wheel has ${r.wheelSegs} segments, expected 12`) +// A SEGMENT WITHOUT ITS WORD IS A COLOUR. 12 labels, one per segment, on the wheel +// sheet itself — not merely somewhere in the document. +const WHEEL_LABELS = 12 +if (r.wheelLabels !== WHEEL_LABELS) { + fails.push(r.wheelLabels === -1 + ? 'no prayer-wheel svg found (no .wheel-title sheet) — the wheel page did not render' + : `the prayer wheel paints ${r.wheelLabels} segment label(s), expected ${WHEEL_LABELS} — ` + + 'the rhythm words are rendered TWICE in this packet (wheel segments and prayer-point ' + + 'headings), so the document-wide rhythm check below passes on the points page alone ' + + 'and cannot see an unlabelled wheel') +} if (r.rhythms !== r.rhythmsTotal) fails.push(`only ${r.rhythms}/${r.rhythmsTotal} prayer rhythms present`) // Mark 5:1-20 in full is a Driver requirement for point 4: "it actually lists out the // full scripture, because prayer point number four is actually read the word." The @@ -437,7 +474,7 @@ if (r.ranges.length) { console.log(` sheets/PDF pages : ${r.sheets} / ${pages}`) console.log(` people cards : ${r.cards} (${r.imgs} photos, ${r.nophoto} typographic)`) console.log(` prayer points : ${r.points} / ${POINTS_EXPECT}`) -console.log(` wheel segments : ${r.wheelSegs}`) +console.log(` wheel segments : ${r.wheelSegs} (${r.wheelLabels}/${WHEEL_LABELS} labelled)`) console.log(` Mark 5 in full : ${r.mark5Len} chars` + `${scriptureIsEnglish ? ' ⚠ UNTRANSLATED (English fallback)' : ''}`) console.log(` metacamp.org : ${r.metacamp}`) diff --git a/library/components/legends/SemanticTreeLegend.vue b/library/components/legends/SemanticTreeLegend.vue index a7ccd6a67..01603e794 100644 --- a/library/components/legends/SemanticTreeLegend.vue +++ b/library/components/legends/SemanticTreeLegend.vue @@ -41,6 +41,25 @@ function tabLabel(tab) { return tab && te(key) ? t(key) : (tab?.label ?? '') } +// THE INFO TEXT IS THE PART A NON-ENGLISH READER NEEDS MOST, and it was the one part +// that never went through the catalog. `tab.info` rendered RAW in all three places it +// appears (the button's title=, and the popover body), so a Spanish reader saw a +// translated tab chip beside an English explanation of what that chip means. Measured +// 2026-09-24 on the served upg-100-list leaf: ?lang=es changed 2 of 76 rendered strings +// ("POPULATION" -> "POBLACIÓN") and left all three legend tabs AND all three info +// popovers in English — the locale switch works, the strings were simply never in a +// catalog. The Driver named this affordance specifically ("the tab itself gives you a +// little information button that will explain what a UPG-100 list is"), which is exactly +// the sentence a reader who does not read English cannot use. +// +// Same shape as tabLabel: `legend.tabInfo.`, te() guard, falling back to the +// hardcoded English `info` so a tab with no catalog entry renders unchanged rather than +// blank. PER KEY, so a half-finished translation shows its finished entries. +function tabInfo(tab) { + const key = 'legend.tabInfo.' + (tab?.i18nKey || tab?.id) + return tab && te(key) ? t(key) : (tab?.info ?? '') +} + const props = defineProps({ nodes: { type: Array, default: () => [] }, tabs: { type: Array, default: null }, @@ -1039,8 +1058,8 @@ useShadowStyles(` v-if="!$slots['title-caret']" class="stl-collapse-btn" :class="{ closed: !panelOpen }" - :title="panelOpen ? 'Collapse legend' : 'Expand legend'" - :aria-label="panelOpen ? 'Collapse legend' : 'Expand legend'" + :title="panelOpen ? t('aria.collapseLegend') : t('aria.expandLegend')" + :aria-label="panelOpen ? t('aria.collapseLegend') : t('aria.expandLegend')" :aria-expanded="String(panelOpen)" @click="panelOpen = !panelOpen; emit('update:open', panelOpen)"> @@ -1136,12 +1155,12 @@ useShadowStyles(`
-
- {{ tabList[showInfoForTab].info }} + {{ tabInfo(tabList[showInfoForTab]) }}
diff --git a/library/i18n/locales/ar/aria.json b/library/i18n/locales/ar/aria.json index 4154cdde0..40f319d8f 100644 --- a/library/i18n/locales/ar/aria.json +++ b/library/i18n/locales/ar/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "العودة إلى المفتاح", - "closeDetailView": "إغلاق عرض التفاصيل" + "closeDetailView": "إغلاق عرض التفاصيل", + "collapseLegend": "طيّ وسيلة الإيضاح", + "expandLegend": "توسيع وسيلة الإيضاح", + "toggleLegend": "إظهار وسيلة الإيضاح أو إخفاؤها" } diff --git a/library/i18n/locales/ar/legend.json b/library/i18n/locales/ar/legend.json index ca7284901..e8bd3372d 100644 --- a/library/i18n/locales/ar/legend.json +++ b/library/i18n/locales/ar/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "الشعوب", "wagfRegions": "مناطق WAGF", "languages": "اللغات" + }, + "tabInfo": { + "upg100Region": "المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.", + "upg100Zone": "قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.", + "upg100Group": "مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/ar/tabs.json b/library/i18n/locales/ar/tabs.json index 6f9a3b429..7741ad9ed 100644 --- a/library/i18n/locales/ar/tabs.json +++ b/library/i18n/locales/ar/tabs.json @@ -16,5 +16,8 @@ "pgic": "الشعب في الدولة", "region": "منطقة WAGF", "block": "كتلة WAGF", - "country": "الدولة" -} + "country": "الدولة", + "upg100Region": "المنطقة", + "upg100Zone": "قوائم UPG-100", + "upg100Group": "مجموعة شعبية" +} \ No newline at end of file diff --git a/library/i18n/locales/de/aria.json b/library/i18n/locales/de/aria.json index 788bffcba..478c26e42 100644 --- a/library/i18n/locales/de/aria.json +++ b/library/i18n/locales/de/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Zurück zur Legende", - "closeDetailView": "Detailansicht schließen" + "closeDetailView": "Detailansicht schließen", + "collapseLegend": "Legende einklappen", + "expandLegend": "Legende ausklappen", + "toggleLegend": "Legende ein- oder ausblenden" } diff --git a/library/i18n/locales/de/legend.json b/library/i18n/locales/de/legend.json index 5b0afb9f7..262352346 100644 --- a/library/i18n/locales/de/legend.json +++ b/library/i18n/locales/de/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Völker", "wagfRegions": "WAGF-Regionen", "languages": "Sprachen" + }, + "tabInfo": { + "upg100Region": "Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.", + "upg100Zone": "UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.", + "upg100Group": "Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/de/tabs.json b/library/i18n/locales/de/tabs.json index ab640a7fb..d7e742041 100644 --- a/library/i18n/locales/de/tabs.json +++ b/library/i18n/locales/de/tabs.json @@ -16,5 +16,8 @@ "pgic": "Volksgruppe im Land", "region": "WAGF-Region", "block": "WAGF-Block", - "country": "Land" -} + "country": "Land", + "upg100Region": "Region", + "upg100Zone": "UPG-100-Listen", + "upg100Group": "Volksgruppe" +} \ No newline at end of file diff --git a/library/i18n/locales/en/aria.json b/library/i18n/locales/en/aria.json index e22de7a8b..ee4ccffc7 100644 --- a/library/i18n/locales/en/aria.json +++ b/library/i18n/locales/en/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Back to Legend", - "closeDetailView": "Close detail view" + "closeDetailView": "Close detail view", + "collapseLegend": "Collapse legend", + "expandLegend": "Expand legend", + "toggleLegend": "Show or hide the legend" } diff --git a/library/i18n/locales/en/legend.json b/library/i18n/locales/en/legend.json index ac56186e5..578ada9f4 100644 --- a/library/i18n/locales/en/legend.json +++ b/library/i18n/locales/en/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "People Groups", "wagfRegions": "WAGF Regions", "languages": "Languages" + }, + "tabInfo": { + "upg100Region": "Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.", + "upg100Zone": "UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.", + "upg100Group": "People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these." } } \ No newline at end of file diff --git a/library/i18n/locales/en/tabs.json b/library/i18n/locales/en/tabs.json index b7490c1c8..4f0e43cdf 100644 --- a/library/i18n/locales/en/tabs.json +++ b/library/i18n/locales/en/tabs.json @@ -16,5 +16,8 @@ "pgic": "PG in Country", "region": "WAGF Region", "block": "WAGF Bloc", - "country": "Country" -} + "country": "Country", + "upg100Region": "Region", + "upg100Zone": "UPG-100 Lists", + "upg100Group": "People Group" +} \ No newline at end of file diff --git a/library/i18n/locales/es/aria.json b/library/i18n/locales/es/aria.json index 172600bb3..89235271c 100644 --- a/library/i18n/locales/es/aria.json +++ b/library/i18n/locales/es/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Volver a la leyenda", - "closeDetailView": "Cerrar vista de detalle" + "closeDetailView": "Cerrar vista de detalle", + "collapseLegend": "Contraer la leyenda", + "expandLegend": "Expandir la leyenda", + "toggleLegend": "Mostrar u ocultar la leyenda" } diff --git a/library/i18n/locales/es/legend.json b/library/i18n/locales/es/legend.json index fdb7496ec..64e716e12 100644 --- a/library/i18n/locales/es/legend.json +++ b/library/i18n/locales/es/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Pueblos", "wagfRegions": "Regiones WAGF", "languages": "Idiomas" + }, + "tabInfo": { + "upg100Region": "Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.", + "upg100Zone": "Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.", + "upg100Group": "Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/es/tabs.json b/library/i18n/locales/es/tabs.json index a541057ec..9bd87165e 100644 --- a/library/i18n/locales/es/tabs.json +++ b/library/i18n/locales/es/tabs.json @@ -16,5 +16,8 @@ "pgic": "Pueblo en país", "region": "Región WAGF", "block": "Bloque WAGF", - "country": "País" -} + "country": "País", + "upg100Region": "Región", + "upg100Zone": "Listas UPG-100", + "upg100Group": "Grupo étnico" +} \ No newline at end of file diff --git a/library/i18n/locales/fr/aria.json b/library/i18n/locales/fr/aria.json index bd86a6d40..b421892ee 100644 --- a/library/i18n/locales/fr/aria.json +++ b/library/i18n/locales/fr/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Retour à la légende", - "closeDetailView": "Fermer la vue détaillée" + "closeDetailView": "Fermer la vue détaillée", + "collapseLegend": "Réduire la légende", + "expandLegend": "Développer la légende", + "toggleLegend": "Afficher ou masquer la légende" } diff --git a/library/i18n/locales/fr/legend.json b/library/i18n/locales/fr/legend.json index 8f97de79c..bd5efa13f 100644 --- a/library/i18n/locales/fr/legend.json +++ b/library/i18n/locales/fr/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Peuples", "wagfRegions": "Régions WAGF", "languages": "Langues" + }, + "tabInfo": { + "upg100Region": "Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.", + "upg100Zone": "Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.", + "upg100Group": "Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/fr/tabs.json b/library/i18n/locales/fr/tabs.json index da8c118f8..30d79f63f 100644 --- a/library/i18n/locales/fr/tabs.json +++ b/library/i18n/locales/fr/tabs.json @@ -16,5 +16,8 @@ "pgic": "Peuple dans le pays", "region": "Région WAGF", "block": "Bloc WAGF", - "country": "Pays" -} + "country": "Pays", + "upg100Region": "Région", + "upg100Zone": "Listes UPG-100", + "upg100Group": "Groupe de peuples" +} \ No newline at end of file diff --git a/library/i18n/locales/hi/aria.json b/library/i18n/locales/hi/aria.json index d062cccd6..df8b000ad 100644 --- a/library/i18n/locales/hi/aria.json +++ b/library/i18n/locales/hi/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "लेजेंड पर वापस जाएं", - "closeDetailView": "विवरण दृश्य बंद करें" + "closeDetailView": "विवरण दृश्य बंद करें", + "collapseLegend": "लेजेंड संक्षिप्त करें", + "expandLegend": "लेजेंड विस्तृत करें", + "toggleLegend": "लेजेंड दिखाएँ या छिपाएँ" } diff --git a/library/i18n/locales/hi/legend.json b/library/i18n/locales/hi/legend.json index 9fe54a89e..f1691a5bf 100644 --- a/library/i18n/locales/hi/legend.json +++ b/library/i18n/locales/hi/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "जनसमूह", "wagfRegions": "WAGF क्षेत्र", "languages": "भाषाएँ" + }, + "tabInfo": { + "upg100Region": "क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।", + "upg100Zone": "UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।", + "upg100Group": "जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।" } -} +} \ No newline at end of file diff --git a/library/i18n/locales/hi/tabs.json b/library/i18n/locales/hi/tabs.json index 5dae26e03..42e24ae22 100644 --- a/library/i18n/locales/hi/tabs.json +++ b/library/i18n/locales/hi/tabs.json @@ -16,5 +16,8 @@ "pgic": "देश में जनसमूह", "region": "WAGF क्षेत्र", "block": "WAGF ब्लॉक", - "country": "देश" -} + "country": "देश", + "upg100Region": "क्षेत्र", + "upg100Zone": "UPG-100 सूचियाँ", + "upg100Group": "जनसमूह" +} \ No newline at end of file diff --git a/library/i18n/locales/it/aria.json b/library/i18n/locales/it/aria.json index 1ffd59ea7..8320472b3 100644 --- a/library/i18n/locales/it/aria.json +++ b/library/i18n/locales/it/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Torna alla legenda", - "closeDetailView": "Chiudi vista dettaglio" + "closeDetailView": "Chiudi vista dettaglio", + "collapseLegend": "Comprimi la legenda", + "expandLegend": "Espandi la legenda", + "toggleLegend": "Mostra o nascondi la legenda" } diff --git a/library/i18n/locales/it/legend.json b/library/i18n/locales/it/legend.json index 7995704f7..92a0f46e1 100644 --- a/library/i18n/locales/it/legend.json +++ b/library/i18n/locales/it/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Popoli", "wagfRegions": "Regioni WAGF", "languages": "Lingue" + }, + "tabInfo": { + "upg100Region": "Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.", + "upg100Zone": "Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.", + "upg100Group": "Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/it/tabs.json b/library/i18n/locales/it/tabs.json index c944b5e65..dee2ba91f 100644 --- a/library/i18n/locales/it/tabs.json +++ b/library/i18n/locales/it/tabs.json @@ -16,5 +16,8 @@ "pgic": "Popolo nel paese", "region": "Regione WAGF", "block": "Blocco WAGF", - "country": "Paese" -} + "country": "Paese", + "upg100Region": "Regione", + "upg100Zone": "Liste UPG-100", + "upg100Group": "Gruppo etnico" +} \ No newline at end of file diff --git a/library/i18n/locales/pt/aria.json b/library/i18n/locales/pt/aria.json index 52551a907..7dddfb842 100644 --- a/library/i18n/locales/pt/aria.json +++ b/library/i18n/locales/pt/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Voltar à legenda", - "closeDetailView": "Fechar vista de detalhe" + "closeDetailView": "Fechar vista de detalhe", + "collapseLegend": "Recolher a legenda", + "expandLegend": "Expandir a legenda", + "toggleLegend": "Mostrar ou ocultar a legenda" } diff --git a/library/i18n/locales/pt/legend.json b/library/i18n/locales/pt/legend.json index e1e1a6e2f..d596b776f 100644 --- a/library/i18n/locales/pt/legend.json +++ b/library/i18n/locales/pt/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Povos", "wagfRegions": "Regiões WAGF", "languages": "Idiomas" + }, + "tabInfo": { + "upg100Region": "Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.", + "upg100Zone": "Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.", + "upg100Group": "Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/pt/tabs.json b/library/i18n/locales/pt/tabs.json index 59d131aab..8e8aa6c17 100644 --- a/library/i18n/locales/pt/tabs.json +++ b/library/i18n/locales/pt/tabs.json @@ -16,5 +16,8 @@ "pgic": "Povo no país", "region": "Região WAGF", "block": "Bloco WAGF", - "country": "País" -} + "country": "País", + "upg100Region": "Região", + "upg100Zone": "Listas UPG-100", + "upg100Group": "Grupo étnico" +} \ No newline at end of file diff --git a/library/i18n/locales/ro/aria.json b/library/i18n/locales/ro/aria.json index 974557692..a5912893e 100644 --- a/library/i18n/locales/ro/aria.json +++ b/library/i18n/locales/ro/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Înapoi la legendă", - "closeDetailView": "Închide vizualizarea detaliată" + "closeDetailView": "Închide vizualizarea detaliată", + "collapseLegend": "Restrânge legenda", + "expandLegend": "Extinde legenda", + "toggleLegend": "Afișează sau ascunde legenda" } diff --git a/library/i18n/locales/ro/legend.json b/library/i18n/locales/ro/legend.json index 022f172da..cb7e0caa4 100644 --- a/library/i18n/locales/ro/legend.json +++ b/library/i18n/locales/ro/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Popoare", "wagfRegions": "Regiuni WAGF", "languages": "Limbi" + }, + "tabInfo": { + "upg100Region": "Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.", + "upg100Zone": "Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.", + "upg100Group": "Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/ro/tabs.json b/library/i18n/locales/ro/tabs.json index 00bebefd5..9955f58f0 100644 --- a/library/i18n/locales/ro/tabs.json +++ b/library/i18n/locales/ro/tabs.json @@ -16,5 +16,8 @@ "pgic": "Popor în țară", "region": "Regiune WAGF", "block": "Bloc WAGF", - "country": "Țară" -} + "country": "Țară", + "upg100Region": "Regiune", + "upg100Zone": "Liste UPG-100", + "upg100Group": "Grup etnic" +} \ No newline at end of file diff --git a/library/i18n/locales/ru/aria.json b/library/i18n/locales/ru/aria.json index afedb71bf..24eb1a1aa 100644 --- a/library/i18n/locales/ru/aria.json +++ b/library/i18n/locales/ru/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "Назад к легенде", - "closeDetailView": "Закрыть подробный вид" + "closeDetailView": "Закрыть подробный вид", + "collapseLegend": "Свернуть легенду", + "expandLegend": "Развернуть легенду", + "toggleLegend": "Показать или скрыть легенду" } diff --git a/library/i18n/locales/ru/legend.json b/library/i18n/locales/ru/legend.json index 2f8300c42..4a777019b 100644 --- a/library/i18n/locales/ru/legend.json +++ b/library/i18n/locales/ru/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "Народы", "wagfRegions": "Регионы WAGF", "languages": "Языки" + }, + "tabInfo": { + "upg100Region": "Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.", + "upg100Zone": "Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.", + "upg100Group": "Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них." } -} +} \ No newline at end of file diff --git a/library/i18n/locales/ru/tabs.json b/library/i18n/locales/ru/tabs.json index e2b5f46f3..6cb288796 100644 --- a/library/i18n/locales/ru/tabs.json +++ b/library/i18n/locales/ru/tabs.json @@ -16,5 +16,8 @@ "pgic": "Народ в стране", "region": "Регион WAGF", "block": "Блок WAGF", - "country": "Страна" -} + "country": "Страна", + "upg100Region": "Регион", + "upg100Zone": "Списки UPG-100", + "upg100Group": "Народ" +} \ No newline at end of file diff --git a/library/i18n/locales/zh/aria.json b/library/i18n/locales/zh/aria.json index 095550115..f3fe5a79f 100644 --- a/library/i18n/locales/zh/aria.json +++ b/library/i18n/locales/zh/aria.json @@ -1,4 +1,7 @@ { "backToLegend": "返回图例", - "closeDetailView": "关闭详情视图" + "closeDetailView": "关闭详情视图", + "collapseLegend": "收起图例", + "expandLegend": "展开图例", + "toggleLegend": "显示或隐藏图例" } diff --git a/library/i18n/locales/zh/legend.json b/library/i18n/locales/zh/legend.json index 68050444d..69cef4601 100644 --- a/library/i18n/locales/zh/legend.json +++ b/library/i18n/locales/zh/legend.json @@ -54,5 +54,10 @@ "peopleGroups": "民族", "wagfRegions": "WAGF 区域", "languages": "语言" + }, + "tabInfo": { + "upg100Region": "区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。", + "upg100Zone": "UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。", + "upg100Group": "族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。" } -} +} \ No newline at end of file diff --git a/library/i18n/locales/zh/tabs.json b/library/i18n/locales/zh/tabs.json index b5a8a17ae..58ecab151 100644 --- a/library/i18n/locales/zh/tabs.json +++ b/library/i18n/locales/zh/tabs.json @@ -16,5 +16,8 @@ "pgic": "国内民族", "region": "WAGF 区域", "block": "WAGF 板块", - "country": "国家" -} + "country": "国家", + "upg100Region": "区域", + "upg100Zone": "UPG-100 名单", + "upg100Group": "族群" +} \ No newline at end of file diff --git a/package.json b/package.json index a11ed1acb..d4ce59108 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,8 @@ "verify:browser-all": "node internal/verify-browser-all.mjs # runs EVERY browser gate in the GATES array over the built tree in one command (needs `bun run serve` on 4173 + MAPBOX_TOKEN). Deliberately does NOT state a count: GATES lives in the .mjs and grows, so a number here rots on the next append — it said \"ALL 7\" while the array held 9. The script prints its own GATES.length at runtime; trust that. Every gate listed was RUN before being listed. The `verify:browser-all:plugin-gallery` mode is separate because it needs the vite dev server.", "check:shot-fonts": "node internal/check-shot-fonts.mjs # can THIS machine render the emoji the UI uses? Run BEFORE `bun run shots` — no font = tofu boxes in every committed PNG, which every other shot gate passes. Deliberately NOT in build:unlocked: it reports an ENVIRONMENT condition (this box has no emoji font), and a gate that always fails in the build makes the build useless.", "smoke:share-all": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/share-roundtrip-smoke.mjs --url \"$B/doxa-maps/prayer-walk-planner/prayer-walk-planner/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/all-people-groups/all-people-groups/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/cities-internet/connectivity-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/country-posters/country-posters-mfe/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/demo-map/demo-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-research-map/research-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-simple-map/doxa-simple-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/gospel-resources/resources-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-dashboard/research-dashboard/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-map-plus-grid/research-map-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/my-upg-100-list/upg-100-mfe/index.html?tk=$MAPBOX_TOKEN\" --browser chromium'", + "smoke:legend-info": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/check-legend-info-localized.mjs \"$B/doxa-maps/my-upg-100-list/upg-100-list/index.html\" es,ar,zh'", + "smoke:aria-labels": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/check-aria-labels-localized.mjs \"$B/doxa-maps/my-upg-100-list/upg-100-list/index.html\" es,ar,zh'", "check:sfc-parse": "node internal/check-sfc-script-parses.mjs # every .vue script block must parse as the BUILD parses it — catches the LIVE-CSS backtick that check:template-literal cannot see (it reads CSS comments only). 0 false positives on 83 files, where 3 lookahead heuristics scored 98 and 136.", "check:url-resolver": "node internal/check-url-resolver.mjs # cap-5 resolve() must not prefix a rooted URL (the dev-surface 404 class)", "smoke:studio": "node internal/smoke-studio.mjs # 5s DEV-surface check: / mounts the studio, tabs>0, 0 4xx (exit 2 = dev server down)", diff --git a/public/doxa-maps/cities-internet/cities-internet.js b/public/doxa-maps/cities-internet/cities-internet.js index 1200bdedc..d14b5b39d 100644 --- a/public/doxa-maps/cities-internet/cities-internet.js +++ b/public/doxa-maps/cities-internet/cities-internet.js @@ -1,45 +1,45 @@ -(function(){"use strict";var cr=typeof document<"u"?document.currentScript:null;const pb="modulepreload",db=function(e){return"/"+e},gb={},ur=function(t,o,n){let s=Promise.resolve();function r(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return s.then(a=>{for(const i of a||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** +(function(){"use strict";var cr=typeof document<"u"?document.currentScript:null;const p0="modulepreload",d0=function(e){return"/"+e},g0={},ur=function(t,o,n){let s=Promise.resolve();function r(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return s.then(a=>{for(const i of a||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function pr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const _e={},_o=[],ft=()=>{},Ps=()=>!1,hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),mn=e=>e.startsWith("onUpdate:"),Ce=Object.assign,dr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Kl=Object.prototype.hasOwnProperty,fe=(e,t)=>Kl.call(e,t),ee=Array.isArray,jt=e=>Mo(e)==="[object Map]",_n=e=>Mo(e)==="[object Set]",Es=e=>Mo(e)==="[object Date]",ne=e=>typeof e=="function",be=e=>typeof e=="string",Xe=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",Ss=e=>(he(e)||ne(e))&&ne(e.then)&&ne(e.catch),Fs=Object.prototype.toString,Mo=e=>Fs.call(e),Xl=e=>Mo(e).slice(8,-1),bn=e=>Mo(e)==="[object Object]",yn=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ro=pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$n=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Jl=/-\w/g,xe=$n(e=>e.replace(Jl,t=>t.slice(1).toUpperCase())),Zl=/\B([A-Z])/g,tt=$n(e=>e.replace(Zl,"-$1").toLowerCase()),wn=$n(e=>e.charAt(0).toUpperCase()+e.slice(1)),gr=$n(e=>e?`on${wn(e)}`:""),ht=(e,t)=>!Object.is(e,t),fr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ql=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ts=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let xs;const vn=()=>xs||(xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bo(e){if(ee(e)){const t={};for(let o=0;o{if(o){const n=o.split(tc);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ee(e){let t="";if(be(e))t=e;else if(ee(e))for(let o=0;o!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":ee(e)||he(e)&&(e.toString===Fs||!ne(e.toString))?Rs(e)?Q(e.value):JSON.stringify(e,Bs,2):String(e),Bs=(e,t)=>Rs(t)?Bs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,s],r)=>(o[hr(n,r)+" =>"]=s,o),{})}:_n(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>hr(o))}:Xe(t)?hr(t):he(t)&&!ee(t)&&!bn(t)?String(t):t,hr=(e,t="")=>{var o;return Xe(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function pr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const _e={},_o=[],ft=()=>{},Ps=()=>!1,hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),mn=e=>e.startsWith("onUpdate:"),Ce=Object.assign,dr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Kl=Object.prototype.hasOwnProperty,fe=(e,t)=>Kl.call(e,t),ee=Array.isArray,jt=e=>Mo(e)==="[object Map]",_n=e=>Mo(e)==="[object Set]",Es=e=>Mo(e)==="[object Date]",ne=e=>typeof e=="function",be=e=>typeof e=="string",Xe=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",Ls=e=>(he(e)||ne(e))&&ne(e.then)&&ne(e.catch),Ss=Object.prototype.toString,Mo=e=>Ss.call(e),Xl=e=>Mo(e).slice(8,-1),bn=e=>Mo(e)==="[object Object]",yn=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ro=pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$n=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Zl=/-\w/g,xe=$n(e=>e.replace(Zl,t=>t.slice(1).toUpperCase())),Jl=/\B([A-Z])/g,tt=$n(e=>e.replace(Jl,"-$1").toLowerCase()),vn=$n(e=>e.charAt(0).toUpperCase()+e.slice(1)),gr=$n(e=>e?`on${vn(e)}`:""),ht=(e,t)=>!Object.is(e,t),fr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ql=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ts=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let xs;const wn=()=>xs||(xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bo(e){if(ee(e)){const t={};for(let o=0;o{if(o){const n=o.split(tc);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ee(e){let t="";if(be(e))t=e;else if(ee(e))for(let o=0;o!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":ee(e)||he(e)&&(e.toString===Ss||!ne(e.toString))?Rs(e)?Q(e.value):JSON.stringify(e,Ds,2):String(e),Ds=(e,t)=>Rs(t)?Ds(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,s],r)=>(o[hr(n,r)+" =>"]=s,o),{})}:_n(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>hr(o))}:Xe(t)?hr(t):he(t)&&!ee(t)&&!bn(t)?String(t):t,hr=(e,t="")=>{var o;return Xe(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 Fe;class Ds{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Fe&&(Fe.active?(this.parent=Fe,this.index=(Fe.scopes||(Fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(Fe===this)Fe=this.prevScope;else{let t=Fe;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(Do){let t=Do;for(Do=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Bo;){let t=Bo;for(Bo=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 Vs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zs(e){let t,o=e.depsTail,n=o;for(;n;){const s=n.prevDep;n.version===-1?(n===o&&(o=s),wr(n),ic(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=o}function $r(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ys(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ys(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wo)||(e.globalVersion=Wo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$r(e))))return;e.flags|=2;const t=e.dep,o=ye,n=at;ye=e,at=!0;try{Vs(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ye=o,at=n,zs(e),e.flags&=-3}}function wr(e,t=!1){const{dep:o,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)wr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ic(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let at=!0;const Hs=[];function mt(){Hs.push(at),at=!1}function _t(){const e=Hs.pop();at=e===void 0?!0:e}function qs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ye;ye=void 0;try{t()}finally{ye=o}}}let Wo=0;class lc{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 vr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ye||!at||ye===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ye)o=this.activeLink=new lc(ye,this),ye.deps?(o.prevDep=ye.depsTail,ye.depsTail.nextDep=o,ye.depsTail=o):ye.deps=ye.depsTail=o,Ks(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=ye.depsTail,o.nextDep=void 0,ye.depsTail.nextDep=o,ye.depsTail=o,ye.deps===o&&(ye.deps=n)}return o}trigger(t){this.version++,Wo++,this.notify(t)}notify(t){br();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{yr()}}}function Ks(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ks(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const On=new WeakMap,ao=Symbol(""),kr=Symbol(""),Go=Symbol("");function Ue(e,t,o){if(at&&ye){let n=On.get(e);n||On.set(e,n=new Map);let s=n.get(o);s||(n.set(o,s=new vr),s.map=n,s.key=o),s.track()}}function Nt(e,t,o,n,s,r){const a=On.get(e);if(!a){Wo++;return}const i=l=>{l&&l.trigger()};if(br(),t==="clear")a.forEach(i);else{const l=ee(e),c=l&&yn(o);if(l&&o==="length"){const u=Number(n);a.forEach((g,f)=>{(f==="length"||f===Go||!Xe(f)&&f>=u)&&i(g)})}else switch((o!==void 0||a.has(void 0))&&i(a.get(o)),c&&i(a.get(Go)),t){case"add":l?c&&i(a.get("length")):(i(a.get(ao)),jt(e)&&i(a.get(kr)));break;case"delete":l||(i(a.get(ao)),jt(e)&&i(a.get(kr)));break;case"set":jt(e)&&i(a.get(ao));break}}yr()}function cc(e,t){const o=On.get(e);return o&&o.get(t)}function yo(e){const t=pe(e);return t===e?t:(Ue(t,"iterate",Go),Je(e)?t:t.map(it))}function An(e){return Ue(e=pe(e),"iterate",Go),e}function bt(e,t){return St(e)?wo(Et(e)?it(t):t):it(t)}const uc={__proto__:null,[Symbol.iterator](){return Or(this,Symbol.iterator,e=>bt(this,e))},concat(...e){return yo(this).concat(...e.map(t=>ee(t)?yo(t):t))},entries(){return Or(this,"entries",e=>(e[1]=bt(this,e[1]),e))},every(e,t){return Pt(this,"every",e,t,void 0,arguments)},filter(e,t){return Pt(this,"filter",e,t,o=>o.map(n=>bt(this,n)),arguments)},find(e,t){return Pt(this,"find",e,t,o=>bt(this,o),arguments)},findIndex(e,t){return Pt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Pt(this,"findLast",e,t,o=>bt(this,o),arguments)},findLastIndex(e,t){return Pt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Pt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ar(this,"includes",e)},indexOf(...e){return Ar(this,"indexOf",e)},join(e){return yo(this).join(e)},lastIndexOf(...e){return Ar(this,"lastIndexOf",e)},map(e,t){return Pt(this,"map",e,t,void 0,arguments)},pop(){return Uo(this,"pop")},push(...e){return Uo(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Uo(this,"shift")},some(e,t){return Pt(this,"some",e,t,void 0,arguments)},splice(...e){return Uo(this,"splice",e)},toReversed(){return yo(this).toReversed()},toSorted(e){return yo(this).toSorted(e)},toSpliced(...e){return yo(this).toSpliced(...e)},unshift(...e){return Uo(this,"unshift",e)},values(){return Or(this,"values",e=>bt(this,e))}};function Or(e,t,o){const n=An(e),s=n[t]();return n!==e&&!Je(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=o(r.value)),r}),s}const pc=Array.prototype;function Pt(e,t,o,n,s,r){const a=An(e),i=a!==e&&!Je(e),l=a[t];if(l!==pc[t]){const g=l.apply(e,r);return i?it(g):g}let c=o;a!==e&&(i?c=function(g,f){return o.call(this,bt(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(a,c,n);return i&&s?s(u):u}function Xs(e,t,o,n){const s=An(e),r=s!==e&&!Je(e);let a=o,i=!1;s!==e&&(r?(i=n.length===0,a=function(c,u,g){return i&&(i=!1,c=bt(e,c)),o.call(this,c,bt(e,u),g,e)}):o.length>3&&(a=function(c,u,g){return o.call(this,c,u,g,e)}));const l=s[t](a,...n);return i?bt(e,l):l}function Ar(e,t,o){const n=pe(e);Ue(n,"iterate",Go);const s=n[t](...o);return(s===-1||s===!1)&&Fn(o[0])?(o[0]=pe(o[0]),n[t](...o)):s}function Uo(e,t,o=[]){mt(),br();const n=pe(e)[t].apply(e,o);return yr(),_t(),n}const dc=pr("__proto__,__v_isRef,__isVue"),Js=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function gc(e){Xe(e)||(e=String(e));const t=pe(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class Zs{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(s?r?ra:na:r?oa:ta).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=ee(t);if(!s){let l;if(a&&(l=uc[o]))return l;if(o==="hasOwnProperty")return gc}const i=Reflect.get(t,o,Ae(t)?t:n);if((Xe(o)?Js.has(o):dc(o))||(s||Ue(t,"get",o),r))return i;if(Ae(i)){const l=a&&yn(o)?i:i.value;return s&&he(l)?Nr(l):l}return he(i)?s?Nr(i):En(i):i}}class Qs extends Zs{constructor(t=!1){super(!1,t)}set(t,o,n,s){let r=t[o];const a=ee(t)&&yn(o);if(!this._isShallow){const c=St(r);if(!Je(n)&&!St(n)&&(r=pe(r),n=pe(n)),!a&&Ae(r)&&!Ae(n))return c||(r.value=n),!0}const i=a?Number(o)e,Cn=e=>Reflect.getPrototypeOf(e);function bc(e,t,o){return function(...n){const s=this.__v_raw,r=pe(s),a=jt(r),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=s[e](...n),u=o?Cr:t?wo:it;return!t&&Ue(r,"iterate",l?kr:ao),Ce(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:i?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Nn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yc(e,t){const o={get(s){const r=this.__v_raw,a=pe(r),i=pe(s);e||(ht(s,i)&&Ue(a,"get",s),Ue(a,"get",i));const{has:l}=Cn(a),c=t?Cr:e?wo:it;if(l.call(a,s))return c(r.get(s));if(l.call(a,i))return c(r.get(i));r!==a&&r.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(pe(s),"iterate",ao),s.size},has(s){const r=this.__v_raw,a=pe(r),i=pe(s);return e||(ht(s,i)&&Ue(a,"has",s),Ue(a,"has",i)),s===i?r.has(s):r.has(s)||r.has(i)},forEach(s,r){const a=this,i=a.__v_raw,l=pe(i),c=t?Cr:e?wo:it;return!e&&Ue(l,"iterate",ao),i.forEach((u,g)=>s.call(r,c(u),c(g),a))}};return Ce(o,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(s){const r=pe(this),a=Cn(r),i=pe(s),l=!t&&!Je(s)&&!St(s)?i:s;return a.has.call(r,l)||ht(s,l)&&a.has.call(r,s)||ht(i,l)&&a.has.call(r,i)||(r.add(l),Nt(r,"add",l,l)),this},set(s,r){!t&&!Je(r)&&!St(r)&&(r=pe(r));const a=pe(this),{has:i,get:l}=Cn(a);let c=i.call(a,s);c||(s=pe(s),c=i.call(a,s));const u=l.call(a,s);return a.set(s,r),c?ht(r,u)&&Nt(a,"set",s,r):Nt(a,"add",s,r),this},delete(s){const r=pe(this),{has:a,get:i}=Cn(r);let l=a.call(r,s);l||(s=pe(s),l=a.call(r,s)),i&&i.call(r,s);const c=r.delete(s);return l&&Nt(r,"delete",s,void 0),c},clear(){const s=pe(this),r=s.size!==0,a=s.clear();return r&&Nt(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=bc(s,e,t)}),o}function Pn(e,t){const o=yc(e,t);return(n,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(fe(o,s)&&s in n?o:n,s,r)}const $c={get:Pn(!1,!1)},wc={get:Pn(!1,!0)},vc={get:Pn(!0,!1)},kc={get:Pn(!0,!0)},ta=new WeakMap,oa=new WeakMap,na=new WeakMap,ra=new WeakMap;function Oc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function En(e){return St(e)?e:Sn(e,!1,fc,$c,ta)}function Ac(e){return Sn(e,!1,mc,wc,oa)}function Nr(e){return Sn(e,!0,hc,vc,na)}function hb(e){return Sn(e,!0,_c,kc,ra)}function Sn(e,t,o,n,s){if(!he(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=s.get(e);if(r)return r;const a=Oc(Xl(e));if(a===0)return e;const i=new Proxy(e,a===2?n:o);return s.set(e,i),i}function Et(e){return St(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function St(e){return!!(e&&e.__v_isReadonly)}function Je(e){return!!(e&&e.__v_isShallow)}function Fn(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function $o(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&Ls(e,"__v_skip",!0),e}const it=e=>he(e)?En(e):e,wo=e=>he(e)?Nr(e):e;function Ae(e){return e?e.__v_isRef===!0:!1}function re(e){return sa(e,!1)}function jo(e){return sa(e,!0)}function sa(e,t){return Ae(e)?e:new Cc(e,t)}class Cc{constructor(t,o){this.dep=new vr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:pe(t),this._value=o?t:it(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Je(t)||St(t);t=n?t:pe(t),ht(t,o)&&(this._rawValue=t,this._value=n?t:it(t),this.dep.trigger())}}function qe(e){return Ae(e)?e.value:e}const Nc={get:(e,t,o)=>t==="__v_raw"?e:qe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const s=e[t];return Ae(s)&&!Ae(o)?(s.value=o,!0):Reflect.set(e,t,o,n)}};function aa(e){return Et(e)?e:new Proxy(e,Nc)}function Pc(e){const t=ee(e)?new Array(e.length):{};for(const o in e)t[o]=Sc(e,o);return t}class Ec{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Xe(o)?o:String(o),this._raw=pe(t);let s=!0,r=t;if(!ee(t)||Xe(this._key)||!yn(this._key))do s=!Fn(r)||Je(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=qe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ae(this._raw[this._key])){const o=this._object[this._key];if(Ae(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return cc(this._raw,this._key)}}function Sc(e,t,o){return new Ec(e,t,o)}class Fc{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new vr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return js(this,!0),!0}get value(){const t=this.dep.track();return Ys(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Lc(e,t,o=!1){let n,s;return ne(e)?n=e:(n=e.get,s=e.set),new Fc(n,s,o)}const Ln={},Tn=new WeakMap;let io;function Tc(e,t=!1,o=io){if(o){let n=Tn.get(o);n||Tn.set(o,n=[]),n.push(e)}}function xc(e,t,o=_e){const{immediate:n,deep:s,once:r,scheduler:a,augmentJob:i,call:l}=o,c=b=>s?b:Je(b)||s===!1||s===0?Ft(b,1):Ft(b);let u,g,f,_,$=!1,k=!1;if(Ae(e)?(g=()=>e.value,$=Je(e)):Et(e)?(g=()=>c(e),$=!0):ee(e)?(k=!0,$=e.some(b=>Et(b)||Je(b)),g=()=>e.map(b=>{if(Ae(b))return b.value;if(Et(b))return c(b);if(ne(b))return l?l(b,2):b()})):ne(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){mt();try{f()}finally{_t()}}const b=io;io=u;try{return l?l(e,3,[_]):e(_)}finally{io=b}}:g=ft,t&&s){const b=g,N=s===!0?1/0:s;g=()=>Ft(b(),N)}const A=Ws(),F=()=>{u.stop(),A&&A.active&&dr(A.effects,u)};if(r&&t){const b=t;t=(...N)=>{const O=b(...N);return F(),O}}let C=k?new Array(e.length).fill(Ln):Ln;const h=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const N=u.run();if(b||s||$||(k?N.some((O,P)=>ht(O,C[P])):ht(N,C))){f&&f();const O=io;io=u;try{const P=[N,C===Ln?void 0:k&&C[0]===Ln?[]:C,_];C=N,l?l(t,3,P):t(...P)}finally{io=O}}}else u.run()};return i&&i(h),u=new Gs(g),u.scheduler=a?()=>a(h,!1):h,_=b=>Tc(b,!1,u),f=u.onStop=()=>{const b=Tn.get(u);if(b){if(l)l(b,4);else for(const N of b)N();Tn.delete(u)}},t?n?h(!0):C=u.run():a?a(h.bind(null,!0),!0):u.run(),F.pause=u.pause.bind(u),F.resume=u.resume.bind(u),F.stop=F,F}function Ft(e,t=1/0,o){if(t<=0||!he(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ae(e))Ft(e.value,t,o);else if(ee(e))for(let n=0;n{Ft(n,t,o)});else if(bn(e)){for(const n in e)Ft(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ft(e[n],t,o)}return e}/** +**/let Se;class Bs{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,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.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 o,n;for(o=0,n=this.effects.length;o0)return;if(Bo){let t=Bo;for(Bo=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Do;){let t=Do;for(Do=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 Vs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zs(e){let t,o=e.depsTail,n=o;for(;n;){const s=n.prevDep;n.version===-1?(n===o&&(o=s),vr(n),ic(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=s}e.deps=t,e.depsTail=o}function $r(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ys(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ys(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Go)||(e.globalVersion=Go,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$r(e))))return;e.flags|=2;const t=e.dep,o=ye,n=at;ye=e,at=!0;try{Vs(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ye=o,at=n,zs(e),e.flags&=-3}}function vr(e,t=!1){const{dep:o,prevSub:n,nextSub:s}=e;if(n&&(n.nextSub=s,e.prevSub=void 0),s&&(s.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)vr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ic(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let at=!0;const Hs=[];function mt(){Hs.push(at),at=!1}function _t(){const e=Hs.pop();at=e===void 0?!0:e}function qs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ye;ye=void 0;try{t()}finally{ye=o}}}let Go=0;class lc{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 wr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ye||!at||ye===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ye)o=this.activeLink=new lc(ye,this),ye.deps?(o.prevDep=ye.depsTail,ye.depsTail.nextDep=o,ye.depsTail=o):ye.deps=ye.depsTail=o,Ks(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=ye.depsTail,o.nextDep=void 0,ye.depsTail.nextDep=o,ye.depsTail=o,ye.deps===o&&(ye.deps=n)}return o}trigger(t){this.version++,Go++,this.notify(t)}notify(t){br();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{yr()}}}function Ks(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ks(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const On=new WeakMap,ao=Symbol(""),kr=Symbol(""),Uo=Symbol("");function We(e,t,o){if(at&&ye){let n=On.get(e);n||On.set(e,n=new Map);let s=n.get(o);s||(n.set(o,s=new wr),s.map=n,s.key=o),s.track()}}function Nt(e,t,o,n,s,r){const a=On.get(e);if(!a){Go++;return}const i=l=>{l&&l.trigger()};if(br(),t==="clear")a.forEach(i);else{const l=ee(e),c=l&&yn(o);if(l&&o==="length"){const u=Number(n);a.forEach((g,f)=>{(f==="length"||f===Uo||!Xe(f)&&f>=u)&&i(g)})}else switch((o!==void 0||a.has(void 0))&&i(a.get(o)),c&&i(a.get(Uo)),t){case"add":l?c&&i(a.get("length")):(i(a.get(ao)),jt(e)&&i(a.get(kr)));break;case"delete":l||(i(a.get(ao)),jt(e)&&i(a.get(kr)));break;case"set":jt(e)&&i(a.get(ao));break}}yr()}function cc(e,t){const o=On.get(e);return o&&o.get(t)}function yo(e){const t=pe(e);return t===e?t:(We(t,"iterate",Uo),Ze(e)?t:t.map(it))}function An(e){return We(e=pe(e),"iterate",Uo),e}function bt(e,t){return Lt(e)?vo(Et(e)?it(t):t):it(t)}const uc={__proto__:null,[Symbol.iterator](){return Or(this,Symbol.iterator,e=>bt(this,e))},concat(...e){return yo(this).concat(...e.map(t=>ee(t)?yo(t):t))},entries(){return Or(this,"entries",e=>(e[1]=bt(this,e[1]),e))},every(e,t){return Pt(this,"every",e,t,void 0,arguments)},filter(e,t){return Pt(this,"filter",e,t,o=>o.map(n=>bt(this,n)),arguments)},find(e,t){return Pt(this,"find",e,t,o=>bt(this,o),arguments)},findIndex(e,t){return Pt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Pt(this,"findLast",e,t,o=>bt(this,o),arguments)},findLastIndex(e,t){return Pt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Pt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ar(this,"includes",e)},indexOf(...e){return Ar(this,"indexOf",e)},join(e){return yo(this).join(e)},lastIndexOf(...e){return Ar(this,"lastIndexOf",e)},map(e,t){return Pt(this,"map",e,t,void 0,arguments)},pop(){return Wo(this,"pop")},push(...e){return Wo(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Wo(this,"shift")},some(e,t){return Pt(this,"some",e,t,void 0,arguments)},splice(...e){return Wo(this,"splice",e)},toReversed(){return yo(this).toReversed()},toSorted(e){return yo(this).toSorted(e)},toSpliced(...e){return yo(this).toSpliced(...e)},unshift(...e){return Wo(this,"unshift",e)},values(){return Or(this,"values",e=>bt(this,e))}};function Or(e,t,o){const n=An(e),s=n[t]();return n!==e&&!Ze(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=o(r.value)),r}),s}const pc=Array.prototype;function Pt(e,t,o,n,s,r){const a=An(e),i=a!==e&&!Ze(e),l=a[t];if(l!==pc[t]){const g=l.apply(e,r);return i?it(g):g}let c=o;a!==e&&(i?c=function(g,f){return o.call(this,bt(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(a,c,n);return i&&s?s(u):u}function Xs(e,t,o,n){const s=An(e),r=s!==e&&!Ze(e);let a=o,i=!1;s!==e&&(r?(i=n.length===0,a=function(c,u,g){return i&&(i=!1,c=bt(e,c)),o.call(this,c,bt(e,u),g,e)}):o.length>3&&(a=function(c,u,g){return o.call(this,c,u,g,e)}));const l=s[t](a,...n);return i?bt(e,l):l}function Ar(e,t,o){const n=pe(e);We(n,"iterate",Uo);const s=n[t](...o);return(s===-1||s===!1)&&Sn(o[0])?(o[0]=pe(o[0]),n[t](...o)):s}function Wo(e,t,o=[]){mt(),br();const n=pe(e)[t].apply(e,o);return yr(),_t(),n}const dc=pr("__proto__,__v_isRef,__isVue"),Zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function gc(e){Xe(e)||(e=String(e));const t=pe(this);return We(t,"has",e),t.hasOwnProperty(e)}class Js{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(s?r?ra:na:r?oa:ta).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=ee(t);if(!s){let l;if(a&&(l=uc[o]))return l;if(o==="hasOwnProperty")return gc}const i=Reflect.get(t,o,Ae(t)?t:n);if((Xe(o)?Zs.has(o):dc(o))||(s||We(t,"get",o),r))return i;if(Ae(i)){const l=a&&yn(o)?i:i.value;return s&&he(l)?Nr(l):l}return he(i)?s?Nr(i):En(i):i}}class Qs extends Js{constructor(t=!1){super(!1,t)}set(t,o,n,s){let r=t[o];const a=ee(t)&&yn(o);if(!this._isShallow){const c=Lt(r);if(!Ze(n)&&!Lt(n)&&(r=pe(r),n=pe(n)),!a&&Ae(r)&&!Ae(n))return c||(r.value=n),!0}const i=a?Number(o)e,Cn=e=>Reflect.getPrototypeOf(e);function bc(e,t,o){return function(...n){const s=this.__v_raw,r=pe(s),a=jt(r),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=s[e](...n),u=o?Cr:t?vo:it;return!t&&We(r,"iterate",l?kr:ao),Ce(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:i?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function Nn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function yc(e,t){const o={get(s){const r=this.__v_raw,a=pe(r),i=pe(s);e||(ht(s,i)&&We(a,"get",s),We(a,"get",i));const{has:l}=Cn(a),c=t?Cr:e?vo:it;if(l.call(a,s))return c(r.get(s));if(l.call(a,i))return c(r.get(i));r!==a&&r.get(s)},get size(){const s=this.__v_raw;return!e&&We(pe(s),"iterate",ao),s.size},has(s){const r=this.__v_raw,a=pe(r),i=pe(s);return e||(ht(s,i)&&We(a,"has",s),We(a,"has",i)),s===i?r.has(s):r.has(s)||r.has(i)},forEach(s,r){const a=this,i=a.__v_raw,l=pe(i),c=t?Cr:e?vo:it;return!e&&We(l,"iterate",ao),i.forEach((u,g)=>s.call(r,c(u),c(g),a))}};return Ce(o,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(s){const r=pe(this),a=Cn(r),i=pe(s),l=!t&&!Ze(s)&&!Lt(s)?i:s;return a.has.call(r,l)||ht(s,l)&&a.has.call(r,s)||ht(i,l)&&a.has.call(r,i)||(r.add(l),Nt(r,"add",l,l)),this},set(s,r){!t&&!Ze(r)&&!Lt(r)&&(r=pe(r));const a=pe(this),{has:i,get:l}=Cn(a);let c=i.call(a,s);c||(s=pe(s),c=i.call(a,s));const u=l.call(a,s);return a.set(s,r),c?ht(r,u)&&Nt(a,"set",s,r):Nt(a,"add",s,r),this},delete(s){const r=pe(this),{has:a,get:i}=Cn(r);let l=a.call(r,s);l||(s=pe(s),l=a.call(r,s)),i&&i.call(r,s);const c=r.delete(s);return l&&Nt(r,"delete",s,void 0),c},clear(){const s=pe(this),r=s.size!==0,a=s.clear();return r&&Nt(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=bc(s,e,t)}),o}function Pn(e,t){const o=yc(e,t);return(n,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(fe(o,s)&&s in n?o:n,s,r)}const $c={get:Pn(!1,!1)},vc={get:Pn(!1,!0)},wc={get:Pn(!0,!1)},kc={get:Pn(!0,!0)},ta=new WeakMap,oa=new WeakMap,na=new WeakMap,ra=new WeakMap;function Oc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function En(e){return Lt(e)?e:Ln(e,!1,fc,$c,ta)}function Ac(e){return Ln(e,!1,mc,vc,oa)}function Nr(e){return Ln(e,!0,hc,wc,na)}function h0(e){return Ln(e,!0,_c,kc,ra)}function Ln(e,t,o,n,s){if(!he(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=s.get(e);if(r)return r;const a=Oc(Xl(e));if(a===0)return e;const i=new Proxy(e,a===2?n:o);return s.set(e,i),i}function Et(e){return Lt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Lt(e){return!!(e&&e.__v_isReadonly)}function Ze(e){return!!(e&&e.__v_isShallow)}function Sn(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function $o(e){return!fe(e,"__v_skip")&&Object.isExtensible(e)&&Fs(e,"__v_skip",!0),e}const it=e=>he(e)?En(e):e,vo=e=>he(e)?Nr(e):e;function Ae(e){return e?e.__v_isRef===!0:!1}function re(e){return sa(e,!1)}function jo(e){return sa(e,!0)}function sa(e,t){return Ae(e)?e:new Cc(e,t)}class Cc{constructor(t,o){this.dep=new wr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:pe(t),this._value=o?t:it(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ze(t)||Lt(t);t=n?t:pe(t),ht(t,o)&&(this._rawValue=t,this._value=n?t:it(t),this.dep.trigger())}}function qe(e){return Ae(e)?e.value:e}const Nc={get:(e,t,o)=>t==="__v_raw"?e:qe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const s=e[t];return Ae(s)&&!Ae(o)?(s.value=o,!0):Reflect.set(e,t,o,n)}};function aa(e){return Et(e)?e:new Proxy(e,Nc)}function Pc(e){const t=ee(e)?new Array(e.length):{};for(const o in e)t[o]=Lc(e,o);return t}class Ec{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Xe(o)?o:String(o),this._raw=pe(t);let s=!0,r=t;if(!ee(t)||Xe(this._key)||!yn(this._key))do s=!Sn(r)||Ze(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=qe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ae(this._raw[this._key])){const o=this._object[this._key];if(Ae(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return cc(this._raw,this._key)}}function Lc(e,t,o){return new Ec(e,t,o)}class Sc{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new wr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Go-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return js(this,!0),!0}get value(){const t=this.dep.track();return Ys(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Fc(e,t,o=!1){let n,s;return ne(e)?n=e:(n=e.get,s=e.set),new Sc(n,s,o)}const Fn={},Tn=new WeakMap;let io;function Tc(e,t=!1,o=io){if(o){let n=Tn.get(o);n||Tn.set(o,n=[]),n.push(e)}}function xc(e,t,o=_e){const{immediate:n,deep:s,once:r,scheduler:a,augmentJob:i,call:l}=o,c=b=>s?b:Ze(b)||s===!1||s===0?St(b,1):St(b);let u,g,f,_,$=!1,k=!1;if(Ae(e)?(g=()=>e.value,$=Ze(e)):Et(e)?(g=()=>c(e),$=!0):ee(e)?(k=!0,$=e.some(b=>Et(b)||Ze(b)),g=()=>e.map(b=>{if(Ae(b))return b.value;if(Et(b))return c(b);if(ne(b))return l?l(b,2):b()})):ne(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){mt();try{f()}finally{_t()}}const b=io;io=u;try{return l?l(e,3,[_]):e(_)}finally{io=b}}:g=ft,t&&s){const b=g,N=s===!0?1/0:s;g=()=>St(b(),N)}const A=Gs(),S=()=>{u.stop(),A&&A.active&&dr(A.effects,u)};if(r&&t){const b=t;t=(...N)=>{const O=b(...N);return S(),O}}let C=k?new Array(e.length).fill(Fn):Fn;const h=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const N=u.run();if(b||s||$||(k?N.some((O,P)=>ht(O,C[P])):ht(N,C))){f&&f();const O=io;io=u;try{const P=[N,C===Fn?void 0:k&&C[0]===Fn?[]:C,_];C=N,l?l(t,3,P):t(...P)}finally{io=O}}}else u.run()};return i&&i(h),u=new Us(g),u.scheduler=a?()=>a(h,!1):h,_=b=>Tc(b,!1,u),f=u.onStop=()=>{const b=Tn.get(u);if(b){if(l)l(b,4);else for(const N of b)N();Tn.delete(u)}},t?n?h(!0):C=u.run():a?a(h.bind(null,!0),!0):u.run(),S.pause=u.pause.bind(u),S.resume=u.resume.bind(u),S.stop=S,S}function St(e,t=1/0,o){if(t<=0||!he(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ae(e))St(e.value,t,o);else if(ee(e))for(let n=0;n{St(n,t,o)});else if(bn(e)){for(const n in e)St(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&St(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Vo=[];let Pr=!1;function mb(e,...t){if(Pr)return;Pr=!0,mt();const o=Vo.length?Vo[Vo.length-1].component:null,n=o&&o.appContext.config.warnHandler,s=Ic();if(n)vo(n,o,11,[e+t.map(r=>{var a,i;return(i=(a=r.toString)==null?void 0:a.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,s.map(({vnode:r})=>`at <${si(o,r.type)}>`).join(` +**/const Vo=[];let Pr=!1;function m0(e,...t){if(Pr)return;Pr=!0,mt();const o=Vo.length?Vo[Vo.length-1].component:null,n=o&&o.appContext.config.warnHandler,s=Ic();if(n)wo(n,o,11,[e+t.map(r=>{var a,i;return(i=(a=r.toString)==null?void 0:a.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,s.map(({vnode:r})=>`at <${si(o,r.type)}>`).join(` `),s]);else{const r=[`[Vue warn]: ${e}`,...t];s.length&&r.push(` `,...Mc(s)),console.warn(...r)}_t(),Pr=!1}function Ic(){let e=Vo[Vo.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 Mc(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Rc(o))}),t}function Rc({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${si(e.component,e.type,n)}`,r=">"+o;return e.props?[s,...Bc(e.props),r]:[s+r]}function Bc(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...ia(n,e[n]))}),o.length>3&&t.push(" ..."),t}function ia(e,t,o){return be(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ae(t)?(t=ia(e,pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),o?t:[`${e}=`,t])}function vo(e,t,o,n){try{return n?e(...n):e()}catch(s){zo(s,t,o)}}function lt(e,t,o,n){if(ne(e)){const s=vo(e,t,o,n);return s&&Ss(s)&&s.catch(r=>{zo(r,t,o)}),s}if(ee(e)){const s=[];for(let r=0;r>>1,s=je[n],r=Ho(s);r=Ho(o)?je.push(e):je.splice(Wc(t),0,e),e.flags|=1,ca()}}function ca(){xn||(xn=la.then(da))}function Gc(e){if(!ee(e))Vt&&e.id===-1?Vt.splice(Oo+1,0,e):e.flags&1||(ko.push(e),e.flags|=1);else for(let t=0;tHo(o)-Ho(n));if(ko.length=0,Vt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function da(e){try{for(yt=0;yt{n._d&&zn(-1);const r=In(t),a=Tt.length;let i;try{i=e(...s)}finally{for(let l=Tt.length;l>a;l--)Hr();In(r),n._d&&zn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Uc(e,t){if(Be===null)return e;const o=Kn(Be),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&ne(t)?t.call(n&&n.proxy):t}}function jc(){return!!(It()||uo)}const Vc=Symbol.for("v-scx"),zc=()=>Ie(Vc);function Yc(e,t){return Sr(e,null,t)}function nt(e,t,o){return Sr(e,t,o)}function Sr(e,t,o=_e){const{immediate:n,deep:s,flush:r,once:a}=o,i=Ce({},o),l=t&&n||!t&&r!=="post";let c;if(No){if(r==="sync"){const _=zc();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=ft,_.resume=ft,_.pause=ft,_}}const u=De;i.call=(_,$,k)=>lt(_,u,$,k);let g=!1;r==="post"?i.scheduler=_=>{ze(_,u&&u.suspense)}:r!=="sync"&&(g=!0,i.scheduler=(_,$)=>{$?_():Er(_)}),i.augmentJob=_=>{t&&(_.flags|=4),g&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const f=xc(e,t,i);return No&&(c?c.push(f):l&&f()),f}function Hc(e,t,o){const n=this.proxy,s=be(e)?e.includes(".")?fa(n,e):()=>n[e]:e.bind(n,n);let r;ne(t)?r=t:(r=t.handler,o=t);const a=rn(this),i=Sr(s,r.bind(n),o);return a(),i}function fa(e,t){const o=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,co=e=>e&&(e.disabled||e.disabled===""),qc=e=>e&&(e.defer||e.defer===""),ma=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_a=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Fr=(e,t)=>{const o=e&&e.to;return be(o)?t?t(o):null:o},Kc={name:"Teleport",__isTeleport:!0,process(e,t,o,n,s,r,a,i,l,c){const{mc:u,pc:g,pbc:f,o:{insert:_,querySelector:$,createText:k,createComment:A,parentNode:F}}=c,C=co(t.props);let{dynamicChildren:h}=t;const b=(P,L,v)=>{P.shapeFlag&16&&u(P.children,L,v,s,r,a,i,l)},N=(P=t)=>{const L=co(P.props),v=P.target=Fr(P.props,$),D=Lr(v,P,k,_);v&&(a!=="svg"&&ma(v)?a="svg":a!=="mathml"&&_a(v)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(v),L||(b(P,v,D),qo(P,!1)))},O=P=>{const L=()=>{if(Yt.get(P)===L){if(Yt.delete(P),co(P.props)){const v=F(P.el)||o;b(P,v,P.anchor),qo(P,!0)}N(P)}};Yt.set(P,L),ze(L,r)};if(e==null){const P=t.el=k(""),L=t.anchor=k("");if(_(P,o,n),_(L,o,n),qc(t.props)||r&&r.pendingBranch){O(t);return}C&&(b(t,o,L),qo(t,!0)),N()}else{t.el=e.el;const P=t.anchor=e.anchor,L=Yt.get(e);if(L){L.flags|=8,Yt.delete(e),O(t);return}t.targetStart=e.targetStart;const v=t.target=e.target,D=t.targetAnchor=e.targetAnchor,U=co(e.props),K=U?o:v,oe=U?P:D;if(a==="svg"||ma(v)?a="svg":(a==="mathml"||_a(v))&&(a="mathml"),h?(f(e.dynamicChildren,h,K,s,r,a,i),zr(e,t,!0)):l||g(e,t,K,oe,s,r,a,i,!1),C)U?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Rn(t,o,P,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ue=Fr(t.props,$);ue&&(t.target=ue,Rn(t,ue,null,c,0))}else U&&Rn(t,v,D,c,1);qo(t,C)}},remove(e,t,o,{um:n,o:{remove:s}},r){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,_=co(f),$=r||!_,k=Yt.get(e);if(k&&(k.flags|=8,Yt.delete(e)),g&&(s(c),s(u)),r&&s(l),!k&&(_||g)&&a&16)for(let A=0;A1){for(const o of e)if(o.type!==$t){t=o;break}}return t}function ba(e){if(!Wn(e))return Mn(e.type)&&e.children?Zc(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&&ne(o.default))return o.default()}}function xr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;xr(Mn(o.type)&&ba(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 Ko(e,t){return ne(e)?Ce({name:e.name},t,{setup:e}):e}function Ir(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ya(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Bn=new WeakMap;function Xo(e,t,o,n,s=!1){if(ee(e)){e.forEach((k,A)=>Xo(k,t&&(ee(t)?t[A]:t),o,n,s));return}if(Ao(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Xo(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Kn(n.component):n.el,a=s?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===_e?i.refs={}:i.refs,g=i.setupState,f=pe(g),_=g===_e?Ps:k=>ya(u,k)?!1:fe(f,k),$=(k,A)=>!(A&&ya(u,A));if(c!=null&&c!==l){if($a(t),be(c))u[c]=null,_(c)&&(g[c]=null);else if(Ae(c)){const k=t;$(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(ne(l))vo(l,i,12,[a,u]);else{const k=be(l),A=Ae(l);if(k||A){const F=()=>{if(e.f){const C=k?_(l)?g[l]:u[l]:$()||!e.k?l.value:u[e.k];if(s)ee(C)&&dr(C,r);else if(ee(C))C.includes(r)||C.push(r);else if(k)u[l]=[r],_(l)&&(g[l]=u[l]);else{const h=[r];$(l,e.k)&&(l.value=h),e.k&&(u[e.k]=h)}}else k?(u[l]=a,_(l)&&(g[l]=a)):A&&($(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const C=()=>{F(),Bn.delete(e)};C.id=-1,Bn.set(e,C),ze(C,o)}else $a(e),F()}}}function $a(e){const t=Bn.get(e);t&&(t.flags|=8,Bn.delete(e))}const wa=e=>e.nodeType===8;vn().requestIdleCallback,vn().cancelIdleCallback;function Qc(e,t){if(wa(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(wa(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Ao=e=>!!e.type.__asyncLoader;function eu(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:s=200,hydrate:r,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,_()),_=()=>{let $;return c||($=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((A,F)=>{l(k,()=>A(f()),()=>F(k),g+1)});throw k}).then(k=>$!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Ko({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate($,k,A){const F=$.isConnected;let C=!1;(k.bu||(k.bu=[])).push(()=>C=!0);const h=()=>{C||!$.parentNode||F&&!$.isConnected||A()},b=r?()=>{const N=r(h,O=>Qc($,O));N&&(k.bum||(k.bum=[])).push(N)}:h;u?b():_().then(()=>!k.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const $=De;if(Ir($),u)return()=>Dn(u,$);const k=N=>{c=null,zo(N,$,13,!n)};if(i&&$.suspense||No)return _().then(N=>()=>Dn(N,$)).catch(N=>(k(N),()=>n?$e(n,{error:N}):null));const A=re(!1),F=re(),C=re(!!s);let h,b;return Un(()=>{h!=null&&clearTimeout(h),b!=null&&clearTimeout(b)}),s&&(b=setTimeout(()=>{$.isUnmounted||(C.value=!1)},s)),a!=null&&(h=setTimeout(()=>{if(!$.isUnmounted&&!A.value&&!F.value){const N=new Error(`Async component timed out after ${a}ms.`);k(N),F.value=N}},a)),_().then(()=>{$.isUnmounted||(A.value=!0,$.parent&&Wn($.parent.vnode)&&$.parent.update())}).catch(N=>{if($.isUnmounted){c=null;return}k(N),F.value=N}),()=>{if(A.value&&u)return Dn(u,$);if(F.value&&n)return $e(n,{error:F.value});if(o&&!C.value)return Dn(o,$)}}})}function Dn(e,t){const{ref:o,props:n,children:s,ce:r}=t.vnode,a=$e(e,n,s);return a.ref=o,a.ce=r,delete t.vnode.ce,a}const Wn=e=>e.type.__isKeepAlive;function tu(e,t){va(e,"a",t)}function ou(e,t){va(e,"da",t)}function va(e,t,o=De){const n=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Gn(t,n,o),o){let s=o.parent;for(;s&&s.parent;)Wn(s.parent.vnode)&&nu(n,t,o,s),s=s.parent}}function nu(e,t,o,n){const s=Gn(t,e,n,!0);Un(()=>{dr(n[t],s)},o)}function Gn(e,t,o=De,n=!1){if(o){const s=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...a)=>{mt();const i=rn(o),l=lt(t,o,e,a);return i(),_t(),l});return n?s.unshift(r):s.push(r),r}}const Lt=e=>(t,o=De)=>{(!No||e==="sp")&&Gn(e,(...n)=>t(...n),o)},ka=Lt("bm"),Ht=Lt("m"),ru=Lt("bu"),su=Lt("u"),qt=Lt("bum"),Un=Lt("um"),au=Lt("sp"),iu=Lt("rtg"),lu=Lt("rtc");function cu(e,t=De){Gn("ec",e,t)}const uu="components",Oa=Symbol.for("v-ndc");function Aa(e){return be(e)?pu(uu,e,!1)||e:e||Oa}function pu(e,t,o=!0,n=!1){const s=Be||De;if(s){const r=s.type;{const i=ri(r,!1);if(i&&(i===t||i===xe(t)||i===wn(xe(t))))return r}const a=Ca(s[e]||r[e],t)||Ca(s.appContext[e],t);return!a&&n?r:a}}function Ca(e,t){return e&&(e[t]||e[xe(t)]||e[wn(xe(t))])}function ct(e,t,o,n){let s;const r=o,a=ee(e);if(a||be(e)){const i=a&&Et(e);let l=!1,c=!1;i&&(l=!Je(e),c=St(e),e=An(e)),s=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;l0;return Y(),Qe(de,null,[$e("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=Tt.length;Y();let l;try{const c=a&&Na(a(o)),u=o.key||r||c&&c.key;l=Qe(de,{key:(u&&!Xe(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Tt.length;u>i;u--)Hr();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Na(e){return e.some(t=>tn(t)?!(t.type===$t||t.type===de&&!Na(t.children)):!0)?e:null}const Rr=e=>e?ti(e)?Kn(e):Rr(e.parent):null,Jo=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=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fa(e),$forceUpdate:e=>e.f||(e.f=()=>{Er(e.update)}),$nextTick:e=>e.n||(e.n=Yo.bind(e.proxy)),$watch:e=>Hc.bind(e)}),Br=(e,t)=>e!==_e&&!e.__isScriptSetup&&fe(e,t),du={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:s,props:r,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const f=a[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return s[t];case 4:return o[t];case 3:return r[t]}else{if(Br(n,t))return a[t]=1,n[t];if(s!==_e&&fe(s,t))return a[t]=2,s[t];if(fe(r,t))return a[t]=3,r[t];if(o!==_e&&fe(o,t))return a[t]=4,o[t];Dr&&(a[t]=0)}}const c=Jo[t];let u,g;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==_e&&fe(o,t))return a[t]=4,o[t];if(g=l.config.globalProperties,fe(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:s,ctx:r}=e;return Br(s,t)?(s[t]=o,!0):n!==_e&&fe(n,t)?(n[t]=o,!0):fe(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:s,props:r,type:a}},i){let l;return!!(o[i]||e!==_e&&i[0]!=="$"&&fe(e,i)||Br(t,i)||fe(r,i)||fe(n,i)||fe(Jo,i)||fe(s.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:fe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Pa(e){return ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Dr=!0;function gu(e){const t=Fa(e),o=e.proxy,n=e.ctx;Dr=!1,t.beforeCreate&&Ea(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:_,updated:$,activated:k,deactivated:A,beforeDestroy:F,beforeUnmount:C,destroyed:h,unmounted:b,render:N,renderTracked:O,renderTriggered:P,errorCaptured:L,serverPrefetch:v,expose:D,inheritAttrs:U,components:K,directives:oe,filters:ue}=t;if(c&&fu(c,n,null),a)for(const X in a){const le=a[X];ne(le)&&(n[X]=le.bind(o))}if(s){const X=s.call(o,o);he(X)&&(e.data=En(X))}if(Dr=!0,r)for(const X in r){const le=r[X],Pe=ne(le)?le.bind(o,o):ne(le.get)?le.get.bind(o,o):ft,At=!ne(le)&&ne(le.set)?le.set.bind(o):ft,Te=ae({get:Pe,set:At});Object.defineProperty(n,X,{enumerable:!0,configurable:!0,get:()=>Te.value,set:Re=>Te.value=Re})}if(i)for(const X in i)Sa(i[X],n,o,X);if(l){const X=ne(l)?l.call(o):l;Reflect.ownKeys(X).forEach(le=>{ot(le,X[le])})}u&&Ea(u,e,"c");function W(X,le){ee(le)?le.forEach(Pe=>X(Pe.bind(o))):le&&X(le.bind(o))}if(W(ka,g),W(Ht,f),W(ru,_),W(su,$),W(tu,k),W(ou,A),W(cu,L),W(lu,O),W(iu,P),W(qt,C),W(Un,b),W(au,v),ee(D))if(D.length){const X=e.exposed||(e.exposed={});D.forEach(le=>{Object.defineProperty(X,le,{get:()=>o[le],set:Pe=>o[le]=Pe,enumerable:!0})})}else e.exposed||(e.exposed={});N&&e.render===ft&&(e.render=N),U!=null&&(e.inheritAttrs=U),K&&(e.components=K),oe&&(e.directives=oe),v&&Ir(e)}function fu(e,t,o=ft){ee(e)&&(e=Wr(e));for(const n in e){const s=e[n];let r;he(s)?"default"in s?r=Ie(s.from||n,s.default,!0):r=Ie(s.from||n):r=Ie(s),Ae(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[n]=r}}function Ea(e,t,o){lt(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Sa(e,t,o,n){let s=n.includes(".")?fa(o,n):()=>o[n];if(be(e)){const r=t[e];ne(r)&&nt(s,r)}else if(ne(e))nt(s,e.bind(o));else if(he(e))if(ee(e))e.forEach(r=>Sa(r,t,o,n));else{const r=ne(e.handler)?e.handler.bind(o):t[e.handler];ne(r)&&nt(s,r,e)}}function Fa(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:a}}=e.appContext,i=r.get(t);let l;return i?l=i:!s.length&&!o&&!n?l=t:(l={},s.length&&s.forEach(c=>jn(l,c,a,!0)),jn(l,t,a)),he(t)&&r.set(t,l),l}function jn(e,t,o,n=!1){const{mixins:s,extends:r}=t;r&&jn(e,r,o,!0),s&&s.forEach(a=>jn(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=hu[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const hu={data:La,props:Ta,emits:Ta,methods:Zo,computed:Zo,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:Zo,directives:Zo,watch:_u,provide:La,inject:mu};function La(e,t){return t?e?function(){return Ce(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function mu(e,t){return Zo(Wr(e),Wr(t))}function Wr(e){if(ee(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${tt(t)}Modifiers`];function wu(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||_e;let s=o;const r=t.startsWith("update:"),a=r&&$u(n,t.slice(7));a&&(a.trim&&(s=o.map(u=>be(u)?u.trim():u)),a.number&&(s=s.map(Ql)));let i,l=n[i=gr(t)]||n[i=gr(xe(t))];!l&&r&&(l=n[i=gr(tt(t))]),l&<(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,lt(c,e,6,s)}}const vu=new WeakMap;function Ia(e,t,o=!1){const n=o?vu:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const r=e.emits;let a={},i=!1;if(!ne(e)){const l=c=>{const u=Ia(c,t,!0);u&&(i=!0,Ce(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(he(e)&&n.set(e,null),null):(ee(r)?r.forEach(l=>a[l]=null):Ce(a,r),he(e)&&n.set(e,a),a)}function Vn(e,t){return!e||!hn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,tt(t))||fe(e,t))}function _b(){}function Ma(e){const{type:t,vnode:o,proxy:n,withProxy:s,propsOptions:[r],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:g,data:f,setupState:_,ctx:$,inheritAttrs:k}=e,A=In(e);let F,C;try{if(o.shapeFlag&4){const b=s||n,N=b;F=wt(c.call(N,b,u,g,_,f,$)),C=i}else{const b=t;F=wt(b.length>1?b(g,{attrs:i,slots:a,emit:l}):b(g,null)),C=t.props?i:ku(i)}}catch(b){Tt.length=0,zo(b,e,1),F=$e($t)}let h=F;if(C&&k!==!1){const b=Object.keys(C),{shapeFlag:N}=h;b.length&&N&7&&(r&&b.some(mn)&&(C=Ou(C,r)),h=Co(h,C,!1,!0))}if(o.dirs&&(h=Co(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(o.dirs):o.dirs),o.transition){const b=Mn(h.type)&&ba(h)||h;xr(b,o.transition)}return F=h,In(A),F}const ku=e=>{let t;for(const o in e)(o==="class"||o==="style"||hn(o))&&((t||(t={}))[o]=e[o]);return t},Ou=(e,t)=>{const o={};for(const n in e)(!mn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Au(e,t,o){const{props:n,children:s,component:r}=e,{props:a,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?Ra(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Da),Ga=e=>Object.getPrototypeOf(e)===Da;function Nu(e,t,o,n=!1){const s={},r=Wa();e.propsDefaults=Object.create(null),Ua(e,t,s,r);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=n?s:Ac(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function Pu(e,t,o,n){const{props:s,attrs:r,vnode:{patchFlag:a}}=e,i=pe(s),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[f,_]=ja(g,t,!0);Ce(a,f),_&&i.push(..._)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return he(e)&&n.set(e,_o),_o;if(ee(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",jr=e=>ee(e)?e.map(wt):[wt(e)],Su=(e,t,o)=>{if(t._n)return t;const n=zt((...s)=>jr(t(...s)),o);return n._c=!1,n},za=(e,t,o)=>{const n=e._ctx;for(const s in e){if(Ur(s))continue;const r=e[s];if(ne(r))t[s]=Su(s,r,n);else if(r!=null){const a=jr(r);t[s]=()=>a}}},Ya=(e,t)=>{const o=jr(t);e.slots.default=()=>o},Ha=(e,t,o)=>{for(const n in t)(o||!Ur(n))&&(e[n]=t[n])},Fu=(e,t,o)=>{const n=e.slots=Wa();if(e.vnode.shapeFlag&32){const s=t._;s?(Ha(n,t,o),o&&Ls(n,"_",s,!0)):za(t,n)}else t&&Ya(e,t)},Lu=(e,t,o)=>{const{vnode:n,slots:s}=e;let r=!0,a=_e;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Ha(s,t,o):(r=!t.$stable,za(t,s)),a=t}else t&&(Ya(e,t),a={default:1});if(r)for(const i in s)!Ur(i)&&a[i]==null&&delete s[i]},ze=Ru;function Tu(e){return xu(e)}function xu(e,t){const o=vn();o.__VUE__=!0;const{insert:n,remove:s,patchProp:r,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:_=ft,insertStaticContent:$}=e,k=(m,w,y,T=null,B=null,R=null,V=void 0,j=null,p=!!w.dynamicChildren)=>{if(m===w)return;m&&!on(m,w)&&(T=Gt(m),Re(m,B,R,!0),m=null),w.patchFlag===-2&&(p=!1,w.dynamicChildren=null);const{type:d,ref:S,shapeFlag:x}=w;switch(d){case Qo:A(m,w,y,T);break;case $t:F(m,w,y,T);break;case Yr:m==null&&C(w,y,T,V);break;case de:K(m,w,y,T,B,R,V,j,p);break;default:x&1?N(m,w,y,T,B,R,V,j,p):x&6?oe(m,w,y,T,B,R,V,j,p):(x&64||x&128)&&d.process(m,w,y,T,B,R,V,j,p,st)}S!=null&&B?Xo(S,m&&m.ref,R,w||m,!w):S==null&&m&&m.ref!=null&&Xo(m.ref,null,R,m,!0)},A=(m,w,y,T)=>{if(m==null)n(w.el=i(w.children),y,T);else{const B=w.el=m.el;w.children!==m.children&&c(B,w.children)}},F=(m,w,y,T)=>{m==null?n(w.el=l(w.children||""),y,T):w.el=m.el},C=(m,w,y,T)=>{[m.el,m.anchor]=$(m.children,w,y,T,m.el,m.anchor)},h=({el:m,anchor:w},y,T)=>{let B;for(;m&&m!==w;)B=f(m),n(m,y,T),m=B;n(w,y,T)},b=({el:m,anchor:w})=>{let y;for(;m&&m!==w;)y=f(m),s(m),m=y;s(w)},N=(m,w,y,T,B,R,V,j,p)=>{if(w.type==="svg"?V="svg":w.type==="math"&&(V="mathml"),m==null)O(w,y,T,B,R,V,j,p);else{const d=m.el&&m.el._isVueCE?m.el:null;try{d&&d._beginPatch(),v(m,w,B,R,V,j,p)}finally{d&&d._endPatch()}}},O=(m,w,y,T,B,R,V,j)=>{let p,d;const{props:S,shapeFlag:x,transition:z,dirs:G}=m;if(p=m.el=a(m.type,R,S&&S.is,S),x&8?u(p,m.children):x&16&&L(m.children,p,null,T,B,Vr(m,R),V,j),G&&lo(m,null,T,"created"),P(p,m,m.scopeId,V,T),S){for(const M in S)M!=="value"&&!Ro(M)&&r(p,M,null,S[M],R,T);"value"in S&&r(p,"value",null,S.value,R),(d=S.onVnodeBeforeMount)&&vt(d,T,m)}G&&lo(m,null,T,"beforeMount");const E=Iu(B,z);E&&z.beforeEnter(p),n(p,w,y),((d=S&&S.onVnodeMounted)||E||G)&&ze(()=>{try{d&&vt(d,T,m),E&&z.enter(p),G&&lo(m,null,T,"mounted")}finally{}},B)},P=(m,w,y,T,B)=>{if(y&&_(m,y),T)for(let R=0;R{for(let d=p;d{const j=w.el=m.el;let{patchFlag:p,dynamicChildren:d,dirs:S}=w;p|=m.patchFlag&16;const x=m.props||_e,z=w.props||_e;let G;if(y&&po(y,!1),(G=z.onVnodeBeforeUpdate)&&vt(G,y,w,m),S&&lo(w,m,y,"beforeUpdate"),y&&po(y,!0),d&&(!m.dynamicChildren||m.dynamicChildren.length!==d.length)&&(p=0,V=!1,d=null),(x.innerHTML&&z.innerHTML==null||x.textContent&&z.textContent==null)&&u(j,""),d?D(m.dynamicChildren,d,j,y,T,Vr(w,B),R):V||le(m,w,j,null,y,T,Vr(w,B),R,!1),p>0){if(p&16)U(j,x,z,y,B);else if(p&2&&x.class!==z.class&&r(j,"class",null,z.class,B),p&4&&r(j,"style",x.style,z.style,B),p&8){const E=w.dynamicProps;for(let M=0;M{G&&vt(G,y,w,m),S&&lo(w,m,y,"updated")},T)},D=(m,w,y,T,B,R,V)=>{for(let j=0;j{if(w!==y){if(w!==_e)for(const R in w)!Ro(R)&&!(R in y)&&r(m,R,w[R],null,B,T);for(const R in y){if(Ro(R))continue;const V=y[R],j=w[R];V!==j&&R!=="value"&&r(m,R,j,V,B,T)}"value"in y&&r(m,"value",w.value,y.value,B)}},K=(m,w,y,T,B,R,V,j,p)=>{const d=w.el=m?m.el:i(""),S=w.anchor=m?m.anchor:i("");let{patchFlag:x,dynamicChildren:z,slotScopeIds:G}=w;G&&(j=j?j.concat(G):G),m==null?(n(d,y,T),n(S,y,T),L(w.children||[],y,S,B,R,V,j,p)):x>0&&x&64&&z&&m.dynamicChildren&&m.dynamicChildren.length===z.length?(D(m.dynamicChildren,z,y,B,R,V,j),(w.key!=null||B&&w===B.subTree)&&zr(m,w,!0)):le(m,w,y,S,B,R,V,j,p)},oe=(m,w,y,T,B,R,V,j,p)=>{w.slotScopeIds=j,m==null?w.shapeFlag&512?B.ctx.activate(w,y,T,V,p):ue(w,y,T,B,R,V,p):q(m,w,p)},ue=(m,w,y,T,B,R,V)=>{const j=m.component=ju(m,T,B);if(Wn(m)&&(j.ctx.renderer=st),Vu(j,!1,V),j.asyncDep){if(B&&B.registerDep(j,W,V),!m.el){const p=j.subTree=$e($t);F(null,p,w,y),m.placeholder=p.el}}else W(j,m,w,y,B,R,V)},q=(m,w,y)=>{const T=w.component=m.component;if(Au(m,w,y))if(T.asyncDep&&!T.asyncResolved){X(T,w,y);return}else T.next=w,T.update();else w.el=m.el,T.vnode=w},W=(m,w,y,T,B,R,V)=>{const j=()=>{if(m.isMounted){let{next:x,bu:z,u:G,parent:E,vnode:M}=m;{const Ge=qa(m);if(Ge){x&&(x.el=M.el,X(m,x,V)),Ge.asyncDep.then(()=>{ze(()=>{m.isUnmounted||d()},B)});return}}let Z=x,ie;po(m,!1),x?(x.el=M.el,X(m,x,V)):x=M,z&&fr(z),(ie=x.props&&x.props.onVnodeBeforeUpdate)&&vt(ie,E,x,M),po(m,!0);const ve=Ma(m),He=m.subTree;m.subTree=ve,k(He,ve,g(He.el),Gt(He),m,B,R),x.el=ve.el,Z===null&&Cu(m,ve.el),G&&ze(G,B),(ie=x.props&&x.props.onVnodeUpdated)&&ze(()=>vt(ie,E,x,M),B)}else{let x;const{el:z,props:G}=w,{bm:E,m:M,parent:Z,root:ie,type:ve}=m,He=Ao(w);po(m,!1),E&&fr(E),!He&&(x=G&&G.onVnodeBeforeMount)&&vt(x,Z,w),po(m,!0);{ie.ce&&ie.ce._hasShadowRoot()&&ie.ce._injectChildStyle(ve,m.parent?m.parent.type:void 0);const Ge=m.subTree=Ma(m);k(null,Ge,y,T,m,B,R),w.el=Ge.el}if(M&&ze(M,B),!He&&(x=G&&G.onVnodeMounted)){const Ge=w;ze(()=>vt(x,Z,Ge),B)}(w.shapeFlag&256||Z&&Ao(Z.vnode)&&Z.vnode.shapeFlag&256)&&m.a&&ze(m.a,B),m.isMounted=!0,w=y=T=null}};m.scope.on();const p=m.effect=new Gs(j);m.scope.off();const d=m.update=p.run.bind(p),S=m.job=p.runIfDirty.bind(p);S.i=m,S.id=m.uid,p.scheduler=()=>Er(S),po(m,!0),d()},X=(m,w,y)=>{w.component=m;const T=m.vnode.props;m.vnode=w,m.next=null,Pu(m,w.props,T,y),Lu(m,w.children,y),mt(),ua(m),_t()},le=(m,w,y,T,B,R,V,j,p=!1)=>{const d=m&&m.children,S=m?m.shapeFlag:0,x=w.children,{patchFlag:z,shapeFlag:G}=w;if(z>0){if(z&128){At(d,x,y,T,B,R,V,j,p);return}else if(z&256){Pe(d,x,y,T,B,R,V,j,p);return}}G&8?(S&16&>(d,B,R),x!==d&&u(y,x)):S&16?G&16?At(d,x,y,T,B,R,V,j,p):gt(d,B,R,!0):(S&8&&u(y,""),G&16&&L(x,y,T,B,R,V,j,p))},Pe=(m,w,y,T,B,R,V,j,p)=>{m=m||_o,w=w||_o;const d=m.length,S=w.length,x=Math.min(d,S);let z;for(z=0;zS?gt(m,B,R,!0,!1,x):L(w,y,T,B,R,V,j,p,x)},At=(m,w,y,T,B,R,V,j,p)=>{let d=0;const S=w.length;let x=m.length-1,z=S-1;for(;d<=x&&d<=z;){const G=m[d],E=w[d]=p?xt(w[d]):wt(w[d]);if(on(G,E))k(G,E,y,null,B,R,V,j,p);else break;d++}for(;d<=x&&d<=z;){const G=m[x],E=w[z]=p?xt(w[z]):wt(w[z]);if(on(G,E))k(G,E,y,null,B,R,V,j,p);else break;x--,z--}if(d>x){if(d<=z){const G=z+1,E=Gz)for(;d<=x;)Re(m[d],B,R,!0),d++;else{const G=d,E=d,M=new Map;for(d=E;d<=z;d++){const et=w[d]=p?xt(w[d]):wt(w[d]);et.key!=null&&M.set(et.key,d)}let Z,ie=0;const ve=z-E+1;let He=!1,Ge=0;const mo=new Array(ve);for(d=0;d=ve){Re(et,B,R,!0);continue}let Ct;if(et.key!=null)Ct=M.get(et.key);else for(Z=E;Z<=z;Z++)if(mo[Z-E]===0&&on(et,w[Z])){Ct=Z;break}Ct===void 0?Re(et,B,R,!0):(mo[Ct-E]=d+1,Ct>=Ge?Ge=Ct:He=!0,k(et,w[Ct],y,null,B,R,V,j,p),ie++)}const Ns=He?Mu(mo):_o;for(Z=Ns.length-1,d=ve-1;d>=0;d--){const et=E+d,Ct=w[et],Hl=w[et+1],ql=et+1{const{el:R,type:V,transition:j,children:p,shapeFlag:d}=m;if(d&6){Te(m.component.subTree,w,y,T);return}if(d&128){m.suspense.move(w,y,T);return}if(d&64){V.move(m,w,y,st);return}if(V===de){n(R,w,y);for(let x=0;xj.enter(R),B));else{const{leave:x,delayLeave:z,afterLeave:G}=j,E=()=>{m.ctx.isUnmounted?s(R):n(R,w,y)},M=()=>{const Z=R._isLeaving||!!R[Tr];R._isLeaving&&R[Tr](!0),j.persisted&&!Z?E():x(R,()=>{E(),G&&G()})};z?z(R,E,M):M()}else n(R,w,y)},Re=(m,w,y,T=!1,B=!1)=>{const{type:R,props:V,ref:j,children:p,dynamicChildren:d,shapeFlag:S,patchFlag:x,dirs:z,cacheIndex:G,memo:E}=m;if(x===-2&&(B=!1),j!=null&&(mt(),Xo(j,null,y,m,!0),_t()),G!=null&&(w.renderCache[G]=void 0),S&256){w.ctx.deactivate(m);return}const M=S&1&&z,Z=!Ao(m);let ie;if(Z&&(ie=V&&V.onVnodeBeforeUnmount)&&vt(ie,w,m),S&6)ho(m.component,y,T);else{if(S&128){m.suspense.unmount(y,T);return}M&&lo(m,null,w,"beforeUnmount"),S&64?m.type.remove(m,w,y,st,T):d&&!d.hasOnce&&(R!==de||x>0&&x&64)?gt(d,w,y,!1,!0):(R===de&&x&384||!B&&S&16)&>(p,w,y),T&&no(m)}const ve=E!=null&&G==null;(Z&&(ie=V&&V.onVnodeUnmounted)||M||ve)&&ze(()=>{ie&&vt(ie,w,m),M&&lo(m,null,w,"unmounted"),ve&&(m.el=null)},y)},no=m=>{const{type:w,el:y,anchor:T,transition:B}=m;if(w===de){ro(y,T);return}if(w===Yr){b(m);return}const R=()=>{s(y),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(m.shapeFlag&1&&B&&!B.persisted){const{leave:V,delayLeave:j}=B,p=()=>V(y,R);j?j(m.el,R,p):p()}else R()},ro=(m,w)=>{let y;for(;m!==w;)y=f(m),s(m),m=y;s(w)},ho=(m,w,y)=>{const{bum:T,scope:B,job:R,subTree:V,um:j,m:p,a:d}=m;Ka(p),Ka(d),T&&fr(T),B.stop(),R&&(R.flags|=8,Re(V,m,w,y)),j&&ze(j,w),ze(()=>{m.isUnmounted=!0},w)},gt=(m,w,y,T=!1,B=!1,R=0)=>{for(let V=R;V{if(m.shapeFlag&6)return Gt(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const w=f(m.anchor||m.el),y=w&&w[ha];return y?f(y):w};let Ut=!1;const so=(m,w,y)=>{let T;m==null?w._vnode&&(Re(w._vnode,null,null,!0),T=w._vnode.component):k(w._vnode||null,m,w,null,null,null,y),w._vnode=m,Ut||(Ut=!0,ua(T),pa(),Ut=!1)},st={p:k,um:Re,m:Te,r:no,mt:ue,mc:L,pc:le,pbc:D,n:Gt,o:e};return{render:so,hydrate:void 0,createApp:yu(so)}}function Vr({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 po({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Iu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zr(e,t,o=!1){const n=e.children,s=t.children;if(ee(n)&&ee(s))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,a=o[r-1];r-- >0;)o[r]=a,a=t[a];return o}function qa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qa(t)}function Ka(e){if(e)for(let t=0;te.__isSuspense;function Ru(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):Gc(e)}const de=Symbol.for("v-fgt"),Qo=Symbol.for("v-txt"),$t=Symbol.for("v-cmt"),Yr=Symbol.for("v-stc"),Tt=[];let Ze=null;function Y(e=!1){Tt.push(Ze=e?null:[])}function Hr(){Tt.pop(),Ze=Tt[Tt.length-1]||null}let en=1;function zn(e,t=!1){en+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Za(e){return e.dynamicChildren=en>0?Ze||_o:null,Hr(),en>0&&Ze&&Ze.push(e),e}function J(e,t,o,n,s,r){return Za(I(e,t,o,n,s,r,!0))}function Qe(e,t,o,n,s){return Za($e(e,t,o,n,s,!0))}function tn(e){return e?e.__v_isVNode===!0:!1}function on(e,t){return e.type===t.type&&e.key===t.key}const Qa=({key:e})=>e??null,Yn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ae(e)||ne(e)?{i:Be,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,s=null,r=e===de?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qa(t),ref:t&&Yn(t),scopeId:ga,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:s,dynamicChildren:null,appContext:null,ctx:Be};return i?(Hn(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=be(o)?8:16),en>0&&!a&&Ze&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Ze.push(l),l}const $e=Bu;function Bu(e,t=null,o=null,n=0,s=null,r=!1){if((!e||e===Oa)&&(e=$t),tn(e)){const i=Co(e,t,!0);return o&&Hn(i,o),en>0&&!r&&Ze&&(i.shapeFlag&6?Ze[Ze.indexOf(e)]=i:Ze.push(i)),i.patchFlag=-2,i}if(Xu(e)&&(e=e.__vccOpts),t){t=Du(t);let{class:i,style:l}=t;i&&!be(i)&&(t.class=Ee(i)),he(l)&&(Fn(l)&&!ee(l)&&(l=Ce({},l)),t.style=bo(l))}const a=be(e)?1:Ja(e)?128:Mn(e)?64:he(e)?4:ne(e)?2:0;return I(e,t,o,n,s,a,r,!0)}function Du(e){return e?Fn(e)||Ga(e)?Ce({},e):e:null}function Co(e,t,o=!1,n=!1){const{props:s,ref:r,patchFlag:a,children:i,transition:l}=e,c=t?Wu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qa(c),ref:t&&t.ref?o&&r?ee(r)?r.concat(Yn(t)):[r,Yn(t)]:Yn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Co(e.ssContent),ssFallback:e.ssFallback&&Co(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&xr(u,l.clone(u)),u}function ke(e=" ",t=0){return $e(Qo,null,e,t)}function Se(e="",t=!1){return t?(Y(),Qe($t,null,e)):$e($t,null,e)}function wt(e){return e==null||typeof e=="boolean"?$e($t):ee(e)?$e(de,null,e.slice()):tn(e)?xt(e):$e(Qo,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Co(e)}function Hn(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))o=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),Hn(e,s()),s._c&&(s._d=!0));return}else{o=32;const s=t._;!s&&!Ga(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(n&65){Hn(e,{default:t});return}t={default:t,_ctx:Be},o=32}else t=String(t),n&64?(o=16,t=[ke(t)]):o=8;e.children=t,e.shapeFlag|=o}function Wu(...e){const t={};for(let o=0;oDe||Be;let qn,nn;{const e=vn(),t=(o,n)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(n),r=>{s.length>1?s.forEach(a=>a(r)):s[0](r)}};qn=t("__VUE_INSTANCE_SETTERS__",o=>De=o),nn=t("__VUE_SSR_SETTERS__",o=>No=o)}const rn=e=>{const t=De;return qn(e),e.scope.on(),()=>{e.scope.off(),qn(t)}},ei=()=>{De&&De.scope.off(),qn(null)};function ti(e){return e.vnode.shapeFlag&4}let No=!1;function Vu(e,t=!1,o=!1){t&&nn(t);const{props:n,children:s}=e.vnode,r=ti(e);Nu(e,n,r,t),Fu(e,s,o||t);const a=r?zu(e,t):void 0;return t&&nn(!1),a}function zu(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,du);const{setup:n}=o;if(n){mt();const s=e.setupContext=n.length>1?Hu(e):null,r=rn(e),a=vo(n,e,0,[e.props,s]),i=Ss(a);if(_t(),r(),(i||e.sp)&&!Ao(e)&&Ir(e),i){if(a.then(ei,ei),t)return a.then(l=>{nn(!0);try{oi(e,l,t)}finally{nn(!1)}}).catch(l=>{zo(l,e,0)});e.asyncDep=a}else oi(e,a)}else ni(e)}function oi(e,t,o){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=aa(t)),ni(e)}function ni(e,t,o){const n=e.type;e.render||(e.render=n.render||ft);{const s=rn(e);mt();try{gu(e)}finally{_t(),s()}}}const Yu={get(e,t){return Ue(e,"get",""),e[t]}};function Hu(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Yu),slots:e.slots,emit:e.emit,expose:t}}function Kn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(aa($o(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Jo)return Jo[o](e)},has(t,o){return o in t||o in Jo}})):e.proxy}const qu=/(?:^|[-_])\w/g,Ku=e=>e.replace(qu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ri(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function si(e,t,o=!1){let n=ri(t);if(!n&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=r=>{for(const a in r)if(r[a]===t)return a};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?Ku(n):o?"App":"Anonymous"}function Xu(e){return ne(e)&&"__vccOpts"in e}const ae=(e,t)=>Lc(e,t,No);function ai(e,t,o){try{zn(-1);const n=arguments.length;return n===2?he(t)&&!ee(t)?tn(t)?$e(e,null,[t]):$e(e,t):$e(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&tn(o)&&(o=[o]),$e(e,t,o))}finally{zn(1)}}const Ju="3.5.42";/** +`],...Rc(o))}),t}function Rc({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,s=` at <${si(e.component,e.type,n)}`,r=">"+o;return e.props?[s,...Dc(e.props),r]:[s+r]}function Dc(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...ia(n,e[n]))}),o.length>3&&t.push(" ..."),t}function ia(e,t,o){return be(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ae(t)?(t=ia(e,pe(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=pe(t),o?t:[`${e}=`,t])}function wo(e,t,o,n){try{return n?e(...n):e()}catch(s){zo(s,t,o)}}function lt(e,t,o,n){if(ne(e)){const s=wo(e,t,o,n);return s&&Ls(s)&&s.catch(r=>{zo(r,t,o)}),s}if(ee(e)){const s=[];for(let r=0;r>>1,s=je[n],r=Ho(s);r=Ho(o)?je.push(e):je.splice(Gc(t),0,e),e.flags|=1,ca()}}function ca(){xn||(xn=la.then(da))}function Uc(e){if(!ee(e))Vt&&e.id===-1?Vt.splice(Oo+1,0,e):e.flags&1||(ko.push(e),e.flags|=1);else for(let t=0;tHo(o)-Ho(n));if(ko.length=0,Vt){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function da(e){try{for(yt=0;yt{n._d&&zn(-1);const r=In(t),a=Tt.length;let i;try{i=e(...s)}finally{for(let l=Tt.length;l>a;l--)Hr();In(r),n._d&&zn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Wc(e,t){if(De===null)return e;const o=Kn(De),n=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&ne(t)?t.call(n&&n.proxy):t}}function jc(){return!!(It()||uo)}const Vc=Symbol.for("v-scx"),zc=()=>Ie(Vc);function Yc(e,t){return Lr(e,null,t)}function nt(e,t,o){return Lr(e,t,o)}function Lr(e,t,o=_e){const{immediate:n,deep:s,flush:r,once:a}=o,i=Ce({},o),l=t&&n||!t&&r!=="post";let c;if(No){if(r==="sync"){const _=zc();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!l){const _=()=>{};return _.stop=ft,_.resume=ft,_.pause=ft,_}}const u=Be;i.call=(_,$,k)=>lt(_,u,$,k);let g=!1;r==="post"?i.scheduler=_=>{ze(_,u&&u.suspense)}:r!=="sync"&&(g=!0,i.scheduler=(_,$)=>{$?_():Er(_)}),i.augmentJob=_=>{t&&(_.flags|=4),g&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const f=xc(e,t,i);return No&&(c?c.push(f):l&&f()),f}function Hc(e,t,o){const n=this.proxy,s=be(e)?e.includes(".")?fa(n,e):()=>n[e]:e.bind(n,n);let r;ne(t)?r=t:(r=t.handler,o=t);const a=rn(this),i=Lr(s,r.bind(n),o);return a(),i}function fa(e,t){const o=t.split(".");return()=>{let n=e;for(let s=0;se.__isTeleport,co=e=>e&&(e.disabled||e.disabled===""),qc=e=>e&&(e.defer||e.defer===""),ma=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_a=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Sr=(e,t)=>{const o=e&&e.to;return be(o)?t?t(o):null:o},Kc={name:"Teleport",__isTeleport:!0,process(e,t,o,n,s,r,a,i,l,c){const{mc:u,pc:g,pbc:f,o:{insert:_,querySelector:$,createText:k,createComment:A,parentNode:S}}=c,C=co(t.props);let{dynamicChildren:h}=t;const b=(P,F,w)=>{P.shapeFlag&16&&u(P.children,F,w,s,r,a,i,l)},N=(P=t)=>{const F=co(P.props),w=P.target=Sr(P.props,$),B=Fr(w,P,k,_);w&&(a!=="svg"&&ma(w)?a="svg":a!=="mathml"&&_a(w)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(w),F||(b(P,w,B),qo(P,!1)))},O=P=>{const F=()=>{if(Yt.get(P)===F){if(Yt.delete(P),co(P.props)){const w=S(P.el)||o;b(P,w,P.anchor),qo(P,!0)}N(P)}};Yt.set(P,F),ze(F,r)};if(e==null){const P=t.el=k(""),F=t.anchor=k("");if(_(P,o,n),_(F,o,n),qc(t.props)||r&&r.pendingBranch){O(t);return}C&&(b(t,o,F),qo(t,!0)),N()}else{t.el=e.el;const P=t.anchor=e.anchor,F=Yt.get(e);if(F){F.flags|=8,Yt.delete(e),O(t);return}t.targetStart=e.targetStart;const w=t.target=e.target,B=t.targetAnchor=e.targetAnchor,W=co(e.props),K=W?o:w,oe=W?P:B;if(a==="svg"||ma(w)?a="svg":(a==="mathml"||_a(w))&&(a="mathml"),h?(f(e.dynamicChildren,h,K,s,r,a,i),zr(e,t,!0)):l||g(e,t,K,oe,s,r,a,i,!1),C)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Rn(t,o,P,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ue=Sr(t.props,$);ue&&(t.target=ue,Rn(t,ue,null,c,0))}else W&&Rn(t,w,B,c,1);qo(t,C)}},remove(e,t,o,{um:n,o:{remove:s}},r){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:f}=e,_=co(f),$=r||!_,k=Yt.get(e);if(k&&(k.flags|=8,Yt.delete(e)),g&&(s(c),s(u)),r&&s(l),!k&&(_||g)&&a&16)for(let A=0;A1){for(const o of e)if(o.type!==$t){t=o;break}}return t}function ba(e){if(!Gn(e))return Mn(e.type)&&e.children?Jc(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&&ne(o.default))return o.default()}}function xr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;xr(Mn(o.type)&&ba(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 Ko(e,t){return ne(e)?Ce({name:e.name},t,{setup:e}):e}function Ir(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ya(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Dn=new WeakMap;function Xo(e,t,o,n,s=!1){if(ee(e)){e.forEach((k,A)=>Xo(k,t&&(ee(t)?t[A]:t),o,n,s));return}if(Ao(n)&&!s){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Xo(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Kn(n.component):n.el,a=s?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===_e?i.refs={}:i.refs,g=i.setupState,f=pe(g),_=g===_e?Ps:k=>ya(u,k)?!1:fe(f,k),$=(k,A)=>!(A&&ya(u,A));if(c!=null&&c!==l){if($a(t),be(c))u[c]=null,_(c)&&(g[c]=null);else if(Ae(c)){const k=t;$(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(ne(l))wo(l,i,12,[a,u]);else{const k=be(l),A=Ae(l);if(k||A){const S=()=>{if(e.f){const C=k?_(l)?g[l]:u[l]:$()||!e.k?l.value:u[e.k];if(s)ee(C)&&dr(C,r);else if(ee(C))C.includes(r)||C.push(r);else if(k)u[l]=[r],_(l)&&(g[l]=u[l]);else{const h=[r];$(l,e.k)&&(l.value=h),e.k&&(u[e.k]=h)}}else k?(u[l]=a,_(l)&&(g[l]=a)):A&&($(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const C=()=>{S(),Dn.delete(e)};C.id=-1,Dn.set(e,C),ze(C,o)}else $a(e),S()}}}function $a(e){const t=Dn.get(e);t&&(t.flags|=8,Dn.delete(e))}const va=e=>e.nodeType===8;wn().requestIdleCallback,wn().cancelIdleCallback;function Qc(e,t){if(va(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(va(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Ao=e=>!!e.type.__asyncLoader;function eu(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:s=200,hydrate:r,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,_()),_=()=>{let $;return c||($=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((A,S)=>{l(k,()=>A(f()),()=>S(k),g+1)});throw k}).then(k=>$!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return Ko({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate($,k,A){const S=$.isConnected;let C=!1;(k.bu||(k.bu=[])).push(()=>C=!0);const h=()=>{C||!$.parentNode||S&&!$.isConnected||A()},b=r?()=>{const N=r(h,O=>Qc($,O));N&&(k.bum||(k.bum=[])).push(N)}:h;u?b():_().then(()=>!k.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const $=Be;if(Ir($),u)return()=>Bn(u,$);const k=N=>{c=null,zo(N,$,13,!n)};if(i&&$.suspense||No)return _().then(N=>()=>Bn(N,$)).catch(N=>(k(N),()=>n?$e(n,{error:N}):null));const A=re(!1),S=re(),C=re(!!s);let h,b;return Wn(()=>{h!=null&&clearTimeout(h),b!=null&&clearTimeout(b)}),s&&(b=setTimeout(()=>{$.isUnmounted||(C.value=!1)},s)),a!=null&&(h=setTimeout(()=>{if(!$.isUnmounted&&!A.value&&!S.value){const N=new Error(`Async component timed out after ${a}ms.`);k(N),S.value=N}},a)),_().then(()=>{$.isUnmounted||(A.value=!0,$.parent&&Gn($.parent.vnode)&&$.parent.update())}).catch(N=>{if($.isUnmounted){c=null;return}k(N),S.value=N}),()=>{if(A.value&&u)return Bn(u,$);if(S.value&&n)return $e(n,{error:S.value});if(o&&!C.value)return Bn(o,$)}}})}function Bn(e,t){const{ref:o,props:n,children:s,ce:r}=t.vnode,a=$e(e,n,s);return a.ref=o,a.ce=r,delete t.vnode.ce,a}const Gn=e=>e.type.__isKeepAlive;function tu(e,t){wa(e,"a",t)}function ou(e,t){wa(e,"da",t)}function wa(e,t,o=Be){const n=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Un(t,n,o),o){let s=o.parent;for(;s&&s.parent;)Gn(s.parent.vnode)&&nu(n,t,o,s),s=s.parent}}function nu(e,t,o,n){const s=Un(t,e,n,!0);Wn(()=>{dr(n[t],s)},o)}function Un(e,t,o=Be,n=!1){if(o){const s=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...a)=>{mt();const i=rn(o),l=lt(t,o,e,a);return i(),_t(),l});return n?s.unshift(r):s.push(r),r}}const Ft=e=>(t,o=Be)=>{(!No||e==="sp")&&Un(e,(...n)=>t(...n),o)},ka=Ft("bm"),Ht=Ft("m"),ru=Ft("bu"),su=Ft("u"),qt=Ft("bum"),Wn=Ft("um"),au=Ft("sp"),iu=Ft("rtg"),lu=Ft("rtc");function cu(e,t=Be){Un("ec",e,t)}const uu="components",Oa=Symbol.for("v-ndc");function Aa(e){return be(e)?pu(uu,e,!1)||e:e||Oa}function pu(e,t,o=!0,n=!1){const s=De||Be;if(s){const r=s.type;{const i=ri(r,!1);if(i&&(i===t||i===xe(t)||i===vn(xe(t))))return r}const a=Ca(s[e]||r[e],t)||Ca(s.appContext[e],t);return!a&&n?r:a}}function Ca(e,t){return e&&(e[t]||e[xe(t)]||e[vn(xe(t))])}function ct(e,t,o,n){let s;const r=o,a=ee(e);if(a||be(e)){const i=a&&Et(e);let l=!1,c=!1;i&&(l=!Ze(e),c=Lt(e),e=An(e)),s=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;l0;return Y(),Qe(de,null,[$e("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=Tt.length;Y();let l;try{const c=a&&Na(a(o)),u=o.key||r||c&&c.key;l=Qe(de,{key:(u&&!Xe(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=Tt.length;u>i;u--)Hr();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Na(e){return e.some(t=>tn(t)?!(t.type===$t||t.type===de&&!Na(t.children)):!0)?e:null}const Rr=e=>e?ti(e)?Kn(e):Rr(e.parent):null,Zo=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=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sa(e),$forceUpdate:e=>e.f||(e.f=()=>{Er(e.update)}),$nextTick:e=>e.n||(e.n=Yo.bind(e.proxy)),$watch:e=>Hc.bind(e)}),Dr=(e,t)=>e!==_e&&!e.__isScriptSetup&&fe(e,t),du={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:s,props:r,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const f=a[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return s[t];case 4:return o[t];case 3:return r[t]}else{if(Dr(n,t))return a[t]=1,n[t];if(s!==_e&&fe(s,t))return a[t]=2,s[t];if(fe(r,t))return a[t]=3,r[t];if(o!==_e&&fe(o,t))return a[t]=4,o[t];Br&&(a[t]=0)}}const c=Zo[t];let u,g;if(c)return t==="$attrs"&&We(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==_e&&fe(o,t))return a[t]=4,o[t];if(g=l.config.globalProperties,fe(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:s,ctx:r}=e;return Dr(s,t)?(s[t]=o,!0):n!==_e&&fe(n,t)?(n[t]=o,!0):fe(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:s,props:r,type:a}},i){let l;return!!(o[i]||e!==_e&&i[0]!=="$"&&fe(e,i)||Dr(t,i)||fe(r,i)||fe(n,i)||fe(Zo,i)||fe(s.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:fe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Pa(e){return ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Br=!0;function gu(e){const t=Sa(e),o=e.proxy,n=e.ctx;Br=!1,t.beforeCreate&&Ea(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:_,updated:$,activated:k,deactivated:A,beforeDestroy:S,beforeUnmount:C,destroyed:h,unmounted:b,render:N,renderTracked:O,renderTriggered:P,errorCaptured:F,serverPrefetch:w,expose:B,inheritAttrs:W,components:K,directives:oe,filters:ue}=t;if(c&&fu(c,n,null),a)for(const X in a){const le=a[X];ne(le)&&(n[X]=le.bind(o))}if(s){const X=s.call(o,o);he(X)&&(e.data=En(X))}if(Br=!0,r)for(const X in r){const le=r[X],Pe=ne(le)?le.bind(o,o):ne(le.get)?le.get.bind(o,o):ft,At=!ne(le)&&ne(le.set)?le.set.bind(o):ft,Te=ae({get:Pe,set:At});Object.defineProperty(n,X,{enumerable:!0,configurable:!0,get:()=>Te.value,set:Re=>Te.value=Re})}if(i)for(const X in i)La(i[X],n,o,X);if(l){const X=ne(l)?l.call(o):l;Reflect.ownKeys(X).forEach(le=>{ot(le,X[le])})}u&&Ea(u,e,"c");function G(X,le){ee(le)?le.forEach(Pe=>X(Pe.bind(o))):le&&X(le.bind(o))}if(G(ka,g),G(Ht,f),G(ru,_),G(su,$),G(tu,k),G(ou,A),G(cu,F),G(lu,O),G(iu,P),G(qt,C),G(Wn,b),G(au,w),ee(B))if(B.length){const X=e.exposed||(e.exposed={});B.forEach(le=>{Object.defineProperty(X,le,{get:()=>o[le],set:Pe=>o[le]=Pe,enumerable:!0})})}else e.exposed||(e.exposed={});N&&e.render===ft&&(e.render=N),W!=null&&(e.inheritAttrs=W),K&&(e.components=K),oe&&(e.directives=oe),w&&Ir(e)}function fu(e,t,o=ft){ee(e)&&(e=Gr(e));for(const n in e){const s=e[n];let r;he(s)?"default"in s?r=Ie(s.from||n,s.default,!0):r=Ie(s.from||n):r=Ie(s),Ae(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[n]=r}}function Ea(e,t,o){lt(ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function La(e,t,o,n){let s=n.includes(".")?fa(o,n):()=>o[n];if(be(e)){const r=t[e];ne(r)&&nt(s,r)}else if(ne(e))nt(s,e.bind(o));else if(he(e))if(ee(e))e.forEach(r=>La(r,t,o,n));else{const r=ne(e.handler)?e.handler.bind(o):t[e.handler];ne(r)&&nt(s,r,e)}}function Sa(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:a}}=e.appContext,i=r.get(t);let l;return i?l=i:!s.length&&!o&&!n?l=t:(l={},s.length&&s.forEach(c=>jn(l,c,a,!0)),jn(l,t,a)),he(t)&&r.set(t,l),l}function jn(e,t,o,n=!1){const{mixins:s,extends:r}=t;r&&jn(e,r,o,!0),s&&s.forEach(a=>jn(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=hu[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const hu={data:Fa,props:Ta,emits:Ta,methods:Jo,computed:Jo,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:Jo,directives:Jo,watch:_u,provide:Fa,inject:mu};function Fa(e,t){return t?e?function(){return Ce(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function mu(e,t){return Jo(Gr(e),Gr(t))}function Gr(e){if(ee(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xe(t)}Modifiers`]||e[`${tt(t)}Modifiers`];function vu(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||_e;let s=o;const r=t.startsWith("update:"),a=r&&$u(n,t.slice(7));a&&(a.trim&&(s=o.map(u=>be(u)?u.trim():u)),a.number&&(s=s.map(Ql)));let i,l=n[i=gr(t)]||n[i=gr(xe(t))];!l&&r&&(l=n[i=gr(tt(t))]),l&<(l,e,6,s);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,lt(c,e,6,s)}}const wu=new WeakMap;function Ia(e,t,o=!1){const n=o?wu:t.emitsCache,s=n.get(e);if(s!==void 0)return s;const r=e.emits;let a={},i=!1;if(!ne(e)){const l=c=>{const u=Ia(c,t,!0);u&&(i=!0,Ce(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(he(e)&&n.set(e,null),null):(ee(r)?r.forEach(l=>a[l]=null):Ce(a,r),he(e)&&n.set(e,a),a)}function Vn(e,t){return!e||!hn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,tt(t))||fe(e,t))}function _0(){}function Ma(e){const{type:t,vnode:o,proxy:n,withProxy:s,propsOptions:[r],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:g,data:f,setupState:_,ctx:$,inheritAttrs:k}=e,A=In(e);let S,C;try{if(o.shapeFlag&4){const b=s||n,N=b;S=vt(c.call(N,b,u,g,_,f,$)),C=i}else{const b=t;S=vt(b.length>1?b(g,{attrs:i,slots:a,emit:l}):b(g,null)),C=t.props?i:ku(i)}}catch(b){Tt.length=0,zo(b,e,1),S=$e($t)}let h=S;if(C&&k!==!1){const b=Object.keys(C),{shapeFlag:N}=h;b.length&&N&7&&(r&&b.some(mn)&&(C=Ou(C,r)),h=Co(h,C,!1,!0))}if(o.dirs&&(h=Co(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(o.dirs):o.dirs),o.transition){const b=Mn(h.type)&&ba(h)||h;xr(b,o.transition)}return S=h,In(A),S}const ku=e=>{let t;for(const o in e)(o==="class"||o==="style"||hn(o))&&((t||(t={}))[o]=e[o]);return t},Ou=(e,t)=>{const o={};for(const n in e)(!mn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Au(e,t,o){const{props:n,children:s,component:r}=e,{props:a,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?Ra(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(Ba),Ua=e=>Object.getPrototypeOf(e)===Ba;function Nu(e,t,o,n=!1){const s={},r=Ga();e.propsDefaults=Object.create(null),Wa(e,t,s,r);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=n?s:Ac(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function Pu(e,t,o,n){const{props:s,attrs:r,vnode:{patchFlag:a}}=e,i=pe(s),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[f,_]=ja(g,t,!0);Ce(a,f),_&&i.push(..._)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return he(e)&&n.set(e,_o),_o;if(ee(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",jr=e=>ee(e)?e.map(vt):[vt(e)],Lu=(e,t,o)=>{if(t._n)return t;const n=zt((...s)=>jr(t(...s)),o);return n._c=!1,n},za=(e,t,o)=>{const n=e._ctx;for(const s in e){if(Wr(s))continue;const r=e[s];if(ne(r))t[s]=Lu(s,r,n);else if(r!=null){const a=jr(r);t[s]=()=>a}}},Ya=(e,t)=>{const o=jr(t);e.slots.default=()=>o},Ha=(e,t,o)=>{for(const n in t)(o||!Wr(n))&&(e[n]=t[n])},Su=(e,t,o)=>{const n=e.slots=Ga();if(e.vnode.shapeFlag&32){const s=t._;s?(Ha(n,t,o),o&&Fs(n,"_",s,!0)):za(t,n)}else t&&Ya(e,t)},Fu=(e,t,o)=>{const{vnode:n,slots:s}=e;let r=!0,a=_e;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Ha(s,t,o):(r=!t.$stable,za(t,s)),a=t}else t&&(Ya(e,t),a={default:1});if(r)for(const i in s)!Wr(i)&&a[i]==null&&delete s[i]},ze=Ru;function Tu(e){return xu(e)}function xu(e,t){const o=wn();o.__VUE__=!0;const{insert:n,remove:s,patchProp:r,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:_=ft,insertStaticContent:$}=e,k=(m,v,y,T=null,D=null,R=null,V=void 0,j=null,p=!!v.dynamicChildren)=>{if(m===v)return;m&&!on(m,v)&&(T=Ut(m),Re(m,D,R,!0),m=null),v.patchFlag===-2&&(p=!1,v.dynamicChildren=null);const{type:d,ref:L,shapeFlag:x}=v;switch(d){case Qo:A(m,v,y,T);break;case $t:S(m,v,y,T);break;case Yr:m==null&&C(v,y,T,V);break;case de:K(m,v,y,T,D,R,V,j,p);break;default:x&1?N(m,v,y,T,D,R,V,j,p):x&6?oe(m,v,y,T,D,R,V,j,p):(x&64||x&128)&&d.process(m,v,y,T,D,R,V,j,p,st)}L!=null&&D?Xo(L,m&&m.ref,R,v||m,!v):L==null&&m&&m.ref!=null&&Xo(m.ref,null,R,m,!0)},A=(m,v,y,T)=>{if(m==null)n(v.el=i(v.children),y,T);else{const D=v.el=m.el;v.children!==m.children&&c(D,v.children)}},S=(m,v,y,T)=>{m==null?n(v.el=l(v.children||""),y,T):v.el=m.el},C=(m,v,y,T)=>{[m.el,m.anchor]=$(m.children,v,y,T,m.el,m.anchor)},h=({el:m,anchor:v},y,T)=>{let D;for(;m&&m!==v;)D=f(m),n(m,y,T),m=D;n(v,y,T)},b=({el:m,anchor:v})=>{let y;for(;m&&m!==v;)y=f(m),s(m),m=y;s(v)},N=(m,v,y,T,D,R,V,j,p)=>{if(v.type==="svg"?V="svg":v.type==="math"&&(V="mathml"),m==null)O(v,y,T,D,R,V,j,p);else{const d=m.el&&m.el._isVueCE?m.el:null;try{d&&d._beginPatch(),w(m,v,D,R,V,j,p)}finally{d&&d._endPatch()}}},O=(m,v,y,T,D,R,V,j)=>{let p,d;const{props:L,shapeFlag:x,transition:z,dirs:U}=m;if(p=m.el=a(m.type,R,L&&L.is,L),x&8?u(p,m.children):x&16&&F(m.children,p,null,T,D,Vr(m,R),V,j),U&&lo(m,null,T,"created"),P(p,m,m.scopeId,V,T),L){for(const M in L)M!=="value"&&!Ro(M)&&r(p,M,null,L[M],R,T);"value"in L&&r(p,"value",null,L.value,R),(d=L.onVnodeBeforeMount)&&wt(d,T,m)}U&&lo(m,null,T,"beforeMount");const E=Iu(D,z);E&&z.beforeEnter(p),n(p,v,y),((d=L&&L.onVnodeMounted)||E||U)&&ze(()=>{try{d&&wt(d,T,m),E&&z.enter(p),U&&lo(m,null,T,"mounted")}finally{}},D)},P=(m,v,y,T,D)=>{if(y&&_(m,y),T)for(let R=0;R{for(let d=p;d{const j=v.el=m.el;let{patchFlag:p,dynamicChildren:d,dirs:L}=v;p|=m.patchFlag&16;const x=m.props||_e,z=v.props||_e;let U;if(y&&po(y,!1),(U=z.onVnodeBeforeUpdate)&&wt(U,y,v,m),L&&lo(v,m,y,"beforeUpdate"),y&&po(y,!0),d&&(!m.dynamicChildren||m.dynamicChildren.length!==d.length)&&(p=0,V=!1,d=null),(x.innerHTML&&z.innerHTML==null||x.textContent&&z.textContent==null)&&u(j,""),d?B(m.dynamicChildren,d,j,y,T,Vr(v,D),R):V||le(m,v,j,null,y,T,Vr(v,D),R,!1),p>0){if(p&16)W(j,x,z,y,D);else if(p&2&&x.class!==z.class&&r(j,"class",null,z.class,D),p&4&&r(j,"style",x.style,z.style,D),p&8){const E=v.dynamicProps;for(let M=0;M{U&&wt(U,y,v,m),L&&lo(v,m,y,"updated")},T)},B=(m,v,y,T,D,R,V)=>{for(let j=0;j{if(v!==y){if(v!==_e)for(const R in v)!Ro(R)&&!(R in y)&&r(m,R,v[R],null,D,T);for(const R in y){if(Ro(R))continue;const V=y[R],j=v[R];V!==j&&R!=="value"&&r(m,R,j,V,D,T)}"value"in y&&r(m,"value",v.value,y.value,D)}},K=(m,v,y,T,D,R,V,j,p)=>{const d=v.el=m?m.el:i(""),L=v.anchor=m?m.anchor:i("");let{patchFlag:x,dynamicChildren:z,slotScopeIds:U}=v;U&&(j=j?j.concat(U):U),m==null?(n(d,y,T),n(L,y,T),F(v.children||[],y,L,D,R,V,j,p)):x>0&&x&64&&z&&m.dynamicChildren&&m.dynamicChildren.length===z.length?(B(m.dynamicChildren,z,y,D,R,V,j),(v.key!=null||D&&v===D.subTree)&&zr(m,v,!0)):le(m,v,y,L,D,R,V,j,p)},oe=(m,v,y,T,D,R,V,j,p)=>{v.slotScopeIds=j,m==null?v.shapeFlag&512?D.ctx.activate(v,y,T,V,p):ue(v,y,T,D,R,V,p):q(m,v,p)},ue=(m,v,y,T,D,R,V)=>{const j=m.component=ju(m,T,D);if(Gn(m)&&(j.ctx.renderer=st),Vu(j,!1,V),j.asyncDep){if(D&&D.registerDep(j,G,V),!m.el){const p=j.subTree=$e($t);S(null,p,v,y),m.placeholder=p.el}}else G(j,m,v,y,D,R,V)},q=(m,v,y)=>{const T=v.component=m.component;if(Au(m,v,y))if(T.asyncDep&&!T.asyncResolved){X(T,v,y);return}else T.next=v,T.update();else v.el=m.el,T.vnode=v},G=(m,v,y,T,D,R,V)=>{const j=()=>{if(m.isMounted){let{next:x,bu:z,u:U,parent:E,vnode:M}=m;{const Ue=qa(m);if(Ue){x&&(x.el=M.el,X(m,x,V)),Ue.asyncDep.then(()=>{ze(()=>{m.isUnmounted||d()},D)});return}}let J=x,ie;po(m,!1),x?(x.el=M.el,X(m,x,V)):x=M,z&&fr(z),(ie=x.props&&x.props.onVnodeBeforeUpdate)&&wt(ie,E,x,M),po(m,!0);const we=Ma(m),He=m.subTree;m.subTree=we,k(He,we,g(He.el),Ut(He),m,D,R),x.el=we.el,J===null&&Cu(m,we.el),U&&ze(U,D),(ie=x.props&&x.props.onVnodeUpdated)&&ze(()=>wt(ie,E,x,M),D)}else{let x;const{el:z,props:U}=v,{bm:E,m:M,parent:J,root:ie,type:we}=m,He=Ao(v);po(m,!1),E&&fr(E),!He&&(x=U&&U.onVnodeBeforeMount)&&wt(x,J,v),po(m,!0);{ie.ce&&ie.ce._hasShadowRoot()&&ie.ce._injectChildStyle(we,m.parent?m.parent.type:void 0);const Ue=m.subTree=Ma(m);k(null,Ue,y,T,m,D,R),v.el=Ue.el}if(M&&ze(M,D),!He&&(x=U&&U.onVnodeMounted)){const Ue=v;ze(()=>wt(x,J,Ue),D)}(v.shapeFlag&256||J&&Ao(J.vnode)&&J.vnode.shapeFlag&256)&&m.a&&ze(m.a,D),m.isMounted=!0,v=y=T=null}};m.scope.on();const p=m.effect=new Us(j);m.scope.off();const d=m.update=p.run.bind(p),L=m.job=p.runIfDirty.bind(p);L.i=m,L.id=m.uid,p.scheduler=()=>Er(L),po(m,!0),d()},X=(m,v,y)=>{v.component=m;const T=m.vnode.props;m.vnode=v,m.next=null,Pu(m,v.props,T,y),Fu(m,v.children,y),mt(),ua(m),_t()},le=(m,v,y,T,D,R,V,j,p=!1)=>{const d=m&&m.children,L=m?m.shapeFlag:0,x=v.children,{patchFlag:z,shapeFlag:U}=v;if(z>0){if(z&128){At(d,x,y,T,D,R,V,j,p);return}else if(z&256){Pe(d,x,y,T,D,R,V,j,p);return}}U&8?(L&16&>(d,D,R),x!==d&&u(y,x)):L&16?U&16?At(d,x,y,T,D,R,V,j,p):gt(d,D,R,!0):(L&8&&u(y,""),U&16&&F(x,y,T,D,R,V,j,p))},Pe=(m,v,y,T,D,R,V,j,p)=>{m=m||_o,v=v||_o;const d=m.length,L=v.length,x=Math.min(d,L);let z;for(z=0;zL?gt(m,D,R,!0,!1,x):F(v,y,T,D,R,V,j,p,x)},At=(m,v,y,T,D,R,V,j,p)=>{let d=0;const L=v.length;let x=m.length-1,z=L-1;for(;d<=x&&d<=z;){const U=m[d],E=v[d]=p?xt(v[d]):vt(v[d]);if(on(U,E))k(U,E,y,null,D,R,V,j,p);else break;d++}for(;d<=x&&d<=z;){const U=m[x],E=v[z]=p?xt(v[z]):vt(v[z]);if(on(U,E))k(U,E,y,null,D,R,V,j,p);else break;x--,z--}if(d>x){if(d<=z){const U=z+1,E=Uz)for(;d<=x;)Re(m[d],D,R,!0),d++;else{const U=d,E=d,M=new Map;for(d=E;d<=z;d++){const et=v[d]=p?xt(v[d]):vt(v[d]);et.key!=null&&M.set(et.key,d)}let J,ie=0;const we=z-E+1;let He=!1,Ue=0;const mo=new Array(we);for(d=0;d=we){Re(et,D,R,!0);continue}let Ct;if(et.key!=null)Ct=M.get(et.key);else for(J=E;J<=z;J++)if(mo[J-E]===0&&on(et,v[J])){Ct=J;break}Ct===void 0?Re(et,D,R,!0):(mo[Ct-E]=d+1,Ct>=Ue?Ue=Ct:He=!0,k(et,v[Ct],y,null,D,R,V,j,p),ie++)}const Ns=He?Mu(mo):_o;for(J=Ns.length-1,d=we-1;d>=0;d--){const et=E+d,Ct=v[et],Hl=v[et+1],ql=et+1{const{el:R,type:V,transition:j,children:p,shapeFlag:d}=m;if(d&6){Te(m.component.subTree,v,y,T);return}if(d&128){m.suspense.move(v,y,T);return}if(d&64){V.move(m,v,y,st);return}if(V===de){n(R,v,y);for(let x=0;xj.enter(R),D));else{const{leave:x,delayLeave:z,afterLeave:U}=j,E=()=>{m.ctx.isUnmounted?s(R):n(R,v,y)},M=()=>{const J=R._isLeaving||!!R[Tr];R._isLeaving&&R[Tr](!0),j.persisted&&!J?E():x(R,()=>{E(),U&&U()})};z?z(R,E,M):M()}else n(R,v,y)},Re=(m,v,y,T=!1,D=!1)=>{const{type:R,props:V,ref:j,children:p,dynamicChildren:d,shapeFlag:L,patchFlag:x,dirs:z,cacheIndex:U,memo:E}=m;if(x===-2&&(D=!1),j!=null&&(mt(),Xo(j,null,y,m,!0),_t()),U!=null&&(v.renderCache[U]=void 0),L&256){v.ctx.deactivate(m);return}const M=L&1&&z,J=!Ao(m);let ie;if(J&&(ie=V&&V.onVnodeBeforeUnmount)&&wt(ie,v,m),L&6)ho(m.component,y,T);else{if(L&128){m.suspense.unmount(y,T);return}M&&lo(m,null,v,"beforeUnmount"),L&64?m.type.remove(m,v,y,st,T):d&&!d.hasOnce&&(R!==de||x>0&&x&64)?gt(d,v,y,!1,!0):(R===de&&x&384||!D&&L&16)&>(p,v,y),T&&no(m)}const we=E!=null&&U==null;(J&&(ie=V&&V.onVnodeUnmounted)||M||we)&&ze(()=>{ie&&wt(ie,v,m),M&&lo(m,null,v,"unmounted"),we&&(m.el=null)},y)},no=m=>{const{type:v,el:y,anchor:T,transition:D}=m;if(v===de){ro(y,T);return}if(v===Yr){b(m);return}const R=()=>{s(y),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(m.shapeFlag&1&&D&&!D.persisted){const{leave:V,delayLeave:j}=D,p=()=>V(y,R);j?j(m.el,R,p):p()}else R()},ro=(m,v)=>{let y;for(;m!==v;)y=f(m),s(m),m=y;s(v)},ho=(m,v,y)=>{const{bum:T,scope:D,job:R,subTree:V,um:j,m:p,a:d}=m;Ka(p),Ka(d),T&&fr(T),D.stop(),R&&(R.flags|=8,Re(V,m,v,y)),j&&ze(j,v),ze(()=>{m.isUnmounted=!0},v)},gt=(m,v,y,T=!1,D=!1,R=0)=>{for(let V=R;V{if(m.shapeFlag&6)return Ut(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const v=f(m.anchor||m.el),y=v&&v[ha];return y?f(y):v};let Wt=!1;const so=(m,v,y)=>{let T;m==null?v._vnode&&(Re(v._vnode,null,null,!0),T=v._vnode.component):k(v._vnode||null,m,v,null,null,null,y),v._vnode=m,Wt||(Wt=!0,ua(T),pa(),Wt=!1)},st={p:k,um:Re,m:Te,r:no,mt:ue,mc:F,pc:le,pbc:B,n:Ut,o:e};return{render:so,hydrate:void 0,createApp:yu(so)}}function Vr({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 po({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Iu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zr(e,t,o=!1){const n=e.children,s=t.children;if(ee(n)&&ee(s))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,a=o[r-1];r-- >0;)o[r]=a,a=t[a];return o}function qa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qa(t)}function Ka(e){if(e)for(let t=0;te.__isSuspense;function Ru(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):Uc(e)}const de=Symbol.for("v-fgt"),Qo=Symbol.for("v-txt"),$t=Symbol.for("v-cmt"),Yr=Symbol.for("v-stc"),Tt=[];let Je=null;function Y(e=!1){Tt.push(Je=e?null:[])}function Hr(){Tt.pop(),Je=Tt[Tt.length-1]||null}let en=1;function zn(e,t=!1){en+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function Ja(e){return e.dynamicChildren=en>0?Je||_o:null,Hr(),en>0&&Je&&Je.push(e),e}function Z(e,t,o,n,s,r){return Ja(I(e,t,o,n,s,r,!0))}function Qe(e,t,o,n,s){return Ja($e(e,t,o,n,s,!0))}function tn(e){return e?e.__v_isVNode===!0:!1}function on(e,t){return e.type===t.type&&e.key===t.key}const Qa=({key:e})=>e??null,Yn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Ae(e)||ne(e)?{i:De,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,s=null,r=e===de?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qa(t),ref:t&&Yn(t),scopeId:ga,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:s,dynamicChildren:null,appContext:null,ctx:De};return i?(Hn(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=be(o)?8:16),en>0&&!a&&Je&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Je.push(l),l}const $e=Du;function Du(e,t=null,o=null,n=0,s=null,r=!1){if((!e||e===Oa)&&(e=$t),tn(e)){const i=Co(e,t,!0);return o&&Hn(i,o),en>0&&!r&&Je&&(i.shapeFlag&6?Je[Je.indexOf(e)]=i:Je.push(i)),i.patchFlag=-2,i}if(Xu(e)&&(e=e.__vccOpts),t){t=Bu(t);let{class:i,style:l}=t;i&&!be(i)&&(t.class=Ee(i)),he(l)&&(Sn(l)&&!ee(l)&&(l=Ce({},l)),t.style=bo(l))}const a=be(e)?1:Za(e)?128:Mn(e)?64:he(e)?4:ne(e)?2:0;return I(e,t,o,n,s,a,r,!0)}function Bu(e){return e?Sn(e)||Ua(e)?Ce({},e):e:null}function Co(e,t,o=!1,n=!1){const{props:s,ref:r,patchFlag:a,children:i,transition:l}=e,c=t?Gu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qa(c),ref:t&&t.ref?o&&r?ee(r)?r.concat(Yn(t)):[r,Yn(t)]:Yn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Co(e.ssContent),ssFallback:e.ssFallback&&Co(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&xr(u,l.clone(u)),u}function ke(e=" ",t=0){return $e(Qo,null,e,t)}function Le(e="",t=!1){return t?(Y(),Qe($t,null,e)):$e($t,null,e)}function vt(e){return e==null||typeof e=="boolean"?$e($t):ee(e)?$e(de,null,e.slice()):tn(e)?xt(e):$e(Qo,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Co(e)}function Hn(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ee(t))o=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),Hn(e,s()),s._c&&(s._d=!0));return}else{o=32;const s=t._;!s&&!Ua(t)?t._ctx=De:s===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ne(t)){if(n&65){Hn(e,{default:t});return}t={default:t,_ctx:De},o=32}else t=String(t),n&64?(o=16,t=[ke(t)]):o=8;e.children=t,e.shapeFlag|=o}function Gu(...e){const t={};for(let o=0;oBe||De;let qn,nn;{const e=wn(),t=(o,n)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(n),r=>{s.length>1?s.forEach(a=>a(r)):s[0](r)}};qn=t("__VUE_INSTANCE_SETTERS__",o=>Be=o),nn=t("__VUE_SSR_SETTERS__",o=>No=o)}const rn=e=>{const t=Be;return qn(e),e.scope.on(),()=>{e.scope.off(),qn(t)}},ei=()=>{Be&&Be.scope.off(),qn(null)};function ti(e){return e.vnode.shapeFlag&4}let No=!1;function Vu(e,t=!1,o=!1){t&&nn(t);const{props:n,children:s}=e.vnode,r=ti(e);Nu(e,n,r,t),Su(e,s,o||t);const a=r?zu(e,t):void 0;return t&&nn(!1),a}function zu(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,du);const{setup:n}=o;if(n){mt();const s=e.setupContext=n.length>1?Hu(e):null,r=rn(e),a=wo(n,e,0,[e.props,s]),i=Ls(a);if(_t(),r(),(i||e.sp)&&!Ao(e)&&Ir(e),i){if(a.then(ei,ei),t)return a.then(l=>{nn(!0);try{oi(e,l,t)}finally{nn(!1)}}).catch(l=>{zo(l,e,0)});e.asyncDep=a}else oi(e,a)}else ni(e)}function oi(e,t,o){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=aa(t)),ni(e)}function ni(e,t,o){const n=e.type;e.render||(e.render=n.render||ft);{const s=rn(e);mt();try{gu(e)}finally{_t(),s()}}}const Yu={get(e,t){return We(e,"get",""),e[t]}};function Hu(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Yu),slots:e.slots,emit:e.emit,expose:t}}function Kn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(aa($o(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Zo)return Zo[o](e)},has(t,o){return o in t||o in Zo}})):e.proxy}const qu=/(?:^|[-_])\w/g,Ku=e=>e.replace(qu,t=>t.toUpperCase()).replace(/[-_]/g,"");function ri(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function si(e,t,o=!1){let n=ri(t);if(!n&&t.__file){const s=t.__file.match(/([^/\\]+)\.\w+$/);s&&(n=s[1])}if(!n&&e){const s=r=>{for(const a in r)if(r[a]===t)return a};n=s(e.components)||e.parent&&s(e.parent.type.components)||s(e.appContext.components)}return n?Ku(n):o?"App":"Anonymous"}function Xu(e){return ne(e)&&"__vccOpts"in e}const ae=(e,t)=>Fc(e,t,No);function ai(e,t,o){try{zn(-1);const n=arguments.length;return n===2?he(t)&&!ee(t)?tn(t)?$e(e,null,[t]):$e(e,t):$e(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&tn(o)&&(o=[o]),$e(e,t,o))}finally{zn(1)}}const Zu="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let qr;const ii=typeof window<"u"&&window.trustedTypes;if(ii)try{qr=ii.createPolicy("vue",{createHTML:e=>e})}catch{}const li=qr?e=>qr.createHTML(e):e=>e,Zu="http://www.w3.org/2000/svg",Qu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,ci=Mt&&Mt.createElement("template"),ep={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const s=t==="svg"?Mt.createElementNS(Zu,e):t==="mathml"?Mt.createElementNS(Qu,e):o?Mt.createElement(e,{is:o}):Mt.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.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,o,n,s,r){const a=o?o.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===r||!(s=s.nextSibling)););else{ci.innerHTML=li(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=ci.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[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},tp=Symbol("_vtc");function op(e,t,o){const n=e[tp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Xn=Symbol("_vod"),ui=Symbol("_vsh"),np={name:"show",beforeMount(e,{value:t},{transition:o}){e[Xn]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):sn(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),sn(e,!0),n.enter(e)):n.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[Xn]:"none",e[ui]=!t}const rp=Symbol(""),sp=/(?:^|;)\s*display\s*:/;function ap(e,t,o){const n=e.style,s=be(o);let r=!1;if(o&&!s){if(t)if(be(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();o[i]==null&&an(n,i,"")}else for(const a in t)o[a]==null&&an(n,a,"");for(const a in o){a==="display"&&(r=!0);const i=o[a];i!=null?lp(e,a,!be(t)&&t?t[a]:void 0,i)||an(n,a,i):an(n,a,"")}}else if(s){if(t!==o){const a=n[rp];a&&(o+=";"+a),n.cssText=o,r=sp.test(o)}}else t&&e.removeAttribute("style");Xn in e&&(e[Xn]=r?n.display:"",e[ui]&&(n.display="none"))}const Jn=/\s*!important$/;function an(e,t,o){if(ee(o))o.forEach(n=>an(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Jn.test(o)?e.setProperty(t,o.replace(Jn,""),"important"):e.setProperty(t,o);else{const n=ip(e,t);Jn.test(o)?e.setProperty(tt(n),o.replace(Jn,""),"important"):e[n]=o}}const pi=["Webkit","Moz","ms"],Kr={};function ip(e,t){const o=Kr[t];if(o)return o;let n=xe(t);if(n!=="filter"&&n in e)return Kr[t]=n;n=wn(n);for(let s=0;sXr||(hp.then(()=>Xr=0),Xr=Date.now());function _p(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const s=o.value;if(ee(s)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const a=s.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bp=(e,t,o,n,s,r)=>{const a=s==="svg";t==="class"?op(e,n,a):t==="style"?ap(e,o,n):hn(t)?mn(t)||pp(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):yp(e,t,n,a))?(fi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&gi(e,t,n,a,r,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(n)))?fi(e,xe(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),gi(e,t,n,a))};function yp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&mi(t)&&ne(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return mi(t)&&be(o)?!1:t in e}function $p(e,t){const o=e._def.props;if(!o)return!1;const n=xe(t);return Array.isArray(o)?o.some(s=>xe(s)===n):Object.keys(o).some(s=>xe(s)===n)}const _i={};function wp(e,t,o){let n=Ko(e,t);bn(n)&&(n=Ce({},n,t));class s extends Jr{constructor(a){super(n,a,o)}}return s.def=n,s}const vp=typeof HTMLElement<"u"?HTMLElement:class{};class Jr extends vp{constructor(t,o={},n=$i){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!==$i?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 Jr){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Yo(()=>{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:a}=n;let i;if(r&&!ee(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ts(this._props[l])),(i||(i=Object.create(null)))[xe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),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)fe(this,n)||Object.defineProperty(this,n,{get:()=>qe(o[n])})}_resolveProps(t){const{props:o}=t,n=ee(o)?o:Object.keys(o||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.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 o=this.hasAttribute(t);let n=o?this.getAttribute(t):_i;const s=xe(t);o&&this._numberProps&&this._numberProps[s]&&(n=Ts(n)),this._setProp(s,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,s=!1){if(o!==this._props[t]&&(this._dirty=!0,o===_i?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),s&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(tt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(tt(t),o+""):o||this.removeAttribute(tt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Np(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=$e(this._def,Ce(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(r,a)=>{this.dispatchEvent(new CustomEvent(r,bn(a[0])?Ce({detail:a},a[0]):{detail:a}))};n.emit=(r,...a)=>{s(r,a),tt(r)!==r&&s(tt(r),a)},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 s=this._nonce,r=this.shadowRoot,a=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");s&&c.setAttribute("nonce",s),c.textContent=t[l],r.insertBefore(c,i||a),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;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kp.some(o=>e[`${o}Key`]&&!t.includes(o))},Ap=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(s,...r)=>{for(let a=0;a{yi().render(...e)},$i=(...e)=>{const t=yi().createApp(...e),{mount:o}=t;return t.mount=n=>{const s=Ep(n);if(!s)return;const r=t._component;!ne(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=o(s,!1,Pp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function Pp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ep(e){return be(e)?document.querySelector(e):e}/*! +**/let qr;const ii=typeof window<"u"&&window.trustedTypes;if(ii)try{qr=ii.createPolicy("vue",{createHTML:e=>e})}catch{}const li=qr?e=>qr.createHTML(e):e=>e,Ju="http://www.w3.org/2000/svg",Qu="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,ci=Mt&&Mt.createElement("template"),ep={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const s=t==="svg"?Mt.createElementNS(Ju,e):t==="mathml"?Mt.createElementNS(Qu,e):o?Mt.createElement(e,{is:o}):Mt.createElement(e);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.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,o,n,s,r){const a=o?o.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===r||!(s=s.nextSibling)););else{ci.innerHTML=li(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=ci.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[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},tp=Symbol("_vtc");function op(e,t,o){const n=e[tp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Xn=Symbol("_vod"),ui=Symbol("_vsh"),np={name:"show",beforeMount(e,{value:t},{transition:o}){e[Xn]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):sn(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),sn(e,!0),n.enter(e)):n.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[Xn]:"none",e[ui]=!t}const rp=Symbol(""),sp=/(?:^|;)\s*display\s*:/;function ap(e,t,o){const n=e.style,s=be(o);let r=!1;if(o&&!s){if(t)if(be(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();o[i]==null&&an(n,i,"")}else for(const a in t)o[a]==null&&an(n,a,"");for(const a in o){a==="display"&&(r=!0);const i=o[a];i!=null?lp(e,a,!be(t)&&t?t[a]:void 0,i)||an(n,a,i):an(n,a,"")}}else if(s){if(t!==o){const a=n[rp];a&&(o+=";"+a),n.cssText=o,r=sp.test(o)}}else t&&e.removeAttribute("style");Xn in e&&(e[Xn]=r?n.display:"",e[ui]&&(n.display="none"))}const Zn=/\s*!important$/;function an(e,t,o){if(ee(o))o.forEach(n=>an(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Zn.test(o)?e.setProperty(t,o.replace(Zn,""),"important"):e.setProperty(t,o);else{const n=ip(e,t);Zn.test(o)?e.setProperty(tt(n),o.replace(Zn,""),"important"):e[n]=o}}const pi=["Webkit","Moz","ms"],Kr={};function ip(e,t){const o=Kr[t];if(o)return o;let n=xe(t);if(n!=="filter"&&n in e)return Kr[t]=n;n=vn(n);for(let s=0;sXr||(hp.then(()=>Xr=0),Xr=Date.now());function _p(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const s=o.value;if(ee(s)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const a=s.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bp=(e,t,o,n,s,r)=>{const a=s==="svg";t==="class"?op(e,n,a):t==="style"?ap(e,o,n):hn(t)?mn(t)||pp(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):yp(e,t,n,a))?(fi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&gi(e,t,n,a,r,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(n)))?fi(e,xe(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),gi(e,t,n,a))};function yp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&mi(t)&&ne(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return mi(t)&&be(o)?!1:t in e}function $p(e,t){const o=e._def.props;if(!o)return!1;const n=xe(t);return Array.isArray(o)?o.some(s=>xe(s)===n):Object.keys(o).some(s=>xe(s)===n)}const _i={};function vp(e,t,o){let n=Ko(e,t);bn(n)&&(n=Ce({},n,t));class s extends Zr{constructor(a){super(n,a,o)}}return s.def=n,s}const wp=typeof HTMLElement<"u"?HTMLElement:class{};class Zr extends wp{constructor(t,o={},n=$i){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!==$i?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 Zr){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,Yo(()=>{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:a}=n;let i;if(r&&!ee(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ts(this._props[l])),(i||(i=Object.create(null)))[xe(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),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)fe(this,n)||Object.defineProperty(this,n,{get:()=>qe(o[n])})}_resolveProps(t){const{props:o}=t,n=ee(o)?o:Object.keys(o||{});for(const s of Object.keys(this))s[0]!=="_"&&n.includes(s)&&this._setProp(s,this[s]);for(const s of n.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 o=this.hasAttribute(t);let n=o?this.getAttribute(t):_i;const s=xe(t);o&&this._numberProps&&this._numberProps[s]&&(n=Ts(n)),this._setProp(s,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,s=!1){if(o!==this._props[t]&&(this._dirty=!0,o===_i?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),s&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(tt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(tt(t),o+""):o||this.removeAttribute(tt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Np(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=$e(this._def,Ce(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const s=(r,a)=>{this.dispatchEvent(new CustomEvent(r,bn(a[0])?Ce({detail:a},a[0]):{detail:a}))};n.emit=(r,...a)=>{s(r,a),tt(r)!==r&&s(tt(r),a)},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 s=this._nonce,r=this.shadowRoot,a=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");s&&c.setAttribute("nonce",s),c.textContent=t[l],r.insertBefore(c,i||a),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;oe.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kp.some(o=>e[`${o}Key`]&&!t.includes(o))},Ap=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(s,...r)=>{for(let a=0;a{yi().render(...e)},$i=(...e)=>{const t=yi().createApp(...e),{mount:o}=t;return t.mount=n=>{const s=Ep(n);if(!s)return;const r=t._component;!ne(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=o(s,!1,Pp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t};function Pp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ep(e){return be(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let wi;const Zn=e=>wi=e,vi=Symbol();function Zr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ln;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ln||(ln={}));function Sp(){const e=mr(!0),t=e.run(()=>re({}));let o=[],n=[];const s=$o({install(r){Zn(s),s._a=r,r.provide(vi,s),r.config.globalProperties.$pinia=s,n.forEach(a=>o.push(a)),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 s}const ki=()=>{};function Oi(e,t,o,n=ki){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Ws()&&ac(s),s}function Po(e,...t){e.slice().forEach(o=>{o(...t)})}const Fp=e=>e(),Ai=Symbol(),Qr=Symbol();function es(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],s=e[o];Zr(s)&&Zr(n)&&e.hasOwnProperty(o)&&!Ae(n)&&!Et(n)?e[o]=es(s,n):e[o]=n}return e}const Lp=Symbol();function Tp(e){return!Zr(e)||!e.hasOwnProperty(Lp)}const{assign:Kt}=Object;function xp(e){return!!(Ae(e)&&e.effect)}function Ip(e,t,o,n){const{state:s,actions:r,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=s?s():{});const u=Pc(o.state.value[e]);return Kt(u,r,Object.keys(a||{}).reduce((g,f)=>(g[f]=$o(ae(()=>{Zn(o);const _=o._s.get(e);return a[f].call(_,_)})),g),{}))}return l=Ci(e,c,t,o,n,!0),l}function Ci(e,t,o={},n,s,r){let a;const i=Kt({actions:{}},o),l={deep:!0};let c,u,g=[],f=[],_;const $=n.state.value[e];!r&&!$&&(n.state.value[e]={});let k;function A(L){let v;c=u=!1,typeof L=="function"?(L(n.state.value[e]),v={type:ln.patchFunction,storeId:e,events:_}):(es(n.state.value[e],L),v={type:ln.patchObject,payload:L,storeId:e,events:_});const D=k=Symbol();Yo().then(()=>{k===D&&(c=!0)}),u=!0,Po(g,v,n.state.value[e])}const F=r?function(){const{state:v}=o,D=v?v():{};this.$patch(U=>{Kt(U,D)})}:ki;function C(){a.stop(),g=[],f=[],n._s.delete(e)}const h=(L,v="")=>{if(Ai in L)return L[Qr]=v,L;const D=function(){Zn(n);const U=Array.from(arguments),K=[],oe=[];function ue(X){K.push(X)}function q(X){oe.push(X)}Po(f,{args:U,name:D[Qr],store:N,after:ue,onError:q});let W;try{W=L.apply(this&&this.$id===e?this:N,U)}catch(X){throw Po(oe,X),X}return W instanceof Promise?W.then(X=>(Po(K,X),X)).catch(X=>(Po(oe,X),Promise.reject(X))):(Po(K,W),W)};return D[Ai]=!0,D[Qr]=v,D},b={_p:n,$id:e,$onAction:Oi.bind(null,f),$patch:A,$reset:F,$subscribe(L,v={}){const D=Oi(g,L,v.detached,()=>U()),U=a.run(()=>nt(()=>n.state.value[e],K=>{(v.flush==="sync"?u:c)&&L({storeId:e,type:ln.direct,events:_},K)},Kt({},l,v)));return D},$dispose:C},N=En(b);n._s.set(e,N);const P=(n._a&&n._a.runWithContext||Fp)(()=>n._e.run(()=>(a=mr()).run(()=>t({action:h}))));for(const L in P){const v=P[L];if(Ae(v)&&!xp(v)||Et(v))r||($&&Tp(v)&&(Ae(v)?v.value=$[L]:es(v,$[L])),n.state.value[e][L]=v);else if(typeof v=="function"){const D=h(v,L);P[L]=D,i.actions[L]=v}}return Kt(N,P),Kt(pe(N),P),Object.defineProperty(N,"$state",{get:()=>n.state.value[e],set:L=>{A(v=>{Kt(v,L)})}}),n._p.forEach(L=>{Kt(N,a.run(()=>L({store:N,app:n._a,pinia:n,options:i})))}),$&&r&&o.hydrate&&o.hydrate(N.$state,$),c=!0,u=!0,N}/*! #__NO_SIDE_EFFECTS__ */function ts(e,t,o){let n,s;const r=typeof t=="function";typeof e=="string"?(n=e,s=r?o:t):(s=e,n=e.id);function a(i,l){const c=jc();return i=i||(c?Ie(vi,null):null),i&&Zn(i),i=wi,i._s.has(n)||(r?Ci(n,t,s,i):Ip(n,s,i)),i._s.get(n)}return a.$id=n,a}const os="__doxaMapToken",ns="doxa:map-token",Ni="__doxaMapTokenBridge",Eo=()=>{if(typeof window>"u")return"";const e=window[os];return typeof e=="string"?e:""};function Pi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Eo())return Eo();window[os]=t;try{window.dispatchEvent(new CustomEvent(ns,{detail:t}))}catch{}return t}function Mp(){if(typeof window>"u"||window[Ni])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Eo()&&(window[os]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Eo()},set(t){Pi(t)}}),window[Ni]=!0}catch{}}function Rp(){Mp();const e=re(Eo());if(typeof window<"u"){const t=()=>{e.value=Eo()};window.addEventListener(ns,t);try{qt(()=>window.removeEventListener(ns,t))}catch{}}return e}function Bp(e){return eu({loader:e,onError(t,o,n,s){s<=3?setTimeout(o,s*500):n()}})}const Dp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Wp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Up={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},jp={menuComingSoon:"القائمة قادمة قريباً"},Vp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},zp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Yp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Hp={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","View country posters":"عرض ملصقات الدولة","Hide country posters":"إخفاء ملصقات الدولة","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد."},qp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Kp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Jp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"]},Zp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Qp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"}},ed={menuComingSoon:"Menü folgt in Kürze"},td={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},od={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},nd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","View country posters":"Länderposter ansehen","Hide country posters":"Länderposter ausblenden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt."},sd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},ad={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},id={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ld={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster"},cd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},ud={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},pd={menuComingSoon:"Menu coming soon"},dd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},gd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},fd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},md={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},_d={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},bd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},yd={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"]},$d={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},wd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},vd={menuComingSoon:"Menú próximamente"},kd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Od={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},Ad={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Cd={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","View country posters":"Ver los carteles del país","Hide country posters":"Ocultar los carteles del país","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país."},Nd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},Pd={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"},Ed={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Sd={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"]},Fd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Ld={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Td={menuComingSoon:"Menu bientôt disponible"},xd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Id={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Md={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Rd={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","View country posters":"Voir les affiches du pays","Hide country posters":"Masquer les affiches du pays","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays."},Bd={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Dd={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Wd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Gd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Ud={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},jd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"}},Vd={menuComingSoon:"मेनू शीघ्र आ रहा है"},zd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Yd={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Hd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qd={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","View country posters":"देश के पोस्टर देखें","Hide country posters":"देश के पोस्टर छिपाएँ","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"},Kd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Xd={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश"},Jd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zd={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"]},Qd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},eg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"}},tg={menuComingSoon:"Menu in arrivo"},og={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},ng={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},rg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},sg={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera",Regions:"Regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","View country posters":"Vedi i poster del paese","Hide country posters":"Nascondi i poster del paese","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster."},ag={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},ig={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese"},lg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},cg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"]},ug={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."}},pg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},dg={menuComingSoon:"Menu em breve"},gg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},fg={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},hg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},mg={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","View country posters":"Ver os cartazes do país","Hide country posters":"Ocultar os cartazes do país","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país."},_g={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},bg={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"},yg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},$g={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"]},wg={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ă."}},vg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"}},kg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ag={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Cg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ng={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune",Regions:"Regiuni",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","View country posters":"Vezi posterele țării","Hide country posters":"Ascunde posterele țării","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster."},Pg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},Eg={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară"},Sg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Fg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},Lg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Tg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},xg={menuComingSoon:"Меню скоро появится"},Ig={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Mg={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Rg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Bg={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","View country posters":"Показать плакаты страны","Hide country posters":"Скрыть плакаты страны","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан."},Dg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Wg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Gg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ug={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Vg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"}},zg={menuComingSoon:"菜单即将推出"},Yg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Hg={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},qg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Kg={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度",Regions:"区域",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","View country posters":"查看国家海报","Hide country posters":"隐藏国家海报","No poster has been generated for this country yet.":"尚未为该国家生成海报。"},Xg={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Jg={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家"};/*! + */let vi;const Jn=e=>vi=e,wi=Symbol();function Jr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ln;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ln||(ln={}));function Lp(){const e=mr(!0),t=e.run(()=>re({}));let o=[],n=[];const s=$o({install(r){Jn(s),s._a=r,r.provide(wi,s),r.config.globalProperties.$pinia=s,n.forEach(a=>o.push(a)),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 s}const ki=()=>{};function Oi(e,t,o,n=ki){e.push(t);const s=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Gs()&&ac(s),s}function Po(e,...t){e.slice().forEach(o=>{o(...t)})}const Sp=e=>e(),Ai=Symbol(),Qr=Symbol();function es(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],s=e[o];Jr(s)&&Jr(n)&&e.hasOwnProperty(o)&&!Ae(n)&&!Et(n)?e[o]=es(s,n):e[o]=n}return e}const Fp=Symbol();function Tp(e){return!Jr(e)||!e.hasOwnProperty(Fp)}const{assign:Kt}=Object;function xp(e){return!!(Ae(e)&&e.effect)}function Ip(e,t,o,n){const{state:s,actions:r,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=s?s():{});const u=Pc(o.state.value[e]);return Kt(u,r,Object.keys(a||{}).reduce((g,f)=>(g[f]=$o(ae(()=>{Jn(o);const _=o._s.get(e);return a[f].call(_,_)})),g),{}))}return l=Ci(e,c,t,o,n,!0),l}function Ci(e,t,o={},n,s,r){let a;const i=Kt({actions:{}},o),l={deep:!0};let c,u,g=[],f=[],_;const $=n.state.value[e];!r&&!$&&(n.state.value[e]={});let k;function A(F){let w;c=u=!1,typeof F=="function"?(F(n.state.value[e]),w={type:ln.patchFunction,storeId:e,events:_}):(es(n.state.value[e],F),w={type:ln.patchObject,payload:F,storeId:e,events:_});const B=k=Symbol();Yo().then(()=>{k===B&&(c=!0)}),u=!0,Po(g,w,n.state.value[e])}const S=r?function(){const{state:w}=o,B=w?w():{};this.$patch(W=>{Kt(W,B)})}:ki;function C(){a.stop(),g=[],f=[],n._s.delete(e)}const h=(F,w="")=>{if(Ai in F)return F[Qr]=w,F;const B=function(){Jn(n);const W=Array.from(arguments),K=[],oe=[];function ue(X){K.push(X)}function q(X){oe.push(X)}Po(f,{args:W,name:B[Qr],store:N,after:ue,onError:q});let G;try{G=F.apply(this&&this.$id===e?this:N,W)}catch(X){throw Po(oe,X),X}return G instanceof Promise?G.then(X=>(Po(K,X),X)).catch(X=>(Po(oe,X),Promise.reject(X))):(Po(K,G),G)};return B[Ai]=!0,B[Qr]=w,B},b={_p:n,$id:e,$onAction:Oi.bind(null,f),$patch:A,$reset:S,$subscribe(F,w={}){const B=Oi(g,F,w.detached,()=>W()),W=a.run(()=>nt(()=>n.state.value[e],K=>{(w.flush==="sync"?u:c)&&F({storeId:e,type:ln.direct,events:_},K)},Kt({},l,w)));return B},$dispose:C},N=En(b);n._s.set(e,N);const P=(n._a&&n._a.runWithContext||Sp)(()=>n._e.run(()=>(a=mr()).run(()=>t({action:h}))));for(const F in P){const w=P[F];if(Ae(w)&&!xp(w)||Et(w))r||($&&Tp(w)&&(Ae(w)?w.value=$[F]:es(w,$[F])),n.state.value[e][F]=w);else if(typeof w=="function"){const B=h(w,F);P[F]=B,i.actions[F]=w}}return Kt(N,P),Kt(pe(N),P),Object.defineProperty(N,"$state",{get:()=>n.state.value[e],set:F=>{A(w=>{Kt(w,F)})}}),n._p.forEach(F=>{Kt(N,a.run(()=>F({store:N,app:n._a,pinia:n,options:i})))}),$&&r&&o.hydrate&&o.hydrate(N.$state,$),c=!0,u=!0,N}/*! #__NO_SIDE_EFFECTS__ */function ts(e,t,o){let n,s;const r=typeof t=="function";typeof e=="string"?(n=e,s=r?o:t):(s=e,n=e.id);function a(i,l){const c=jc();return i=i||(c?Ie(wi,null):null),i&&Jn(i),i=vi,i._s.has(n)||(r?Ci(n,t,s,i):Ip(n,s,i)),i._s.get(n)}return a.$id=n,a}const os="__doxaMapToken",ns="doxa:map-token",Ni="__doxaMapTokenBridge",Eo=()=>{if(typeof window>"u")return"";const e=window[os];return typeof e=="string"?e:""};function Pi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===Eo())return Eo();window[os]=t;try{window.dispatchEvent(new CustomEvent(ns,{detail:t}))}catch{}return t}function Mp(){if(typeof window>"u"||window[Ni])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!Eo()&&(window[os]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return Eo()},set(t){Pi(t)}}),window[Ni]=!0}catch{}}function Rp(){Mp();const e=re(Eo());if(typeof window<"u"){const t=()=>{e.value=Eo()};window.addEventListener(ns,t);try{qt(()=>window.removeEventListener(ns,t))}catch{}}return e}function Dp(e){return eu({loader:e,onError(t,o,n,s){s<=3?setTimeout(o,s*500):n()}})}const Bp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},Gp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Up={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Wp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."}},jp={menuComingSoon:"القائمة قادمة قريباً"},Vp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},zp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Yp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Hp={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","View country posters":"عرض ملصقات الدولة","Hide country posters":"إخفاء ملصقات الدولة","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد."},qp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Kp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية"},Xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Zp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"]},Jp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Qp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."}},ed={menuComingSoon:"Menü folgt in Kürze"},td={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},od={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},nd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","View country posters":"Länderposter ansehen","Hide country posters":"Länderposter ausblenden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt."},sd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},ad={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe"},id={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},ld={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster"},cd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},ud={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."}},pd={menuComingSoon:"Menu coming soon"},dd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},gd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},fd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},md={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},_d={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group"},bd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},yd={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"]},$d={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},vd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."}},wd={menuComingSoon:"Menú próximamente"},kd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Od={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},Ad={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Cd={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","View country posters":"Ver los carteles del país","Hide country posters":"Ocultar los carteles del país","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país."},Nd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},Pd={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},Ed={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},Ld={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"]},Sd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Fd={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."}},Td={menuComingSoon:"Menu bientôt disponible"},xd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Id={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Md={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Rd={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","View country posters":"Voir les affiches du pays","Hide country posters":"Masquer les affiches du pays","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays."},Dd={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Bd={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples"},Gd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Ud={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Wd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},jd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"}},Vd={menuComingSoon:"मेनू शीघ्र आ रहा है"},zd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Yd={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Hd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qd={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","View country posters":"देश के पोस्टर देखें","Hide country posters":"देश के पोस्टर छिपाएँ","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"},Kd={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Xd={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह"},Zd={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Jd={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"]},Qd={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},eg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."}},tg={menuComingSoon:"Menu in arrivo"},og={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},ng={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},rg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},sg={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera",Regions:"Regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","View country posters":"Vedi i poster del paese","Hide country posters":"Nascondi i poster del paese","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster."},ag={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},ig={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico"},lg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},cg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"]},ug={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."}},pg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."}},dg={menuComingSoon:"Menu em breve"},gg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},fg={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},hg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},mg={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","View country posters":"Ver os cartazes do país","Hide country posters":"Ocultar os cartazes do país","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país."},_g={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},bg={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},yg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},$g={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"]},vg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},wg={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."}},kg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ag={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Cg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ng={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune",Regions:"Regiuni",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","View country posters":"Vezi posterele țării","Hide country posters":"Ascunde posterele țării","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster."},Pg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},Eg={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic"},Lg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Sg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},Fg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Tg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."}},xg={menuComingSoon:"Меню скоро появится"},Ig={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Mg={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Rg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Dg={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","View country posters":"Показать плакаты страны","Hide country posters":"Скрыть плакаты страны","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан."},Bg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Gg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ"},Ug={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},Wg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Vg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"}},zg={menuComingSoon:"菜单即将推出"},Yg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Hg={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},qg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Kg={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度",Regions:"区域",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","View country posters":"查看国家海报","Hide country posters":"隐藏国家海报","No poster has been generated for this country yet.":"尚未为该国家生成海报。"},Xg={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Zg={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Zg(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Qn=typeof window<"u",Xt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Qg=(e,t,o)=>ef({l:e,k:t,s:o}),ef=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),tf=e=>Ti(e)==="[object Date]",Jt=e=>Ti(e)==="[object RegExp]",er=e=>se(e)&&Object.keys(e).length===0,We=Object.assign,of=Object.create,me=(e=null)=>of(e);let Ei;const Rt=()=>Ei||(Ei=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Si(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Fi(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,(n,s,r)=>`${s}="${Fi(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,s,r)=>`${s}='${Fi(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 rf=Object.prototype.hasOwnProperty;function ut(e,t){return rf.call(e,t)}const Oe=Array.isArray,we=e=>typeof e=="function",H=e=>typeof e=="string",ce=e=>typeof e=="boolean",ge=e=>e!==null&&typeof e=="object",sf=e=>ge(e)&&we(e.then)&&we(e.catch),Li=Object.prototype.toString,Ti=e=>Li.call(e),se=e=>{if(!ge(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},af=e=>e==null?"":Oe(e)||se(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function lf(e,t=""){return e.reduce((o,n,s)=>s===0?o+n:o+t+n,"")}function tr(e){let t=e;return()=>++t}const or=e=>!ge(e)||Oe(e);function nr(e,t){if(or(e)||or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:s}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(ge(n[r])&&!ge(s[r])&&(s[r]=Array.isArray(n[r])?[]:me()),or(s[r])||or(n[r])?s[r]=n[r]:o.push({src:n[r],des:s[r]}))})}}/*! + */function Jg(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Qn=typeof window<"u",Xt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Qg=(e,t,o)=>ef({l:e,k:t,s:o}),ef=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),tf=e=>Ti(e)==="[object Date]",Zt=e=>Ti(e)==="[object RegExp]",er=e=>se(e)&&Object.keys(e).length===0,Ge=Object.assign,of=Object.create,me=(e=null)=>of(e);let Ei;const Rt=()=>Ei||(Ei=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Li(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Si(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,(n,s,r)=>`${s}="${Si(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,s,r)=>`${s}='${Si(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 rf=Object.prototype.hasOwnProperty;function ut(e,t){return rf.call(e,t)}const Oe=Array.isArray,ve=e=>typeof e=="function",H=e=>typeof e=="string",ce=e=>typeof e=="boolean",ge=e=>e!==null&&typeof e=="object",sf=e=>ge(e)&&ve(e.then)&&ve(e.catch),Fi=Object.prototype.toString,Ti=e=>Fi.call(e),se=e=>{if(!ge(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},af=e=>e==null?"":Oe(e)||se(e)&&e.toString===Fi?JSON.stringify(e,null,2):String(e);function lf(e,t=""){return e.reduce((o,n,s)=>s===0?o+n:o+t+n,"")}function tr(e){let t=e;return()=>++t}const or=e=>!ge(e)||Oe(e);function nr(e,t){if(or(e)||or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:s}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(ge(n[r])&&!ge(s[r])&&(s[r]=Array.isArray(n[r])?[]:me()),or(s[r])||or(n[r])?s[r]=n[r]:o.push({src:n[r],des:s[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function cf(e,t,o){return{line:e,column:t,offset:o}}function rr(e,t,o){return{start:e,end:t}}const uf=/\{([0-9a-zA-Z]+)\}/g;function xi(e,...t){return t.length===1&&pf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(uf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Mi=e=>typeof e=="string",pf=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((o,n,s)=>s===0?o+n:o+t+n,"")}const rs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},df={[rs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function gf(e,t,...o){const n=xi(df[e],...o||[]),s={message:String(n),code:e};return t&&(s.location=t),s}const te={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},ff={[te.EXPECTED_TOKEN]:"Expected token: '{0}'",[te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[te.EMPTY_PLACEHOLDER]:"Empty placeholder",[te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[te.INVALID_LINKED_FORMAT]:"Invalid linked format",[te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function So(e,t,o={}){const{domain:n,messages:s,args:r}=o,a=xi((s||ff)[e]||"",...r||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=n,i}function hf(e){throw e}const Bt=" ",mf="\r",Ye=` -`,_f="\u2028",bf="\u2029";function yf(e){const t=e;let o=0,n=1,s=1,r=0;const a=P=>t[P]===mf&&t[P+1]===Ye,i=P=>t[P]===Ye,l=P=>t[P]===bf,c=P=>t[P]===_f,u=P=>a(P)||i(P)||l(P)||c(P),g=()=>o,f=()=>n,_=()=>s,$=()=>r,k=P=>a(P)||l(P)||c(P)?Ye:t[P],A=()=>k(o),F=()=>k(o+r);function C(){return r=0,u(o)&&(n++,s=0),a(o)&&o++,o++,s++,t[o]}function h(){return a(o+r)&&r++,r++,t[o+r]}function b(){o=0,n=1,s=1,r=0}function N(P=0){r=P}function O(){const P=o+r;for(;P!==o;)C();r=0}return{index:g,line:f,column:_,peekOffset:$,charAt:k,currentChar:A,currentPeek:F,next:C,peek:h,reset:b,resetPeek:N,skipToPeek:O}}const Zt=void 0,$f=".",Bi="'",wf="tokenizer";function vf(e,t={}){const o=t.location!==!1,n=yf(e),s=()=>n.index(),r=()=>cf(n.line(),n.column(),n.index()),a=r(),i=s(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(p,d,S,...x){const z=c();if(d.column+=S,d.offset+=S,u){const G=o?rr(z.startLoc,d):null,E=So(p,G,{domain:wf,args:x});u(E)}}function f(p,d,S){p.endLoc=r(),p.currentType=d;const x={type:d};return o&&(x.loc=rr(p.startLoc,p.endLoc)),S!=null&&(x.value=S),x}const _=p=>f(p,14);function $(p,d){return p.currentChar()===d?(p.next(),d):(g(te.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Bt||p.currentPeek()===Ye;)d+=p.currentPeek(),p.peek();return d}function A(p){const d=k(p);return p.skipToPeek(),d}function F(p){if(p===Zt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function C(p){if(p===Zt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function h(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=F(p.currentPeek());return p.resetPeek(),x}function b(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=p.currentPeek()==="-"?p.peek():p.currentPeek(),z=C(x);return p.resetPeek(),z}function N(p,d){const{currentType:S}=d;if(S!==2)return!1;k(p);const x=p.currentPeek()===Bi;return p.resetPeek(),x}function O(p,d){const{currentType:S}=d;if(S!==8)return!1;k(p);const x=p.currentPeek()===".";return p.resetPeek(),x}function P(p,d){const{currentType:S}=d;if(S!==9)return!1;k(p);const x=F(p.currentPeek());return p.resetPeek(),x}function L(p,d){const{currentType:S}=d;if(!(S===8||S===12))return!1;k(p);const x=p.currentPeek()===":";return p.resetPeek(),x}function v(p,d){const{currentType:S}=d;if(S!==10)return!1;const x=()=>{const G=p.currentPeek();return G==="{"?F(p.peek()):G==="@"||G==="%"||G==="|"||G===":"||G==="."||G===Bt||!G?!1:G===Ye?(p.peek(),x()):K(p,!1)},z=x();return p.resetPeek(),z}function D(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function U(p){const d=k(p),S=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:S,hasSpace:d.length>0}}function K(p,d=!0){const S=(z=!1,G="",E=!1)=>{const M=p.currentPeek();return M==="{"?G==="%"?!1:z:M==="@"||!M?G==="%"?!0:z:M==="%"?(p.peek(),S(z,"%",!0)):M==="|"?G==="%"||E?!0:!(G===Bt||G===Ye):M===Bt?(p.peek(),S(!0,Bt,E)):M===Ye?(p.peek(),S(!0,Ye,E)):!0},x=S();return d&&p.resetPeek(),x}function oe(p,d){const S=p.currentChar();return S===Zt?Zt:d(S)?(p.next(),S):null}function ue(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function q(p){return oe(p,ue)}function W(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function X(p){return oe(p,W)}function le(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Pe(p){return oe(p,le)}function At(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Te(p){return oe(p,At)}function Re(p){let d="",S="";for(;d=Pe(p);)S+=d;return S}function no(p){A(p);const d=p.currentChar();return d!=="%"&&g(te.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function ro(p){let d="";for(;;){const S=p.currentChar();if(S==="{"||S==="}"||S==="@"||S==="|"||!S)break;if(S==="%")if(K(p))d+=S,p.next();else break;else if(S===Bt||S===Ye)if(K(p))d+=S,p.next();else{if(D(p))break;d+=S,p.next()}else d+=S,p.next()}return d}function ho(p){A(p);let d="",S="";for(;d=X(p);)S+=d;return p.currentChar()===Zt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S}function gt(p){A(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Re(p)}`):d+=Re(p),p.currentChar()===Zt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Gt(p){return p!==Bi&&p!==Ye}function Ut(p){A(p),$(p,"'");let d="",S="";for(;d=oe(p,Gt);)d==="\\"?S+=so(p):S+=d;const x=p.currentChar();return x===Ye||x===Zt?(g(te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===Ye&&(p.next(),$(p,"'")),S):($(p,"'"),S)}function so(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return st(p,d,4);case"U":return st(p,d,6);default:return g(te.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function st(p,d,S){$(p,d);let x="";for(let z=0;z{const x=p.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Bt?S:(S+=x,p.next(),d(S))};return d("")}function T(p){A(p);const d=$(p,"|");return A(p),d}function B(p,d){let S=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&g(te.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),S=f(d,2,"{"),A(p),d.braceNest++,S;case"}":return d.braceNest>0&&d.currentType===2&&g(te.EMPTY_PLACEHOLDER,r(),0),p.next(),S=f(d,3,"}"),d.braceNest--,d.braceNest>0&&A(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),S;case"@":return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S=R(p,d)||_(d),d.braceNest=0,S;default:{let z=!0,G=!0,E=!0;if(D(p))return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),S=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,S;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,V(p,d);if(z=h(p,d))return S=f(d,5,ho(p)),A(p),S;if(G=b(p,d))return S=f(d,6,gt(p)),A(p),S;if(E=N(p,d))return S=f(d,7,Ut(p)),A(p),S;if(!z&&!G&&!E)return S=f(d,13,m(p)),g(te.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,S.value),A(p),S;break}}return S}function R(p,d){const{currentType:S}=d;let x=null;const z=p.currentChar();switch((S===8||S===9||S===12||S===10)&&(z===Ye||z===Bt)&&g(te.INVALID_LINKED_FORMAT,r(),0),z){case"@":return p.next(),x=f(d,8,"@"),d.inLinked=!0,x;case".":return A(p),p.next(),f(d,9,".");case":":return A(p),p.next(),f(d,10,":");default:return D(p)?(x=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,x):O(p,d)||L(p,d)?(A(p),R(p,d)):P(p,d)?(A(p),f(d,12,w(p))):v(p,d)?(A(p),z==="{"?B(p,d)||x:f(d,11,y(p))):(S===8&&g(te.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,V(p,d))}}function V(p,d){let S={type:14};if(d.braceNest>0)return B(p,d)||_(d);if(d.inLinked)return R(p,d)||_(d);switch(p.currentChar()){case"{":return B(p,d)||_(d);case"}":return g(te.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),f(d,3,"}");case"@":return R(p,d)||_(d);default:{if(D(p))return S=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,S;const{isModulo:z,hasSpace:G}=U(p);if(z)return G?f(d,0,ro(p)):f(d,4,no(p));if(K(p))return f(d,0,ro(p));break}}return S}function j(){const{currentType:p,offset:d,startLoc:S,endLoc:x}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=S,l.lastEndLoc=x,l.offset=s(),l.startLoc=r(),n.currentChar()===Zt?f(l,14):V(n,l)}return{nextToken:j,currentOffset:s,currentPosition:r,context:c}}const kf="parser",Of=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Af(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 Cf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function s(h,b,N,O,...P){const L=h.currentPosition();if(L.offset+=O,L.column+=O,o){const v=t?rr(N,L):null,D=So(b,v,{domain:kf,args:P});o(D)}}function r(h,b,N,O,...P){const L=h.currentPosition();if(L.offset+=O,L.column+=O,n){const v=t?rr(N,L):null;n(gf(b,v,P))}}function a(h,b,N){const O={type:h};return t&&(O.start=b,O.end=b,O.loc={start:N,end:N}),O}function i(h,b,N,O){t&&(h.end=b,h.loc&&(h.loc.end=N))}function l(h,b){const N=h.context(),O=a(3,N.offset,N.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function c(h,b){const N=h.context(),{lastOffset:O,lastStartLoc:P}=N,L=a(5,O,P);return L.index=parseInt(b,10),h.nextToken(),i(L,h.currentOffset(),h.currentPosition()),L}function u(h,b,N){const O=h.context(),{lastOffset:P,lastStartLoc:L}=O,v=a(4,P,L);return v.key=b,N===!0&&(v.modulo=!0),h.nextToken(),i(v,h.currentOffset(),h.currentPosition()),v}function g(h,b){const N=h.context(),{lastOffset:O,lastStartLoc:P}=N,L=a(9,O,P);return L.value=b.replace(Of,Af),h.nextToken(),i(L,h.currentOffset(),h.currentPosition()),L}function f(h){const b=h.nextToken(),N=h.context(),{lastOffset:O,lastStartLoc:P}=N,L=a(8,O,P);return b.type!==12?(s(h,te.UNEXPECTED_EMPTY_LINKED_MODIFIER,N.lastStartLoc,0),L.value="",i(L,O,P),{nextConsumeToken:b,node:L}):(b.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,pt(b)),L.value=b.value||"",i(L,h.currentOffset(),h.currentPosition()),{node:L})}function _(h,b){const N=h.context(),O=a(7,N.offset,N.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function $(h){const b=h.context(),N=a(6,b.offset,b.startLoc);let O=h.nextToken();if(O.type===9){const P=f(h);N.modifier=P.node,O=P.nextConsumeToken||h.nextToken()}switch(O.type!==10&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),O=h.nextToken(),O.type===2&&(O=h.nextToken()),O.type){case 11:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=_(h,O.value||"");break;case 5:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=u(h,O.value||"");break;case 6:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=c(h,O.value||"");break;case 7:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=g(h,O.value||"");break;default:{s(h,te.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const P=h.context(),L=a(7,P.offset,P.startLoc);return L.value="",i(L,P.offset,P.startLoc),N.key=L,i(N,P.offset,P.startLoc),{nextConsumeToken:O,node:N}}}return i(N,h.currentOffset(),h.currentPosition()),{node:N}}function k(h){const b=h.context(),N=b.currentType===1?h.currentOffset():b.offset,O=b.currentType===1?b.endLoc:b.startLoc,P=a(2,N,O);P.items=[];let L=null,v=null;do{const K=L||h.nextToken();switch(L=null,K.type){case 0:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(l(h,K.value||""));break;case 6:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(c(h,K.value||""));break;case 4:v=!0;break;case 5:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(u(h,K.value||"",!!v)),v&&(r(h,rs.USE_MODULO_SYNTAX,b.lastStartLoc,0,pt(K)),v=null);break;case 7:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(g(h,K.value||""));break;case 8:{const oe=$(h);P.items.push(oe.node),L=oe.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const D=b.currentType===1?b.lastOffset:h.currentOffset(),U=b.currentType===1?b.lastEndLoc:h.currentPosition();return i(P,D,U),P}function A(h,b,N,O){const P=h.context();let L=O.items.length===0;const v=a(1,b,N);v.cases=[],v.cases.push(O);do{const D=k(h);L||(L=D.items.length===0),v.cases.push(D)}while(P.currentType!==14);return L&&s(h,te.MUST_HAVE_MESSAGES_IN_PLURAL,N,0),i(v,h.currentOffset(),h.currentPosition()),v}function F(h){const b=h.context(),{offset:N,startLoc:O}=b,P=k(h);return b.currentType===14?P:A(h,N,O,P)}function C(h){const b=vf(h,Ii({},e)),N=b.context(),O=a(0,N.offset,N.startLoc);return t&&O.loc&&(O.loc.source=h),O.body=F(b),e.onCacheKey&&(O.cacheKey=e.onCacheKey(h)),N.currentType!==14&&s(b,te.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,h[N.offset]||""),i(O,b.currentOffset(),b.currentPosition()),O}return{parse:C}}function pt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Nf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Di(e,t){for(let o=0;oWi(o)),e}function Wi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function l(k,A){a.code+=k}function c(k,A=!0){const F=A?n:"";l(s?F+" ".repeat(k):F)}function u(k=!0){const A=++a.indentLevel;k&&c(A)}function g(k=!0){const A=--a.indentLevel;k&&c(A)}function f(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:f,helper:k=>`_${k}`,needIndent:()=>a.needIndent}}function Tf(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Lo(e,t.key),t.modifier?(e.push(", "),Lo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function xf(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const s=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const s=t.cases.length;for(let r=0;r{const o=Mi(t.mode)?t.mode:"normal",n=Mi(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,r=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],i=Lf(e,{filename:n,breakLineCode:s,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),a.length>0&&(i.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Lo(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 Bf(e,t={}){const o=Ii({},t),n=!!o.jit,s=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Cf(o).parse(e);return n?(r&&Ef(i),s&&Fo(i),{ast:i,code:""}):(Pf(i,o),Rf(i,o))}/*! + */function cf(e,t,o){return{line:e,column:t,offset:o}}function rr(e,t,o){return{start:e,end:t}}const uf=/\{([0-9a-zA-Z]+)\}/g;function xi(e,...t){return t.length===1&&pf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(uf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Mi=e=>typeof e=="string",pf=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((o,n,s)=>s===0?o+n:o+t+n,"")}const rs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},df={[rs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function gf(e,t,...o){const n=xi(df[e],...o||[]),s={message:String(n),code:e};return t&&(s.location=t),s}const te={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},ff={[te.EXPECTED_TOKEN]:"Expected token: '{0}'",[te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[te.EMPTY_PLACEHOLDER]:"Empty placeholder",[te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[te.INVALID_LINKED_FORMAT]:"Invalid linked format",[te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Lo(e,t,o={}){const{domain:n,messages:s,args:r}=o,a=xi((s||ff)[e]||"",...r||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=n,i}function hf(e){throw e}const Dt=" ",mf="\r",Ye=` +`,_f="\u2028",bf="\u2029";function yf(e){const t=e;let o=0,n=1,s=1,r=0;const a=P=>t[P]===mf&&t[P+1]===Ye,i=P=>t[P]===Ye,l=P=>t[P]===bf,c=P=>t[P]===_f,u=P=>a(P)||i(P)||l(P)||c(P),g=()=>o,f=()=>n,_=()=>s,$=()=>r,k=P=>a(P)||l(P)||c(P)?Ye:t[P],A=()=>k(o),S=()=>k(o+r);function C(){return r=0,u(o)&&(n++,s=0),a(o)&&o++,o++,s++,t[o]}function h(){return a(o+r)&&r++,r++,t[o+r]}function b(){o=0,n=1,s=1,r=0}function N(P=0){r=P}function O(){const P=o+r;for(;P!==o;)C();r=0}return{index:g,line:f,column:_,peekOffset:$,charAt:k,currentChar:A,currentPeek:S,next:C,peek:h,reset:b,resetPeek:N,skipToPeek:O}}const Jt=void 0,$f=".",Di="'",vf="tokenizer";function wf(e,t={}){const o=t.location!==!1,n=yf(e),s=()=>n.index(),r=()=>cf(n.line(),n.column(),n.index()),a=r(),i=s(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(p,d,L,...x){const z=c();if(d.column+=L,d.offset+=L,u){const U=o?rr(z.startLoc,d):null,E=Lo(p,U,{domain:vf,args:x});u(E)}}function f(p,d,L){p.endLoc=r(),p.currentType=d;const x={type:d};return o&&(x.loc=rr(p.startLoc,p.endLoc)),L!=null&&(x.value=L),x}const _=p=>f(p,14);function $(p,d){return p.currentChar()===d?(p.next(),d):(g(te.EXPECTED_TOKEN,r(),0,d),"")}function k(p){let d="";for(;p.currentPeek()===Dt||p.currentPeek()===Ye;)d+=p.currentPeek(),p.peek();return d}function A(p){const d=k(p);return p.skipToPeek(),d}function S(p){if(p===Jt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function C(p){if(p===Jt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function h(p,d){const{currentType:L}=d;if(L!==2)return!1;k(p);const x=S(p.currentPeek());return p.resetPeek(),x}function b(p,d){const{currentType:L}=d;if(L!==2)return!1;k(p);const x=p.currentPeek()==="-"?p.peek():p.currentPeek(),z=C(x);return p.resetPeek(),z}function N(p,d){const{currentType:L}=d;if(L!==2)return!1;k(p);const x=p.currentPeek()===Di;return p.resetPeek(),x}function O(p,d){const{currentType:L}=d;if(L!==8)return!1;k(p);const x=p.currentPeek()===".";return p.resetPeek(),x}function P(p,d){const{currentType:L}=d;if(L!==9)return!1;k(p);const x=S(p.currentPeek());return p.resetPeek(),x}function F(p,d){const{currentType:L}=d;if(!(L===8||L===12))return!1;k(p);const x=p.currentPeek()===":";return p.resetPeek(),x}function w(p,d){const{currentType:L}=d;if(L!==10)return!1;const x=()=>{const U=p.currentPeek();return U==="{"?S(p.peek()):U==="@"||U==="%"||U==="|"||U===":"||U==="."||U===Dt||!U?!1:U===Ye?(p.peek(),x()):K(p,!1)},z=x();return p.resetPeek(),z}function B(p){k(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function W(p){const d=k(p),L=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:L,hasSpace:d.length>0}}function K(p,d=!0){const L=(z=!1,U="",E=!1)=>{const M=p.currentPeek();return M==="{"?U==="%"?!1:z:M==="@"||!M?U==="%"?!0:z:M==="%"?(p.peek(),L(z,"%",!0)):M==="|"?U==="%"||E?!0:!(U===Dt||U===Ye):M===Dt?(p.peek(),L(!0,Dt,E)):M===Ye?(p.peek(),L(!0,Ye,E)):!0},x=L();return d&&p.resetPeek(),x}function oe(p,d){const L=p.currentChar();return L===Jt?Jt:d(L)?(p.next(),L):null}function ue(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function q(p){return oe(p,ue)}function G(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function X(p){return oe(p,G)}function le(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function Pe(p){return oe(p,le)}function At(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Te(p){return oe(p,At)}function Re(p){let d="",L="";for(;d=Pe(p);)L+=d;return L}function no(p){A(p);const d=p.currentChar();return d!=="%"&&g(te.EXPECTED_TOKEN,r(),0,d),p.next(),"%"}function ro(p){let d="";for(;;){const L=p.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L==="%")if(K(p))d+=L,p.next();else break;else if(L===Dt||L===Ye)if(K(p))d+=L,p.next();else{if(B(p))break;d+=L,p.next()}else d+=L,p.next()}return d}function ho(p){A(p);let d="",L="";for(;d=X(p);)L+=d;return p.currentChar()===Jt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),L}function gt(p){A(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${Re(p)}`):d+=Re(p),p.currentChar()===Jt&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d}function Ut(p){return p!==Di&&p!==Ye}function Wt(p){A(p),$(p,"'");let d="",L="";for(;d=oe(p,Ut);)d==="\\"?L+=so(p):L+=d;const x=p.currentChar();return x===Ye||x===Jt?(g(te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===Ye&&(p.next(),$(p,"'")),L):($(p,"'"),L)}function so(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return st(p,d,4);case"U":return st(p,d,6);default:return g(te.UNKNOWN_ESCAPE_SEQUENCE,r(),0,d),""}}function st(p,d,L){$(p,d);let x="";for(let z=0;z{const x=p.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Dt?L:(L+=x,p.next(),d(L))};return d("")}function T(p){A(p);const d=$(p,"|");return A(p),d}function D(p,d){let L=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&g(te.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),L=f(d,2,"{"),A(p),d.braceNest++,L;case"}":return d.braceNest>0&&d.currentType===2&&g(te.EMPTY_PLACEHOLDER,r(),0),p.next(),L=f(d,3,"}"),d.braceNest--,d.braceNest>0&&A(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),L;case"@":return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),L=R(p,d)||_(d),d.braceNest=0,L;default:{let z=!0,U=!0,E=!0;if(B(p))return d.braceNest>0&&g(te.UNTERMINATED_CLOSING_BRACE,r(),0),L=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,L;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return g(te.UNTERMINATED_CLOSING_BRACE,r(),0),d.braceNest=0,V(p,d);if(z=h(p,d))return L=f(d,5,ho(p)),A(p),L;if(U=b(p,d))return L=f(d,6,gt(p)),A(p),L;if(E=N(p,d))return L=f(d,7,Wt(p)),A(p),L;if(!z&&!U&&!E)return L=f(d,13,m(p)),g(te.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,L.value),A(p),L;break}}return L}function R(p,d){const{currentType:L}=d;let x=null;const z=p.currentChar();switch((L===8||L===9||L===12||L===10)&&(z===Ye||z===Dt)&&g(te.INVALID_LINKED_FORMAT,r(),0),z){case"@":return p.next(),x=f(d,8,"@"),d.inLinked=!0,x;case".":return A(p),p.next(),f(d,9,".");case":":return A(p),p.next(),f(d,10,":");default:return B(p)?(x=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,x):O(p,d)||F(p,d)?(A(p),R(p,d)):P(p,d)?(A(p),f(d,12,v(p))):w(p,d)?(A(p),z==="{"?D(p,d)||x:f(d,11,y(p))):(L===8&&g(te.INVALID_LINKED_FORMAT,r(),0),d.braceNest=0,d.inLinked=!1,V(p,d))}}function V(p,d){let L={type:14};if(d.braceNest>0)return D(p,d)||_(d);if(d.inLinked)return R(p,d)||_(d);switch(p.currentChar()){case"{":return D(p,d)||_(d);case"}":return g(te.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),f(d,3,"}");case"@":return R(p,d)||_(d);default:{if(B(p))return L=f(d,1,T(p)),d.braceNest=0,d.inLinked=!1,L;const{isModulo:z,hasSpace:U}=W(p);if(z)return U?f(d,0,ro(p)):f(d,4,no(p));if(K(p))return f(d,0,ro(p));break}}return L}function j(){const{currentType:p,offset:d,startLoc:L,endLoc:x}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=L,l.lastEndLoc=x,l.offset=s(),l.startLoc=r(),n.currentChar()===Jt?f(l,14):V(n,l)}return{nextToken:j,currentOffset:s,currentPosition:r,context:c}}const kf="parser",Of=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Af(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 Cf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function s(h,b,N,O,...P){const F=h.currentPosition();if(F.offset+=O,F.column+=O,o){const w=t?rr(N,F):null,B=Lo(b,w,{domain:kf,args:P});o(B)}}function r(h,b,N,O,...P){const F=h.currentPosition();if(F.offset+=O,F.column+=O,n){const w=t?rr(N,F):null;n(gf(b,w,P))}}function a(h,b,N){const O={type:h};return t&&(O.start=b,O.end=b,O.loc={start:N,end:N}),O}function i(h,b,N,O){t&&(h.end=b,h.loc&&(h.loc.end=N))}function l(h,b){const N=h.context(),O=a(3,N.offset,N.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function c(h,b){const N=h.context(),{lastOffset:O,lastStartLoc:P}=N,F=a(5,O,P);return F.index=parseInt(b,10),h.nextToken(),i(F,h.currentOffset(),h.currentPosition()),F}function u(h,b,N){const O=h.context(),{lastOffset:P,lastStartLoc:F}=O,w=a(4,P,F);return w.key=b,N===!0&&(w.modulo=!0),h.nextToken(),i(w,h.currentOffset(),h.currentPosition()),w}function g(h,b){const N=h.context(),{lastOffset:O,lastStartLoc:P}=N,F=a(9,O,P);return F.value=b.replace(Of,Af),h.nextToken(),i(F,h.currentOffset(),h.currentPosition()),F}function f(h){const b=h.nextToken(),N=h.context(),{lastOffset:O,lastStartLoc:P}=N,F=a(8,O,P);return b.type!==12?(s(h,te.UNEXPECTED_EMPTY_LINKED_MODIFIER,N.lastStartLoc,0),F.value="",i(F,O,P),{nextConsumeToken:b,node:F}):(b.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,pt(b)),F.value=b.value||"",i(F,h.currentOffset(),h.currentPosition()),{node:F})}function _(h,b){const N=h.context(),O=a(7,N.offset,N.startLoc);return O.value=b,i(O,h.currentOffset(),h.currentPosition()),O}function $(h){const b=h.context(),N=a(6,b.offset,b.startLoc);let O=h.nextToken();if(O.type===9){const P=f(h);N.modifier=P.node,O=P.nextConsumeToken||h.nextToken()}switch(O.type!==10&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),O=h.nextToken(),O.type===2&&(O=h.nextToken()),O.type){case 11:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=_(h,O.value||"");break;case 5:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=u(h,O.value||"");break;case 6:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=c(h,O.value||"");break;case 7:O.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(O)),N.key=g(h,O.value||"");break;default:{s(h,te.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const P=h.context(),F=a(7,P.offset,P.startLoc);return F.value="",i(F,P.offset,P.startLoc),N.key=F,i(N,P.offset,P.startLoc),{nextConsumeToken:O,node:N}}}return i(N,h.currentOffset(),h.currentPosition()),{node:N}}function k(h){const b=h.context(),N=b.currentType===1?h.currentOffset():b.offset,O=b.currentType===1?b.endLoc:b.startLoc,P=a(2,N,O);P.items=[];let F=null,w=null;do{const K=F||h.nextToken();switch(F=null,K.type){case 0:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(l(h,K.value||""));break;case 6:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(c(h,K.value||""));break;case 4:w=!0;break;case 5:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(u(h,K.value||"",!!w)),w&&(r(h,rs.USE_MODULO_SYNTAX,b.lastStartLoc,0,pt(K)),w=null);break;case 7:K.value==null&&s(h,te.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(K)),P.items.push(g(h,K.value||""));break;case 8:{const oe=$(h);P.items.push(oe.node),F=oe.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const B=b.currentType===1?b.lastOffset:h.currentOffset(),W=b.currentType===1?b.lastEndLoc:h.currentPosition();return i(P,B,W),P}function A(h,b,N,O){const P=h.context();let F=O.items.length===0;const w=a(1,b,N);w.cases=[],w.cases.push(O);do{const B=k(h);F||(F=B.items.length===0),w.cases.push(B)}while(P.currentType!==14);return F&&s(h,te.MUST_HAVE_MESSAGES_IN_PLURAL,N,0),i(w,h.currentOffset(),h.currentPosition()),w}function S(h){const b=h.context(),{offset:N,startLoc:O}=b,P=k(h);return b.currentType===14?P:A(h,N,O,P)}function C(h){const b=wf(h,Ii({},e)),N=b.context(),O=a(0,N.offset,N.startLoc);return t&&O.loc&&(O.loc.source=h),O.body=S(b),e.onCacheKey&&(O.cacheKey=e.onCacheKey(h)),N.currentType!==14&&s(b,te.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,h[N.offset]||""),i(O,b.currentOffset(),b.currentPosition()),O}return{parse:C}}function pt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Nf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Bi(e,t){for(let o=0;oGi(o)),e}function Gi(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;oa;function l(k,A){a.code+=k}function c(k,A=!0){const S=A?n:"";l(s?S+" ".repeat(k):S)}function u(k=!0){const A=++a.indentLevel;k&&c(A)}function g(k=!0){const A=--a.indentLevel;k&&c(A)}function f(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:f,helper:k=>`_${k}`,needIndent:()=>a.needIndent}}function Tf(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Fo(e,t.key),t.modifier?(e.push(", "),Fo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function xf(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const s=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const s=t.cases.length;for(let r=0;r{const o=Mi(t.mode)?t.mode:"normal",n=Mi(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,r=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],i=Ff(e,{filename:n,breakLineCode:s,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),a.length>0&&(i.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),Fo(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 Df(e,t={}){const o=Ii({},t),n=!!o.jit,s=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Cf(o).parse(e);return n?(r&&Ef(i),s&&So(i),{ast:i,code:""}):(Pf(i,o),Rf(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Df(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function kt(e){return ge(e)&&as(e)===0&&(ut(e,"b")||ut(e,"body"))}const Gi=["b","body"];function Wf(e){return Qt(e,Gi)}const Ui=["c","cases"];function Gf(e){return Qt(e,Ui,[])}const ji=["s","static"];function Uf(e){return Qt(e,ji)}const Vi=["i","items"];function jf(e){return Qt(e,Vi,[])}const zi=["t","type"];function as(e){return Qt(e,zi)}const Yi=["v","value"];function sr(e,t){const o=Qt(e,Yi);if(o!=null)return o;throw cn(t)}const Hi=["m","modifier"];function Vf(e){return Qt(e,Hi)}const qi=["k","key"];function zf(e){const t=Qt(e,qi);if(t)return t;throw cn(6)}function Qt(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},f[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},f[2]=()=>{f[0](),s++},f[3]=()=>{if(s>0)s--,n=4,f[0]();else{if(s=0,a===void 0||(a=Xf(a),a===!1))return!1;f[1]()}};function _(){const $=e[o+1];if(n===5&&$==="'"||n===6&&$==='"')return o++,i="\\"+$,f[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&_())){if(l=Kf(r),g=eo[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Xi=new Map;function Zf(e,t){return ge(e)?e[t]:null}function Qf(e,t){if(!ge(e))return null;let o=Xi.get(t);if(o||(o=Jf(t),o&&Xi.set(t,o)),!o)return null;const n=o.length;let s=e,r=0;for(;re,th=e=>"",oh="text",nh=e=>e.length===0?"":lf(e),rh=af;function Ji(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function sh(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ne(e.named.count)||Ne(e.named.n))?Ne(e.named.count)?e.named.count:Ne(e.named.n)?e.named.n:t:t}function ah(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ih(e={}){const t=e.locale,o=sh(e),n=ge(e.pluralRules)&&H(t)&&we(e.pluralRules[t])?e.pluralRules[t]:Ji,s=ge(e.pluralRules)&&H(t)&&we(e.pluralRules[t])?Ji:void 0,r=F=>F[n(o,F.length,s)],a=e.list||[],i=F=>a[F],l=e.named||me();Ne(e.pluralIndex)&&ah(o,l);const c=F=>l[F];function u(F){const C=we(e.messages)?e.messages(F):ge(e.messages)?e.messages[F]:!1;return C||(e.parent?e.parent.message(F):th)}const g=F=>e.modifiers?e.modifiers[F]:eh,f=se(e.processor)&&we(e.processor.normalize)?e.processor.normalize:nh,_=se(e.processor)&&we(e.processor.interpolate)?e.processor.interpolate:rh,$=se(e.processor)&&H(e.processor.type)?e.processor.type:oh,A={list:i,named:c,plural:r,linked:(F,...C)=>{const[h,b]=C;let N="text",O="";C.length===1?ge(h)?(O=h.modifier||O,N=h.type||N):H(h)&&(O=h||O):C.length===2&&(H(h)&&(O=h||O),H(b)&&(N=b||N));const P=u(F)(A),L=N==="vnode"&&Oe(P)&&O?P[0]:P;return O?g(O)(L,N):L},message:u,type:$,interpolate:_,normalize:f,values:We(me(),a,l)};return A}let un=null;function lh(e){un=e}function ch(e,t,o){un&&un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const uh=ph("function:translate");function ph(e){return t=>un&&un.emit(e,t)}const dh=rs.__EXTEND_POINT__,go=tr(dh),gh={FALLBACK_TO_TRANSLATE:go(),CANNOT_FORMAT_NUMBER:go(),FALLBACK_TO_NUMBER_FORMAT:go(),CANNOT_FORMAT_DATE:go(),FALLBACK_TO_DATE_FORMAT:go(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:go(),__EXTEND_POINT__:go()},Zi=te.__EXTEND_POINT__,fo=tr(Zi),dt={INVALID_ARGUMENT:Zi,INVALID_DATE_ARGUMENT:fo(),INVALID_ISO_DATE_ARGUMENT:fo(),NOT_SUPPORT_NON_STRING_MESSAGE:fo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:fo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:fo(),NOT_SUPPORT_LOCALE_TYPE:fo(),__EXTEND_POINT__:fo()};function Ot(e){return So(e,null,void 0)}function is(e,t){return t.locale!=null?Qi(t.locale):Qi(e.locale)}let ls;function Qi(e){if(H(e))return e;if(we(e)){if(e.resolvedOnce&&ls!=null)return ls;if(e.constructor.name==="Function"){const t=e();if(sf(t))throw Ot(dt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ls=t}else throw Ot(dt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ot(dt.NOT_SUPPORT_LOCALE_TYPE)}function fh(e,t,o){return[...new Set([o,...Oe(t)?t:ge(t)?Object.keys(t):H(t)?[t]:[o]])]}function el(e,t,o){const n=H(o)?o:To,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(n);if(!r){r=[];let a=[o];for(;Oe(a);)a=tl(r,a,t);const i=Oe(t)||!se(t)?t:t.default?t.default:null;a=H(i)?[i]:i,Oe(a)&&tl(r,a,!1),s.__localeChainCache.set(n,r)}return r}function tl(e,t,o){let n=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function bh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?nl(e):t==="vnode"&&ge(e)&&"__v_isVNode"in e?nl(e.children):e}}let rl;function sl(e){rl=e}let al;function yh(e){al=e}let il;function $h(e){il=e}let ll=null;const wh=e=>{ll=e},vh=()=>ll;let cl=null;const ul=e=>{cl=e},kh=()=>cl;let pl=0;function Oh(e={}){const t=we(e.onWarn)?e.onWarn:Zg,o=H(e.version)?e.version:_h,n=H(e.locale)||we(e.locale)?e.locale:To,s=we(n)?To:n,r=Oe(e.fallbackLocale)||se(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,a=se(e.messages)?e.messages:cs(s),i=se(e.datetimeFormats)?e.datetimeFormats:cs(s),l=se(e.numberFormats)?e.numberFormats:cs(s),c=We(me(),e.modifiers,bh()),u=e.pluralRules||me(),g=we(e.missing)?e.missing:null,f=ce(e.missingWarn)||Jt(e.missingWarn)?e.missingWarn:!0,_=ce(e.fallbackWarn)||Jt(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,k=!!e.unresolving,A=we(e.postTranslation)?e.postTranslation:null,F=se(e.processor)?e.processor:null,C=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,b=we(e.messageCompiler)?e.messageCompiler:rl,N=we(e.messageResolver)?e.messageResolver:al||Zf,O=we(e.localeFallbacker)?e.localeFallbacker:il||fh,P=ge(e.fallbackContext)?e.fallbackContext:void 0,L=e,v=ge(L.__datetimeFormatters)?L.__datetimeFormatters:new Map,D=ge(L.__numberFormatters)?L.__numberFormatters:new Map,U=ge(L.__meta)?L.__meta:{};pl++;const K={version:o,cid:pl,locale:n,fallbackLocale:r,messages:a,modifiers:c,pluralRules:u,missing:g,missingWarn:f,fallbackWarn:_,fallbackFormat:$,unresolving:k,postTranslation:A,processor:F,warnHtmlMessage:C,escapeParameter:h,messageCompiler:b,messageResolver:N,localeFallbacker:O,fallbackContext:P,onWarn:t,__meta:U};return K.datetimeFormats=i,K.numberFormats=l,K.__datetimeFormatters=v,K.__numberFormatters=D,__INTLIFY_PROD_DEVTOOLS__&&ch(K,o,U),K}const cs=e=>({[e]:me()});function us(e,t,o,n,s){const{missing:r,onWarn:a}=e;if(r!==null){const i=r(e,o,t,s);return H(i)?i:t}else return t}function pn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Ah(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ch(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nNh(o,e)}function Nh(e,t){const o=Wf(t);if(o==null)throw cn(0);if(as(o)===1){const r=Gf(o);return e.plural(r.reduce((a,i)=>[...a,dl(e,i)],[]))}else return dl(e,o)}function dl(e,t){const o=Uf(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=jf(t).reduce((s,r)=>[...s,ds(e,r)],[]);return e.normalize(n)}}function ds(e,t){const o=as(t);switch(o){case 3:return sr(t,o);case 9:return sr(t,o);case 4:{const n=t;if(ut(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(ut(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw cn(o)}case 5:{const n=t;if(ut(n,"i")&&Ne(n.i))return e.interpolate(e.list(n.i));if(ut(n,"index")&&Ne(n.index))return e.interpolate(e.list(n.index));throw cn(o)}case 6:{const n=t,s=Vf(n),r=zf(n);return e.linked(ds(e,r),s?ds(e,s):void 0,e.type)}case 7:return sr(t,o);case 8:return sr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const gl=e=>e;let xo=me();function fl(e,t={}){let o=!1;const n=t.onError||hf;return t.onError=s=>{o=!0,n(s)},{...Bf(e,t),detectError:o}}const Ph=(e,t)=>{if(!H(e))throw Ot(dt.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||gl)(e),s=xo[n];if(s)return s;const{code:r,detectError:a}=fl(e,t),i=new Function(`return ${r}`)();return a?i:xo[n]=i}};function Eh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||gl)(e),s=xo[n];if(s)return s;const{ast:r,detectError:a}=fl(e,{...t,location:!1,jit:!0}),i=ps(r);return a?i:xo[n]=i}else{const o=e.cacheKey;if(o){const n=xo[o];return n||(xo[o]=ps(e))}else return ps(e)}}const hl=()=>"",rt=e=>we(e);function ml(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:s,messageCompiler:r,fallbackLocale:a,messages:i}=e,[l,c]=gs(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,g=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,_=!!c.resolvedMessage,$=H(c.default)||ce(c.default)?ce(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",k=o||$!=="",A=is(e,c);f&&Sh(c);let[F,C,h]=_?[l,A,i[A]||me()]:_l(e,l,A,a,g,u),b=F,N=l;if(!_&&!(H(b)||kt(b)||rt(b))&&k&&(b=$,N=b),!_&&(!(H(b)||kt(b)||rt(b))||!H(C)))return s?ar:l;let O=!1;const P=()=>{O=!0},L=rt(b)?b:bl(e,l,C,b,N,P);if(O)return b;const v=Th(e,C,h,c),D=ih(v),U=Fh(e,L,D);let K=n?n(U,l):U;if(f&&H(K)&&(K=nf(K)),__INTLIFY_PROD_DEVTOOLS__){const oe={timestamp:Date.now(),key:H(l)?l:rt(b)?b.key:"",locale:C||(rt(b)?b.locale:""),format:H(b)?b:rt(b)?b.source:"",message:K};oe.meta=We({},e.__meta,vh()||{}),uh(oe)}return K}function Sh(e){Oe(e.list)?e.list=e.list.map(t=>H(t)?Si(t):t):ge(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Si(e.named[t]))})}function _l(e,t,o,n,s,r){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=me(),f,_=null;const $="translate";for(let k=0;kn;return c.locale=o,c.key=t,c}const l=a(n,Lh(e,o,s,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Fh(e,t,o){return t(o)}function gs(...e){const[t,o,n]=e,s=me();if(!H(t)&&!Ne(t)&&!rt(t)&&!kt(t))throw Ot(dt.INVALID_ARGUMENT);const r=Ne(t)?String(t):(rt(t),t);return Ne(o)?s.plural=o:H(o)?s.default=o:se(o)&&!er(o)?s.named=o:Oe(o)&&(s.list=o),Ne(n)?s.plural=n:H(n)?s.default=n:se(n)&&We(s,n),[r,s]}function Lh(e,t,o,n,s,r){return{locale:t,key:o,warnHtmlMessage:s,onError:a=>{throw r&&r(a),a},onCacheKey:a=>Qg(t,o,a)}}function Th(e,t,o,n){const{modifiers:s,pluralRules:r,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:s,pluralRules:r,messages:_=>{let $=a(o,_);if($==null&&u){const[,,k]=_l(u,_,t,i,l,c);$=a(k,_)}if(H($)||kt($)){let k=!1;const F=bl(e,_,t,$,_,()=>{k=!0});return k?hl:F}else return rt($)?$:hl}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),Ne(n.plural)&&(f.pluralIndex=n.plural),f}function yl(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=fs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.DateTimeFormat($,g).format(c);let A={},F,C=null;const h="datetime format";for(let O=0;O{$l.includes(l)?a[l]=o[l]:r[l]=o[l]}),H(n)?r.locale=n:se(n)&&(a=n),se(s)&&(a=s),[r.key||"",i,r,a]}function wl(e,t,o){const n=e;for(const s in o){const r=`${t}__${s}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function vl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,g]=hs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.NumberFormat($,g).format(c);let A={},F,C=null;const h="number format";for(let O=0;O{kl.includes(l)?a[l]=o[l]:r[l]=o[l]}),H(n)?r.locale=n:se(n)&&(a=n),se(s)&&(a=s),[r.key||"",i,r,a]}function Ol(e,t,o){const n=e;for(const s in o){const r=`${t}__${s}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Df();/*! + */function Bf(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function kt(e){return ge(e)&&as(e)===0&&(ut(e,"b")||ut(e,"body"))}const Ui=["b","body"];function Gf(e){return Qt(e,Ui)}const Wi=["c","cases"];function Uf(e){return Qt(e,Wi,[])}const ji=["s","static"];function Wf(e){return Qt(e,ji)}const Vi=["i","items"];function jf(e){return Qt(e,Vi,[])}const zi=["t","type"];function as(e){return Qt(e,zi)}const Yi=["v","value"];function sr(e,t){const o=Qt(e,Yi);if(o!=null)return o;throw cn(t)}const Hi=["m","modifier"];function Vf(e){return Qt(e,Hi)}const qi=["k","key"];function zf(e){const t=Qt(e,qi);if(t)return t;throw cn(6)}function Qt(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},f[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},f[2]=()=>{f[0](),s++},f[3]=()=>{if(s>0)s--,n=4,f[0]();else{if(s=0,a===void 0||(a=Xf(a),a===!1))return!1;f[1]()}};function _(){const $=e[o+1];if(n===5&&$==="'"||n===6&&$==='"')return o++,i="\\"+$,f[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&_())){if(l=Kf(r),g=eo[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Xi=new Map;function Jf(e,t){return ge(e)?e[t]:null}function Qf(e,t){if(!ge(e))return null;let o=Xi.get(t);if(o||(o=Zf(t),o&&Xi.set(t,o)),!o)return null;const n=o.length;let s=e,r=0;for(;re,th=e=>"",oh="text",nh=e=>e.length===0?"":lf(e),rh=af;function Zi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function sh(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ne(e.named.count)||Ne(e.named.n))?Ne(e.named.count)?e.named.count:Ne(e.named.n)?e.named.n:t:t}function ah(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ih(e={}){const t=e.locale,o=sh(e),n=ge(e.pluralRules)&&H(t)&&ve(e.pluralRules[t])?e.pluralRules[t]:Zi,s=ge(e.pluralRules)&&H(t)&&ve(e.pluralRules[t])?Zi:void 0,r=S=>S[n(o,S.length,s)],a=e.list||[],i=S=>a[S],l=e.named||me();Ne(e.pluralIndex)&&ah(o,l);const c=S=>l[S];function u(S){const C=ve(e.messages)?e.messages(S):ge(e.messages)?e.messages[S]:!1;return C||(e.parent?e.parent.message(S):th)}const g=S=>e.modifiers?e.modifiers[S]:eh,f=se(e.processor)&&ve(e.processor.normalize)?e.processor.normalize:nh,_=se(e.processor)&&ve(e.processor.interpolate)?e.processor.interpolate:rh,$=se(e.processor)&&H(e.processor.type)?e.processor.type:oh,A={list:i,named:c,plural:r,linked:(S,...C)=>{const[h,b]=C;let N="text",O="";C.length===1?ge(h)?(O=h.modifier||O,N=h.type||N):H(h)&&(O=h||O):C.length===2&&(H(h)&&(O=h||O),H(b)&&(N=b||N));const P=u(S)(A),F=N==="vnode"&&Oe(P)&&O?P[0]:P;return O?g(O)(F,N):F},message:u,type:$,interpolate:_,normalize:f,values:Ge(me(),a,l)};return A}let un=null;function lh(e){un=e}function ch(e,t,o){un&&un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const uh=ph("function:translate");function ph(e){return t=>un&&un.emit(e,t)}const dh=rs.__EXTEND_POINT__,go=tr(dh),gh={FALLBACK_TO_TRANSLATE:go(),CANNOT_FORMAT_NUMBER:go(),FALLBACK_TO_NUMBER_FORMAT:go(),CANNOT_FORMAT_DATE:go(),FALLBACK_TO_DATE_FORMAT:go(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:go(),__EXTEND_POINT__:go()},Ji=te.__EXTEND_POINT__,fo=tr(Ji),dt={INVALID_ARGUMENT:Ji,INVALID_DATE_ARGUMENT:fo(),INVALID_ISO_DATE_ARGUMENT:fo(),NOT_SUPPORT_NON_STRING_MESSAGE:fo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:fo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:fo(),NOT_SUPPORT_LOCALE_TYPE:fo(),__EXTEND_POINT__:fo()};function Ot(e){return Lo(e,null,void 0)}function is(e,t){return t.locale!=null?Qi(t.locale):Qi(e.locale)}let ls;function Qi(e){if(H(e))return e;if(ve(e)){if(e.resolvedOnce&&ls!=null)return ls;if(e.constructor.name==="Function"){const t=e();if(sf(t))throw Ot(dt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ls=t}else throw Ot(dt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ot(dt.NOT_SUPPORT_LOCALE_TYPE)}function fh(e,t,o){return[...new Set([o,...Oe(t)?t:ge(t)?Object.keys(t):H(t)?[t]:[o]])]}function el(e,t,o){const n=H(o)?o:To,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let r=s.__localeChainCache.get(n);if(!r){r=[];let a=[o];for(;Oe(a);)a=tl(r,a,t);const i=Oe(t)||!se(t)?t:t.default?t.default:null;a=H(i)?[i]:i,Oe(a)&&tl(r,a,!1),s.__localeChainCache.set(n,r)}return r}function tl(e,t,o){let n=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function bh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ge(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?nl(e):t==="vnode"&&ge(e)&&"__v_isVNode"in e?nl(e.children):e}}let rl;function sl(e){rl=e}let al;function yh(e){al=e}let il;function $h(e){il=e}let ll=null;const vh=e=>{ll=e},wh=()=>ll;let cl=null;const ul=e=>{cl=e},kh=()=>cl;let pl=0;function Oh(e={}){const t=ve(e.onWarn)?e.onWarn:Jg,o=H(e.version)?e.version:_h,n=H(e.locale)||ve(e.locale)?e.locale:To,s=ve(n)?To:n,r=Oe(e.fallbackLocale)||se(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,a=se(e.messages)?e.messages:cs(s),i=se(e.datetimeFormats)?e.datetimeFormats:cs(s),l=se(e.numberFormats)?e.numberFormats:cs(s),c=Ge(me(),e.modifiers,bh()),u=e.pluralRules||me(),g=ve(e.missing)?e.missing:null,f=ce(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,_=ce(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,k=!!e.unresolving,A=ve(e.postTranslation)?e.postTranslation:null,S=se(e.processor)?e.processor:null,C=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,b=ve(e.messageCompiler)?e.messageCompiler:rl,N=ve(e.messageResolver)?e.messageResolver:al||Jf,O=ve(e.localeFallbacker)?e.localeFallbacker:il||fh,P=ge(e.fallbackContext)?e.fallbackContext:void 0,F=e,w=ge(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,B=ge(F.__numberFormatters)?F.__numberFormatters:new Map,W=ge(F.__meta)?F.__meta:{};pl++;const K={version:o,cid:pl,locale:n,fallbackLocale:r,messages:a,modifiers:c,pluralRules:u,missing:g,missingWarn:f,fallbackWarn:_,fallbackFormat:$,unresolving:k,postTranslation:A,processor:S,warnHtmlMessage:C,escapeParameter:h,messageCompiler:b,messageResolver:N,localeFallbacker:O,fallbackContext:P,onWarn:t,__meta:W};return K.datetimeFormats=i,K.numberFormats=l,K.__datetimeFormatters=w,K.__numberFormatters=B,__INTLIFY_PROD_DEVTOOLS__&&ch(K,o,W),K}const cs=e=>({[e]:me()});function us(e,t,o,n,s){const{missing:r,onWarn:a}=e;if(r!==null){const i=r(e,o,t,s);return H(i)?i:t}else return t}function pn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Ah(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ch(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nNh(o,e)}function Nh(e,t){const o=Gf(t);if(o==null)throw cn(0);if(as(o)===1){const r=Uf(o);return e.plural(r.reduce((a,i)=>[...a,dl(e,i)],[]))}else return dl(e,o)}function dl(e,t){const o=Wf(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=jf(t).reduce((s,r)=>[...s,ds(e,r)],[]);return e.normalize(n)}}function ds(e,t){const o=as(t);switch(o){case 3:return sr(t,o);case 9:return sr(t,o);case 4:{const n=t;if(ut(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(ut(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw cn(o)}case 5:{const n=t;if(ut(n,"i")&&Ne(n.i))return e.interpolate(e.list(n.i));if(ut(n,"index")&&Ne(n.index))return e.interpolate(e.list(n.index));throw cn(o)}case 6:{const n=t,s=Vf(n),r=zf(n);return e.linked(ds(e,r),s?ds(e,s):void 0,e.type)}case 7:return sr(t,o);case 8:return sr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const gl=e=>e;let xo=me();function fl(e,t={}){let o=!1;const n=t.onError||hf;return t.onError=s=>{o=!0,n(s)},{...Df(e,t),detectError:o}}const Ph=(e,t)=>{if(!H(e))throw Ot(dt.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||gl)(e),s=xo[n];if(s)return s;const{code:r,detectError:a}=fl(e,t),i=new Function(`return ${r}`)();return a?i:xo[n]=i}};function Eh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||gl)(e),s=xo[n];if(s)return s;const{ast:r,detectError:a}=fl(e,{...t,location:!1,jit:!0}),i=ps(r);return a?i:xo[n]=i}else{const o=e.cacheKey;if(o){const n=xo[o];return n||(xo[o]=ps(e))}else return ps(e)}}const hl=()=>"",rt=e=>ve(e);function ml(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:s,messageCompiler:r,fallbackLocale:a,messages:i}=e,[l,c]=gs(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,g=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,_=!!c.resolvedMessage,$=H(c.default)||ce(c.default)?ce(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",k=o||$!=="",A=is(e,c);f&&Lh(c);let[S,C,h]=_?[l,A,i[A]||me()]:_l(e,l,A,a,g,u),b=S,N=l;if(!_&&!(H(b)||kt(b)||rt(b))&&k&&(b=$,N=b),!_&&(!(H(b)||kt(b)||rt(b))||!H(C)))return s?ar:l;let O=!1;const P=()=>{O=!0},F=rt(b)?b:bl(e,l,C,b,N,P);if(O)return b;const w=Th(e,C,h,c),B=ih(w),W=Sh(e,F,B);let K=n?n(W,l):W;if(f&&H(K)&&(K=nf(K)),__INTLIFY_PROD_DEVTOOLS__){const oe={timestamp:Date.now(),key:H(l)?l:rt(b)?b.key:"",locale:C||(rt(b)?b.locale:""),format:H(b)?b:rt(b)?b.source:"",message:K};oe.meta=Ge({},e.__meta,wh()||{}),uh(oe)}return K}function Lh(e){Oe(e.list)?e.list=e.list.map(t=>H(t)?Li(t):t):ge(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Li(e.named[t]))})}function _l(e,t,o,n,s,r){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=me(),f,_=null;const $="translate";for(let k=0;kn;return c.locale=o,c.key=t,c}const l=a(n,Fh(e,o,s,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Sh(e,t,o){return t(o)}function gs(...e){const[t,o,n]=e,s=me();if(!H(t)&&!Ne(t)&&!rt(t)&&!kt(t))throw Ot(dt.INVALID_ARGUMENT);const r=Ne(t)?String(t):(rt(t),t);return Ne(o)?s.plural=o:H(o)?s.default=o:se(o)&&!er(o)?s.named=o:Oe(o)&&(s.list=o),Ne(n)?s.plural=n:H(n)?s.default=n:se(n)&&Ge(s,n),[r,s]}function Fh(e,t,o,n,s,r){return{locale:t,key:o,warnHtmlMessage:s,onError:a=>{throw r&&r(a),a},onCacheKey:a=>Qg(t,o,a)}}function Th(e,t,o,n){const{modifiers:s,pluralRules:r,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:s,pluralRules:r,messages:_=>{let $=a(o,_);if($==null&&u){const[,,k]=_l(u,_,t,i,l,c);$=a(k,_)}if(H($)||kt($)){let k=!1;const S=bl(e,_,t,$,_,()=>{k=!0});return k?hl:S}else return rt($)?$:hl}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),Ne(n.plural)&&(f.pluralIndex=n.plural),f}function yl(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=fs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.DateTimeFormat($,g).format(c);let A={},S,C=null;const h="datetime format";for(let O=0;O{$l.includes(l)?a[l]=o[l]:r[l]=o[l]}),H(n)?r.locale=n:se(n)&&(a=n),se(s)&&(a=s),[r.key||"",i,r,a]}function vl(e,t,o){const n=e;for(const s in o){const r=`${t}__${s}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function wl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:s,onWarn:r,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,g]=hs(...t),f=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,$=is(e,u),k=a(e,s,$);if(!H(l)||l==="")return new Intl.NumberFormat($,g).format(c);let A={},S,C=null;const h="number format";for(let O=0;O{kl.includes(l)?a[l]=o[l]:r[l]=o[l]}),H(n)?r.locale=n:se(n)&&(a=n),se(s)&&(a=s),[r.key||"",i,r,a]}function Ol(e,t,o){const n=e;for(const s in o){const r=`${t}__${s}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Bf();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const xh="9.14.5";function Ih(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Mh=gh.__EXTEND_POINT__,Dt=tr(Mh);Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt(),Dt();const Al=dt.__EXTEND_POINT__,Ke=tr(Al),Le={UNEXPECTED_RETURN_TYPE:Al,INVALID_ARGUMENT:Ke(),MUST_BE_CALL_SETUP_TOP:Ke(),NOT_INSTALLED:Ke(),NOT_AVAILABLE_IN_LEGACY_MODE:Ke(),REQUIRED_VALUE:Ke(),INVALID_VALUE:Ke(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ke(),NOT_INSTALLED_WITH_PROVIDE:Ke(),UNEXPECTED_ERROR:Ke(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ke(),BRIDGE_SUPPORT_VUE_2_ONLY:Ke(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ke(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ke(),__EXTEND_POINT__:Ke()};function Me(e,...t){return So(e,null,void 0)}const ms=Xt("__translateVNode"),_s=Xt("__datetimeParts"),bs=Xt("__numberParts"),Cl=Xt("__setPluralRules"),Nl=Xt("__injectWithOption"),ys=Xt("__dispose");function dn(e){if(!ge(e)||kt(e))return e;for(const t in e)if(ut(e,t))if(!t.includes("."))ge(e[t])&&dn(e[t]);else{const o=t.split("."),n=o.length-1;let s=e,r=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||me(),nr(c,a[l])):nr(c,a)}else H(i)&&nr(JSON.parse(i),a)}),s==null&&r)for(const i in a)ut(a,i)&&dn(a[i]);return a}function Pl(e){return e.type}function El(e,t,o){let n=ge(t.messages)?t.messages:me();"__i18nGlobal"in o&&(n=ir(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const s=Object.keys(n);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(ge(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ge(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Sl(e){return $e(Qo,null,e,0)}const Fl="__INTLIFY_META__",Ll=()=>[],Rh=()=>!1;let Tl=0;function xl(e){return(t,o,n,s)=>e(o,n,It()||void 0,s)}const Bh=()=>{const e=It();let t=null;return e&&(t=Pl(e)[Fl])?{[Fl]:t}:null};function $s(e={},t){const{__root:o,__injectWithOption:n}=e,s=o===void 0,r=e.flatJson,a=Qn?re:jo,i=!!e.translateExistCompatible;let l=ce(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:H(e.locale)?e.locale:To),u=a(o&&l?o.fallbackLocale.value:H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=a(ir(c.value,e)),f=a(se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=a(se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let $=o?o.missingWarn:ce(e.missingWarn)||Jt(e.missingWarn)?e.missingWarn:!0,k=o?o.fallbackWarn:ce(e.fallbackWarn)||Jt(e.fallbackWarn)?e.fallbackWarn:!0,A=o?o.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,F=!!e.fallbackFormat,C=we(e.missing)?e.missing:null,h=we(e.missing)?xl(e.missing):null,b=we(e.postTranslation)?e.postTranslation:null,N=o?o.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const P=o?o.modifiers:se(e.modifiers)?e.modifiers:{};let L=e.pluralRules||o&&o.pluralRules,v;v=(()=>{s&&ul(null);const E={version:xh,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:P,pluralRules:L,missing:h===null?void 0:h,missingWarn:$,fallbackWarn:k,fallbackFormat:F,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:N,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=f.value,E.numberFormats=_.value,E.__datetimeFormatters=se(v)?v.__datetimeFormatters:void 0,E.__numberFormatters=se(v)?v.__numberFormatters:void 0;const M=Oh(E);return s&&ul(M),M})(),pn(v,c.value,u.value);function U(){return[c.value,u.value,g.value,f.value,_.value]}const K=ae({get:()=>c.value,set:E=>{c.value=E,v.locale=c.value}}),oe=ae({get:()=>u.value,set:E=>{u.value=E,v.fallbackLocale=u.value,pn(v,c.value,E)}}),ue=ae(()=>g.value),q=ae(()=>f.value),W=ae(()=>_.value);function X(){return we(b)?b:null}function le(E){b=E,v.postTranslation=E}function Pe(){return C}function At(E){E!==null&&(h=xl(E)),C=E,v.missing=h}const Te=(E,M,Z,ie,ve,He)=>{U();let Ge;try{__INTLIFY_PROD_DEVTOOLS__,s||(v.fallbackContext=o?kh():void 0),Ge=E(v)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(v.fallbackContext=void 0)}if(Z!=="translate exists"&&Ne(Ge)&&Ge===ar||Z==="translate exists"&&!Ge){const[mo,Ns]=M();return o&&A?ie(o):ve(mo)}else{if(He(Ge))return Ge;throw Me(Le.UNEXPECTED_RETURN_TYPE)}};function Re(...E){return Te(M=>Reflect.apply(ml,null,[M,...E]),()=>gs(...E),"translate",M=>Reflect.apply(M.t,M,[...E]),M=>M,M=>H(M))}function no(...E){const[M,Z,ie]=E;if(ie&&!ge(ie))throw Me(Le.INVALID_ARGUMENT);return Re(M,Z,We({resolvedMessage:!0},ie||{}))}function ro(...E){return Te(M=>Reflect.apply(yl,null,[M,...E]),()=>fs(...E),"datetime format",M=>Reflect.apply(M.d,M,[...E]),()=>ol,M=>H(M))}function ho(...E){return Te(M=>Reflect.apply(vl,null,[M,...E]),()=>hs(...E),"number format",M=>Reflect.apply(M.n,M,[...E]),()=>ol,M=>H(M))}function gt(E){return E.map(M=>H(M)||Ne(M)||ce(M)?Sl(String(M)):M)}const Ut={normalize:gt,interpolate:E=>E,type:"vnode"};function so(...E){return Te(M=>{let Z;const ie=M;try{ie.processor=Ut,Z=Reflect.apply(ml,null,[ie,...E])}finally{ie.processor=null}return Z},()=>gs(...E),"translate",M=>M[ms](...E),M=>[Sl(M)],M=>Oe(M))}function st(...E){return Te(M=>Reflect.apply(vl,null,[M,...E]),()=>hs(...E),"number format",M=>M[bs](...E),Ll,M=>H(M)||Oe(M))}function Io(...E){return Te(M=>Reflect.apply(yl,null,[M,...E]),()=>fs(...E),"datetime format",M=>M[_s](...E),Ll,M=>H(M)||Oe(M))}function m(E){L=E,v.pluralRules=L}function w(E,M){return Te(()=>{if(!E)return!1;const Z=H(M)?M:c.value,ie=B(Z),ve=v.messageResolver(ie,E);return i?ve!=null:kt(ve)||rt(ve)||H(ve)},()=>[E],"translate exists",Z=>Reflect.apply(Z.te,Z,[E,M]),Rh,Z=>ce(Z))}function y(E){let M=null;const Z=el(v,u.value,c.value);for(let ie=0;ie{l&&(c.value=E,v.locale=E,pn(v,c.value,u.value))}),nt(o.fallbackLocale,E=>{l&&(u.value=E,v.fallbackLocale=E,pn(v,c.value,u.value))}));const G={id:Tl,locale:K,fallbackLocale:oe,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,pn(v,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ue,get modifiers(){return P},get pluralRules(){return L||{}},get isGlobal(){return s},get missingWarn(){return $},set missingWarn(E){$=E,v.missingWarn=$},get fallbackWarn(){return k},set fallbackWarn(E){k=E,v.fallbackWarn=k},get fallbackRoot(){return A},set fallbackRoot(E){A=E},get fallbackFormat(){return F},set fallbackFormat(E){F=E,v.fallbackFormat=F},get warnHtmlMessage(){return N},set warnHtmlMessage(E){N=E,v.warnHtmlMessage=E},get escapeParameter(){return O},set escapeParameter(E){O=E,v.escapeParameter=E},t:Re,getLocaleMessage:B,setLocaleMessage:R,mergeLocaleMessage:V,getPostTranslationHandler:X,setPostTranslationHandler:le,getMissingHandler:Pe,setMissingHandler:At,[Cl]:m};return G.datetimeFormats=q,G.numberFormats=W,G.rt=no,G.te=w,G.tm=T,G.d=ro,G.n=ho,G.getDateTimeFormat=j,G.setDateTimeFormat=p,G.mergeDateTimeFormat=d,G.getNumberFormat=S,G.setNumberFormat=x,G.mergeNumberFormat=z,G[Nl]=n,G[ms]=so,G[_s]=Io,G[bs]=st,G}function Dh(e){const t=H(e.locale)?e.locale:To,o=H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=we(e.missing)?e.missing:void 0,s=ce(e.silentTranslationWarn)||Jt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ce(e.silentFallbackWarn)||Jt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=ce(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=we(e.postTranslation)?e.postTranslation:void 0,g=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,_=ce(e.sync)?e.sync:!0;let $=e.messages;if(se(e.sharedMessages)){const O=e.sharedMessages;$=Object.keys(O).reduce((L,v)=>{const D=L[v]||(L[v]={});return We(D,O[v]),L},$||{})}const{__i18n:k,__root:A,__injectWithOption:F}=e,C=e.datetimeFormats,h=e.numberFormats,b=e.flatJson,N=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:$,flatJson:b,datetimeFormats:C,numberFormats:h,missing:n,missingWarn:s,fallbackWarn:r,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:_,translateExistCompatible:N,__i18n:k,__root:A,__injectWithOption:F}}function ws(e={},t){{const o=$s(Dh(e)),{__extender:n}=e,s={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 ce(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=ce(r)?!r:r},get silentFallbackWarn(){return ce(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=ce(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[a,i,l]=r,c={};let u=null,g=null;if(!H(a))throw Me(Le.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Oe(i)?u=i:se(i)&&(g=i),Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[a,i,l]=r,c={plural:1};let u=null,g=null;if(!H(a))throw Me(Le.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Ne(i)?c.plural=i:Oe(i)?u=i:se(i)&&(g=i),H(l)?c.locale=l:Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(r,a){return o.te(r,a)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,a){o.setLocaleMessage(r,a)},mergeLocaleMessage(r,a){o.mergeLocaleMessage(r,a)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,a){o.setDateTimeFormat(r,a)},mergeDateTimeFormat(r,a){o.mergeDateTimeFormat(r,a)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,a){o.setNumberFormat(r,a)},mergeNumberFormat(r,a){o.mergeNumberFormat(r,a)},getChoiceIndex(r,a){return-1}};return s.__extender=n,s}}const vs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Wh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,s)=>[...n,...s.type===de?s.children:[s]],[]):t.reduce((o,n)=>{const s=e[n];return s&&(o[n]=s()),o},me())}function Il(e){return de}const Ml=Ko({name:"i18n-t",props:We({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},vs),setup(e,t){const{slots:o,attrs:n}=t,s=e.i18n||to({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(g=>g!=="_"),a=me();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=H(e.plural)?+e.plural:e.plural);const i=Wh(t,r),l=s[ms](e.keypath,i,a),c=We(me(),n),u=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(u,c,l)}}});function Gh(e){return Oe(e)&&!H(e[0])}function Rl(e,t,o,n){const{slots:s,attrs:r}=t;return()=>{const a={part:!0};let i=me();e.locale&&(a.locale=e.locale),H(e.format)?a.key=e.format:ge(e.format)&&(H(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((f,_)=>o.includes(_)?We(me(),f,{[_]:e.format[_]}):f,me()));const l=n(e.value,a,i);let c=[a.key];Oe(l)?c=l.map((f,_)=>{const $=s[f.type],k=$?$({[f.type]:f.value,index:_,parts:l}):[f.value];return Gh(k)&&(k[0].key=`${f.type}-${_}`),k}):H(l)&&(c=[l]);const u=We(me(),r),g=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(g,u,c)}}const Bl=Ko({name:"i18n-n",props:We({value:{type:Number,required:!0},format:{type:[String,Object]}},vs),setup(e,t){const o=e.i18n||to({useScope:e.scope,__useComponent:!0});return Rl(e,t,kl,(...n)=>o[bs](...n))}}),Dl=Ko({name:"i18n-d",props:We({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},vs),setup(e,t){const o=e.i18n||to({useScope:e.scope,__useComponent:!0});return Rl(e,t,$l,(...n)=>o[_s](...n))}});function Uh(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 jh(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw Me(Le.UNEXPECTED_ERROR);const u=Uh(e,i.$),g=Wl(c);return[Reflect.apply(u.t,u,[...Gl(g)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Qn&&e.global===c&&(a.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Qn&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=Wl(i);a.textContent=Reflect.apply(l.t,l,[...Gl(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function Wl(e){if(H(e))return{path:e};if(se(e)){if(!("path"in e))throw Me(Le.REQUIRED_VALUE,"path");return e}else throw Me(Le.INVALID_VALUE)}function Gl(e){const{path:t,locale:o,args:n,choice:s,plural:r}=e,a={},i=n||{};return H(o)&&(a.locale=o),Ne(s)&&(a.plural=s),Ne(r)&&(a.plural=r),[t,i,a]}function Vh(e,t,...o){const n=se(o[0])?o[0]:{},s=!!n.useI18nComponentName;(ce(n.globalInstall)?n.globalInstall:!0)&&([s?"i18n":Ml.name,"I18nT"].forEach(a=>e.component(a,Ml)),[Bl.name,"I18nN"].forEach(a=>e.component(a,Bl)),[Dl.name,"I18nD"].forEach(a=>e.component(a,Dl))),e.directive("t",jh(t))}function zh(e,t,o){return{beforeCreate(){const n=It();if(!n)throw Me(Le.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const r=s.i18n;if(s.__i18n&&(r.__i18n=s.__i18n),r.__root=t,this===this.$root)this.$i18n=Ul(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=ws(r);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Ul(e,s);else{this.$i18n=ws({__i18n:s.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&El(t,s,s),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,a)=>this.$i18n.te(r,a),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=It();if(!n)throw Me(Le.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),o.__deleteInstance(n),delete this.$i18n}}}function Ul(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Cl](t.pluralizationRules||e.pluralizationRules);const o=ir(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 Yh=Xt("global-vue-i18n");function Hh(e={},t){const o=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ce(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[a,i]=qh(e,o),l=Xt("");function c(f){return r.get(f)||null}function u(f,_){r.set(f,_)}function g(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return s},async install(_,...$){if(_.__VUE_I18N_SYMBOL__=l,_.provide(_.__VUE_I18N_SYMBOL__,f),se($[0])){const F=$[0];f.__composerExtend=F.__composerExtend,f.__vueI18nExtend=F.__vueI18nExtend}let k=null;!o&&n&&(k=nm(_,f.global)),__VUE_I18N_FULL_INSTALL__&&Vh(_,f,...$),__VUE_I18N_LEGACY_API__&&o&&_.mixin(zh(i,i.__composer,f));const A=_.unmount;_.unmount=()=>{k&&k(),f.dispose(),A()}},get global(){return i},dispose(){a.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function to(e={}){const t=It();if(t==null)throw Me(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Me(Le.NOT_INSTALLED);const o=Kh(t),n=Jh(o),s=Pl(t),r=Xh(e,s);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Me(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return tm(t,r,n,e)}if(r==="global")return El(n,e,s),n;if(r==="parent"){let l=Zh(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=We({},e);"__i18n"in s&&(l.__i18n=s.__i18n),n&&(l.__root=n),i=$s(l),a.__composerExtend&&(i[ys]=a.__composerExtend(i)),em(a,t,i),a.__setInstance(t,i)}return i}function qh(e,t,o){const n=mr();{const s=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ws(e)):n.run(()=>$s(e));if(s==null)throw Me(Le.UNEXPECTED_ERROR);return[n,s]}}function Kh(e){{const t=Ie(e.isCE?Yh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Me(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function Xh(e,t){return er(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Jh(e){return e.mode==="composition"?e.global:e.global.__composer}function Zh(e,t,o=!1){let n=null;const s=t.root;let r=Qh(t,o);for(;r!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Nl]&&(n=null))}if(n!=null||s===r)break;r=r.parent}return n}function Qh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function em(e,t,o){Ht(()=>{},t),Un(()=>{const n=o;e.__deleteInstance(t);const s=n[ys];s&&(s(),delete n[ys])},t)}function tm(e,t,o,n={}){const s=t==="local",r=jo(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Me(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=ce(n.inheritLocale)?n.inheritLocale:!H(n.locale),i=re(!s||a?o.locale.value:H(n.locale)?n.locale:To),l=re(!s||a?o.fallbackLocale.value:H(n.fallbackLocale)||Oe(n.fallbackLocale)||se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=re(ir(i.value,n)),u=re(se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=re(se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=s?o.missingWarn:ce(n.missingWarn)||Jt(n.missingWarn)?n.missingWarn:!0,_=s?o.fallbackWarn:ce(n.fallbackWarn)||Jt(n.fallbackWarn)?n.fallbackWarn:!0,$=s?o.fallbackRoot:ce(n.fallbackRoot)?n.fallbackRoot:!0,k=!!n.fallbackFormat,A=we(n.missing)?n.missing:null,F=we(n.postTranslation)?n.postTranslation:null,C=s?o.warnHtmlMessage:ce(n.warnHtmlMessage)?n.warnHtmlMessage:!0,h=!!n.escapeParameter,b=s?o.modifiers:se(n.modifiers)?n.modifiers:{},N=n.pluralRules||s&&o.pluralRules;function O(){return[i.value,l.value,c.value,u.value,g.value]}const P=ae({get:()=>r.value?r.value.locale.value:i.value,set:y=>{r.value&&(r.value.locale.value=y),i.value=y}}),L=ae({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:y=>{r.value&&(r.value.fallbackLocale.value=y),l.value=y}}),v=ae(()=>r.value?r.value.messages.value:c.value),D=ae(()=>u.value),U=ae(()=>g.value);function K(){return r.value?r.value.getPostTranslationHandler():F}function oe(y){r.value&&r.value.setPostTranslationHandler(y)}function ue(){return r.value?r.value.getMissingHandler():A}function q(y){r.value&&r.value.setMissingHandler(y)}function W(y){return O(),y()}function X(...y){return r.value?W(()=>Reflect.apply(r.value.t,null,[...y])):W(()=>"")}function le(...y){return r.value?Reflect.apply(r.value.rt,null,[...y]):""}function Pe(...y){return r.value?W(()=>Reflect.apply(r.value.d,null,[...y])):W(()=>"")}function At(...y){return r.value?W(()=>Reflect.apply(r.value.n,null,[...y])):W(()=>"")}function Te(y){return r.value?r.value.tm(y):{}}function Re(y,T){return r.value?r.value.te(y,T):!1}function no(y){return r.value?r.value.getLocaleMessage(y):{}}function ro(y,T){r.value&&(r.value.setLocaleMessage(y,T),c.value[y]=T)}function ho(y,T){r.value&&r.value.mergeLocaleMessage(y,T)}function gt(y){return r.value?r.value.getDateTimeFormat(y):{}}function Gt(y,T){r.value&&(r.value.setDateTimeFormat(y,T),u.value[y]=T)}function Ut(y,T){r.value&&r.value.mergeDateTimeFormat(y,T)}function so(y){return r.value?r.value.getNumberFormat(y):{}}function st(y,T){r.value&&(r.value.setNumberFormat(y,T),g.value[y]=T)}function Io(y,T){r.value&&r.value.mergeNumberFormat(y,T)}const m={get id(){return r.value?r.value.id:-1},locale:P,fallbackLocale:L,messages:v,datetimeFormats:D,numberFormats:U,get inheritLocale(){return r.value?r.value.inheritLocale:a},set inheritLocale(y){r.value&&(r.value.inheritLocale=y)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:b},get pluralRules(){return r.value?r.value.pluralRules:N},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackWarn(){return r.value?r.value.fallbackWarn:_},set fallbackWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackRoot(){return r.value?r.value.fallbackRoot:$},set fallbackRoot(y){r.value&&(r.value.fallbackRoot=y)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(y){r.value&&(r.value.fallbackFormat=y)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:C},set warnHtmlMessage(y){r.value&&(r.value.warnHtmlMessage=y)},get escapeParameter(){return r.value?r.value.escapeParameter:h},set escapeParameter(y){r.value&&(r.value.escapeParameter=y)},t:X,getPostTranslationHandler:K,setPostTranslationHandler:oe,getMissingHandler:ue,setMissingHandler:q,rt:le,d:Pe,n:At,tm:Te,te:Re,getLocaleMessage:no,setLocaleMessage:ro,mergeLocaleMessage:ho,getDateTimeFormat:gt,setDateTimeFormat:Gt,mergeDateTimeFormat:Ut,getNumberFormat:so,setNumberFormat:st,mergeNumberFormat:Io};function w(y){y.locale.value=i.value,y.fallbackLocale.value=l.value,Object.keys(c.value).forEach(T=>{y.mergeLocaleMessage(T,c.value[T])}),Object.keys(u.value).forEach(T=>{y.mergeDateTimeFormat(T,u.value[T])}),Object.keys(g.value).forEach(T=>{y.mergeNumberFormat(T,g.value[T])}),y.escapeParameter=h,y.fallbackFormat=k,y.fallbackRoot=$,y.fallbackWarn=_,y.missingWarn=f,y.warnHtmlMessage=C}return ka(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Me(Le.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const y=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=y.locale.value,l.value=y.fallbackLocale.value,c.value=y.messages.value,u.value=y.datetimeFormats.value,g.value=y.numberFormats.value):s&&w(y)}),m}const om=["locale","fallbackLocale","availableLocales"],jl=["t","rt","d","n","tm","te"];function nm(e,t){const o=Object.create(null);return om.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Me(Le.UNEXPECTED_ERROR);const a=Ae(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,s,a)}),e.config.globalProperties.$i18n=o,jl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Me(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,jl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Ih(),__INTLIFY_JIT_COMPILATION__?sl(Eh):sl(Ph),yh(Qf),$h(el),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,lh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const rm=Object.assign({"./locales/ar/aria.json":Dp,"./locales/ar/buttons.json":Wp,"./locales/ar/detail.json":Gp,"./locales/ar/legend.json":Up,"./locales/ar/messages.json":jp,"./locales/ar/options.json":Vp,"./locales/ar/popup.json":zp,"./locales/ar/prayerLaps.json":Yp,"./locales/ar/regions.json":Hp,"./locales/ar/search.json":qp,"./locales/ar/tabs.json":Kp,"./locales/de/aria.json":Xp,"./locales/de/buttons.json":Jp,"./locales/de/detail.json":Zp,"./locales/de/legend.json":Qp,"./locales/de/messages.json":ed,"./locales/de/options.json":td,"./locales/de/popup.json":od,"./locales/de/prayerLaps.json":nd,"./locales/de/regions.json":rd,"./locales/de/search.json":sd,"./locales/de/tabs.json":ad,"./locales/en/aria.json":id,"./locales/en/buttons.json":ld,"./locales/en/detail.json":cd,"./locales/en/legend.json":ud,"./locales/en/messages.json":pd,"./locales/en/options.json":dd,"./locales/en/popup.json":gd,"./locales/en/prayerLaps.json":fd,"./locales/en/regions.json":hd,"./locales/en/search.json":md,"./locales/en/tabs.json":_d,"./locales/es/aria.json":bd,"./locales/es/buttons.json":yd,"./locales/es/detail.json":$d,"./locales/es/legend.json":wd,"./locales/es/messages.json":vd,"./locales/es/options.json":kd,"./locales/es/popup.json":Od,"./locales/es/prayerLaps.json":Ad,"./locales/es/regions.json":Cd,"./locales/es/search.json":Nd,"./locales/es/tabs.json":Pd,"./locales/fr/aria.json":Ed,"./locales/fr/buttons.json":Sd,"./locales/fr/detail.json":Fd,"./locales/fr/legend.json":Ld,"./locales/fr/messages.json":Td,"./locales/fr/options.json":xd,"./locales/fr/popup.json":Id,"./locales/fr/prayerLaps.json":Md,"./locales/fr/regions.json":Rd,"./locales/fr/search.json":Bd,"./locales/fr/tabs.json":Dd,"./locales/hi/aria.json":Wd,"./locales/hi/buttons.json":Gd,"./locales/hi/detail.json":Ud,"./locales/hi/legend.json":jd,"./locales/hi/messages.json":Vd,"./locales/hi/options.json":zd,"./locales/hi/popup.json":Yd,"./locales/hi/prayerLaps.json":Hd,"./locales/hi/regions.json":qd,"./locales/hi/search.json":Kd,"./locales/hi/tabs.json":Xd,"./locales/it/aria.json":Jd,"./locales/it/buttons.json":Zd,"./locales/it/detail.json":Qd,"./locales/it/legend.json":eg,"./locales/it/messages.json":tg,"./locales/it/options.json":og,"./locales/it/popup.json":ng,"./locales/it/prayerLaps.json":rg,"./locales/it/regions.json":sg,"./locales/it/search.json":ag,"./locales/it/tabs.json":ig,"./locales/pt/aria.json":lg,"./locales/pt/buttons.json":cg,"./locales/pt/detail.json":ug,"./locales/pt/legend.json":pg,"./locales/pt/messages.json":dg,"./locales/pt/options.json":gg,"./locales/pt/popup.json":fg,"./locales/pt/prayerLaps.json":hg,"./locales/pt/regions.json":mg,"./locales/pt/search.json":_g,"./locales/pt/tabs.json":bg,"./locales/ro/aria.json":yg,"./locales/ro/buttons.json":$g,"./locales/ro/detail.json":wg,"./locales/ro/legend.json":vg,"./locales/ro/messages.json":kg,"./locales/ro/options.json":Og,"./locales/ro/popup.json":Ag,"./locales/ro/prayerLaps.json":Cg,"./locales/ro/regions.json":Ng,"./locales/ro/search.json":Pg,"./locales/ro/tabs.json":Eg,"./locales/ru/aria.json":Sg,"./locales/ru/buttons.json":Fg,"./locales/ru/detail.json":Lg,"./locales/ru/legend.json":Tg,"./locales/ru/messages.json":xg,"./locales/ru/options.json":Ig,"./locales/ru/popup.json":Mg,"./locales/ru/prayerLaps.json":Rg,"./locales/ru/regions.json":Bg,"./locales/ru/search.json":Dg,"./locales/ru/tabs.json":Wg,"./locales/zh/aria.json":Gg,"./locales/zh/buttons.json":Ug,"./locales/zh/detail.json":jg,"./locales/zh/legend.json":Vg,"./locales/zh/messages.json":zg,"./locales/zh/options.json":Yg,"./locales/zh/popup.json":Hg,"./locales/zh/prayerLaps.json":qg,"./locales/zh/regions.json":Kg,"./locales/zh/search.json":Xg,"./locales/zh/tabs.json":Jg}),gn={};for(const[e,t]of Object.entries(rm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,s]=o;gn[n]??(gn[n]={}),gn[n][s]=t}const ks=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],sm=new Set(["ar"]);function am(){var n;const e=(()=>{try{const s=new URLSearchParams(window.location.search);return(s.get("lang")||s.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(ks.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return ks.includes(o)?o:"en"}function im(){const e=am();try{sm.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return Hh({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:gn,missingWarn:!1,fallbackWarn:!1})}function Wt(e,t){const o=t||lm(e);Ht(()=>{var i;const n=It();if(!n)return;const s=(i=n.proxy)==null?void 0:i.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,r.appendChild(a)})}function lm(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),s=ae(()=>{var A;return((A=o==null?void 0:o.value)==null?void 0:A.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=re(!1),a=re(null);let i=null,l=null,c=null,u=null,g=null;function f(){r.value=!1}function _(A,F){var h;let C=A==null?void 0:A.parentElement;for(let b=0;C&&b<12;b++,C=C.parentElement){if(C===F||(h=C.classList)!=null&&h.contains("profile-loader"))return null;let N="";try{N=getComputedStyle(C).position}catch{}if(N&&N!=="static"){const O=C.getBoundingClientRect();if(O.height>=120&&O.width>=160)return C}}return null}function $(){const A=a.value;if(A)try{A.style.removeProperty("--pin-hint-lift");const F=A.getBoundingClientRect();if(!F.height)return;const C=Math.round(F.bottom-window.innerHeight);C>0&&A.style.setProperty("--pin-hint-lift",C+8+"px")}catch{}}function k(A){const F=a.value;if(!F||!(A!=null&&A.querySelector))return;let C=0;try{const b=A.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const N=b.getBoundingClientRect(),O=F.parentElement,P=O?O.getBoundingClientRect():null;if(C=P?Math.max(N.height||0,P.bottom-N.top):N.height||0,g!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=b,c=new ResizeObserver(()=>k(A)),c.observe(b)}}}catch{}const h=Math.min(Math.max(Math.ceil(C)||20,20),72);F.style.setProperty("--pin-hint-attrib-clear",h+"px"),$()}return Ht(()=>{var h,b,N;const A=It(),F=(N=(b=(h=A==null?void 0:A.proxy)==null?void 0:h.$el)==null?void 0:b.getRootNode)==null?void 0:N.call(b);if(!F||typeof F.querySelector!="function")return;let C=0;i=setInterval(()=>{C++;const O=F.querySelector("canvas");O?(clearInterval(i),i=null,r.value=!0,Yo(()=>{const P=_(O,F),L=a.value;if(P&&L&&L.parentElement!==P)try{P.appendChild(L),l=P}catch{}k(F),$();try{const v=a.value&&a.value.offsetParent||null;if(v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>$()),u.observe(v)}}catch{}})):C>40&&(clearInterval(i),i=null)},300)}),qt(()=>{var A;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((A=a.value)==null?void 0:A.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Wt(` + */const xh="9.14.5";function Ih(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Mh=gh.__EXTEND_POINT__,Bt=tr(Mh);Bt(),Bt(),Bt(),Bt(),Bt(),Bt(),Bt(),Bt(),Bt();const Al=dt.__EXTEND_POINT__,Ke=tr(Al),Fe={UNEXPECTED_RETURN_TYPE:Al,INVALID_ARGUMENT:Ke(),MUST_BE_CALL_SETUP_TOP:Ke(),NOT_INSTALLED:Ke(),NOT_AVAILABLE_IN_LEGACY_MODE:Ke(),REQUIRED_VALUE:Ke(),INVALID_VALUE:Ke(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ke(),NOT_INSTALLED_WITH_PROVIDE:Ke(),UNEXPECTED_ERROR:Ke(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ke(),BRIDGE_SUPPORT_VUE_2_ONLY:Ke(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ke(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ke(),__EXTEND_POINT__:Ke()};function Me(e,...t){return Lo(e,null,void 0)}const ms=Xt("__translateVNode"),_s=Xt("__datetimeParts"),bs=Xt("__numberParts"),Cl=Xt("__setPluralRules"),Nl=Xt("__injectWithOption"),ys=Xt("__dispose");function dn(e){if(!ge(e)||kt(e))return e;for(const t in e)if(ut(e,t))if(!t.includes("."))ge(e[t])&&dn(e[t]);else{const o=t.split("."),n=o.length-1;let s=e,r=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||me(),nr(c,a[l])):nr(c,a)}else H(i)&&nr(JSON.parse(i),a)}),s==null&&r)for(const i in a)ut(a,i)&&dn(a[i]);return a}function Pl(e){return e.type}function El(e,t,o){let n=ge(t.messages)?t.messages:me();"__i18nGlobal"in o&&(n=ir(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const s=Object.keys(n);s.length&&s.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(ge(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ge(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Ll(e){return $e(Qo,null,e,0)}const Sl="__INTLIFY_META__",Fl=()=>[],Rh=()=>!1;let Tl=0;function xl(e){return(t,o,n,s)=>e(o,n,It()||void 0,s)}const Dh=()=>{const e=It();let t=null;return e&&(t=Pl(e)[Sl])?{[Sl]:t}:null};function $s(e={},t){const{__root:o,__injectWithOption:n}=e,s=o===void 0,r=e.flatJson,a=Qn?re:jo,i=!!e.translateExistCompatible;let l=ce(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:H(e.locale)?e.locale:To),u=a(o&&l?o.fallbackLocale.value:H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=a(ir(c.value,e)),f=a(se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=a(se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let $=o?o.missingWarn:ce(e.missingWarn)||Zt(e.missingWarn)?e.missingWarn:!0,k=o?o.fallbackWarn:ce(e.fallbackWarn)||Zt(e.fallbackWarn)?e.fallbackWarn:!0,A=o?o.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,S=!!e.fallbackFormat,C=ve(e.missing)?e.missing:null,h=ve(e.missing)?xl(e.missing):null,b=ve(e.postTranslation)?e.postTranslation:null,N=o?o.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const P=o?o.modifiers:se(e.modifiers)?e.modifiers:{};let F=e.pluralRules||o&&o.pluralRules,w;w=(()=>{s&&ul(null);const E={version:xh,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:P,pluralRules:F,missing:h===null?void 0:h,missingWarn:$,fallbackWarn:k,fallbackFormat:S,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:N,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=f.value,E.numberFormats=_.value,E.__datetimeFormatters=se(w)?w.__datetimeFormatters:void 0,E.__numberFormatters=se(w)?w.__numberFormatters:void 0;const M=Oh(E);return s&&ul(M),M})(),pn(w,c.value,u.value);function W(){return[c.value,u.value,g.value,f.value,_.value]}const K=ae({get:()=>c.value,set:E=>{c.value=E,w.locale=c.value}}),oe=ae({get:()=>u.value,set:E=>{u.value=E,w.fallbackLocale=u.value,pn(w,c.value,E)}}),ue=ae(()=>g.value),q=ae(()=>f.value),G=ae(()=>_.value);function X(){return ve(b)?b:null}function le(E){b=E,w.postTranslation=E}function Pe(){return C}function At(E){E!==null&&(h=xl(E)),C=E,w.missing=h}const Te=(E,M,J,ie,we,He)=>{W();let Ue;try{__INTLIFY_PROD_DEVTOOLS__,s||(w.fallbackContext=o?kh():void 0),Ue=E(w)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(w.fallbackContext=void 0)}if(J!=="translate exists"&&Ne(Ue)&&Ue===ar||J==="translate exists"&&!Ue){const[mo,Ns]=M();return o&&A?ie(o):we(mo)}else{if(He(Ue))return Ue;throw Me(Fe.UNEXPECTED_RETURN_TYPE)}};function Re(...E){return Te(M=>Reflect.apply(ml,null,[M,...E]),()=>gs(...E),"translate",M=>Reflect.apply(M.t,M,[...E]),M=>M,M=>H(M))}function no(...E){const[M,J,ie]=E;if(ie&&!ge(ie))throw Me(Fe.INVALID_ARGUMENT);return Re(M,J,Ge({resolvedMessage:!0},ie||{}))}function ro(...E){return Te(M=>Reflect.apply(yl,null,[M,...E]),()=>fs(...E),"datetime format",M=>Reflect.apply(M.d,M,[...E]),()=>ol,M=>H(M))}function ho(...E){return Te(M=>Reflect.apply(wl,null,[M,...E]),()=>hs(...E),"number format",M=>Reflect.apply(M.n,M,[...E]),()=>ol,M=>H(M))}function gt(E){return E.map(M=>H(M)||Ne(M)||ce(M)?Ll(String(M)):M)}const Wt={normalize:gt,interpolate:E=>E,type:"vnode"};function so(...E){return Te(M=>{let J;const ie=M;try{ie.processor=Wt,J=Reflect.apply(ml,null,[ie,...E])}finally{ie.processor=null}return J},()=>gs(...E),"translate",M=>M[ms](...E),M=>[Ll(M)],M=>Oe(M))}function st(...E){return Te(M=>Reflect.apply(wl,null,[M,...E]),()=>hs(...E),"number format",M=>M[bs](...E),Fl,M=>H(M)||Oe(M))}function Io(...E){return Te(M=>Reflect.apply(yl,null,[M,...E]),()=>fs(...E),"datetime format",M=>M[_s](...E),Fl,M=>H(M)||Oe(M))}function m(E){F=E,w.pluralRules=F}function v(E,M){return Te(()=>{if(!E)return!1;const J=H(M)?M:c.value,ie=D(J),we=w.messageResolver(ie,E);return i?we!=null:kt(we)||rt(we)||H(we)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,M]),Rh,J=>ce(J))}function y(E){let M=null;const J=el(w,u.value,c.value);for(let ie=0;ie{l&&(c.value=E,w.locale=E,pn(w,c.value,u.value))}),nt(o.fallbackLocale,E=>{l&&(u.value=E,w.fallbackLocale=E,pn(w,c.value,u.value))}));const U={id:Tl,locale:K,fallbackLocale:oe,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,pn(w,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:ue,get modifiers(){return P},get pluralRules(){return F||{}},get isGlobal(){return s},get missingWarn(){return $},set missingWarn(E){$=E,w.missingWarn=$},get fallbackWarn(){return k},set fallbackWarn(E){k=E,w.fallbackWarn=k},get fallbackRoot(){return A},set fallbackRoot(E){A=E},get fallbackFormat(){return S},set fallbackFormat(E){S=E,w.fallbackFormat=S},get warnHtmlMessage(){return N},set warnHtmlMessage(E){N=E,w.warnHtmlMessage=E},get escapeParameter(){return O},set escapeParameter(E){O=E,w.escapeParameter=E},t:Re,getLocaleMessage:D,setLocaleMessage:R,mergeLocaleMessage:V,getPostTranslationHandler:X,setPostTranslationHandler:le,getMissingHandler:Pe,setMissingHandler:At,[Cl]:m};return U.datetimeFormats=q,U.numberFormats=G,U.rt=no,U.te=v,U.tm=T,U.d=ro,U.n=ho,U.getDateTimeFormat=j,U.setDateTimeFormat=p,U.mergeDateTimeFormat=d,U.getNumberFormat=L,U.setNumberFormat=x,U.mergeNumberFormat=z,U[Nl]=n,U[ms]=so,U[_s]=Io,U[bs]=st,U}function Bh(e){const t=H(e.locale)?e.locale:To,o=H(e.fallbackLocale)||Oe(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=ve(e.missing)?e.missing:void 0,s=ce(e.silentTranslationWarn)||Zt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ce(e.silentFallbackWarn)||Zt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=ce(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ve(e.postTranslation)?e.postTranslation:void 0,g=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,_=ce(e.sync)?e.sync:!0;let $=e.messages;if(se(e.sharedMessages)){const O=e.sharedMessages;$=Object.keys(O).reduce((F,w)=>{const B=F[w]||(F[w]={});return Ge(B,O[w]),F},$||{})}const{__i18n:k,__root:A,__injectWithOption:S}=e,C=e.datetimeFormats,h=e.numberFormats,b=e.flatJson,N=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:$,flatJson:b,datetimeFormats:C,numberFormats:h,missing:n,missingWarn:s,fallbackWarn:r,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:_,translateExistCompatible:N,__i18n:k,__root:A,__injectWithOption:S}}function vs(e={},t){{const o=$s(Bh(e)),{__extender:n}=e,s={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 ce(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=ce(r)?!r:r},get silentFallbackWarn(){return ce(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=ce(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[a,i,l]=r,c={};let u=null,g=null;if(!H(a))throw Me(Fe.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Oe(i)?u=i:se(i)&&(g=i),Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[a,i,l]=r,c={plural:1};let u=null,g=null;if(!H(a))throw Me(Fe.INVALID_ARGUMENT);const f=a;return H(i)?c.locale=i:Ne(i)?c.plural=i:Oe(i)?u=i:se(i)&&(g=i),H(l)?c.locale=l:Oe(l)?u=l:se(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(r,a){return o.te(r,a)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,a){o.setLocaleMessage(r,a)},mergeLocaleMessage(r,a){o.mergeLocaleMessage(r,a)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,a){o.setDateTimeFormat(r,a)},mergeDateTimeFormat(r,a){o.mergeDateTimeFormat(r,a)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,a){o.setNumberFormat(r,a)},mergeNumberFormat(r,a){o.mergeNumberFormat(r,a)},getChoiceIndex(r,a){return-1}};return s.__extender=n,s}}const ws={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Gh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,s)=>[...n,...s.type===de?s.children:[s]],[]):t.reduce((o,n)=>{const s=e[n];return s&&(o[n]=s()),o},me())}function Il(e){return de}const Ml=Ko({name:"i18n-t",props:Ge({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},ws),setup(e,t){const{slots:o,attrs:n}=t,s=e.i18n||to({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(g=>g!=="_"),a=me();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=H(e.plural)?+e.plural:e.plural);const i=Gh(t,r),l=s[ms](e.keypath,i,a),c=Ge(me(),n),u=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(u,c,l)}}});function Uh(e){return Oe(e)&&!H(e[0])}function Rl(e,t,o,n){const{slots:s,attrs:r}=t;return()=>{const a={part:!0};let i=me();e.locale&&(a.locale=e.locale),H(e.format)?a.key=e.format:ge(e.format)&&(H(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((f,_)=>o.includes(_)?Ge(me(),f,{[_]:e.format[_]}):f,me()));const l=n(e.value,a,i);let c=[a.key];Oe(l)?c=l.map((f,_)=>{const $=s[f.type],k=$?$({[f.type]:f.value,index:_,parts:l}):[f.value];return Uh(k)&&(k[0].key=`${f.type}-${_}`),k}):H(l)&&(c=[l]);const u=Ge(me(),r),g=H(e.tag)||ge(e.tag)?e.tag:Il();return ai(g,u,c)}}const Dl=Ko({name:"i18n-n",props:Ge({value:{type:Number,required:!0},format:{type:[String,Object]}},ws),setup(e,t){const o=e.i18n||to({useScope:e.scope,__useComponent:!0});return Rl(e,t,kl,(...n)=>o[bs](...n))}}),Bl=Ko({name:"i18n-d",props:Ge({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ws),setup(e,t){const o=e.i18n||to({useScope:e.scope,__useComponent:!0});return Rl(e,t,$l,(...n)=>o[_s](...n))}});function Wh(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 jh(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw Me(Fe.UNEXPECTED_ERROR);const u=Wh(e,i.$),g=Gl(c);return[Reflect.apply(u.t,u,[...Ul(g)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Qn&&e.global===c&&(a.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Qn&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=Gl(i);a.textContent=Reflect.apply(l.t,l,[...Ul(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function Gl(e){if(H(e))return{path:e};if(se(e)){if(!("path"in e))throw Me(Fe.REQUIRED_VALUE,"path");return e}else throw Me(Fe.INVALID_VALUE)}function Ul(e){const{path:t,locale:o,args:n,choice:s,plural:r}=e,a={},i=n||{};return H(o)&&(a.locale=o),Ne(s)&&(a.plural=s),Ne(r)&&(a.plural=r),[t,i,a]}function Vh(e,t,...o){const n=se(o[0])?o[0]:{},s=!!n.useI18nComponentName;(ce(n.globalInstall)?n.globalInstall:!0)&&([s?"i18n":Ml.name,"I18nT"].forEach(a=>e.component(a,Ml)),[Dl.name,"I18nN"].forEach(a=>e.component(a,Dl)),[Bl.name,"I18nD"].forEach(a=>e.component(a,Bl))),e.directive("t",jh(t))}function zh(e,t,o){return{beforeCreate(){const n=It();if(!n)throw Me(Fe.UNEXPECTED_ERROR);const s=this.$options;if(s.i18n){const r=s.i18n;if(s.__i18n&&(r.__i18n=s.__i18n),r.__root=t,this===this.$root)this.$i18n=Wl(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=vs(r);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(s.__i18n)if(this===this.$root)this.$i18n=Wl(e,s);else{this.$i18n=vs({__i18n:s.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;s.__i18nGlobal&&El(t,s,s),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,a)=>this.$i18n.te(r,a),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=It();if(!n)throw Me(Fe.UNEXPECTED_ERROR);const s=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,s.__disposer&&(s.__disposer(),delete s.__disposer,delete s.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Wl(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[Cl](t.pluralizationRules||e.pluralizationRules);const o=ir(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 Yh=Xt("global-vue-i18n");function Hh(e={},t){const o=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ce(e.globalInjection)?e.globalInjection:!0,s=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[a,i]=qh(e,o),l=Xt("");function c(f){return r.get(f)||null}function u(f,_){r.set(f,_)}function g(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return s},async install(_,...$){if(_.__VUE_I18N_SYMBOL__=l,_.provide(_.__VUE_I18N_SYMBOL__,f),se($[0])){const S=$[0];f.__composerExtend=S.__composerExtend,f.__vueI18nExtend=S.__vueI18nExtend}let k=null;!o&&n&&(k=nm(_,f.global)),__VUE_I18N_FULL_INSTALL__&&Vh(_,f,...$),__VUE_I18N_LEGACY_API__&&o&&_.mixin(zh(i,i.__composer,f));const A=_.unmount;_.unmount=()=>{k&&k(),f.dispose(),A()}},get global(){return i},dispose(){a.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function to(e={}){const t=It();if(t==null)throw Me(Fe.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Me(Fe.NOT_INSTALLED);const o=Kh(t),n=Zh(o),s=Pl(t),r=Xh(e,s);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Me(Fe.NOT_AVAILABLE_IN_LEGACY_MODE);return tm(t,r,n,e)}if(r==="global")return El(n,e,s),n;if(r==="parent"){let l=Jh(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=Ge({},e);"__i18n"in s&&(l.__i18n=s.__i18n),n&&(l.__root=n),i=$s(l),a.__composerExtend&&(i[ys]=a.__composerExtend(i)),em(a,t,i),a.__setInstance(t,i)}return i}function qh(e,t,o){const n=mr();{const s=__VUE_I18N_LEGACY_API__&&t?n.run(()=>vs(e)):n.run(()=>$s(e));if(s==null)throw Me(Fe.UNEXPECTED_ERROR);return[n,s]}}function Kh(e){{const t=Ie(e.isCE?Yh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Me(e.isCE?Fe.NOT_INSTALLED_WITH_PROVIDE:Fe.UNEXPECTED_ERROR);return t}}function Xh(e,t){return er(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Zh(e){return e.mode==="composition"?e.global:e.global.__composer}function Jh(e,t,o=!1){let n=null;const s=t.root;let r=Qh(t,o);for(;r!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Nl]&&(n=null))}if(n!=null||s===r)break;r=r.parent}return n}function Qh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function em(e,t,o){Ht(()=>{},t),Wn(()=>{const n=o;e.__deleteInstance(t);const s=n[ys];s&&(s(),delete n[ys])},t)}function tm(e,t,o,n={}){const s=t==="local",r=jo(null);if(s&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Me(Fe.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=ce(n.inheritLocale)?n.inheritLocale:!H(n.locale),i=re(!s||a?o.locale.value:H(n.locale)?n.locale:To),l=re(!s||a?o.fallbackLocale.value:H(n.fallbackLocale)||Oe(n.fallbackLocale)||se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=re(ir(i.value,n)),u=re(se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=re(se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=s?o.missingWarn:ce(n.missingWarn)||Zt(n.missingWarn)?n.missingWarn:!0,_=s?o.fallbackWarn:ce(n.fallbackWarn)||Zt(n.fallbackWarn)?n.fallbackWarn:!0,$=s?o.fallbackRoot:ce(n.fallbackRoot)?n.fallbackRoot:!0,k=!!n.fallbackFormat,A=ve(n.missing)?n.missing:null,S=ve(n.postTranslation)?n.postTranslation:null,C=s?o.warnHtmlMessage:ce(n.warnHtmlMessage)?n.warnHtmlMessage:!0,h=!!n.escapeParameter,b=s?o.modifiers:se(n.modifiers)?n.modifiers:{},N=n.pluralRules||s&&o.pluralRules;function O(){return[i.value,l.value,c.value,u.value,g.value]}const P=ae({get:()=>r.value?r.value.locale.value:i.value,set:y=>{r.value&&(r.value.locale.value=y),i.value=y}}),F=ae({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:y=>{r.value&&(r.value.fallbackLocale.value=y),l.value=y}}),w=ae(()=>r.value?r.value.messages.value:c.value),B=ae(()=>u.value),W=ae(()=>g.value);function K(){return r.value?r.value.getPostTranslationHandler():S}function oe(y){r.value&&r.value.setPostTranslationHandler(y)}function ue(){return r.value?r.value.getMissingHandler():A}function q(y){r.value&&r.value.setMissingHandler(y)}function G(y){return O(),y()}function X(...y){return r.value?G(()=>Reflect.apply(r.value.t,null,[...y])):G(()=>"")}function le(...y){return r.value?Reflect.apply(r.value.rt,null,[...y]):""}function Pe(...y){return r.value?G(()=>Reflect.apply(r.value.d,null,[...y])):G(()=>"")}function At(...y){return r.value?G(()=>Reflect.apply(r.value.n,null,[...y])):G(()=>"")}function Te(y){return r.value?r.value.tm(y):{}}function Re(y,T){return r.value?r.value.te(y,T):!1}function no(y){return r.value?r.value.getLocaleMessage(y):{}}function ro(y,T){r.value&&(r.value.setLocaleMessage(y,T),c.value[y]=T)}function ho(y,T){r.value&&r.value.mergeLocaleMessage(y,T)}function gt(y){return r.value?r.value.getDateTimeFormat(y):{}}function Ut(y,T){r.value&&(r.value.setDateTimeFormat(y,T),u.value[y]=T)}function Wt(y,T){r.value&&r.value.mergeDateTimeFormat(y,T)}function so(y){return r.value?r.value.getNumberFormat(y):{}}function st(y,T){r.value&&(r.value.setNumberFormat(y,T),g.value[y]=T)}function Io(y,T){r.value&&r.value.mergeNumberFormat(y,T)}const m={get id(){return r.value?r.value.id:-1},locale:P,fallbackLocale:F,messages:w,datetimeFormats:B,numberFormats:W,get inheritLocale(){return r.value?r.value.inheritLocale:a},set inheritLocale(y){r.value&&(r.value.inheritLocale=y)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:b},get pluralRules(){return r.value?r.value.pluralRules:N},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackWarn(){return r.value?r.value.fallbackWarn:_},set fallbackWarn(y){r.value&&(r.value.missingWarn=y)},get fallbackRoot(){return r.value?r.value.fallbackRoot:$},set fallbackRoot(y){r.value&&(r.value.fallbackRoot=y)},get fallbackFormat(){return r.value?r.value.fallbackFormat:k},set fallbackFormat(y){r.value&&(r.value.fallbackFormat=y)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:C},set warnHtmlMessage(y){r.value&&(r.value.warnHtmlMessage=y)},get escapeParameter(){return r.value?r.value.escapeParameter:h},set escapeParameter(y){r.value&&(r.value.escapeParameter=y)},t:X,getPostTranslationHandler:K,setPostTranslationHandler:oe,getMissingHandler:ue,setMissingHandler:q,rt:le,d:Pe,n:At,tm:Te,te:Re,getLocaleMessage:no,setLocaleMessage:ro,mergeLocaleMessage:ho,getDateTimeFormat:gt,setDateTimeFormat:Ut,mergeDateTimeFormat:Wt,getNumberFormat:so,setNumberFormat:st,mergeNumberFormat:Io};function v(y){y.locale.value=i.value,y.fallbackLocale.value=l.value,Object.keys(c.value).forEach(T=>{y.mergeLocaleMessage(T,c.value[T])}),Object.keys(u.value).forEach(T=>{y.mergeDateTimeFormat(T,u.value[T])}),Object.keys(g.value).forEach(T=>{y.mergeNumberFormat(T,g.value[T])}),y.escapeParameter=h,y.fallbackFormat=k,y.fallbackRoot=$,y.fallbackWarn=_,y.missingWarn=f,y.warnHtmlMessage=C}return ka(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Me(Fe.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const y=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=y.locale.value,l.value=y.fallbackLocale.value,c.value=y.messages.value,u.value=y.datetimeFormats.value,g.value=y.numberFormats.value):s&&v(y)}),m}const om=["locale","fallbackLocale","availableLocales"],jl=["t","rt","d","n","tm","te"];function nm(e,t){const o=Object.create(null);return om.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r)throw Me(Fe.UNEXPECTED_ERROR);const a=Ae(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,s,a)}),e.config.globalProperties.$i18n=o,jl.forEach(s=>{const r=Object.getOwnPropertyDescriptor(t,s);if(!r||!r.value)throw Me(Fe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,r)}),()=>{delete e.config.globalProperties.$i18n,jl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}if(Ih(),__INTLIFY_JIT_COMPILATION__?sl(Eh):sl(Ph),yh(Qf),$h(el),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,lh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const rm=Object.assign({"./locales/ar/aria.json":Bp,"./locales/ar/buttons.json":Gp,"./locales/ar/detail.json":Up,"./locales/ar/legend.json":Wp,"./locales/ar/messages.json":jp,"./locales/ar/options.json":Vp,"./locales/ar/popup.json":zp,"./locales/ar/prayerLaps.json":Yp,"./locales/ar/regions.json":Hp,"./locales/ar/search.json":qp,"./locales/ar/tabs.json":Kp,"./locales/de/aria.json":Xp,"./locales/de/buttons.json":Zp,"./locales/de/detail.json":Jp,"./locales/de/legend.json":Qp,"./locales/de/messages.json":ed,"./locales/de/options.json":td,"./locales/de/popup.json":od,"./locales/de/prayerLaps.json":nd,"./locales/de/regions.json":rd,"./locales/de/search.json":sd,"./locales/de/tabs.json":ad,"./locales/en/aria.json":id,"./locales/en/buttons.json":ld,"./locales/en/detail.json":cd,"./locales/en/legend.json":ud,"./locales/en/messages.json":pd,"./locales/en/options.json":dd,"./locales/en/popup.json":gd,"./locales/en/prayerLaps.json":fd,"./locales/en/regions.json":hd,"./locales/en/search.json":md,"./locales/en/tabs.json":_d,"./locales/es/aria.json":bd,"./locales/es/buttons.json":yd,"./locales/es/detail.json":$d,"./locales/es/legend.json":vd,"./locales/es/messages.json":wd,"./locales/es/options.json":kd,"./locales/es/popup.json":Od,"./locales/es/prayerLaps.json":Ad,"./locales/es/regions.json":Cd,"./locales/es/search.json":Nd,"./locales/es/tabs.json":Pd,"./locales/fr/aria.json":Ed,"./locales/fr/buttons.json":Ld,"./locales/fr/detail.json":Sd,"./locales/fr/legend.json":Fd,"./locales/fr/messages.json":Td,"./locales/fr/options.json":xd,"./locales/fr/popup.json":Id,"./locales/fr/prayerLaps.json":Md,"./locales/fr/regions.json":Rd,"./locales/fr/search.json":Dd,"./locales/fr/tabs.json":Bd,"./locales/hi/aria.json":Gd,"./locales/hi/buttons.json":Ud,"./locales/hi/detail.json":Wd,"./locales/hi/legend.json":jd,"./locales/hi/messages.json":Vd,"./locales/hi/options.json":zd,"./locales/hi/popup.json":Yd,"./locales/hi/prayerLaps.json":Hd,"./locales/hi/regions.json":qd,"./locales/hi/search.json":Kd,"./locales/hi/tabs.json":Xd,"./locales/it/aria.json":Zd,"./locales/it/buttons.json":Jd,"./locales/it/detail.json":Qd,"./locales/it/legend.json":eg,"./locales/it/messages.json":tg,"./locales/it/options.json":og,"./locales/it/popup.json":ng,"./locales/it/prayerLaps.json":rg,"./locales/it/regions.json":sg,"./locales/it/search.json":ag,"./locales/it/tabs.json":ig,"./locales/pt/aria.json":lg,"./locales/pt/buttons.json":cg,"./locales/pt/detail.json":ug,"./locales/pt/legend.json":pg,"./locales/pt/messages.json":dg,"./locales/pt/options.json":gg,"./locales/pt/popup.json":fg,"./locales/pt/prayerLaps.json":hg,"./locales/pt/regions.json":mg,"./locales/pt/search.json":_g,"./locales/pt/tabs.json":bg,"./locales/ro/aria.json":yg,"./locales/ro/buttons.json":$g,"./locales/ro/detail.json":vg,"./locales/ro/legend.json":wg,"./locales/ro/messages.json":kg,"./locales/ro/options.json":Og,"./locales/ro/popup.json":Ag,"./locales/ro/prayerLaps.json":Cg,"./locales/ro/regions.json":Ng,"./locales/ro/search.json":Pg,"./locales/ro/tabs.json":Eg,"./locales/ru/aria.json":Lg,"./locales/ru/buttons.json":Sg,"./locales/ru/detail.json":Fg,"./locales/ru/legend.json":Tg,"./locales/ru/messages.json":xg,"./locales/ru/options.json":Ig,"./locales/ru/popup.json":Mg,"./locales/ru/prayerLaps.json":Rg,"./locales/ru/regions.json":Dg,"./locales/ru/search.json":Bg,"./locales/ru/tabs.json":Gg,"./locales/zh/aria.json":Ug,"./locales/zh/buttons.json":Wg,"./locales/zh/detail.json":jg,"./locales/zh/legend.json":Vg,"./locales/zh/messages.json":zg,"./locales/zh/options.json":Yg,"./locales/zh/popup.json":Hg,"./locales/zh/prayerLaps.json":qg,"./locales/zh/regions.json":Kg,"./locales/zh/search.json":Xg,"./locales/zh/tabs.json":Zg}),gn={};for(const[e,t]of Object.entries(rm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,s]=o;gn[n]??(gn[n]={}),gn[n][s]=t}const ks=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],sm=new Set(["ar"]);function am(){var n;const e=(()=>{try{const s=new URLSearchParams(window.location.search);return(s.get("lang")||s.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(ks.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return ks.includes(o)?o:"en"}function im(){const e=am();try{sm.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return Hh({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:gn,missingWarn:!1,fallbackWarn:!1})}function Gt(e,t){const o=t||lm(e);Ht(()=>{var i;const n=It();if(!n)return;const s=(i=n.proxy)==null?void 0:i.$el;if(!s)return;const r=s.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,r.appendChild(a)})}function lm(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),s=ae(()=>{var A;return((A=o==null?void 0:o.value)==null?void 0:A.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=re(!1),a=re(null);let i=null,l=null,c=null,u=null,g=null;function f(){r.value=!1}function _(A,S){var h;let C=A==null?void 0:A.parentElement;for(let b=0;C&&b<12;b++,C=C.parentElement){if(C===S||(h=C.classList)!=null&&h.contains("profile-loader"))return null;let N="";try{N=getComputedStyle(C).position}catch{}if(N&&N!=="static"){const O=C.getBoundingClientRect();if(O.height>=120&&O.width>=160)return C}}return null}function $(){const A=a.value;if(A)try{A.style.removeProperty("--pin-hint-lift");const S=A.getBoundingClientRect();if(!S.height)return;const C=Math.round(S.bottom-window.innerHeight);C>0&&A.style.setProperty("--pin-hint-lift",C+8+"px")}catch{}}function k(A){const S=a.value;if(!S||!(A!=null&&A.querySelector))return;let C=0;try{const b=A.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const N=b.getBoundingClientRect(),O=S.parentElement,P=O?O.getBoundingClientRect():null;if(C=P?Math.max(N.height||0,P.bottom-N.top):N.height||0,g!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=b,c=new ResizeObserver(()=>k(A)),c.observe(b)}}}catch{}const h=Math.min(Math.max(Math.ceil(C)||20,20),72);S.style.setProperty("--pin-hint-attrib-clear",h+"px"),$()}return Ht(()=>{var h,b,N;const A=It(),S=(N=(b=(h=A==null?void 0:A.proxy)==null?void 0:h.$el)==null?void 0:b.getRootNode)==null?void 0:N.call(b);if(!S||typeof S.querySelector!="function")return;let C=0;i=setInterval(()=>{C++;const O=S.querySelector("canvas");O?(clearInterval(i),i=null,r.value=!0,Yo(()=>{const P=_(O,S),F=a.value;if(P&&F&&F.parentElement!==P)try{P.appendChild(F),l=P}catch{}k(S),$();try{const w=a.value&&a.value.offsetParent||null;if(w&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>$()),u.observe(w)}}catch{}})):C>40&&(clearInterval(i),i=null)},300)}),qt(()=>{var A;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((A=a.value)==null?void 0:A.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Gt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -68,7 +68,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(A,F)=>r.value?(Y(),J("div",{key:0,ref_key:"hintEl",ref:a,class:Ee(["pin-hint",{dark:n.value}]),role:"status"},[I("span",cm,[F[0]||(F[0]=I("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ke(" "+Q(s.value)+" ",1),I("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:f},"×")])],2)):Se("",!0)}};let pm=0;const dm=ts("ui",{state:()=>({_storeInstanceId:++pm,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:s=null,persistent:r=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(a),!r&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),gm=ts("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let s=[0,0];if(o.center)s=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(s=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,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 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()}}}),fm=ts("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=$o({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),hm={activeSource:"pray-tools"},mm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",_m=(e,t)=>{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},bm={class:"profile-loader"},ym={key:0,class:"profile-error"},$m={key:1,class:"profile-error"},wm=_m({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var N;const o=e,n=Ie("profileConfig",null),s=ae(()=>{var P;if(!o.profileConfig)return null;let O;try{O=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(O&&O.assetsBase===void 0){const L=(P=n==null?void 0:n.value)==null?void 0:P.assetsBase;typeof L=="string"&&L&&(O.assetsBase=L)}return O}),r=ae(()=>{var O;return((O=s.value)==null?void 0:O.profile)||null}),a=Rp(),i=ae(()=>{var P;const O=(P=s.value)==null?void 0:P.tk;return typeof O=="string"&&O?O:a.value||""});nt(()=>{var O;return(O=s.value)==null?void 0:O.tk},O=>{typeof O=="string"&&O&&Pi(O)},{immediate:!0});const l=ae(()=>{var O;return((O=s.value)==null?void 0:O.dataSource)||hm.activeSource}),c=ae(()=>{var O;return((O=s.value)==null?void 0:O.colorSet)||"default"}),u=ae(()=>!1),g=ae(()=>{var O;return((O=s.value)==null?void 0:O.pinHint)!==!1}),f=ae(()=>{var P,L;const O=(((P=s.value)==null?void 0:P.locale)||((L=s.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return ks.includes(O)?O:""}),_=Ie("appI18n",null);Yc(()=>{f.value&&_&&(_.global.locale.value=f.value)});const $=ae(()=>{var O,P;return f.value||((P=(O=_==null?void 0:_.global)==null?void 0:O.locale)==null?void 0:P.value)||"en"}),k=ae(()=>{var O;return((O=s.value)==null?void 0:O.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),A=Ie("profileModules",null);if(!A)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const F=ae(()=>{if(!r.value)return null;const O=`./${r.value}.vue`;return A[O]?Bp(A[O]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(A)),null)});ot("mapboxToken",i),ot("dataSource",l),ot("colorSet",c),ot("profileConfig",s),ot("instanceId",k),ot("lang",$);const C=dm(),h=gm(),b=fm();try{const O=typeof localStorage<"u"?localStorage.getItem("theme"):null;O&&((N=C.setTheme)==null||N.call(C,O))}catch{}return ot("uiStore",C),ot("mapStore",h),ot("dataStore",b),(O,P)=>(Y(),J("div",bm,[s.value?F.value?(Y(),Qe(Aa(F.value),{key:2})):(Y(),J("div",$m,[I("p",null,[P[1]||(P[1]=ke("⚠️ Profile ",-1)),I("strong",null,'"'+Q(r.value)+'"',1),P[2]||(P[2]=ke(" not found.",-1))])])):(Y(),J("div",ym,[...P[0]||(P[0]=[I("p",null,[ke("⚠️ "),I("strong",null,"doxa-map"),ke(": missing or invalid "),I("code",null,"profile-config"),ke(" prop.")],-1),I("p",null,[ke("Example: "),I("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),F.value&&u.value?(Y(),Qe(Aa(qe(null)),{key:3})):Se("",!0),F.value&&g.value?(Y(),Qe(um,{key:4})):Se("",!0)]))}},[["styles",[mm]],["__scopeId","data-v-ba19fc13"]]),vm=Object.assign({"./connectivity-list.vue":()=>ur(()=>Promise.resolve().then(()=>Dm),void 0),"./connectivity-map.vue":()=>ur(()=>Promise.resolve().then(()=>D_),void 0),"./data-tables.vue":()=>ur(()=>Promise.resolve().then(()=>ub),void 0)});function km(){return wp(wm,{configureApp(e){e.use(Sp()),e.use(im()),e.provide("profileModules",vm)}})}const Om=km();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Om));const Am={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"}}]},Cm={class:"ci-tot"},Nm={class:"ci-chip"},Pm={class:"ci-chip"},Em={class:"ci-chip"},Sm={class:"ci-chip"},Fm=["onClick"],Lm={class:"sec-name"},Tm={class:"sec-meta"},xm={class:"r-name"},Im={class:"r-sub"},Mm={class:"r-num"},Rm={class:"r-sub"},Bm={class:"r-num"},Dm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var g;return((g=t.value)==null?void 0:g.isDark)===!0}),n=ae(()=>Am.countries||[]),s=ae(()=>{const g=new Map;for(const f of n.value){const _=f.region||"Other";g.has(_)||g.set(_,[]),g.get(_).push(f)}return[...g.entries()].map(([f,_])=>({name:f,items:_.slice().sort(($,k)=>k.people_groups-$.people_groups),groups:_.reduce(($,k)=>$+k.people_groups,0),unknown:_.filter($=>$.internet_access==="unknown").length})).sort((f,_)=>_.groups-f.groups)}),r=re({}),a=g=>!!r.value[g],i=g=>{r.value={...r.value,[g]:!r.value[g]}},l=ae(()=>{const g=n.value;return{countries:g.length,resolved:g.filter(f=>f.internet_access!=="unknown").length,unknown:g.filter(f=>f.internet_access==="unknown").length,low:g.filter(f=>f.internet_access==="no").length}}),c=g=>g==="yes"?"ok":g==="partial"?"mid":g==="no"?"low":"unk",u=g=>g==="yes"?"connected":g==="partial"?"partial":g==="no"?"low":"unknown";return Wt(".ci{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ci.is-dark{background:#0a1410;color:#e5e7eb}.ci-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.ci-sub{margin:0 auto 18px;max-width:640px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.ci-tot{display:flex;gap:14px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.ci-chip{font-size:11.5px;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:600}.is-dark .ci-chip{background:rgba(255,255,255,.10)}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px 10px 8px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:600}.r-sub{font-size:11px;opacity:.6}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.src{max-width:1080px;margin:8px auto 0;font-size:11px;line-height:1.6;opacity:.6;text-align:center}","doxa-cities-internet"),(g,f)=>(Y(),J("div",{class:Ee(["ci",{"is-dark":o.value}])},[f[1]||(f[1]=I("h2",{class:"ci-h"},"Cities with Internet",-1)),f[2]||(f[2]=I("p",{class:"ci-sub"},[ke(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),I("strong",null,"unknown means unmeasured, never assumed"),ke(". ")],-1)),I("div",Cm,[I("span",Nm,Q(l.value.countries)+" countries",1),I("span",Pm,Q(l.value.resolved)+" measured",1),I("span",Em,Q(l.value.unknown)+" unknown",1),I("span",Sm,Q(l.value.low)+" low-connectivity",1)]),(Y(!0),J(de,null,ct(s.value,_=>(Y(),J("section",{key:_.name,class:"sec"},[I("button",{type:"button",class:"sec-head",onClick:$=>i(_.name)},[I("span",{class:Ee(["sec-caret",{open:!a(_.name)}])},"▶",2),I("h3",Lm,Q(_.name),1),I("span",Tm,[ke(Q(_.items.length)+" countries · "+Q(_.groups.toLocaleString())+" people groups ",1),_.unknown?(Y(),J(de,{key:0},[ke(" · "+Q(_.unknown)+" unmeasured",1)],64)):Se("",!0)])],8,Fm),Uc(I("div",null,[(Y(!0),J(de,null,ct(_.items,$=>(Y(),J("div",{key:$.iso3,class:"row"},[I("div",null,[I("div",xm,Q($.country),1),I("div",Im,[ke(Q($.people_groups)+" people groups · "+Q($.clusters)+" locations ",1),$.multi?(Y(),J(de,{key:0},[ke(" · "+Q($.multi)+" population centres",1)],64)):Se("",!0)])]),I("div",Mm,[$.internet_pct!==null&&$.internet_pct!==void 0?(Y(),J(de,{key:0},[ke(Q($.internet_pct)+"% ",1),I("div",Rm,Q($.internet_year),1)],64)):(Y(),J(de,{key:1},[ke("—")],64))]),I("div",Bm,[$.mobile_per_100!==null&&$.mobile_per_100!==void 0?(Y(),J(de,{key:0},[ke(Q($.mobile_per_100)+" ",1),f[0]||(f[0]=I("div",{class:"r-sub"},"mob/100",-1))],64)):(Y(),J(de,{key:1},[ke("—")],64))]),I("span",{class:Ee(["pill",c($.internet_access)])},Q(u($.internet_access)),3)]))),128))],512),[[np,!a(_.name)]])]))),128)),f[3]||(f[3]=I("p",{class:"src"}," Internet and mobile figures: World Bank Open Data (CC BY 4.0), most recent observation 2018–2024. Banding: connected ≥60% · partial 25–59% · low <25% of population using the internet. Country-resolution — per-city measurements are not publicly available at this scale. ISP names, carrier names and censorship history require per-country cited reporting and are not shown. ",-1))],2))}}},Symbol.toStringTag,{value:"Module"})),Os={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function Wm(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:o=!0,basemap:n=!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=[];o&&r.push(Os.boundaries),n&&(r.push(Os.mapbox),r.push(Os.osm)),s.innerHTML=r.map(i=>`${i.label}`).join(" · ");const a={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(a,"bottom-right"),a}const Gm={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=re(null);return ot("mapToolbar",{el:t}),Wt(` +`,"pin-hint"),(A,S)=>r.value?(Y(),Z("div",{key:0,ref_key:"hintEl",ref:a,class:Ee(["pin-hint",{dark:n.value}]),role:"status"},[I("span",cm,[S[0]||(S[0]=I("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),ke(" "+Q(s.value)+" ",1),I("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:f},"×")])],2)):Le("",!0)}};let pm=0;const dm=ts("ui",{state:()=>({_storeInstanceId:++pm,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:s=null,persistent:r=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:s,persistent:r,createdAt:Date.now()};return this.toasts.push(a),!r&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(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)}))}}}),gm=ts("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let s=[0,0];if(o.center)s=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(s=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,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 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()}}}),fm=ts("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=$o({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),hm={activeSource:"pray-tools"},mm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",_m=(e,t)=>{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},bm={class:"profile-loader"},ym={key:0,class:"profile-error"},$m={key:1,class:"profile-error"},vm=_m({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var N;const o=e,n=Ie("profileConfig",null),s=ae(()=>{var P;if(!o.profileConfig)return null;let O;try{O=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(O&&O.assetsBase===void 0){const F=(P=n==null?void 0:n.value)==null?void 0:P.assetsBase;typeof F=="string"&&F&&(O.assetsBase=F)}return O}),r=ae(()=>{var O;return((O=s.value)==null?void 0:O.profile)||null}),a=Rp(),i=ae(()=>{var P;const O=(P=s.value)==null?void 0:P.tk;return typeof O=="string"&&O?O:a.value||""});nt(()=>{var O;return(O=s.value)==null?void 0:O.tk},O=>{typeof O=="string"&&O&&Pi(O)},{immediate:!0});const l=ae(()=>{var O;return((O=s.value)==null?void 0:O.dataSource)||hm.activeSource}),c=ae(()=>{var O;return((O=s.value)==null?void 0:O.colorSet)||"default"}),u=ae(()=>!1),g=ae(()=>{var O;return((O=s.value)==null?void 0:O.pinHint)!==!1}),f=ae(()=>{var P,F;const O=(((P=s.value)==null?void 0:P.locale)||((F=s.value)==null?void 0:F.lang)||"").split("-")[0].toLowerCase();return ks.includes(O)?O:""}),_=Ie("appI18n",null);Yc(()=>{f.value&&_&&(_.global.locale.value=f.value)});const $=ae(()=>{var O,P;return f.value||((P=(O=_==null?void 0:_.global)==null?void 0:O.locale)==null?void 0:P.value)||"en"}),k=ae(()=>{var O;return((O=s.value)==null?void 0:O.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),A=Ie("profileModules",null);if(!A)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const S=ae(()=>{if(!r.value)return null;const O=`./${r.value}.vue`;return A[O]?Dp(A[O]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(A)),null)});ot("mapboxToken",i),ot("dataSource",l),ot("colorSet",c),ot("profileConfig",s),ot("instanceId",k),ot("lang",$);const C=dm(),h=gm(),b=fm();try{const O=typeof localStorage<"u"?localStorage.getItem("theme"):null;O&&((N=C.setTheme)==null||N.call(C,O))}catch{}return ot("uiStore",C),ot("mapStore",h),ot("dataStore",b),(O,P)=>(Y(),Z("div",bm,[s.value?S.value?(Y(),Qe(Aa(S.value),{key:2})):(Y(),Z("div",$m,[I("p",null,[P[1]||(P[1]=ke("⚠️ Profile ",-1)),I("strong",null,'"'+Q(r.value)+'"',1),P[2]||(P[2]=ke(" not found.",-1))])])):(Y(),Z("div",ym,[...P[0]||(P[0]=[I("p",null,[ke("⚠️ "),I("strong",null,"doxa-map"),ke(": missing or invalid "),I("code",null,"profile-config"),ke(" prop.")],-1),I("p",null,[ke("Example: "),I("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),S.value&&u.value?(Y(),Qe(Aa(qe(null)),{key:3})):Le("",!0),S.value&&g.value?(Y(),Qe(um,{key:4})):Le("",!0)]))}},[["styles",[mm]],["__scopeId","data-v-ba19fc13"]]),wm=Object.assign({"./connectivity-list.vue":()=>ur(()=>Promise.resolve().then(()=>Bm),void 0),"./connectivity-map.vue":()=>ur(()=>Promise.resolve().then(()=>B_),void 0),"./data-tables.vue":()=>ur(()=>Promise.resolve().then(()=>u0),void 0)});function km(){return vp(vm,{configureApp(e){e.use(Lp()),e.use(im()),e.provide("profileModules",wm)}})}const Om=km();typeof customElements<"u"&&(customElements.get("cities-internet-map")||customElements.define("cities-internet-map",Om));const Am={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"}}]},Cm={class:"ci-tot"},Nm={class:"ci-chip"},Pm={class:"ci-chip"},Em={class:"ci-chip"},Lm={class:"ci-chip"},Sm=["onClick"],Fm={class:"sec-name"},Tm={class:"sec-meta"},xm={class:"r-name"},Im={class:"r-sub"},Mm={class:"r-num"},Rm={class:"r-sub"},Dm={class:"r-num"},Bm=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-list",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var g;return((g=t.value)==null?void 0:g.isDark)===!0}),n=ae(()=>Am.countries||[]),s=ae(()=>{const g=new Map;for(const f of n.value){const _=f.region||"Other";g.has(_)||g.set(_,[]),g.get(_).push(f)}return[...g.entries()].map(([f,_])=>({name:f,items:_.slice().sort(($,k)=>k.people_groups-$.people_groups),groups:_.reduce(($,k)=>$+k.people_groups,0),unknown:_.filter($=>$.internet_access==="unknown").length})).sort((f,_)=>_.groups-f.groups)}),r=re({}),a=g=>!!r.value[g],i=g=>{r.value={...r.value,[g]:!r.value[g]}},l=ae(()=>{const g=n.value;return{countries:g.length,resolved:g.filter(f=>f.internet_access!=="unknown").length,unknown:g.filter(f=>f.internet_access==="unknown").length,low:g.filter(f=>f.internet_access==="no").length}}),c=g=>g==="yes"?"ok":g==="partial"?"mid":g==="no"?"low":"unk",u=g=>g==="yes"?"connected":g==="partial"?"partial":g==="no"?"low":"unknown";return Gt(".ci{position:absolute;inset:0;overflow-y:auto;padding:20px 18px 44px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ci.is-dark{background:#0a1410;color:#e5e7eb}.ci-h{margin:0 0 4px;font-size:19px;font-weight:700;text-align:center}.ci-sub{margin:0 auto 18px;max-width:640px;font-size:12.5px;line-height:1.55;text-align:center;opacity:.75}.ci-tot{display:flex;gap:14px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.ci-chip{font-size:11.5px;padding:4px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:600}.is-dark .ci-chip{background:rgba(255,255,255,.10)}.sec{max-width:1080px;margin:0 auto;padding-bottom:34px}.sec-head{position:sticky;top:0;z-index:6;background:#f6f7f9;display:flex;align-items:baseline;gap:10px;padding:10px 10px 8px;margin:0 2px 10px;border-bottom:1px solid rgba(0,0,0,.10);cursor:pointer;user-select:none;width:100%;text-align:left;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;box-shadow:0 6px 10px -8px rgba(0,0,0,.35);border-radius:4px 4px 0 0}.is-dark .sec-head{background:#0a1410;border-bottom-color:rgba(255,255,255,.12)}.sec-caret{display:inline-block;width:12px;font-size:10px;opacity:.55;transition:transform .18s}.sec-caret.open{transform:rotate(90deg)}.sec-name{margin:0;font-size:15px;font-weight:700}.sec-meta{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.is-dark .row{border-bottom-color:rgba(255,255,255,.07)}.r-name{font-size:13.5px;font-weight:600}.r-sub{font-size:11px;opacity:.6}.r-num{font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:rgba(16,185,129,.15);color:#0b7a5b}.pill.mid{background:rgba(245,158,11,.16);color:#8a6414}.pill.low{background:rgba(220,38,38,.13);color:#a12020}.pill.unk{background:rgba(0,0,0,.07);color:#6b7280}.is-dark .pill.unk{background:rgba(255,255,255,.10);color:#9ca3af}.src{max-width:1080px;margin:8px auto 0;font-size:11px;line-height:1.6;opacity:.6;text-align:center}","doxa-cities-internet"),(g,f)=>(Y(),Z("div",{class:Ee(["ci",{"is-dark":o.value}])},[f[1]||(f[1]=I("h2",{class:"ci-h"},"Cities with Internet",-1)),f[2]||(f[2]=I("p",{class:"ci-sub"},[ke(" Connectivity where the unengaged people groups live. Every figure is a measured national statistic with its observation year — "),I("strong",null,"unknown means unmeasured, never assumed"),ke(". ")],-1)),I("div",Cm,[I("span",Nm,Q(l.value.countries)+" countries",1),I("span",Pm,Q(l.value.resolved)+" measured",1),I("span",Em,Q(l.value.unknown)+" unknown",1),I("span",Lm,Q(l.value.low)+" low-connectivity",1)]),(Y(!0),Z(de,null,ct(s.value,_=>(Y(),Z("section",{key:_.name,class:"sec"},[I("button",{type:"button",class:"sec-head",onClick:$=>i(_.name)},[I("span",{class:Ee(["sec-caret",{open:!a(_.name)}])},"▶",2),I("h3",Fm,Q(_.name),1),I("span",Tm,[ke(Q(_.items.length)+" countries · "+Q(_.groups.toLocaleString())+" people groups ",1),_.unknown?(Y(),Z(de,{key:0},[ke(" · "+Q(_.unknown)+" unmeasured",1)],64)):Le("",!0)])],8,Sm),Wc(I("div",null,[(Y(!0),Z(de,null,ct(_.items,$=>(Y(),Z("div",{key:$.iso3,class:"row"},[I("div",null,[I("div",xm,Q($.country),1),I("div",Im,[ke(Q($.people_groups)+" people groups · "+Q($.clusters)+" locations ",1),$.multi?(Y(),Z(de,{key:0},[ke(" · "+Q($.multi)+" population centres",1)],64)):Le("",!0)])]),I("div",Mm,[$.internet_pct!==null&&$.internet_pct!==void 0?(Y(),Z(de,{key:0},[ke(Q($.internet_pct)+"% ",1),I("div",Rm,Q($.internet_year),1)],64)):(Y(),Z(de,{key:1},[ke("—")],64))]),I("div",Dm,[$.mobile_per_100!==null&&$.mobile_per_100!==void 0?(Y(),Z(de,{key:0},[ke(Q($.mobile_per_100)+" ",1),f[0]||(f[0]=I("div",{class:"r-sub"},"mob/100",-1))],64)):(Y(),Z(de,{key:1},[ke("—")],64))]),I("span",{class:Ee(["pill",c($.internet_access)])},Q(u($.internet_access)),3)]))),128))],512),[[np,!a(_.name)]])]))),128)),f[3]||(f[3]=I("p",{class:"src"}," Internet and mobile figures: World Bank Open Data (CC BY 4.0), most recent observation 2018–2024. Banding: connected ≥60% · partial 25–59% · low <25% of population using the internet. Country-resolution — per-city measurements are not publicly available at this scale. ISP names, carrier names and censorship history require per-country cited reporting and are not shown. ",-1))],2))}}},Symbol.toStringTag,{value:"Module"})),Os={boundaries:{label:"geoBoundaries",href:"https://www.geoboundaries.org",title:"Country and administrative boundaries — geoBoundaries gbOpen (mixed upstream licences; see docs)"},mapbox:{label:"Mapbox",href:"https://www.mapbox.com/about/maps/"},osm:{label:"© OpenStreetMap",href:"https://www.openstreetmap.org/copyright"}};function Gm(e,t={}){if(!e||typeof e.addControl!="function")return null;const{boundaries:o=!0,basemap:n=!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=[];o&&r.push(Os.boundaries),n&&(r.push(Os.mapbox),r.push(Os.osm)),s.innerHTML=r.map(i=>`${i.label}`).join(" · ");const a={onAdd:()=>s,onRemove:()=>{s.parentNode&&s.parentNode.removeChild(s)},getDefaultPosition:()=>"bottom-right"};return e.addControl(a,"bottom-right"),a}const Um={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=re(null);return ot("mapToolbar",{el:t}),Gt(` .map-toolbar { position: absolute; top: 6px; @@ -85,7 +85,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(Y(),J("div",{ref_key:"toolbarEl",ref:t,class:Ee(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Mr(o.$slots,"default")],2))}},Um=["title","aria-label","disabled"],fn={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Wt(` +`,"map-toolbar"),(o,n)=>(Y(),Z("div",{ref_key:"toolbarEl",ref:t,class:Ee(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Mr(o.$slots,"default")],2))}},Wm=["title","aria-label","disabled"],fn={__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 Gt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -111,7 +111,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,o)=>(Y(),J("button",{class:Ee(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Mr(t.$slots,"default")],10,Um))}},jm={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=to(),o=e;function n(){var s;o.disabled||(s=o.map)==null||s.zoomIn()}return(s,r)=>(Y(),Qe(fn,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomIn"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Vm={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=to(),o=e;function n(){var s;o.disabled||(s=o.map)==null||s.zoomOut()}return(s,r)=>(Y(),Qe(fn,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomOut"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},zm={__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}=to(),o=e;function n(){var r;(r=o.map)==null||r.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function s(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:a,latitude:i}=r.coords;Number.isFinite(a)&&Number.isFinite(i)?o.map.flyTo({center:[a,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,a)=>(Y(),Qe(fn,{"is-dark":e.isDark,title:qe(t)("buttons.resetView"),onClick:s},{default:zt(()=>[...a[0]||(a[0]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[I("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},Ym={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Hm={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},qm={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=to(),n=e,s=t,r=re(!1);let a=null,i=null,l=null,c=null,u=null,g=null,f=null,_=null,$=null,k=null,A=null,F=0,C=0,h=null,b=null;function N(){if(typeof document>"u")return!1;const q=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(q)||q.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function O(){var q,W,X;return((X=(W=(q=n.mapContainer)==null?void 0:q.getRootNode)==null?void 0:W.call(q))==null?void 0:X.host)??null}function P(){var W,X;const q=(X=(W=n.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);return document.fullscreenElement||document.webkitFullscreenElement||(q&&q instanceof ShadowRoot?q.fullscreenElement:null)||null}function L(q){const W=q.requestFullscreen||q.webkitRequestFullscreen;if(!W)return Promise.reject(new Error("Fullscreen API unavailable"));const X=W.call(q);return X&&typeof X.then=="function"?X:Promise.resolve()}function v(){const q=document.exitFullscreen||document.webkitExitFullscreen;if(!q)return Promise.reject(new Error("Fullscreen API unavailable"));const W=q.call(document);return W&&typeof W.then=="function"?W:Promise.resolve()}function D(){const q=O();if(!q)return!1;if(l=q,i=q.style.cssText,q.style.position="fixed",q.style.top="0",q.style.left="0",q.style.right="0",q.style.bottom="0",q.style.width="100vw",q.style.height="100vh",q.style.height="100dvh",q.style.zIndex="2147483647",q.style.margin="0",q.style.borderRadius="0",q.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){F=window.scrollY||window.pageYOffset||0,C=window.scrollX||window.pageXOffset||0;const W=document.body,X=document.documentElement;c=W?W.style.overflow:null,u=X?X.style.overflow:null,g=W?W.style.position:null,f=W?W.style.top:null,_=W?W.style.left:null,$=W?W.style.width:null,k=W?W.style.touchAction:null,A=X?X.style.touchAction:null,X&&(X.style.overflow="hidden",X.style.touchAction="none"),W&&(W.style.overflow="hidden",W.style.position="fixed",W.style.top=`-${F}px`,W.style.left=`-${C}px`,W.style.width="100%",W.style.touchAction="none"),h=le=>{if(!l)return;const Pe=le.target;Pe&&(Pe===l||l.contains&&l.contains(Pe))||le.cancelable&&le.preventDefault()},b=le=>{if(!l)return;const Pe=le.target;Pe&&(Pe===l||l.contains&&l.contains(Pe))||le.cancelable&&le.preventDefault()},document.addEventListener("touchmove",h,{passive:!1,capture:!0}),document.addEventListener("wheel",b,{passive:!1,capture:!0})}return!0}function U(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const q=document.body,W=document.documentElement;q&&(q.style.overflow=c??"",q.style.position=g??"",q.style.top=f??"",q.style.left=_??"",q.style.width=$??"",q.style.touchAction=k??""),W&&(W.style.overflow=u??"",W.style.touchAction=A??""),h&&(document.removeEventListener("touchmove",h,{capture:!0}),h=null),b&&(document.removeEventListener("wheel",b,{capture:!0}),b=null),typeof window<"u"&&(F||C)&&window.scrollTo(C,F)}c=null,u=null,g=null,f=null,_=null,$=null,k=null,A=null,F=0,C=0}}function K(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function oe(){if(!N()){r.value?(U(),r.value=!1,s("change",!1)):D()&&(r.value=!0,s("change",!0)),K();return}if(P())v().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const W=O()??document.documentElement;L(W).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{L(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!P(),s("change",r.value)}return Ht(()=>{var W,X;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const q=(X=(W=n.mapContainer)==null?void 0:W.getRootNode)==null?void 0:X.call(W);q instanceof ShadowRoot&&(a=q,q.addEventListener("fullscreenchange",ue),q.addEventListener("webkitfullscreenchange",ue))}),qt(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),a&&(a.removeEventListener("fullscreenchange",ue),a.removeEventListener("webkitfullscreenchange",ue),a=null),l&&U()}),(q,W)=>(Y(),Qe(fn,{"is-dark":e.isDark,active:r.value,title:qe(o)("buttons.toggleFullscreen"),onClick:oe},{default:zt(()=>[r.value?(Y(),J("svg",Hm,[...W[1]||(W[1]=[I("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(Y(),J("svg",Ym,[...W[0]||(W[0]=[I("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},Km=cr&&cr.tagName.toUpperCase()==="SCRIPT"&&cr.src||new URL("cities-internet.js",document.baseURI).href,oo=e=>String(e||"").trim().replace(/\/+$/,"");function Vl(){try{const t=String(Km||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Xm(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return oo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return oo(o)}return oo(Vl()||"")}function zl(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=oo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=oo((e==null?void 0:e.treeBase)||"")||oo(Vl()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return oo(new URL(o+"/../assets",n).href)}catch{return oo(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Jm({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,s=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return s?window.location.origin+a:a;const i=Xm(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return s?window.location.origin+window.location.pathname:""}const Zm=["aria-label"],Qm={class:"mcm-header"},e_={class:"mcm-title"},t_={class:"mcm-body"},o_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",As="doxa-map-menu-open",n_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Wt(` +`,"map-control-button"),(t,o)=>(Y(),Z("button",{class:Ee(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Mr(t.$slots,"default")],10,Wm))}},jm={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=to(),o=e;function n(){var s;o.disabled||(s=o.map)==null||s.zoomIn()}return(s,r)=>(Y(),Qe(fn,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomIn"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Vm={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=to(),o=e;function n(){var s;o.disabled||(s=o.map)==null||s.zoomOut()}return(s,r)=>(Y(),Qe(fn,{"is-dark":e.isDark,disabled:e.disabled,title:qe(t)("buttons.zoomOut"),onClick:n},{default:zt(()=>[...r[0]||(r[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},zm={__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}=to(),o=e;function n(){var r;(r=o.map)==null||r.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function s(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:a,latitude:i}=r.coords;Number.isFinite(a)&&Number.isFinite(i)?o.map.flyTo({center:[a,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,a)=>(Y(),Qe(fn,{"is-dark":e.isDark,title:qe(t)("buttons.resetView"),onClick:s},{default:zt(()=>[...a[0]||(a[0]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[I("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},Ym={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},Hm={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 29 29",fill:"currentColor"},qm={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=to(),n=e,s=t,r=re(!1);let a=null,i=null,l=null,c=null,u=null,g=null,f=null,_=null,$=null,k=null,A=null,S=0,C=0,h=null,b=null;function N(){if(typeof document>"u")return!1;const q=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(q)||q.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function O(){var q,G,X;return((X=(G=(q=n.mapContainer)==null?void 0:q.getRootNode)==null?void 0:G.call(q))==null?void 0:X.host)??null}function P(){var G,X;const q=(X=(G=n.mapContainer)==null?void 0:G.getRootNode)==null?void 0:X.call(G);return document.fullscreenElement||document.webkitFullscreenElement||(q&&q instanceof ShadowRoot?q.fullscreenElement:null)||null}function F(q){const G=q.requestFullscreen||q.webkitRequestFullscreen;if(!G)return Promise.reject(new Error("Fullscreen API unavailable"));const X=G.call(q);return X&&typeof X.then=="function"?X:Promise.resolve()}function w(){const q=document.exitFullscreen||document.webkitExitFullscreen;if(!q)return Promise.reject(new Error("Fullscreen API unavailable"));const G=q.call(document);return G&&typeof G.then=="function"?G:Promise.resolve()}function B(){const q=O();if(!q)return!1;if(l=q,i=q.style.cssText,q.style.position="fixed",q.style.top="0",q.style.left="0",q.style.right="0",q.style.bottom="0",q.style.width="100vw",q.style.height="100vh",q.style.height="100dvh",q.style.zIndex="2147483647",q.style.margin="0",q.style.borderRadius="0",q.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){S=window.scrollY||window.pageYOffset||0,C=window.scrollX||window.pageXOffset||0;const G=document.body,X=document.documentElement;c=G?G.style.overflow:null,u=X?X.style.overflow:null,g=G?G.style.position:null,f=G?G.style.top:null,_=G?G.style.left:null,$=G?G.style.width:null,k=G?G.style.touchAction:null,A=X?X.style.touchAction:null,X&&(X.style.overflow="hidden",X.style.touchAction="none"),G&&(G.style.overflow="hidden",G.style.position="fixed",G.style.top=`-${S}px`,G.style.left=`-${C}px`,G.style.width="100%",G.style.touchAction="none"),h=le=>{if(!l)return;const Pe=le.target;Pe&&(Pe===l||l.contains&&l.contains(Pe))||le.cancelable&&le.preventDefault()},b=le=>{if(!l)return;const Pe=le.target;Pe&&(Pe===l||l.contains&&l.contains(Pe))||le.cancelable&&le.preventDefault()},document.addEventListener("touchmove",h,{passive:!1,capture:!0}),document.addEventListener("wheel",b,{passive:!1,capture:!0})}return!0}function W(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const q=document.body,G=document.documentElement;q&&(q.style.overflow=c??"",q.style.position=g??"",q.style.top=f??"",q.style.left=_??"",q.style.width=$??"",q.style.touchAction=k??""),G&&(G.style.overflow=u??"",G.style.touchAction=A??""),h&&(document.removeEventListener("touchmove",h,{capture:!0}),h=null),b&&(document.removeEventListener("wheel",b,{capture:!0}),b=null),typeof window<"u"&&(S||C)&&window.scrollTo(C,S)}c=null,u=null,g=null,f=null,_=null,$=null,k=null,A=null,S=0,C=0}}function K(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function oe(){if(!N()){r.value?(W(),r.value=!1,s("change",!1)):B()&&(r.value=!0,s("change",!0)),K();return}if(P())w().then(()=>{r.value=!1,s("change",!1)}).catch(()=>{});else{const G=O()??document.documentElement;F(G).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{F(document.documentElement).then(()=>{r.value=!0,s("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!P(),s("change",r.value)}return Ht(()=>{var G,X;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const q=(X=(G=n.mapContainer)==null?void 0:G.getRootNode)==null?void 0:X.call(G);q instanceof ShadowRoot&&(a=q,q.addEventListener("fullscreenchange",ue),q.addEventListener("webkitfullscreenchange",ue))}),qt(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),a&&(a.removeEventListener("fullscreenchange",ue),a.removeEventListener("webkitfullscreenchange",ue),a=null),l&&W()}),(q,G)=>(Y(),Qe(fn,{"is-dark":e.isDark,active:r.value,title:qe(o)("buttons.toggleFullscreen"),onClick:oe},{default:zt(()=>[r.value?(Y(),Z("svg",Hm,[...G[1]||(G[1]=[I("path",{d:"M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z"},null,-1)])])):(Y(),Z("svg",Ym,[...G[0]||(G[0]=[I("path",{d:"M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},Km=cr&&cr.tagName.toUpperCase()==="SCRIPT"&&cr.src||new URL("cities-internet.js",document.baseURI).href,oo=e=>String(e||"").trim().replace(/\/+$/,"");function Vl(){try{const t=String(Km||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Xm(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return oo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return oo(o)}return oo(Vl()||"")}function zl(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=oo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=oo((e==null?void 0:e.treeBase)||"")||oo(Vl()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return oo(new URL(o+"/../assets",n).href)}catch{return oo(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Zm({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,s=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return s?window.location.origin+a:a;const i=Xm(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return s?window.location.origin+window.location.pathname:""}const Jm=["aria-label"],Qm={class:"mcm-header"},e_={class:"mcm-title"},t_={class:"mcm-body"},o_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",As="doxa-map-menu-open",n_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Gt(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -127,7 +127,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const o=e,n=t,s=Ie("mapToolbar",null),r=re(null),a=re(null),i=re({});function l(){var v;const _=(v=s==null?void 0:s.el)==null?void 0:v.value,$=r.value;if(!_||!$){i.value={};return}const k=$.getBoundingClientRect(),A=_.getBoundingClientRect(),F=(A.left+A.right)/2>(k.left+k.right)/2,C=8,h=12,b=F?k.right-A.left+C:A.right-k.left+C,N=Math.max(200,Math.min(o.width,k.width-b-h)),O=Math.max(0,A.top-k.top);let L=$.getAttribute&&$.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-A.top-h):Math.max(120,k.height-O-h);o.matchToolbar&&(L=Math.max(120,Math.min(L,A.height))),o.maxHeight&&(L=Math.min(L,o.maxHeight)),i.value={top:`${Math.round(O)}px`,[F?"right":"left"]:`${Math.round(b)}px`,width:`${Math.round(N)}px`,maxHeight:`${Math.round(L)}px`,...o.height?{height:`${Math.round(Math.min(o.height,L))}px`}:{}}}function c(_){o.open&&_.detail!==a.value&&n("close")}nt(()=>o.open,async _=>{var $;if(_){await Yo(),l();try{($=r.value)==null||$.dispatchEvent(new CustomEvent(As,{detail:a.value}))}catch{}}});function u(){o.open&&l()}function g(_){_.key==="Escape"&&o.open&&n("close")}function f(_){var k;if(!o.open)return;const $=_.composedPath?_.composedPath():[_.target];a.value&&$.includes(a.value)||(k=s==null?void 0:s.el)!=null&&k.value&&$.includes(s.el.value)||$.some(A=>{var F,C,h,b;return((C=(F=A==null?void 0:A.classList)==null?void 0:F.contains)==null?void 0:C.call(F,"mapboxgl-canvas"))||((b=(h=A==null?void 0:A.classList)==null?void 0:h.contains)==null?void 0:b.call(h,"maplibregl-canvas"))})&&n("close")}return Ht(()=>{var _,$,k;r.value=(($=(_=s==null?void 0:s.el)==null?void 0:_.value)==null?void 0:$.closest(o_))||null,(k=r.value)==null||k.addEventListener(As,c),window.addEventListener("resize",u),document.addEventListener("click",f,!0),document.addEventListener("keydown",g)}),qt(()=>{var _;(_=r.value)==null||_.removeEventListener(As,c),window.removeEventListener("resize",u),document.removeEventListener("click",f,!0),document.removeEventListener("keydown",g)}),(_,$)=>(Y(),Qe(Jc,{to:r.value,disabled:!r.value},[e.open?(Y(),J("div",{key:0,ref_key:"el",ref:a,class:Ee(["mcm",{light:!e.isDark}]),style:bo(i.value),role:"dialog","aria-label":e.title},[I("div",Qm,[I("span",e_,Q(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:$[0]||($[0]=k=>n("close"))},[...$[1]||($[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",t_,[Mr(_.$slots,"default")])],14,Zm)):Se("",!0)],8,["to","disabled"]))}},r_={class:"share-steps"},s_={class:"share-tabs"},a_={key:0,class:"share-body"},i_={class:"share-url-box"},l_={class:"share-url-text"},c_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},u_={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"},p_={key:1,class:"share-body"},d_={class:"share-size-pills"},g_=["onClick"],f_={class:"share-code-box"},h_={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},m_={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"},__={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Wt(` +`,"map-control-menu");const o=e,n=t,s=Ie("mapToolbar",null),r=re(null),a=re(null),i=re({});function l(){var w;const _=(w=s==null?void 0:s.el)==null?void 0:w.value,$=r.value;if(!_||!$){i.value={};return}const k=$.getBoundingClientRect(),A=_.getBoundingClientRect(),S=(A.left+A.right)/2>(k.left+k.right)/2,C=8,h=12,b=S?k.right-A.left+C:A.right-k.left+C,N=Math.max(200,Math.min(o.width,k.width-b-h)),O=Math.max(0,A.top-k.top);let F=$.getAttribute&&$.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-A.top-h):Math.max(120,k.height-O-h);o.matchToolbar&&(F=Math.max(120,Math.min(F,A.height))),o.maxHeight&&(F=Math.min(F,o.maxHeight)),i.value={top:`${Math.round(O)}px`,[S?"right":"left"]:`${Math.round(b)}px`,width:`${Math.round(N)}px`,maxHeight:`${Math.round(F)}px`,...o.height?{height:`${Math.round(Math.min(o.height,F))}px`}:{}}}function c(_){o.open&&_.detail!==a.value&&n("close")}nt(()=>o.open,async _=>{var $;if(_){await Yo(),l();try{($=r.value)==null||$.dispatchEvent(new CustomEvent(As,{detail:a.value}))}catch{}}});function u(){o.open&&l()}function g(_){_.key==="Escape"&&o.open&&n("close")}function f(_){var k;if(!o.open)return;const $=_.composedPath?_.composedPath():[_.target];a.value&&$.includes(a.value)||(k=s==null?void 0:s.el)!=null&&k.value&&$.includes(s.el.value)||$.some(A=>{var S,C,h,b;return((C=(S=A==null?void 0:A.classList)==null?void 0:S.contains)==null?void 0:C.call(S,"mapboxgl-canvas"))||((b=(h=A==null?void 0:A.classList)==null?void 0:h.contains)==null?void 0:b.call(h,"maplibregl-canvas"))})&&n("close")}return Ht(()=>{var _,$,k;r.value=(($=(_=s==null?void 0:s.el)==null?void 0:_.value)==null?void 0:$.closest(o_))||null,(k=r.value)==null||k.addEventListener(As,c),window.addEventListener("resize",u),document.addEventListener("click",f,!0),document.addEventListener("keydown",g)}),qt(()=>{var _;(_=r.value)==null||_.removeEventListener(As,c),window.removeEventListener("resize",u),document.removeEventListener("click",f,!0),document.removeEventListener("keydown",g)}),(_,$)=>(Y(),Qe(Zc,{to:r.value,disabled:!r.value},[e.open?(Y(),Z("div",{key:0,ref_key:"el",ref:a,class:Ee(["mcm",{light:!e.isDark}]),style:bo(i.value),role:"dialog","aria-label":e.title},[I("div",Qm,[I("span",e_,Q(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:$[0]||($[0]=k=>n("close"))},[...$[1]||($[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",t_,[Mr(_.$slots,"default")])],14,Jm)):Le("",!0)],8,["to","disabled"]))}},r_={class:"share-steps"},s_={class:"share-tabs"},a_={key:0,class:"share-body"},i_={class:"share-url-box"},l_={class:"share-url-text"},c_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},u_={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"},p_={key:1,class:"share-body"},d_={class:"share-size-pills"},g_=["onClick"],f_={class:"share-code-box"},h_={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},m_={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"},__={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Gt(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -379,4 +379,4 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=to(),s=e,r=re(null),a=re(!1),i=re(null),l=re(null),c=re("link"),u=re(!1),g=re(!1),f=re("medium"),_={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},$=Ie("profileConfig",null),k=ae(()=>Jm({embedPath:s.embedPath,profileConfig:qe($)||null})),A=ae(()=>{const D=_[f.value].height;return''});function F(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,g.value=!1)}function C(){a.value=!1}async function h(D){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(D),!0}catch{}try{const U=document.createElement("textarea");U.value=D,U.setAttribute("readonly",""),U.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(U),U.select();const K=document.execCommand("copy");return document.body.removeChild(U),K}catch{return!1}}async function b(){await h(k.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function N(){await h(A.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const O=Ie("mapToolbar",null),P=re(null);ot("mapToolbar",O||{el:P});const L=!O;function v(D){if(r.value=D||null,!L||!D){D||(P.value=null);return}const U=D.offsetParent||D.parentElement;U&&!U.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&U.setAttribute("data-map-area","share-fallback"),P.value=D}return(D,U)=>(Y(),J("div",{ref:v,class:"share-wrap","data-share-root":""},[$e(fn,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:qe(t)("buttons.share"),onClick:F},{default:zt(()=>[...U[2]||(U[2]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),$e(n_,{open:a.value,title:qe(t)("buttons.share"),"is-dark":e.isDark,onClose:C},{default:zt(()=>[I("div",{ref_key:"popoverEl",ref:i,class:Ee(["share-pop",{light:!e.isDark}])},[I("ul",r_,[(Y(!0),J(de,null,ct(qe(o)("buttons.shareSteps"),(K,oe)=>(Y(),J("li",{key:oe},Q(qe(n)(K)),1))),128))]),I("div",s_,[I("button",{class:Ee(["share-tab",{active:c.value==="link"}]),onClick:U[0]||(U[0]=K=>c.value="link")},"Embed link",2),I("button",{class:Ee(["share-tab",{active:c.value==="embed"}]),onClick:U[1]||(U[1]=K=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(Y(),J("div",a_,[I("div",i_,[I("div",l_,Q(k.value),1)]),I("button",{class:Ee(["share-primary-btn",{copied:u.value}]),onClick:b},[u.value?(Y(),J("svg",u_,[...U[4]||(U[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Y(),J("svg",c_,[...U[3]||(U[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(u.value?"Copied!":"Copy Link"),1)],2)])):Se("",!0),c.value==="embed"?(Y(),J("div",p_,[U[7]||(U[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",d_,[(Y(),J(de,null,ct(_,(K,oe)=>I("button",{key:oe,class:Ee(["share-size-pill",{active:f.value===oe}]),onClick:ue=>f.value=oe},Q(K.label),11,g_)),64))]),I("div",f_,Q(A.value),1),I("button",{class:Ee(["share-secondary-btn",{copied:g.value}]),onClick:N},[g.value?(Y(),J("svg",m_,[...U[6]||(U[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Y(),J("svg",h_,[...U[5]||(U[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(g.value?"Copied!":"Copy Code"),1)],2)])):Se("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},b_=["mapbox","maplibre"],Yl="mapbox";function y_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function $_(e){const t=y_(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,s=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(o||n||s||Yl).toLowerCase().trim();return b_.includes(r)?r:Yl}const w_=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function v_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=w_[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}const lr={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Cs(e){var o;const t=((o=lr[e])==null?void 0:o.global)||lr.mapbox.global;return typeof window<"u"?window[t]:void 0}async function k_(e){const t=lr[e]||lr.mapbox;if(Cs(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(Cs(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,s)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>s(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}const O_={class:"gm-legend"},A_={class:"gm-keys"},C_={key:1,class:"gm-err"},N_={key:2,class:"gm-sheet"},P_={class:"gm-sh-head"},E_={class:"gm-sh-name"},S_={key:0,class:"gm-ai"},F_={class:"gm-stat"},L_={class:"gm-stat"},T_={class:"gm-stat"},x_={class:"gm-stat"},I_={class:"gm-stat"},M_={key:1,class:"gm-list"},R_={class:"gm-list-h"},B_={key:2,class:"gm-list"},D_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var C;return((C=t.value)==null?void 0:C.isDark)===!0}),n=ae(()=>{var C;return((C=t.value)==null?void 0:C.tk)||window.DOXA_TOKEN||""}),s=ae(()=>zl(t.value)),r=re(null),a=jo(null),i=re([]),l=re(null),c=re(!0),u=re(null),g=[{id:"yes",label:"connected 60%+",color:"#10b981"},{id:"partial",label:"partial 25–59%",color:"#e8c15a"},{id:"no",label:"low, under 25%",color:"#b42318"},{id:"unknown",label:"not measured",color:"#9aa2ad"}],f=C=>(g.find(h=>h.id===C)||{}).color||"#9aa2ad",_=ae(()=>{const C={};for(const h of i.value)C[h.iso3]=h;return C});async function $(){const[C,h]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(b=>b.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(b=>b.json())]);return i.value=C.countries||[],h}function k(C,h){const b=_.value,O={type:"FeatureCollection",features:(h.features||[]).map(P=>{var D;const L=(D=P.properties)==null?void 0:D.iso3,v=b[L];return{type:"Feature",properties:{iso3:L,band:(v==null?void 0:v.band)||"none",color:v?f(v.band):"rgba(0,0,0,0)",hasData:!!v},geometry:P.geometry}})};if(C.getSource("ci-src")){C.getSource("ci-src").setData(O);return}C.addSource("ci-src",{type:"geojson",data:O}),C.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),C.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),C.on("click","ci-fill",P=>{var v,D,U;const L=(U=(D=(v=P.features)==null?void 0:v[0])==null?void 0:D.properties)==null?void 0:U.iso3;L&&_.value[L]&&(l.value=_.value[L])}),C.on("mouseenter","ci-fill",()=>{C.getCanvas().style.cursor="pointer"}),C.on("mouseleave","ci-fill",()=>{C.getCanvas().style.cursor=""})}const A=$_(Ie("profileConfig",null));Ht(async()=>{try{await k_(A)}catch{}const C=Cs(A)||window.mapboxgl;if(!C||!r.value){u.value="map engine not loaded";return}try{const h=await $(),b=new C.Map({container:r.value,style:v_(o.value?"ink":"paper",A).style||(o.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:n.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});a.value=$o(b),Wm(b,{boundaries:!0}),b.once("load",()=>k(b,h))}catch(h){u.value=String(h.message||h)}}),qt(()=>{var C;try{(C=a.value)==null||C.remove()}catch{}});const F=C=>(Number(C)||0).toLocaleString();return Wt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;width:var(--map-legend-width,380px);max-width:calc(100% - 16px);box-sizing:border-box;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}@media(max-width:480px){.gm-legend{width:auto;right:46px}}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-connectivity-map"),(C,h)=>(Y(),J("div",{class:Ee(["gm",{"is-dark":o.value}])},[I("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),a.value?(Y(),Qe(Gm,{key:0},{default:zt(()=>[$e(jm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(Vm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(zm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(qm,{"map-container":r.value,"is-dark":o.value},null,8,["map-container","is-dark"]),$e(__,{"is-dark":o.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Se("",!0),I("div",O_,[h[2]||(h[2]=I("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),I("div",A_,[(Y(),J(de,null,ct(g,b=>I("span",{key:b.id,class:"gm-key"},[I("i",{class:"gm-sw",style:bo({background:b.color})},null,4),ke(Q(b.label),1)])),64))]),h[3]||(h[3]=I("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),u.value?(Y(),J("div",C_,Q(u.value),1)):Se("",!0),l.value?(Y(),J("div",N_,[I("div",P_,[I("span",E_,Q(l.value.country),1),I("button",{type:"button",class:"gm-x",onClick:h[0]||(h[0]=b=>l.value=null)},"Close")]),c.value?(Y(),J("div",S_,[h[4]||(h[4]=I("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),I("button",{type:"button",class:"gm-ai-x",onClick:h[1]||(h[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Se("",!0),I("div",F_,[h[5]||(h[5]=I("span",null,"Internet users",-1)),I("b",null,Q(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),I("div",L_,[h[6]||(h[6]=I("span",null,"Measured",-1)),I("b",null,Q(l.value.internet_year||"—"),1)]),I("div",T_,[h[7]||(h[7]=I("span",null,"Mobile per 100",-1)),I("b",null,Q(l.value.mobile_per_100??"—"),1)]),I("div",x_,[h[8]||(h[8]=I("span",null,"People groups",-1)),I("b",null,Q(F(l.value.people_groups)),1)]),I("div",I_,[h[9]||(h[9]=I("span",null,"Top platform",-1)),I("b",null,[ke(Q(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(Y(),J(de,{key:0},[ke(" · "+Q(l.value.top_platform_pct)+"%",1)],64)):Se("",!0)])]),l.value.carriers&&l.value.carriers.length?(Y(),J("div",M_,[I("div",R_,"Carriers & ISPs ("+Q(l.value.carrier_count)+")",1),I("ul",null,[(Y(!0),J(de,null,ct(l.value.carriers,(b,N)=>(Y(),J("li",{key:N},Q(b),1))),128))])])):Se("",!0),l.value.platforms&&l.value.platforms.length?(Y(),J("div",B_,[h[10]||(h[10]=I("div",{class:"gm-list-h"},"Social platforms",-1)),I("ul",null,[(Y(!0),J(de,null,ct(l.value.platforms,(b,N)=>(Y(),J("li",{key:N},Q(b.name)+" · "+Q(b.pct)+"%",1))),128))])])):Se("",!0),h[11]||(h[11]=I("p",{class:"gm-note"}," National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification. ",-1))])):Se("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function W_(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function G_(e){const t=re(null),o=jo({position:"fixed",inset:"0"}),n=()=>{var u,g;const r=t.value;if(!r)return;const a=W_(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((g=i==null?void 0:i.documentElement)==null?void 0:g.clientHeight)||0;o.value={position:"fixed",top:`${-a.y}px`,left:`${-a.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};nt(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const s=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",s),qt(()=>{typeof window<"u"&&window.removeEventListener("resize",s)}),{scrimRef:t,scrimStyle:o}}const U_={class:"dt-head"},j_={class:"dt-title"},V_={class:"dt-count"},z_={key:0,class:"dt-grain"},Y_={class:"dt-actions"},H_={key:0,class:"dt-err"},q_={class:"dt-wrap"},K_={class:"dt-hint"},X_={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},J_={class:"dt-sheet-head"},Z_={class:"dt-dl"},Q_=["href"],eb={key:1},tb={key:2},ob={key:2,class:"dt-caveats"},nb={class:"dt-cav-k"},rb={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=e,n=t,s=re(!1),r=re(null),{scrimRef:a,scrimStyle:i}=G_(r),l=re(null),c=jo(null),u=re(null),g=re(!1),f=ae(()=>String(o.assetsBase||"./assets").replace(/\/+$/,"")),_=ae(()=>{var v;return((v=o.table)==null?void 0:v.meta)||{}}),$=ae(()=>{var v;return(((v=o.table)==null?void 0:v.rows)||[]).length}),k=ae(()=>Object.entries(_.value).filter(([v,D])=>typeof D=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(v)).map(([v,D])=>({key:v.replace(/_/g," "),text:D})));let A=null;function F(){return window.Tabulator?Promise.resolve(window.Tabulator):A||(A=new Promise((v,D)=>{const U=document.createElement("script");U.src=`${f.value}/vendor/tabulator/tabulator.min.js`,U.onload=()=>v(window.Tabulator),U.onerror=()=>D(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(U)}),A)}async function C(v){if(!(!v||v.querySelector("style[data-tabulator]")))try{const D=await fetch(`${f.value}/vendor/tabulator/tabulator.min.css`);if(!D.ok)return;const U=document.createElement("style");U.setAttribute("data-tabulator",""),U.textContent=await D.text(),v.appendChild(U)}catch{}}function h(v){var oe,ue;if(!l.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const D=((oe=o.table)==null?void 0:oe.columns)||[],K=(s.value?D.slice(0,3):D).map((q,W)=>({title:q.title,field:q.field,headerFilter:q.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:q.type==="number"?"number":q.type==="boolean"?"boolean":"string",formatter:q.type==="boolean"?"tickCross":void 0,.../_url$/.test(q.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&W{r.value=W.getData(),n("row-click",W.getData())}),c.value.on("tableBuilt",()=>{g.value=!0})}const b=v=>{var D,U;return((U=(((D=o.table)==null?void 0:D.columns)||[]).find(K=>K.field===v))==null?void 0:U.title)||v.replace(/_/g," ")},N=v=>typeof v=="string"&&v.includes(", ")&&v.length>40?v.split(", "):null,O=v=>typeof v=="string"&&/^https?:\/\//.test(v),P=ae(()=>r.value?Object.entries(r.value).filter(([,v])=>v!==""&&v!==null&&v!==void 0):[]);function L(v){var D;try{(D=c.value)==null||D.download(v,`${(_.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${v}`)}catch(U){u.value=String(U.message||U)}}return Ht(async()=>{var v,D;try{await C((D=(v=l.value)==null?void 0:v.getRootNode)==null?void 0:D.call(v)),h(await F())}catch(U){u.value=String(U.message||U)}}),qt(()=>{var v;try{(v=c.value)==null||v.destroy()}catch{}}),nt(()=>o.table,()=>{var v,D;try{(D=c.value)==null||D.replaceData(((v=o.table)==null?void 0:v.rows)||[])}catch{}}),Wt(".dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-left:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-left:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-left:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(v,D)=>{var U,K;return Y(),J("div",{class:Ee(["dt",{"is-dark":e.isDark}])},[I("div",U_,[I("h3",j_,Q(_.value.title||"Data"),1),I("span",V_,Q($.value.toLocaleString())+" rows",1),_.value.grain?(Y(),J("span",z_,"· "+Q(_.value.grain),1)):Se("",!0),I("span",Y_,[I("button",{type:"button",class:"dt-btn",onClick:D[0]||(D[0]=oe=>L("csv"))},"CSV"),I("button",{type:"button",class:"dt-btn",onClick:D[1]||(D[1]=oe=>L("json"))},"JSON")])]),u.value?(Y(),J("div",H_,Q(u.value),1)):Se("",!0),I("div",q_,[I("div",{ref_key:"host",ref:l},null,512)]),I("p",K_,"Tap any row for its full detail"+Q(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(Y(),J("div",{key:1,ref_key:"scrimRef",ref:a,style:bo(qe(i)),class:"dt-scrim",onClick:D[3]||(D[3]=Ap(oe=>r.value=null,["self"]))},[I("div",X_,[I("div",J_,[I("strong",null,Q(r.value[(K=(((U=e.table)==null?void 0:U.columns)||[])[0])==null?void 0:K.field]||"Detail"),1),I("button",{type:"button",class:"dt-close",onClick:D[2]||(D[2]=oe=>r.value=null)},"Close")]),I("dl",Z_,[(Y(!0),J(de,null,ct(P.value,([oe,ue])=>(Y(),J(de,{key:oe},[I("dt",null,Q(b(oe)),1),I("dd",null,[O(ue)?(Y(),J("a",{key:0,href:ue,target:"_blank",rel:"noopener"},Q(ue),9,Q_)):N(ue)?(Y(),J("ul",eb,[(Y(!0),J(de,null,ct(N(ue),(q,W)=>(Y(),J("li",{key:W},Q(q),1))),128))])):(Y(),J("span",tb,Q(ue===!0?"yes":ue===!1?"no":ue),1))])],64))),128))])])],4)):Se("",!0),k.value.length?(Y(),J("div",ob,[(Y(!0),J(de,null,ct(k.value,oe=>(Y(),J("div",{key:oe.key},[I("span",nb,Q(oe.key)+":",1),ke(" "+Q(oe.text),1)]))),128))])):Se("",!0)],2)}}},sb={class:"ct-tabs"},ab=["onClick"],ib={key:0,class:"ct-n"},lb={key:0,class:"ct-err"},cb={key:1,class:"ct-load"},ub=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),n=ae(()=>zl(t.value)),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"internet",label:"Connectivity",file:"country-connectivity"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"social",label:"Social Platforms",file:"social-platforms"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],r=re("cities"),a=ae(()=>s.find(f=>f.id===r.value)||s[0]),i=re({}),l=re(!1),c=re(null);async function u(f){if(!i.value[f]){l.value=!0,c.value=null;try{const _=await fetch(`${n.value}/tables/${f}.json`);if(!_.ok)throw new Error(`table not found (${_.status})`);i.value={...i.value,[f]:await _.json()}}catch(_){c.value=String(_.message||_)}finally{l.value=!1}}}nt(a,f=>f&&u(f.file),{immediate:!0});const g=ae(()=>{var f;return i.value[(f=a.value)==null?void 0:f.file]||null});return Wt(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(f,_)=>(Y(),J("div",{class:Ee(["ct",{"is-dark":o.value}])},[_[0]||(_[0]=I("h2",{class:"ct-h"},"Cities Data",-1)),_[1]||(_[1]=I("p",{class:"ct-sub"}," Where the unengaged people groups live — and what reaches them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),I("div",sb,[(Y(),J(de,null,ct(s,$=>I("button",{key:$.id,type:"button",class:Ee(["ct-tab",{on:r.value===$.id}]),onClick:k=>r.value=$.id},[ke(Q($.label),1),i.value[$.file]?(Y(),J("span",ib,Q((i.value[$.file].rows||[]).length.toLocaleString()),1)):Se("",!0)],10,ab)),64))]),c.value?(Y(),J("div",lb,Q(c.value),1)):g.value?(Y(),Qe(rb,{key:a.value.id,table:g.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(Y(),J("div",cb,"Loading "+Q(a.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"share-button");const{t,tm:o,rt:n}=to(),s=e,r=re(null),a=re(!1),i=re(null),l=re(null),c=re("link"),u=re(!1),g=re(!1),f=re("medium"),_={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},$=Ie("profileConfig",null),k=ae(()=>Zm({embedPath:s.embedPath,profileConfig:qe($)||null})),A=ae(()=>{const B=_[f.value].height;return''});function S(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,g.value=!1)}function C(){a.value=!1}async function h(B){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(B),!0}catch{}try{const W=document.createElement("textarea");W.value=B,W.setAttribute("readonly",""),W.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(W),W.select();const K=document.execCommand("copy");return document.body.removeChild(W),K}catch{return!1}}async function b(){await h(k.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function N(){await h(A.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const O=Ie("mapToolbar",null),P=re(null);ot("mapToolbar",O||{el:P});const F=!O;function w(B){if(r.value=B||null,!F||!B){B||(P.value=null);return}const W=B.offsetParent||B.parentElement;W&&!W.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&W.setAttribute("data-map-area","share-fallback"),P.value=B}return(B,W)=>(Y(),Z("div",{ref:w,class:"share-wrap","data-share-root":""},[$e(fn,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:qe(t)("buttons.share"),onClick:S},{default:zt(()=>[...W[2]||(W[2]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),$e(n_,{open:a.value,title:qe(t)("buttons.share"),"is-dark":e.isDark,onClose:C},{default:zt(()=>[I("div",{ref_key:"popoverEl",ref:i,class:Ee(["share-pop",{light:!e.isDark}])},[I("ul",r_,[(Y(!0),Z(de,null,ct(qe(o)("buttons.shareSteps"),(K,oe)=>(Y(),Z("li",{key:oe},Q(qe(n)(K)),1))),128))]),I("div",s_,[I("button",{class:Ee(["share-tab",{active:c.value==="link"}]),onClick:W[0]||(W[0]=K=>c.value="link")},"Embed link",2),I("button",{class:Ee(["share-tab",{active:c.value==="embed"}]),onClick:W[1]||(W[1]=K=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(Y(),Z("div",a_,[I("div",i_,[I("div",l_,Q(k.value),1)]),I("button",{class:Ee(["share-primary-btn",{copied:u.value}]),onClick:b},[u.value?(Y(),Z("svg",u_,[...W[4]||(W[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Y(),Z("svg",c_,[...W[3]||(W[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(u.value?"Copied!":"Copy Link"),1)],2)])):Le("",!0),c.value==="embed"?(Y(),Z("div",p_,[W[7]||(W[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",d_,[(Y(),Z(de,null,ct(_,(K,oe)=>I("button",{key:oe,class:Ee(["share-size-pill",{active:f.value===oe}]),onClick:ue=>f.value=oe},Q(K.label),11,g_)),64))]),I("div",f_,Q(A.value),1),I("button",{class:Ee(["share-secondary-btn",{copied:g.value}]),onClick:N},[g.value?(Y(),Z("svg",m_,[...W[6]||(W[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Y(),Z("svg",h_,[...W[5]||(W[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),ke(" "+Q(g.value?"Copied!":"Copy Code"),1)],2)])):Le("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},b_=["mapbox","maplibre"],Yl="mapbox";function y_(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function $_(e){const t=y_(e),o=t==null?void 0:t.provider,n=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,s=typeof window<"u"?window.MAP_PROVIDER:void 0,r=String(o||n||s||Yl).toLowerCase().trim();return b_.includes(r)?r:Yl}const v_=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function w_(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=v_[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}const lr={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Cs(e){var o;const t=((o=lr[e])==null?void 0:o.global)||lr.mapbox.global;return typeof window<"u"?window[t]:void 0}async function k_(e){const t=lr[e]||lr.mapbox;if(Cs(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(Cs(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,s)=>{const r=document.createElement("script");r.src=t.js,r.async=!1,r.addEventListener("load",n,{once:!0}),r.addEventListener("error",()=>s(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(r)})}const O_={class:"gm-legend"},A_={class:"gm-keys"},C_={key:1,class:"gm-err"},N_={key:2,class:"gm-sheet"},P_={class:"gm-sh-head"},E_={class:"gm-sh-name"},L_={key:0,class:"gm-ai"},S_={class:"gm-stat"},F_={class:"gm-stat"},T_={class:"gm-stat"},x_={class:"gm-stat"},I_={class:"gm-stat"},M_={key:1,class:"gm-list"},R_={class:"gm-list-h"},D_={key:2,class:"gm-list"},B_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var C;return((C=t.value)==null?void 0:C.isDark)===!0}),n=ae(()=>{var C;return((C=t.value)==null?void 0:C.tk)||window.DOXA_TOKEN||""}),s=ae(()=>zl(t.value)),r=re(null),a=jo(null),i=re([]),l=re(null),c=re(!0),u=re(null),g=[{id:"yes",label:"connected 60%+",color:"#10b981"},{id:"partial",label:"partial 25–59%",color:"#e8c15a"},{id:"no",label:"low, under 25%",color:"#b42318"},{id:"unknown",label:"not measured",color:"#9aa2ad"}],f=C=>(g.find(h=>h.id===C)||{}).color||"#9aa2ad",_=ae(()=>{const C={};for(const h of i.value)C[h.iso3]=h;return C});async function $(){const[C,h]=await Promise.all([fetch(`${s.value}/tables/internet-by-country.json`).then(b=>b.json()),fetch(`${s.value}/boundaries/world-adm0.geojson`).then(b=>b.json())]);return i.value=C.countries||[],h}function k(C,h){const b=_.value,O={type:"FeatureCollection",features:(h.features||[]).map(P=>{var B;const F=(B=P.properties)==null?void 0:B.iso3,w=b[F];return{type:"Feature",properties:{iso3:F,band:(w==null?void 0:w.band)||"none",color:w?f(w.band):"rgba(0,0,0,0)",hasData:!!w},geometry:P.geometry}})};if(C.getSource("ci-src")){C.getSource("ci-src").setData(O);return}C.addSource("ci-src",{type:"geojson",data:O}),C.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),C.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),C.on("click","ci-fill",P=>{var w,B,W;const F=(W=(B=(w=P.features)==null?void 0:w[0])==null?void 0:B.properties)==null?void 0:W.iso3;F&&_.value[F]&&(l.value=_.value[F])}),C.on("mouseenter","ci-fill",()=>{C.getCanvas().style.cursor="pointer"}),C.on("mouseleave","ci-fill",()=>{C.getCanvas().style.cursor=""})}const A=$_(Ie("profileConfig",null));Ht(async()=>{try{await k_(A)}catch{}const C=Cs(A)||window.mapboxgl;if(!C||!r.value){u.value="map engine not loaded";return}try{const h=await $(),b=new C.Map({container:r.value,style:w_(o.value?"ink":"paper",A).style||(o.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:n.value,center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});a.value=$o(b),Gm(b,{boundaries:!0}),b.once("load",()=>k(b,h))}catch(h){u.value=String(h.message||h)}}),qt(()=>{var C;try{(C=a.value)==null||C.remove()}catch{}});const S=C=>(Number(C)||0).toLocaleString();return Gt(".gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;left:8px;width:var(--map-legend-width,380px);max-width:calc(100% - 16px);box-sizing:border-box;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}@media(max-width:480px){.gm-legend{width:auto;right:46px}}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{left:auto;right:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}","doxa-connectivity-map"),(C,h)=>(Y(),Z("div",{class:Ee(["gm",{"is-dark":o.value}])},[I("div",{ref_key:"mapEl",ref:r,class:"gm-map"},null,512),a.value?(Y(),Qe(Um,{key:0},{default:zt(()=>[$e(jm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(Vm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(zm,{map:a.value,"is-dark":o.value},null,8,["map","is-dark"]),$e(qm,{"map-container":r.value,"is-dark":o.value},null,8,["map-container","is-dark"]),$e(__,{"is-dark":o.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):Le("",!0),I("div",O_,[h[2]||(h[2]=I("div",{class:"gm-title"},"Internet access where unengaged people groups live",-1)),I("div",A_,[(Y(),Z(de,null,ct(g,b=>I("span",{key:b.id,class:"gm-key"},[I("i",{class:"gm-sw",style:bo({background:b.color})},null,4),ke(Q(b.label),1)])),64))]),h[3]||(h[3]=I("div",{class:"gm-caveat"}," NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country. ",-1))]),u.value?(Y(),Z("div",C_,Q(u.value),1)):Le("",!0),l.value?(Y(),Z("div",N_,[I("div",P_,[I("span",E_,Q(l.value.country),1),I("button",{type:"button",class:"gm-x",onClick:h[0]||(h[0]=b=>l.value=null)},"Close")]),c.value?(Y(),Z("div",L_,[h[4]||(h[4]=I("span",null,"Data was found by AI deep research — it is subject to false information.",-1)),I("button",{type:"button",class:"gm-ai-x",onClick:h[1]||(h[1]=b=>c.value=!1),"aria-label":"Dismiss"},"×")])):Le("",!0),I("div",S_,[h[5]||(h[5]=I("span",null,"Internet users",-1)),I("b",null,Q(l.value.internet_pct!=null?l.value.internet_pct+"%":"unknown"),1)]),I("div",F_,[h[6]||(h[6]=I("span",null,"Measured",-1)),I("b",null,Q(l.value.internet_year||"—"),1)]),I("div",T_,[h[7]||(h[7]=I("span",null,"Mobile per 100",-1)),I("b",null,Q(l.value.mobile_per_100??"—"),1)]),I("div",x_,[h[8]||(h[8]=I("span",null,"People groups",-1)),I("b",null,Q(S(l.value.people_groups)),1)]),I("div",I_,[h[9]||(h[9]=I("span",null,"Top platform",-1)),I("b",null,[ke(Q(l.value.top_platform||"unknown"),1),l.value.top_platform_pct?(Y(),Z(de,{key:0},[ke(" · "+Q(l.value.top_platform_pct)+"%",1)],64)):Le("",!0)])]),l.value.carriers&&l.value.carriers.length?(Y(),Z("div",M_,[I("div",R_,"Carriers & ISPs ("+Q(l.value.carrier_count)+")",1),I("ul",null,[(Y(!0),Z(de,null,ct(l.value.carriers,(b,N)=>(Y(),Z("li",{key:N},Q(b),1))),128))])])):Le("",!0),l.value.platforms&&l.value.platforms.length?(Y(),Z("div",D_,[h[10]||(h[10]=I("div",{class:"gm-list-h"},"Social platforms",-1)),I("ul",null,[(Y(!0),Z(de,null,ct(l.value.platforms,(b,N)=>(Y(),Z("li",{key:N},Q(b.name)+" · "+Q(b.pct)+"%",1))),128))])])):Le("",!0),h[11]||(h[11]=I("p",{class:"gm-note"}," National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification. ",-1))])):Le("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function G_(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function U_(e){const t=re(null),o=jo({position:"fixed",inset:"0"}),n=()=>{var u,g;const r=t.value;if(!r)return;const a=G_(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((g=i==null?void 0:i.documentElement)==null?void 0:g.clientHeight)||0;o.value={position:"fixed",top:`${-a.y}px`,left:`${-a.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};nt(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const s=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",s),qt(()=>{typeof window<"u"&&window.removeEventListener("resize",s)}),{scrimRef:t,scrimStyle:o}}const W_={class:"dt-head"},j_={class:"dt-title"},V_={class:"dt-count"},z_={key:0,class:"dt-grain"},Y_={class:"dt-actions"},H_={key:0,class:"dt-err"},q_={class:"dt-wrap"},K_={class:"dt-hint"},X_={class:"dt-sheet",role:"dialog","aria-label":"Row detail"},Z_={class:"dt-sheet-head"},J_={class:"dt-dl"},Q_=["href"],e0={key:1},t0={key:2},o0={key:2,class:"dt-caveats"},n0={class:"dt-cav-k"},r0={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=e,n=t,s=re(!1),r=re(null),{scrimRef:a,scrimStyle:i}=U_(r),l=re(null),c=jo(null),u=re(null),g=re(!1),f=ae(()=>String(o.assetsBase||"./assets").replace(/\/+$/,"")),_=ae(()=>{var w;return((w=o.table)==null?void 0:w.meta)||{}}),$=ae(()=>{var w;return(((w=o.table)==null?void 0:w.rows)||[]).length}),k=ae(()=>Object.entries(_.value).filter(([w,B])=>typeof B=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(w)).map(([w,B])=>({key:w.replace(/_/g," "),text:B})));let A=null;function S(){return window.Tabulator?Promise.resolve(window.Tabulator):A||(A=new Promise((w,B)=>{const W=document.createElement("script");W.src=`${f.value}/vendor/tabulator/tabulator.min.js`,W.onload=()=>w(window.Tabulator),W.onerror=()=>B(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(W)}),A)}async function C(w){if(!(!w||w.querySelector("style[data-tabulator]")))try{const B=await fetch(`${f.value}/vendor/tabulator/tabulator.min.css`);if(!B.ok)return;const W=document.createElement("style");W.setAttribute("data-tabulator",""),W.textContent=await B.text(),w.appendChild(W)}catch{}}function h(w){var oe,ue;if(!l.value)return;s.value=typeof window<"u"&&window.innerWidth<700;const B=((oe=o.table)==null?void 0:oe.columns)||[],K=(s.value?B.slice(0,3):B).map((q,G)=>({title:q.title,field:q.field,headerFilter:q.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:q.type==="number"?"number":q.type==="boolean"?"boolean":"string",formatter:q.type==="boolean"?"tickCross":void 0,.../_url$/.test(q.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!s.value&&G{r.value=G.getData(),n("row-click",G.getData())}),c.value.on("tableBuilt",()=>{g.value=!0})}const b=w=>{var B,W;return((W=(((B=o.table)==null?void 0:B.columns)||[]).find(K=>K.field===w))==null?void 0:W.title)||w.replace(/_/g," ")},N=w=>typeof w=="string"&&w.includes(", ")&&w.length>40?w.split(", "):null,O=w=>typeof w=="string"&&/^https?:\/\//.test(w),P=ae(()=>r.value?Object.entries(r.value).filter(([,w])=>w!==""&&w!==null&&w!==void 0):[]);function F(w){var B;try{(B=c.value)==null||B.download(w,`${(_.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${w}`)}catch(W){u.value=String(W.message||W)}}return Ht(async()=>{var w,B;try{await C((B=(w=l.value)==null?void 0:w.getRootNode)==null?void 0:B.call(w)),h(await S())}catch(W){u.value=String(W.message||W)}}),qt(()=>{var w;try{(w=c.value)==null||w.destroy()}catch{}}),nt(()=>o.table,()=>{var w,B;try{(B=c.value)==null||B.replaceData(((w=o.table)==null?void 0:w.rows)||[])}catch{}}),Gt(".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"),(w,B)=>{var W,K;return Y(),Z("div",{class:Ee(["dt",{"is-dark":e.isDark}])},[I("div",W_,[I("h3",j_,Q(_.value.title||"Data"),1),I("span",V_,Q($.value.toLocaleString())+" rows",1),_.value.grain?(Y(),Z("span",z_,"· "+Q(_.value.grain),1)):Le("",!0),I("span",Y_,[I("button",{type:"button",class:"dt-btn",onClick:B[0]||(B[0]=oe=>F("csv"))},"CSV"),I("button",{type:"button",class:"dt-btn",onClick:B[1]||(B[1]=oe=>F("json"))},"JSON")])]),u.value?(Y(),Z("div",H_,Q(u.value),1)):Le("",!0),I("div",q_,[I("div",{ref_key:"host",ref:l},null,512)]),I("p",K_,"Tap any row for its full detail"+Q(s.value?"":" — every field, including the lists the table flattens")+".",1),r.value?(Y(),Z("div",{key:1,ref_key:"scrimRef",ref:a,style:bo(qe(i)),class:"dt-scrim",onClick:B[3]||(B[3]=Ap(oe=>r.value=null,["self"]))},[I("div",X_,[I("div",Z_,[I("strong",null,Q(r.value[(K=(((W=e.table)==null?void 0:W.columns)||[])[0])==null?void 0:K.field]||"Detail"),1),I("button",{type:"button",class:"dt-close",onClick:B[2]||(B[2]=oe=>r.value=null)},"Close")]),I("dl",J_,[(Y(!0),Z(de,null,ct(P.value,([oe,ue])=>(Y(),Z(de,{key:oe},[I("dt",null,Q(b(oe)),1),I("dd",null,[O(ue)?(Y(),Z("a",{key:0,href:ue,target:"_blank",rel:"noopener"},Q(ue),9,Q_)):N(ue)?(Y(),Z("ul",e0,[(Y(!0),Z(de,null,ct(N(ue),(q,G)=>(Y(),Z("li",{key:G},Q(q),1))),128))])):(Y(),Z("span",t0,Q(ue===!0?"yes":ue===!1?"no":ue),1))])],64))),128))])])],4)):Le("",!0),k.value.length?(Y(),Z("div",o0,[(Y(!0),Z(de,null,ct(k.value,oe=>(Y(),Z("div",{key:oe.key},[I("span",n0,Q(oe.key)+":",1),ke(" "+Q(oe.text),1)]))),128))])):Le("",!0)],2)}}},s0={class:"ct-tabs"},a0=["onClick"],i0={key:0,class:"ct-n"},l0={key:0,class:"ct-err"},c0={key:1,class:"ct-load"},u0=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Ie("profileConfig",re(null)),o=ae(()=>{var f;return((f=t.value)==null?void 0:f.isDark)===!0}),n=ae(()=>zl(t.value)),s=[{id:"cities",label:"Key Cities",file:"key-cities"},{id:"internet",label:"Connectivity",file:"country-connectivity"},{id:"operators",label:"ISPs & Carriers",file:"network-operators"},{id:"social",label:"Social Platforms",file:"social-platforms"},{id:"messaging",label:"Messaging Apps",file:"messaging-channels"}],r=re("cities"),a=ae(()=>s.find(f=>f.id===r.value)||s[0]),i=re({}),l=re(!1),c=re(null);async function u(f){if(!i.value[f]){l.value=!0,c.value=null;try{const _=await fetch(`${n.value}/tables/${f}.json`);if(!_.ok)throw new Error(`table not found (${_.status})`);i.value={...i.value,[f]:await _.json()}}catch(_){c.value=String(_.message||_)}finally{l.value=!1}}}nt(a,f=>f&&u(f.file),{immediate:!0});const g=ae(()=>{var f;return i.value[(f=a.value)==null?void 0:f.file]||null});return Gt(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(f,_)=>(Y(),Z("div",{class:Ee(["ct",{"is-dark":o.value}])},[_[0]||(_[0]=I("h2",{class:"ct-h"},"Cities Data",-1)),_[1]||(_[1]=I("p",{class:"ct-sub"}," Where the unengaged people groups live — and what reaches them. Sort, filter and export any table; each carries its own sources and limits. ",-1)),I("div",s0,[(Y(),Z(de,null,ct(s,$=>I("button",{key:$.id,type:"button",class:Ee(["ct-tab",{on:r.value===$.id}]),onClick:k=>r.value=$.id},[ke(Q($.label),1),i.value[$.file]?(Y(),Z("span",i0,Q((i.value[$.file].rows||[]).length.toLocaleString()),1)):Le("",!0)],10,a0)),64))]),c.value?(Y(),Z("div",l0,Q(c.value),1)):g.value?(Y(),Qe(r0,{key:a.value.id,table:g.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(Y(),Z("div",c0,"Loading "+Q(a.value.label)+"…",1))],2))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/cities-internet/connectivity-list/index.html b/public/doxa-maps/cities-internet/connectivity-list/index.html index b04f1f523..dd18dd967 100644 --- a/public/doxa-maps/cities-internet/connectivity-list/index.html +++ b/public/doxa-maps/cities-internet/connectivity-list/index.html @@ -26,7 +26,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-i96PE57CadLUnW5NkxS+kl+dUU8sSeLDuVKQ1so5onLfyHZIXJgoaEXss6+1VAnh","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-i96PE57CadLUnW5NkxS+kl+dUU8sSeLDuVKQ1so5onLfyHZIXJgoaEXss6+1VAnh\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-3I1mBK8C0GOMsEJyYTyztMqFnvn4EGg3F2KFhYSVie+o2YKplcSFcOxWI4L2+cmr","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-3I1mBK8C0GOMsEJyYTyztMqFnvn4EGg3F2KFhYSVie+o2YKplcSFcOxWI4L2+cmr\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-nzv5X2WdO5IqlVUqnmsDPDSq2uHRbJGyoDIEjHz915D7nAeS428kzYSeaRyAIEf2","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-nzv5X2WdO5IqlVUqnmsDPDSq2uHRbJGyoDIEjHz915D7nAeS428kzYSeaRyAIEf2\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-nzv5X2WdO5IqlVUqnmsDPDSq2uHRbJGyoDIEjHz915D7nAeS428kzYSeaRyAIEf2\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-nzv5X2WdO5IqlVUqnmsDPDSq2uHRbJGyoDIEjHz915D7nAeS428kzYSeaRyAIEf2\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-+uSJg/LdhuPzecJG34oeevbtghdX7Pqaop+MyNzs4tyqd3/1frmrwQimIJgcv/yo","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-+uSJg/LdhuPzecJG34oeevbtghdX7Pqaop+MyNzs4tyqd3/1frmrwQimIJgcv/yo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-+uSJg/LdhuPzecJG34oeevbtghdX7Pqaop+MyNzs4tyqd3/1frmrwQimIJgcv/yo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-+uSJg/LdhuPzecJG34oeevbtghdX7Pqaop+MyNzs4tyqd3/1frmrwQimIJgcv/yo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-DeycKqMhqP8L6jFju+eMZScfLINhp2ElOfegTpl04TxS4NXLVHcbNvD+OBdprpWY","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-DeycKqMhqP8L6jFju+eMZScfLINhp2ElOfegTpl04TxS4NXLVHcbNvD+OBdprpWY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-5oWLIcgctfjngRp9QntcaJusDwsKHBv84Pleb62gIr7ZkXeFT/+DlhsLFYdiZrac","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-5oWLIcgctfjngRp9QntcaJusDwsKHBv84Pleb62gIr7ZkXeFT/+DlhsLFYdiZrac\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-hCsiL74WyyjIlg577zCcAhG7fD0iUzqdvsnZMGvpiS3ra3NpSEoDczoHMWK2eF6x","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-hCsiL74WyyjIlg577zCcAhG7fD0iUzqdvsnZMGvpiS3ra3NpSEoDczoHMWK2eF6x\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-FtEGLeSRNfBCdmK26IURIxCldSnfKphxRT74XgjftFGzNpvube+ov/EVBFi2gXjo","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-FtEGLeSRNfBCdmK26IURIxCldSnfKphxRT74XgjftFGzNpvube+ov/EVBFi2gXjo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-KF3XG9q4VdSvuLQEeK0P1gsKg1cpNOvkLYK5MAIMCUwSsO07z5dI4ffGuc4U6Y+p","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\"","element":"my-upg-100-list-map","type":"single","isMap":false,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KF3XG9q4VdSvuLQEeK0P1gsKg1cpNOvkLYK5MAIMCUwSsO07z5dI4ffGuc4U6Y+p\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KF3XG9q4VdSvuLQEeK0P1gsKg1cpNOvkLYK5MAIMCUwSsO07z5dI4ffGuc4U6Y+p\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KF3XG9q4VdSvuLQEeK0P1gsKg1cpNOvkLYK5MAIMCUwSsO07z5dI4ffGuc4U6Y+p\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-8B2T2ckH+v8p2hEnkGruUg4Do5ZFsh31QSxYJYMj4/PN/ccHdgaIyK4dyW2GlUAR\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-GVjVAmXugEnWIxdGeZzNW34E1lX2qVo499lQnrmFPq+MLbRmADUtgO5P4gmhHnvW","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-GVjVAmXugEnWIxdGeZzNW34E1lX2qVo499lQnrmFPq+MLbRmADUtgO5P4gmhHnvW\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-ytQtETEeE4XyDOiMQwksdiiRD6dD55yw+8DO3Xqk0fCfQkpjjNPvA0DTdtMMIFQo","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ytQtETEeE4XyDOiMQwksdiiRD6dD55yw+8DO3Xqk0fCfQkpjjNPvA0DTdtMMIFQo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ytQtETEeE4XyDOiMQwksdiiRD6dD55yw+8DO3Xqk0fCfQkpjjNPvA0DTdtMMIFQo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-ytQtETEeE4XyDOiMQwksdiiRD6dD55yw+8DO3Xqk0fCfQkpjjNPvA0DTdtMMIFQo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-HVfViEpV0E4gkPZ4l3ez6k1tayRop7UE6ypGrwBXE9iPB6icB3kz4zzih0x2aoLK","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","type":"monolithic","isMap":true,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-HVfViEpV0E4gkPZ4l3ez6k1tayRop7UE6ypGrwBXE9iPB6icB3kz4zzih0x2aoLK\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-NMZXoWa3ftpVtTmjkFkmur7MNsVAg39osy+tKt1cBiLpxYPD+3AsON4iE1hCgDeu","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","type":"single","isMap":false,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-NMZXoWa3ftpVtTmjkFkmur7MNsVAg39osy+tKt1cBiLpxYPD+3AsON4iE1hCgDeu\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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","type":"single","isMap":false,"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>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-NMZXoWa3ftpVtTmjkFkmur7MNsVAg39osy+tKt1cBiLpxYPD+3AsON4iE1hCgDeu\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the five pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-5NIVhkaYneMmaHPBew8npZq0dQTh17eS/HtI9F1tmkILC4YWB0564qqO51BKisn+", + "integrity": "sha384-+uSJg/LdhuPzecJG34oeevbtghdX7Pqaop+MyNzs4tyqd3/1frmrwQimIJgcv/yo", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,7 +188,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -202,7 +202,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-FvBITE71wOJQKfD92Hau8dqn8CvQ5A2mYid8aTjKvXSLxZR4OqjpJaPsbWjlCPF8", + "integrity": "sha384-hCsiL74WyyjIlg577zCcAhG7fD0iUzqdvsnZMGvpiS3ra3NpSEoDczoHMWK2eF6x", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-aQtM9ysPsVk31JRUVi+94JaADl2FBlQLfivtL56FKsK42HVgkyECwJz+UsOROs47", + "integrity": "sha384-FtEGLeSRNfBCdmK26IURIxCldSnfKphxRT74XgjftFGzNpvube+ov/EVBFi2gXjo", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-dWZte5DwJYtc7xJvuh3VHD3zC9WQxOfcteCKTUgx6Oa3C0E2exWVijbT/asHxkjZ", + "integrity": "sha384-r2AwOhX5crwXsnT2MsiQN8+nn2Ea/l2rYdsVL5BGTKR12W9+u7ggkHtDzv7neAPz", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -658,7 +658,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-BoJ6i9UlcNIEw76OeLFJP2FJYItC1dRcOxbAm94MpsrtEG5f63MTLrnuUPnLX28r", + "integrity": "sha384-KF3XG9q4VdSvuLQEeK0P1gsKg1cpNOvkLYK5MAIMCUwSsO07z5dI4ffGuc4U6Y+p", "elements": [ "my-upg-100-list-map" ], @@ -678,7 +678,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -692,7 +692,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -706,7 +706,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -856,7 +856,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "doxa-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-4wHsJRC20pbwhDrZq3Rjop9CrHeO3WBd7qJW21zY/SNjBhJXHgmkCx0EMRs3Q7EI", + "integrity": "sha384-ytQtETEeE4XyDOiMQwksdiiRD6dD55yw+8DO3Xqk0fCfQkpjjNPvA0DTdtMMIFQo", "elements": [ "regions-dashboard" ], @@ -876,7 +876,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -890,7 +890,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -904,7 +904,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 637da8d49..02b4e4b76 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -1,46 +1,46 @@ -(function(){"use strict";var Ep;var ln=typeof document<"u"?document.currentScript:null;const P$="modulepreload",L$=function(e){return"/"+e},C$={},Mt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** +(function(){"use strict";var Lp;var cn=typeof document<"u"?document.currentScript:null;const E$="modulepreload",P$=function(e){return"/"+e},C$={},Mt=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Or(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ze={},cn=[],to=()=>{},Fi=()=>!1,wa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),xa=e=>e.startsWith("onUpdate:"),ct=Object.assign,Fr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Mp=Object.prototype.hasOwnProperty,Ke=(e,t)=>Mp.call(e,t),xe=Array.isArray,Mo=e=>Fn(e)==="[object Map]",Vo=e=>Fn(e)==="[object Set]",Di=e=>Fn(e)==="[object Date]",Ee=e=>typeof e=="function",Qe=e=>typeof e=="string",Bt=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",Bi=e=>(Ye(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),Gi=Object.prototype.toString,Fn=e=>Gi.call(e),Np=e=>Fn(e).slice(8,-1),$a=e=>Fn(e)==="[object Object]",Aa=e=>Qe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dn=Or(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sa=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Rp=/-\w/g,yt=Sa(e=>e.replace(Rp,t=>t.slice(1).toUpperCase())),Ip=/\B([A-Z])/g,Gt=Sa(e=>e.replace(Ip,"-$1").toLowerCase()),Ea=Sa(e=>e.charAt(0).toUpperCase()+e.slice(1)),Dr=Sa(e=>e?`on${Ea(e)}`:""),oo=(e,t)=>!Object.is(e,t),Pa=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},La=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ui=e=>{const t=Qe(e)?Number(e):NaN;return isNaN(t)?e:t};let zi;const Ca=()=>zi||(zi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function nt(e){if(xe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Fp);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Te(e){let t="";if(Qe(e))t=e;else if(xe(e))for(let o=0;oNo(o,t))}const Vi=e=>!!(e&&e.__v_isRef===!0),le=e=>Qe(e)?e:e==null?"":xe(e)||Ye(e)&&(e.toString===Gi||!Ee(e.toString))?Vi(e)?le(e.value):JSON.stringify(e,Wi,2):String(e),Wi=(e,t)=>Vi(t)?Wi(e,t.value):Mo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Br(n,r)+" =>"]=a,o),{})}:Vo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Br(o))}:Bt(t)?Br(t):Ye(t)&&!xe(t)&&!$a(t)?String(t):t,Br=(e,t="")=>{var o;return Bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Fr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ze={},un=[],oo=()=>{},Fi=()=>!1,$a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Aa=e=>e.startsWith("onUpdate:"),ct=Object.assign,Dr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Mp=Object.prototype.hasOwnProperty,He=(e,t)=>Mp.call(e,t),xe=Array.isArray,Ro=e=>Gn(e)==="[object Map]",Wo=e=>Gn(e)==="[object Set]",Di=e=>Gn(e)==="[object Date]",Ee=e=>typeof e=="function",Xe=e=>typeof e=="string",Bt=e=>typeof e=="symbol",qe=e=>e!==null&&typeof e=="object",Gi=e=>(qe(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),Bi=Object.prototype.toString,Gn=e=>Bi.call(e),Rp=e=>Gn(e).slice(8,-1),Sa=e=>Gn(e)==="[object Object]",La=e=>Xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Bn=Fr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ea=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Np=/-\w/g,_t=Ea(e=>e.replace(Np,t=>t.slice(1).toUpperCase())),Ip=/\B([A-Z])/g,jt=Ea(e=>e.replace(Ip,"-$1").toLowerCase()),Pa=Ea(e=>e.charAt(0).toUpperCase()+e.slice(1)),Gr=Ea(e=>e?`on${Pa(e)}`:""),no=(e,t)=>!Object.is(e,t),Ca=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ta=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ui=e=>{const t=Xe(e)?Number(e):NaN;return isNaN(t)?e:t};let zi;const Ma=()=>zi||(zi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function nt(e){if(xe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Fp);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Te(e){let t="";if(Xe(e))t=e;else if(xe(e))for(let o=0;oNo(o,t))}const Vi=e=>!!(e&&e.__v_isRef===!0),ce=e=>Xe(e)?e:e==null?"":xe(e)||qe(e)&&(e.toString===Bi||!Ee(e.toString))?Vi(e)?ce(e.value):JSON.stringify(e,Wi,2):String(e),Wi=(e,t)=>Vi(t)?Wi(e,t.value):Ro(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Br(n,r)+" =>"]=a,o),{})}:Wo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Br(o))}:Bt(t)?Br(t):qe(t)&&!xe(t)&&!Sa(t)?String(t):t,Br=(e,t="")=>{var o;return Bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ht;class Yi{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&&ht&&(ht.active?(this.parent=ht,this.index=(ht.scopes||(ht.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(ht===this)ht=this.prevScope;else{let t=ht;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(Gn){let t=Gn;for(Gn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Bn;){let t=Bn;for(Bn=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 Qi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function el(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Hr(n),Kp(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Kr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===jn)||(e.globalVersion=jn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Kr(e))))return;e.flags|=2;const t=e.dep,o=et,n=Wt;et=e,Wt=!0;try{Qi(e);const a=e.fn(e._value);(t.version===0||oo(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{et=o,Wt=n,el(e),e.flags&=-3}}function Hr(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)Hr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Kp(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Wt=!0;const ol=[];function no(){ol.push(Wt),Wt=!1}function ao(){const e=ol.pop();Wt=e===void 0?!0:e}function nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=et;et=void 0;try{t()}finally{et=o}}}let jn=0;class Hp{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 Vr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!et||!Wt||et===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==et)o=this.activeLink=new Hp(et,this),et.deps?(o.prevDep=et.depsTail,et.depsTail.nextDep=o,et.depsTail=o):et.deps=et.depsTail=o,al(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=et.depsTail,o.nextDep=void 0,et.depsTail.nextDep=o,et.depsTail=o,et.deps===o&&(et.deps=n)}return o}trigger(t){this.version++,jn++,this.notify(t)}notify(t){Ur();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{zr()}}}function al(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)al(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Ta=new WeakMap,Wo=Symbol(""),Wr=Symbol(""),Un=Symbol("");function Ct(e,t,o){if(Wt&&et){let n=Ta.get(e);n||Ta.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Vr),a.map=n,a.key=o),a.track()}}function bo(e,t,o,n,a,r){const s=Ta.get(e);if(!s){jn++;return}const i=l=>{l&&l.trigger()};if(Ur(),t==="clear")s.forEach(i);else{const l=xe(e),u=l&&Aa(o);if(l&&o==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===Un||!Bt(f)&&f>=c)&&i(d)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(Un)),t){case"add":l?u&&i(s.get("length")):(i(s.get(Wo)),Mo(e)&&i(s.get(Wr)));break;case"delete":l||(i(s.get(Wo)),Mo(e)&&i(s.get(Wr)));break;case"set":Mo(e)&&i(s.get(Wo));break}}zr()}function Vp(e,t){const o=Ta.get(e);return o&&o.get(t)}function un(e){const t=Be(e);return t===e?t:(Ct(t,"iterate",Un),jt(e)?t:t.map(Yt))}function Ma(e){return Ct(e=Be(e),"iterate",Un),e}function ro(e,t){return vo(e)?pn(_o(e)?Yt(t):t):Yt(t)}const Wp={__proto__:null,[Symbol.iterator](){return Yr(this,Symbol.iterator,e=>ro(this,e))},concat(...e){return un(this).concat(...e.map(t=>xe(t)?un(t):t))},entries(){return Yr(this,"entries",e=>(e[1]=ro(this,e[1]),e))},every(e,t){return yo(this,"every",e,t,void 0,arguments)},filter(e,t){return yo(this,"filter",e,t,o=>o.map(n=>ro(this,n)),arguments)},find(e,t){return yo(this,"find",e,t,o=>ro(this,o),arguments)},findIndex(e,t){return yo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return yo(this,"findLast",e,t,o=>ro(this,o),arguments)},findLastIndex(e,t){return yo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return yo(this,"forEach",e,t,void 0,arguments)},includes(...e){return qr(this,"includes",e)},indexOf(...e){return qr(this,"indexOf",e)},join(e){return un(this).join(e)},lastIndexOf(...e){return qr(this,"lastIndexOf",e)},map(e,t){return yo(this,"map",e,t,void 0,arguments)},pop(){return zn(this,"pop")},push(...e){return zn(this,"push",e)},reduce(e,...t){return rl(this,"reduce",e,t)},reduceRight(e,...t){return rl(this,"reduceRight",e,t)},shift(){return zn(this,"shift")},some(e,t){return yo(this,"some",e,t,void 0,arguments)},splice(...e){return zn(this,"splice",e)},toReversed(){return un(this).toReversed()},toSorted(e){return un(this).toSorted(e)},toSpliced(...e){return un(this).toSpliced(...e)},unshift(...e){return zn(this,"unshift",e)},values(){return Yr(this,"values",e=>ro(this,e))}};function Yr(e,t,o){const n=Ma(e),a=n[t]();return n!==e&&!jt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Yp=Array.prototype;function yo(e,t,o,n,a,r){const s=Ma(e),i=s!==e&&!jt(e),l=s[t];if(l!==Yp[t]){const d=l.apply(e,r);return i?Yt(d):d}let u=o;s!==e&&(i?u=function(d,f){return o.call(this,ro(e,d),f,e)}:o.length>2&&(u=function(d,f){return o.call(this,d,f,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function rl(e,t,o,n){const a=Ma(e),r=a!==e&&!jt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,d){return i&&(i=!1,u=ro(e,u)),o.call(this,u,ro(e,c),d,e)}):o.length>3&&(s=function(u,c,d){return o.call(this,u,c,d,e)}));const l=a[t](s,...n);return i?ro(e,l):l}function qr(e,t,o){const n=Be(e);Ct(n,"iterate",Un);const a=n[t](...o);return(a===-1||a===!1)&&Fa(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function zn(e,t,o=[]){no(),Ur();const n=Be(e)[t].apply(e,o);return zr(),ao(),n}const qp=Or("__proto__,__v_isRef,__isVue"),sl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Bt));function Jp(e){Bt(e)||(e=String(e));const t=Be(this);return Ct(t,"has",e),t.hasOwnProperty(e)}class il{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?gl:pl:r?dl:ul).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=xe(t);if(!a){let l;if(s&&(l=Wp[o]))return l;if(o==="hasOwnProperty")return Jp}const i=Reflect.get(t,o,at(t)?t:n);if((Bt(o)?sl.has(o):qp(o))||(a||Ct(t,"get",o),r))return i;if(at(i)){const l=s&&Aa(o)?i:i.value;return a&&Ye(l)?Xr(l):l}return Ye(i)?a?Xr(i):dn(i):i}}class ll extends il{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=xe(t)&&Aa(o);if(!this._isShallow){const u=vo(r);if(!jt(n)&&!vo(n)&&(r=Be(r),n=Be(n)),!s&&at(r)&&!at(n))return u||(r.value=n),!0}const i=s?Number(o)e,Na=e=>Reflect.getPrototypeOf(e);function tg(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=Mo(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?Jr:t?pn:Yt;return!t&&Ct(r,"iterate",l?Wr:Wo),ct(Object.create(u),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:i?[c(d[0]),c(d[1])]:c(d),done:f}}})}}function Ra(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function og(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(oo(a,i)&&Ct(s,"get",a),Ct(s,"get",i));const{has:l}=Na(s),u=t?Jr:e?pn:Yt;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Ct(Be(a),"iterate",Wo),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(oo(a,i)&&Ct(s,"has",a),Ct(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),u=t?Jr:e?pn:Yt;return!e&&Ct(l,"iterate",Wo),i.forEach((c,d)=>a.call(r,u(c),u(d),s))}};return ct(o,e?{add:Ra("add"),set:Ra("set"),delete:Ra("delete"),clear:Ra("clear")}:{add(a){const r=Be(this),s=Na(r),i=Be(a),l=!t&&!jt(a)&&!vo(a)?i:a;return s.has.call(r,l)||oo(a,l)&&s.has.call(r,a)||oo(i,l)&&s.has.call(r,i)||(r.add(l),bo(r,"add",l,l)),this},set(a,r){!t&&!jt(r)&&!vo(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=Na(s);let u=i.call(s,a);u||(a=Be(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?oo(r,c)&&bo(s,"set",a,r):bo(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=Na(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&bo(r,"delete",a,void 0),u},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&bo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=tg(a,e,t)}),o}function Ia(e,t){const o=og(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ke(o,a)&&a in n?o:n,a,r)}const ng={get:Ia(!1,!1)},ag={get:Ia(!1,!0)},rg={get:Ia(!0,!1)},sg={get:Ia(!0,!0)},ul=new WeakMap,dl=new WeakMap,pl=new WeakMap,gl=new WeakMap;function ig(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dn(e){return vo(e)?e:Oa(e,!1,Xp,ng,ul)}function lg(e){return Oa(e,!1,Qp,ag,dl)}function Xr(e){return Oa(e,!0,Zp,rg,pl)}function M$(e){return Oa(e,!0,eg,sg,gl)}function Oa(e,t,o,n,a){if(!Ye(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=ig(Np(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 vo(e)?_o(e.__v_raw):!!(e&&e.__v_isReactive)}function vo(e){return!!(e&&e.__v_isReadonly)}function jt(e){return!!(e&&e.__v_isShallow)}function Fa(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function Yo(e){return!Ke(e,"__v_skip")&&Object.isExtensible(e)&&ji(e,"__v_skip",!0),e}const Yt=e=>Ye(e)?dn(e):e,pn=e=>Ye(e)?Xr(e):e;function at(e){return e?e.__v_isRef===!0:!1}function de(e){return fl(e,!1)}function gn(e){return fl(e,!0)}function fl(e,t){return at(e)?e:new cg(e,t)}class cg{constructor(t,o){this.dep=new Vr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Be(t),this._value=o?t:Yt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||jt(t)||vo(t);t=n?t:Be(t),oo(t,o)&&(this._rawValue=t,this._value=n?t:Yt(t),this.dep.trigger())}}function he(e){return at(e)?e.value:e}const ug={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return at(a)&&!at(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function hl(e){return _o(e)?e:new Proxy(e,ug)}function dg(e){const t=xe(e)?new Array(e.length):{};for(const o in e)t[o]=ml(e,o);return t}class pg{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Bt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!xe(t)||Bt(this._key)||!Aa(this._key))do a=!Fa(r)||jt(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=he(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&at(this._raw[this._key])){const o=this._object[this._key];if(at(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Vp(this._raw,this._key)}}class gg{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 fg(e,t,o){return at(e)?e:Ee(e)?new gg(e):Ye(e)&&arguments.length>1?ml(e,t,o):de(e)}function ml(e,t,o){return new pg(e,t,o)}class hg{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Vr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=jn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&et!==this)return Zi(this,!0),!0}get value(){const t=this.dep.track();return tl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mg(e,t,o=!1){let n,a;return Ee(e)?n=e:(n=e.get,a=e.set),new hg(n,a,o)}const Da={},Ba=new WeakMap;let qo;function bg(e,t=!1,o=qo){if(o){let n=Ba.get(o);n||Ba.set(o,n=[]),n.push(e)}}function yg(e,t,o=Ze){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=v=>a?v:jt(v)||a===!1||a===0?ko(v,1):ko(v);let c,d,f,y,w=!1,m=!1;if(at(e)?(d=()=>e.value,w=jt(e)):_o(e)?(d=()=>u(e),w=!0):xe(e)?(m=!0,w=e.some(v=>_o(v)||jt(v)),d=()=>e.map(v=>{if(at(v))return v.value;if(_o(v))return u(v);if(Ee(v))return l?l(v,2):v()})):Ee(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){no();try{f()}finally{ao()}}const v=qo;qo=c;try{return l?l(e,3,[y]):e(y)}finally{qo=v}}:d=to,t&&a){const v=d,x=a===!0?1/0:a;d=()=>ko(v(),x)}const p=qi(),g=()=>{c.stop(),p&&p.active&&Fr(p.effects,c)};if(r&&t){const v=t;t=(...x)=>{const $=v(...x);return g(),$}}let h=m?new Array(e.length).fill(Da):Da;const b=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const x=c.run();if(v||a||w||(m?x.some(($,A)=>oo($,h[A])):oo(x,h))){f&&f();const $=qo;qo=c;try{const A=[x,h===Da?void 0:m&&h[0]===Da?[]:h,y];h=x,l?l(t,3,A):t(...A)}finally{qo=$}}}else c.run()};return i&&i(b),c=new Ji(d),c.scheduler=s?()=>s(b,!1):b,y=v=>bg(v,!1,c),f=c.onStop=()=>{const v=Ba.get(c);if(v){if(l)l(v,4);else for(const x of v)x();Ba.delete(c)}},t?n?b(!0):h=c.run():s?s(b.bind(null,!0),!0):c.run(),g.pause=c.pause.bind(c),g.resume=c.resume.bind(c),g.stop=g,g}function ko(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))ko(e.value,t,o);else if(xe(e))for(let n=0;n{ko(n,t,o)});else if($a(e)){for(const n in e)ko(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ko(e[n],t,o)}return e}/** +**/let mt;class Yi{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&&mt&&(mt.active?(this.parent=mt,this.index=(mt.scopes||(mt.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(mt===this)mt=this.prevScope;else{let t=mt;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(Un){let t=Un;for(Un=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;jn;){let t=jn;for(jn=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 Qi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function el(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Vr(n),Kp(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Hr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===zn)||(e.globalVersion=zn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hr(e))))return;e.flags|=2;const t=e.dep,o=Qe,n=Yt;Qe=e,Yt=!0;try{Qi(e);const a=e.fn(e._value);(t.version===0||no(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Qe=o,Yt=n,el(e),e.flags&=-3}}function Vr(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)Vr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Kp(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Yt=!0;const ol=[];function ao(){ol.push(Yt),Yt=!1}function ro(){const e=ol.pop();Yt=e===void 0?!0:e}function nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Qe;Qe=void 0;try{t()}finally{Qe=o}}}let zn=0;class Hp{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 Wr{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(!Qe||!Yt||Qe===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Qe)o=this.activeLink=new Hp(Qe,this),Qe.deps?(o.prevDep=Qe.depsTail,Qe.depsTail.nextDep=o,Qe.depsTail=o):Qe.deps=Qe.depsTail=o,al(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=Qe.depsTail,o.nextDep=void 0,Qe.depsTail.nextDep=o,Qe.depsTail=o,Qe.deps===o&&(Qe.deps=n)}return o}trigger(t){this.version++,zn++,this.notify(t)}notify(t){zr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Kr()}}}function al(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)al(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Ra=new WeakMap,Yo=Symbol(""),Yr=Symbol(""),Kn=Symbol("");function Ct(e,t,o){if(Yt&&Qe){let n=Ra.get(e);n||Ra.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Wr),a.map=n,a.key=o),a.track()}}function yo(e,t,o,n,a,r){const s=Ra.get(e);if(!s){zn++;return}const i=l=>{l&&l.trigger()};if(zr(),t==="clear")s.forEach(i);else{const l=xe(e),u=l&&La(o);if(l&&o==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===Kn||!Bt(f)&&f>=c)&&i(d)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(Kn)),t){case"add":l?u&&i(s.get("length")):(i(s.get(Yo)),Ro(e)&&i(s.get(Yr)));break;case"delete":l||(i(s.get(Yo)),Ro(e)&&i(s.get(Yr)));break;case"set":Ro(e)&&i(s.get(Yo));break}}Kr()}function Vp(e,t){const o=Ra.get(e);return o&&o.get(t)}function dn(e){const t=Be(e);return t===e?t:(Ct(t,"iterate",Kn),Ut(e)?t:t.map(qt))}function Na(e){return Ct(e=Be(e),"iterate",Kn),e}function so(e,t){return ko(e)?gn(vo(e)?qt(t):t):qt(t)}const Wp={__proto__:null,[Symbol.iterator](){return qr(this,Symbol.iterator,e=>so(this,e))},concat(...e){return dn(this).concat(...e.map(t=>xe(t)?dn(t):t))},entries(){return qr(this,"entries",e=>(e[1]=so(this,e[1]),e))},every(e,t){return _o(this,"every",e,t,void 0,arguments)},filter(e,t){return _o(this,"filter",e,t,o=>o.map(n=>so(this,n)),arguments)},find(e,t){return _o(this,"find",e,t,o=>so(this,o),arguments)},findIndex(e,t){return _o(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _o(this,"findLast",e,t,o=>so(this,o),arguments)},findLastIndex(e,t){return _o(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _o(this,"forEach",e,t,void 0,arguments)},includes(...e){return Jr(this,"includes",e)},indexOf(...e){return Jr(this,"indexOf",e)},join(e){return dn(this).join(e)},lastIndexOf(...e){return Jr(this,"lastIndexOf",e)},map(e,t){return _o(this,"map",e,t,void 0,arguments)},pop(){return Hn(this,"pop")},push(...e){return Hn(this,"push",e)},reduce(e,...t){return rl(this,"reduce",e,t)},reduceRight(e,...t){return rl(this,"reduceRight",e,t)},shift(){return Hn(this,"shift")},some(e,t){return _o(this,"some",e,t,void 0,arguments)},splice(...e){return Hn(this,"splice",e)},toReversed(){return dn(this).toReversed()},toSorted(e){return dn(this).toSorted(e)},toSpliced(...e){return dn(this).toSpliced(...e)},unshift(...e){return Hn(this,"unshift",e)},values(){return qr(this,"values",e=>so(this,e))}};function qr(e,t,o){const n=Na(e),a=n[t]();return n!==e&&!Ut(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Yp=Array.prototype;function _o(e,t,o,n,a,r){const s=Na(e),i=s!==e&&!Ut(e),l=s[t];if(l!==Yp[t]){const d=l.apply(e,r);return i?qt(d):d}let u=o;s!==e&&(i?u=function(d,f){return o.call(this,so(e,d),f,e)}:o.length>2&&(u=function(d,f){return o.call(this,d,f,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function rl(e,t,o,n){const a=Na(e),r=a!==e&&!Ut(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,d){return i&&(i=!1,u=so(e,u)),o.call(this,u,so(e,c),d,e)}):o.length>3&&(s=function(u,c,d){return o.call(this,u,c,d,e)}));const l=a[t](s,...n);return i?so(e,l):l}function Jr(e,t,o){const n=Be(e);Ct(n,"iterate",Kn);const a=n[t](...o);return(a===-1||a===!1)&&Ga(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function Hn(e,t,o=[]){ao(),zr();const n=Be(e)[t].apply(e,o);return Kr(),ro(),n}const qp=Fr("__proto__,__v_isRef,__isVue"),sl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Bt));function Jp(e){Bt(e)||(e=String(e));const t=Be(this);return Ct(t,"has",e),t.hasOwnProperty(e)}class il{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?gl:pl:r?dl:ul).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=xe(t);if(!a){let l;if(s&&(l=Wp[o]))return l;if(o==="hasOwnProperty")return Jp}const i=Reflect.get(t,o,at(t)?t:n);if((Bt(o)?sl.has(o):qp(o))||(a||Ct(t,"get",o),r))return i;if(at(i)){const l=s&&La(o)?i:i.value;return a&&qe(l)?Xr(l):l}return qe(i)?a?Xr(i):pn(i):i}}class ll extends il{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=xe(t)&&La(o);if(!this._isShallow){const u=ko(r);if(!Ut(n)&&!ko(n)&&(r=Be(r),n=Be(n)),!s&&at(r)&&!at(n))return u||(r.value=n),!0}const i=s?Number(o)e,Ia=e=>Reflect.getPrototypeOf(e);function tg(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=Ro(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?Zr:t?gn:qt;return!t&&Ct(r,"iterate",l?Yr:Yo),ct(Object.create(u),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:i?[c(d[0]),c(d[1])]:c(d),done:f}}})}}function Oa(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function og(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(no(a,i)&&Ct(s,"get",a),Ct(s,"get",i));const{has:l}=Ia(s),u=t?Zr:e?gn:qt;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Ct(Be(a),"iterate",Yo),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(no(a,i)&&Ct(s,"has",a),Ct(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),u=t?Zr:e?gn:qt;return!e&&Ct(l,"iterate",Yo),i.forEach((c,d)=>a.call(r,u(c),u(d),s))}};return ct(o,e?{add:Oa("add"),set:Oa("set"),delete:Oa("delete"),clear:Oa("clear")}:{add(a){const r=Be(this),s=Ia(r),i=Be(a),l=!t&&!Ut(a)&&!ko(a)?i:a;return s.has.call(r,l)||no(a,l)&&s.has.call(r,a)||no(i,l)&&s.has.call(r,i)||(r.add(l),yo(r,"add",l,l)),this},set(a,r){!t&&!Ut(r)&&!ko(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=Ia(s);let u=i.call(s,a);u||(a=Be(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?no(r,c)&&yo(s,"set",a,r):yo(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=Ia(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&yo(r,"delete",a,void 0),u},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&yo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=tg(a,e,t)}),o}function Fa(e,t){const o=og(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 ng={get:Fa(!1,!1)},ag={get:Fa(!1,!0)},rg={get:Fa(!0,!1)},sg={get:Fa(!0,!0)},ul=new WeakMap,dl=new WeakMap,pl=new WeakMap,gl=new WeakMap;function ig(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pn(e){return ko(e)?e:Da(e,!1,Zp,ng,ul)}function lg(e){return Da(e,!1,Qp,ag,dl)}function Xr(e){return Da(e,!0,Xp,rg,pl)}function M$(e){return Da(e,!0,eg,sg,gl)}function Da(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=ig(Rp(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function vo(e){return ko(e)?vo(e.__v_raw):!!(e&&e.__v_isReactive)}function ko(e){return!!(e&&e.__v_isReadonly)}function Ut(e){return!!(e&&e.__v_isShallow)}function Ga(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function qo(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&ji(e,"__v_skip",!0),e}const qt=e=>qe(e)?pn(e):e,gn=e=>qe(e)?Xr(e):e;function at(e){return e?e.__v_isRef===!0:!1}function de(e){return fl(e,!1)}function fn(e){return fl(e,!0)}function fl(e,t){return at(e)?e:new cg(e,t)}class cg{constructor(t,o){this.dep=new Wr,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||Ut(t)||ko(t);t=n?t:Be(t),no(t,o)&&(this._rawValue=t,this._value=n?t:qt(t),this.dep.trigger())}}function ge(e){return at(e)?e.value:e}const ug={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 hl(e){return vo(e)?e:new Proxy(e,ug)}function dg(e){const t=xe(e)?new Array(e.length):{};for(const o in e)t[o]=ml(e,o);return t}class pg{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Bt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!xe(t)||Bt(this._key)||!La(this._key))do a=!Ga(r)||Ut(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 Vp(this._raw,this._key)}}class gg{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 fg(e,t,o){return at(e)?e:Ee(e)?new gg(e):qe(e)&&arguments.length>1?ml(e,t,o):de(e)}function ml(e,t,o){return new pg(e,t,o)}class hg{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Wr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=zn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Qe!==this)return Xi(this,!0),!0}get value(){const t=this.dep.track();return tl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mg(e,t,o=!1){let n,a;return Ee(e)?n=e:(n=e.get,a=e.set),new hg(n,a,o)}const Ba={},ja=new WeakMap;let Jo;function bg(e,t=!1,o=Jo){if(o){let n=ja.get(o);n||ja.set(o,n=[]),n.push(e)}}function yg(e,t,o=Ze){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=v=>a?v:Ut(v)||a===!1||a===0?wo(v,1):wo(v);let c,d,f,y,$=!1,h=!1;if(at(e)?(d=()=>e.value,$=Ut(e)):vo(e)?(d=()=>u(e),$=!0):xe(e)?(h=!0,$=e.some(v=>vo(v)||Ut(v)),d=()=>e.map(v=>{if(at(v))return v.value;if(vo(v))return u(v);if(Ee(v))return l?l(v,2):v()})):Ee(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){ao();try{f()}finally{ro()}}const v=Jo;Jo=c;try{return l?l(e,3,[y]):e(y)}finally{Jo=v}}:d=oo,t&&a){const v=d,x=a===!0?1/0:a;d=()=>wo(v(),x)}const p=qi(),g=()=>{c.stop(),p&&p.active&&Dr(p.effects,c)};if(r&&t){const v=t;t=(...x)=>{const w=v(...x);return g(),w}}let m=h?new Array(e.length).fill(Ba):Ba;const b=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const x=c.run();if(v||a||$||(h?x.some((w,A)=>no(w,m[A])):no(x,m))){f&&f();const w=Jo;Jo=c;try{const A=[x,m===Ba?void 0:h&&m[0]===Ba?[]:m,y];m=x,l?l(t,3,A):t(...A)}finally{Jo=w}}}else c.run()};return i&&i(b),c=new Ji(d),c.scheduler=s?()=>s(b,!1):b,y=v=>bg(v,!1,c),f=c.onStop=()=>{const v=ja.get(c);if(v){if(l)l(v,4);else for(const x of v)x();ja.delete(c)}},t?n?b(!0):m=c.run():s?s(b.bind(null,!0),!0):c.run(),g.pause=c.pause.bind(c),g.resume=c.resume.bind(c),g.stop=g,g}function wo(e,t=1/0,o){if(t<=0||!qe(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))wo(e.value,t,o);else if(xe(e))for(let n=0;n{wo(n,t,o)});else if(Sa(e)){for(const n in e)wo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&wo(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Kn=[];let Zr=!1;function N$(e,...t){if(Zr)return;Zr=!0,no();const o=Kn.length?Kn[Kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=_g();if(n)fn(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 <${fc(o,r.type)}>`).join(` +**/const Vn=[];let Qr=!1;function R$(e,...t){if(Qr)return;Qr=!0,ao();const o=Vn.length?Vn[Vn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=_g();if(n)hn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${fc(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` -`,...vg(a)),console.warn(...r)}ao(),Zr=!1}function _g(){let e=Kn[Kn.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 vg(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...kg(o))}),t}function kg({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${fc(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...wg(e.props),r]:[a+r]}function wg(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...bl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function bl(e,t,o){return Qe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=bl(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ee(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function fn(e,t,o,n){try{return n?e(...n):e()}catch(a){Hn(a,t,o)}}function qt(e,t,o,n){if(Ee(e)){const a=fn(e,t,o,n);return a&&Bi(a)&&a.catch(r=>{Hn(r,t,o)}),a}if(xe(e)){const a=[];for(let r=0;r>>1,a=Nt[n],r=Vn(a);r=Vn(o)?Nt.push(e):Nt.splice($g(t),0,e),e.flags|=1,_l()}}function _l(){Ga||(Ga=yl.then(wl))}function Ag(e){if(!xe(e))Ro&&e.id===-1?Ro.splice(mn+1,0,e):e.flags&1||(hn.push(e),e.flags|=1);else for(let t=0;tVn(o)-Vn(n));if(hn.length=0,Ro){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function wl(e){try{for(so=0;so{n._d&&Za(-1);const r=ja(t),s=xo.length;let i;try{i=e(...a)}finally{for(let l=xo.length;l>s;l--)bs();ja(r),n._d&&Za(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function es(e,t){if($t===null)return e;const o=or($t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Ee(t)?t.call(n&&n.proxy):t}}function Sg(){return!!(Ao()||Zo)}const Eg=Symbol.for("v-scx"),Pg=()=>Fe(Eg);function Lg(e,t){return ts(e,null,t)}function it(e,t,o){return ts(e,t,o)}function ts(e,t,o=Ze){const{immediate:n,deep:a,flush:r,once:s}=o,i=ct({},o),l=t&&n||!t&&r!=="post";let u;if(vn){if(r==="sync"){const y=Pg();u=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=to,y.resume=to,y.pause=to,y}}const c=Et;i.call=(y,w,m)=>qt(y,c,w,m);let d=!1;r==="post"?i.scheduler=y=>{It(y,c&&c.suspense)}:r!=="sync"&&(d=!0,i.scheduler=(y,w)=>{w?y():Qr(y)}),i.augmentJob=y=>{t&&(y.flags|=4),d&&(y.flags|=2,c&&(y.id=c.uid,y.i=c))};const f=yg(e,t,i);return vn&&(u?u.push(f):l&&f()),f}function Cg(e,t,o){const n=this.proxy,a=Qe(e)?e.includes(".")?$l(n,e):()=>n[e]:e.bind(n,n);let r;Ee(t)?r=t:(r=t.handler,o=t);const s=na(this),i=ts(a,r.bind(n),o);return s(),i}function $l(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Xo=e=>e&&(e.disabled||e.disabled===""),Tg=e=>e&&(e.defer||e.defer===""),Sl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,El=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,os=(e,t)=>{const o=e&&e.to;return Qe(o)?t?t(o):null:o},Mg={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:d,pbc:f,o:{insert:y,querySelector:w,createText:m,createComment:p,parentNode:g}}=u,h=Xo(t.props);let{dynamicChildren:b}=t;const v=(A,C,M)=>{A.shapeFlag&16&&c(A.children,C,M,a,r,s,i,l)},x=(A=t)=>{const C=Xo(A.props),M=A.target=os(A.props,w),H=ns(M,A,m,y);M&&(s!=="svg"&&Sl(M)?s="svg":s!=="mathml"&&El(M)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(M),C||(v(A,M,H),Wn(A,!1)))},$=A=>{const C=()=>{if(Io.get(A)===C){if(Io.delete(A),Xo(A.props)){const M=g(A.el)||o;v(A,M,A.anchor),Wn(A,!0)}x(A)}};Io.set(A,C),It(C,r)};if(e==null){const A=t.el=m(""),C=t.anchor=m("");if(y(A,o,n),y(C,o,n),Tg(t.props)||r&&r.pendingBranch){$(t);return}h&&(v(t,o,C),Wn(t,!0)),x()}else{t.el=e.el;const A=t.anchor=e.anchor,C=Io.get(e);if(C){C.flags|=8,Io.delete(e),$(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,H=t.targetAnchor=e.targetAnchor,W=Xo(e.props),ae=W?o:M,T=W?A:H;if(s==="svg"||Sl(M)?s="svg":(s==="mathml"||El(M))&&(s="mathml"),b?(f(e.dynamicChildren,b,ae,a,r,s,i),ms(e,t,!0)):l||d(e,t,ae,T,a,r,s,i,!1),h)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):za(t,o,A,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const S=os(t.props,w);S&&(t.target=S,za(t,S,null,u,0))}else W&&za(t,M,H,u,1);Wn(t,h)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:d,props:f}=e,y=Xo(f),w=r||!y,m=Io.get(e);if(m&&(m.flags|=8,Io.delete(e)),d&&(a(u),a(c)),r&&a(l),!m&&(y||d)&&s&16)for(let p=0;p1){for(const o of e)if(o.type!==co){t=o;break}}return t}function Pl(e){if(!Va(e))return Ua(e.type)&&e.children?Ig(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ee(o.default))return o.default()}}function rs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;rs(Ua(o.type)&&Pl(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 Yn(e,t){return Ee(e)?ct({name:e.name},t,{setup:e}):e}function ss(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ll(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ka=new WeakMap;function qn(e,t,o,n,a=!1){if(xe(e)){e.forEach((m,p)=>qn(m,t&&(xe(t)?t[p]:t),o,n,a));return}if(bn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&qn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?or(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===Ze?i.refs={}:i.refs,d=i.setupState,f=Be(d),y=d===Ze?Fi:m=>Ll(c,m)?!1:Ke(f,m),w=(m,p)=>!(p&&Ll(c,p));if(u!=null&&u!==l){if(Cl(t),Qe(u))c[u]=null,y(u)&&(d[u]=null);else if(at(u)){const m=t;w(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(Ee(l))fn(l,i,12,[s,c]);else{const m=Qe(l),p=at(l);if(m||p){const g=()=>{if(e.f){const h=m?y(l)?d[l]:c[l]:w()||!e.k?l.value:c[e.k];if(a)xe(h)&&Fr(h,r);else if(xe(h))h.includes(r)||h.push(r);else if(m)c[l]=[r],y(l)&&(d[l]=c[l]);else{const b=[r];w(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else m?(c[l]=s,y(l)&&(d[l]=s)):p&&(w(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const h=()=>{g(),Ka.delete(e)};h.id=-1,Ka.set(e,h),It(h,o)}else Cl(e),g()}}}function Cl(e){const t=Ka.get(e);t&&(t.flags|=8,Ka.delete(e))}const Tl=e=>e.nodeType===8;Ca().requestIdleCallback,Ca().cancelIdleCallback;function Og(e,t){if(Tl(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Tl(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const bn=e=>!!e.type.__asyncLoader;function Fg(e){Ee(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,d=0;const f=()=>(d++,u=null,y()),y=()=>{let w;return u||(w=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((p,g)=>{l(m,()=>p(f()),()=>g(m),d+1)});throw m}).then(m=>w!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return Yn({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(w,m,p){const g=w.isConnected;let h=!1;(m.bu||(m.bu=[])).push(()=>h=!0);const b=()=>{h||!w.parentNode||g&&!w.isConnected||p()},v=r?()=>{const x=r(b,$=>Og(w,$));x&&(m.bum||(m.bum=[])).push(x)}:b;c?v():y().then(()=>!m.isUnmounted&&v())},get __asyncResolved(){return c},setup(){const w=Et;if(ss(w),c)return()=>Ha(c,w);const m=x=>{u=null,Hn(x,w,13,!n)};if(i&&w.suspense||vn)return y().then(x=>()=>Ha(x,w)).catch(x=>(m(x),()=>n?He(n,{error:x}):null));const p=de(!1),g=de(),h=de(!!a);let b,v;return Ya(()=>{b!=null&&clearTimeout(b),v!=null&&clearTimeout(v)}),a&&(v=setTimeout(()=>{w.isUnmounted||(h.value=!1)},a)),s!=null&&(b=setTimeout(()=>{if(!w.isUnmounted&&!p.value&&!g.value){const x=new Error(`Async component timed out after ${s}ms.`);m(x),g.value=x}},s)),y().then(()=>{w.isUnmounted||(p.value=!0,w.parent&&Va(w.parent.vnode)&&w.parent.update())}).catch(x=>{if(w.isUnmounted){u=null;return}m(x),g.value=x}),()=>{if(p.value&&c)return Ha(c,w);if(g.value&&n)return He(n,{error:g.value});if(o&&!h.value)return Ha(o,w)}}})}function Ha(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=He(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Va=e=>e.type.__isKeepAlive;function Dg(e,t){Ml(e,"a",t)}function Bg(e,t){Ml(e,"da",t)}function Ml(e,t,o=Et){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Wa(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Va(a.parent.vnode)&&Gg(n,t,o,a),a=a.parent}}function Gg(e,t,o,n){const a=Wa(t,e,n,!0);Ya(()=>{Fr(n[t],a)},o)}function Wa(e,t,o=Et,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{no();const i=na(o),l=qt(t,o,e,s);return i(),ao(),l});return n?a.unshift(r):a.push(r),r}}const wo=e=>(t,o=Et)=>{(!vn||e==="sp")&&Wa(e,(...n)=>t(...n),o)},Nl=wo("bm"),lo=wo("m"),jg=wo("bu"),Ug=wo("u"),Jt=wo("bum"),Ya=wo("um"),zg=wo("sp"),Kg=wo("rtg"),Hg=wo("rtc");function Vg(e,t=Et){Wa("ec",e,t)}const Wg="components",Rl=Symbol.for("v-ndc");function is(e){return Qe(e)?Yg(Wg,e,!1)||e:e||Rl}function Yg(e,t,o=!0,n=!1){const a=$t||Et;if(a){const r=a.type;{const i=gc(r,!1);if(i&&(i===t||i===yt(t)||i===Ea(yt(t))))return r}const s=Il(a[e]||r[e],t)||Il(a.appContext[e],t);return!s&&n?r:s}}function Il(e,t){return e&&(e[t]||e[yt(t)]||e[Ea(yt(t))])}function At(e,t,o,n){let a;const r=o,s=xe(e);if(s||Qe(e)){const i=s&&_o(e);let l=!1,u=!1;i&&(l=!jt(e),u=vo(e),e=Ma(e)),a=new Array(e.length);for(let c=0,d=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),z(),lt(Me,null,[He("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=xo.length;z();let l;try{const u=s&&Ol(s(o)),c=o.key||r||u&&u.key;l=lt(Me,{key:(c&&!Bt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=xo.length;c>i;c--)bs();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ol(e){return e.some(t=>ea(t)?!(t.type===co||t.type===Me&&!Ol(t.children)):!0)?e:null}const ls=e=>e?uc(e)?or(e):ls(e.parent):null,Jn=ct(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ls(e.parent),$root:e=>ls(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gl(e),$forceUpdate:e=>e.f||(e.f=()=>{Qr(e.update)}),$nextTick:e=>e.n||(e.n=io.bind(e.proxy)),$watch:e=>Cg.bind(e)}),cs=(e,t)=>e!==Ze&&!e.__isScriptSetup&&Ke(e,t),qg={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 f=s[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(cs(n,t))return s[t]=1,n[t];if(a!==Ze&&Ke(a,t))return s[t]=2,a[t];if(Ke(r,t))return s[t]=3,r[t];if(o!==Ze&&Ke(o,t))return s[t]=4,o[t];us&&(s[t]=0)}}const u=Jn[t];let c,d;if(u)return t==="$attrs"&&Ct(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==Ze&&Ke(o,t))return s[t]=4,o[t];if(d=l.config.globalProperties,Ke(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return cs(a,t)?(a[t]=o,!0):n!==Ze&&Ke(n,t)?(n[t]=o,!0):Ke(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Ze&&i[0]!=="$"&&Ke(e,i)||cs(t,i)||Ke(r,i)||Ke(n,i)||Ke(Jn,i)||Ke(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ke(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Fl(e){return xe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let us=!0;function Jg(e){const t=Gl(e),o=e.proxy,n=e.ctx;us=!1,t.beforeCreate&&Dl(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:y,updated:w,activated:m,deactivated:p,beforeDestroy:g,beforeUnmount:h,destroyed:b,unmounted:v,render:x,renderTracked:$,renderTriggered:A,errorCaptured:C,serverPrefetch:M,expose:H,inheritAttrs:W,components:ae,directives:T,filters:S}=t;if(u&&Xg(u,n,null),s)for(const N in s){const re=s[N];Ee(re)&&(n[N]=re.bind(o))}if(a){const N=a.call(o,o);Ye(N)&&(e.data=dn(N))}if(us=!0,r)for(const N in r){const re=r[N],_e=Ee(re)?re.bind(o,o):Ee(re.get)?re.get.bind(o,o):to,L=!Ee(re)&&Ee(re.set)?re.set.bind(o):to,ne=ee({get:_e,set:L});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>ne.value,set:se=>ne.value=se})}if(i)for(const N in i)Bl(i[N],n,o,N);if(l){const N=Ee(l)?l.call(o):l;Reflect.ownKeys(N).forEach(re=>{Ft(re,N[re])})}c&&Dl(c,e,"c");function E(N,re){xe(re)?re.forEach(_e=>N(_e.bind(o))):re&&N(re.bind(o))}if(E(Nl,d),E(lo,f),E(jg,y),E(Ug,w),E(Dg,m),E(Bg,p),E(Vg,C),E(Hg,$),E(Kg,A),E(Jt,h),E(Ya,v),E(zg,M),xe(H))if(H.length){const N=e.exposed||(e.exposed={});H.forEach(re=>{Object.defineProperty(N,re,{get:()=>o[re],set:_e=>o[re]=_e,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===to&&(e.render=x),W!=null&&(e.inheritAttrs=W),ae&&(e.components=ae),T&&(e.directives=T),M&&ss(e)}function Xg(e,t,o=to){xe(e)&&(e=ds(e));for(const n in e){const a=e[n];let r;Ye(a)?"default"in a?r=Fe(a.from||n,a.default,!0):r=Fe(a.from||n):r=Fe(a),at(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Dl(e,t,o){qt(xe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Bl(e,t,o,n){let a=n.includes(".")?$l(o,n):()=>o[n];if(Qe(e)){const r=t[e];Ee(r)&&it(a,r)}else if(Ee(e))it(a,e.bind(o));else if(Ye(e))if(xe(e))e.forEach(r=>Bl(r,t,o,n));else{const r=Ee(e.handler)?e.handler.bind(o):t[e.handler];Ee(r)&&it(a,r,e)}}function Gl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>qa(l,u,s,!0)),qa(l,t,s)),Ye(t)&&r.set(t,l),l}function qa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&qa(e,r,o,!0),a&&a.forEach(s=>qa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Zg[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Zg={data:jl,props:Ul,emits:Ul,methods:Xn,computed:Xn,beforeCreate:Rt,created:Rt,beforeMount:Rt,mounted:Rt,beforeUpdate:Rt,updated:Rt,beforeDestroy:Rt,beforeUnmount:Rt,destroyed:Rt,unmounted:Rt,activated:Rt,deactivated:Rt,errorCaptured:Rt,serverPrefetch:Rt,components:Xn,directives:Xn,watch:ef,provide:jl,inject:Qg};function jl(e,t){return t?e?function(){return ct(Ee(e)?e.call(this,this):e,Ee(t)?t.call(this,this):t)}:t:e}function Qg(e,t){return Xn(ds(e),ds(t))}function ds(e){if(xe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${yt(t)}Modifiers`]||e[`${Gt(t)}Modifiers`];function af(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ze;let a=o;const r=t.startsWith("update:"),s=r&&nf(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>Qe(c)?c.trim():c)),s.number&&(a=a.map(La)));let i,l=n[i=Dr(t)]||n[i=Dr(yt(t))];!l&&r&&(l=n[i=Dr(Gt(t))]),l&&qt(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,qt(u,e,6,a)}}const rf=new WeakMap;function Kl(e,t,o=!1){const n=o?rf:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Ee(e)){const l=u=>{const c=Kl(u,t,!0);c&&(i=!0,ct(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ye(e)&&n.set(e,null),null):(xe(r)?r.forEach(l=>s[l]=null):ct(s,r),Ye(e)&&n.set(e,s),s)}function Ja(e,t){return!e||!wa(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ke(e,t[0].toLowerCase()+t.slice(1))||Ke(e,Gt(t))||Ke(e,t))}function R$(){}function Hl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:d,data:f,setupState:y,ctx:w,inheritAttrs:m}=e,p=ja(e);let g,h;try{if(o.shapeFlag&4){const v=a||n,x=v;g=uo(u.call(x,v,c,d,y,f,w)),h=i}else{const v=t;g=uo(v.length>1?v(d,{attrs:i,slots:s,emit:l}):v(d,null)),h=t.props?i:sf(i)}}catch(v){xo.length=0,Hn(v,e,1),g=He(co)}let b=g;if(h&&m!==!1){const v=Object.keys(h),{shapeFlag:x}=b;v.length&&x&7&&(r&&v.some(xa)&&(h=lf(h,r)),b=_n(b,h,!1,!0))}if(o.dirs&&(b=_n(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(o.dirs):o.dirs),o.transition){const v=Ua(b.type)&&Pl(b)||b;rs(v,o.transition)}return g=b,ja(p),g}const sf=e=>{let t;for(const o in e)(o==="class"||o==="style"||wa(o))&&((t||(t={}))[o]=e[o]);return t},lf=(e,t)=>{const o={};for(const n in e)(!xa(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function cf(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Vl(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let d=0;dObject.create(Yl),Jl=e=>Object.getPrototypeOf(e)===Yl;function df(e,t,o,n=!1){const a={},r=ql();e.propsDefaults=Object.create(null),Xl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:lg(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function pf(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,y]=Zl(d,t,!0);ct(s,f),y&&i.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return Ye(e)&&n.set(e,cn),cn;if(xe(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",fs=e=>xe(e)?e.map(uo):[uo(e)],ff=(e,t,o)=>{if(t._n)return t;const n=Ut((...a)=>fs(t(...a)),o);return n._c=!1,n},ec=(e,t,o)=>{const n=e._ctx;for(const a in e){if(gs(a))continue;const r=e[a];if(Ee(r))t[a]=ff(a,r,n);else if(r!=null){const s=fs(r);t[a]=()=>s}}},tc=(e,t)=>{const o=fs(t);e.slots.default=()=>o},oc=(e,t,o)=>{for(const n in t)(o||!gs(n))&&(e[n]=t[n])},hf=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const a=t._;a?(oc(n,t,o),o&&ji(n,"_",a,!0)):ec(t,n)}else t&&tc(e,t)},mf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Ze;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:oc(a,t,o):(r=!t.$stable,ec(t,a)),s=t}else t&&(tc(e,t),s={default:1});if(r)for(const i in a)!gs(i)&&s[i]==null&&delete a[i]},It=kf;function bf(e){return yf(e)}function yf(e,t){const o=Ca();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:y=to,insertStaticContent:w}=e,m=(P,F,R,V=null,Z=null,J=null,Q=void 0,oe=null,_=!!F.dynamicChildren)=>{if(P===F)return;P&&!ta(P,F)&&(V=Oe(P),se(P,Z,J,!0),P=null),F.patchFlag===-2&&(_=!1,F.dynamicChildren=null);const{type:k,ref:B,shapeFlag:Y}=F;switch(k){case Zn:p(P,F,R,V);break;case co:g(P,F,R,V);break;case Xa:P==null&&h(F,R,V,Q);break;case Me:ae(P,F,R,V,Z,J,Q,oe,_);break;default:Y&1?x(P,F,R,V,Z,J,Q,oe,_):Y&6?T(P,F,R,V,Z,J,Q,oe,_):(Y&64||Y&128)&&k.process(P,F,R,V,Z,J,Q,oe,_,Je)}B!=null&&Z?qn(B,P&&P.ref,J,F||P,!F):B==null&&P&&P.ref!=null&&qn(P.ref,null,J,P,!0)},p=(P,F,R,V)=>{if(P==null)n(F.el=i(F.children),R,V);else{const Z=F.el=P.el;F.children!==P.children&&u(Z,F.children)}},g=(P,F,R,V)=>{P==null?n(F.el=l(F.children||""),R,V):F.el=P.el},h=(P,F,R,V)=>{[P.el,P.anchor]=w(P.children,F,R,V,P.el,P.anchor)},b=({el:P,anchor:F},R,V)=>{let Z;for(;P&&P!==F;)Z=f(P),n(P,R,V),P=Z;n(F,R,V)},v=({el:P,anchor:F})=>{let R;for(;P&&P!==F;)R=f(P),a(P),P=R;a(F)},x=(P,F,R,V,Z,J,Q,oe,_)=>{if(F.type==="svg"?Q="svg":F.type==="math"&&(Q="mathml"),P==null)$(F,R,V,Z,J,Q,oe,_);else{const k=P.el&&P.el._isVueCE?P.el:null;try{k&&k._beginPatch(),M(P,F,Z,J,Q,oe,_)}finally{k&&k._endPatch()}}},$=(P,F,R,V,Z,J,Q,oe)=>{let _,k;const{props:B,shapeFlag:Y,transition:pe,dirs:ie}=P;if(_=P.el=s(P.type,J,B&&B.is,B),Y&8?c(_,P.children):Y&16&&C(P.children,_,null,V,Z,hs(P,J),Q,oe),ie&&Jo(P,null,V,"created"),A(_,P,P.scopeId,Q,V),B){for(const q in B)q!=="value"&&!Dn(q)&&r(_,q,null,B[q],J,V);"value"in B&&r(_,"value",null,B.value,J),(k=B.onVnodeBeforeMount)&&po(k,V,P)}ie&&Jo(P,null,V,"beforeMount");const G=_f(Z,pe);G&&pe.beforeEnter(_),n(_,F,R),((k=B&&B.onVnodeMounted)||G||ie)&&It(()=>{try{k&&po(k,V,P),G&&pe.enter(_),ie&&Jo(P,null,V,"mounted")}finally{}},Z)},A=(P,F,R,V,Z)=>{if(R&&y(P,R),V)for(let J=0;J{for(let k=_;k{const oe=F.el=P.el;let{patchFlag:_,dynamicChildren:k,dirs:B}=F;_|=P.patchFlag&16;const Y=P.props||Ze,pe=F.props||Ze;let ie;if(R&&Qo(R,!1),(ie=pe.onVnodeBeforeUpdate)&&po(ie,R,F,P),B&&Jo(F,P,R,"beforeUpdate"),R&&Qo(R,!0),k&&(!P.dynamicChildren||P.dynamicChildren.length!==k.length)&&(_=0,Q=!1,k=null),(Y.innerHTML&&pe.innerHTML==null||Y.textContent&&pe.textContent==null)&&c(oe,""),k?H(P.dynamicChildren,k,oe,R,V,hs(F,Z),J):Q||re(P,F,oe,null,R,V,hs(F,Z),J,!1),_>0){if(_&16)W(oe,Y,pe,R,Z);else if(_&2&&Y.class!==pe.class&&r(oe,"class",null,pe.class,Z),_&4&&r(oe,"style",Y.style,pe.style,Z),_&8){const G=F.dynamicProps;for(let q=0;q{ie&&po(ie,R,F,P),B&&Jo(F,P,R,"updated")},V)},H=(P,F,R,V,Z,J,Q)=>{for(let oe=0;oe{if(F!==R){if(F!==Ze)for(const J in F)!Dn(J)&&!(J in R)&&r(P,J,F[J],null,Z,V);for(const J in R){if(Dn(J))continue;const Q=R[J],oe=F[J];Q!==oe&&J!=="value"&&r(P,J,oe,Q,Z,V)}"value"in R&&r(P,"value",F.value,R.value,Z)}},ae=(P,F,R,V,Z,J,Q,oe,_)=>{const k=F.el=P?P.el:i(""),B=F.anchor=P?P.anchor:i("");let{patchFlag:Y,dynamicChildren:pe,slotScopeIds:ie}=F;ie&&(oe=oe?oe.concat(ie):ie),P==null?(n(k,R,V),n(B,R,V),C(F.children||[],R,B,Z,J,Q,oe,_)):Y>0&&Y&64&&pe&&P.dynamicChildren&&P.dynamicChildren.length===pe.length?(H(P.dynamicChildren,pe,R,Z,J,Q,oe),(F.key!=null||Z&&F===Z.subTree)&&ms(P,F,!0)):re(P,F,R,B,Z,J,Q,oe,_)},T=(P,F,R,V,Z,J,Q,oe,_)=>{F.slotScopeIds=oe,P==null?F.shapeFlag&512?Z.ctx.activate(F,R,V,Q,_):S(F,R,V,Z,J,Q,_):O(P,F,_)},S=(P,F,R,V,Z,J,Q)=>{const oe=P.component=Pf(P,V,Z);if(Va(P)&&(oe.ctx.renderer=Je),Lf(oe,!1,Q),oe.asyncDep){if(Z&&Z.registerDep(oe,E,Q),!P.el){const _=oe.subTree=He(co);g(null,_,F,R),P.placeholder=_.el}}else E(oe,P,F,R,Z,J,Q)},O=(P,F,R)=>{const V=F.component=P.component;if(cf(P,F,R))if(V.asyncDep&&!V.asyncResolved){N(V,F,R);return}else V.next=F,V.update();else F.el=P.el,V.vnode=F},E=(P,F,R,V,Z,J,Q)=>{const oe=()=>{if(P.isMounted){let{next:Y,bu:pe,u:ie,parent:G,vnode:q}=P;{const K=nc(P);if(K){Y&&(Y.el=q.el,N(P,Y,Q)),K.asyncDep.then(()=>{It(()=>{P.isUnmounted||k()},Z)});return}}let be=Y,$e;Qo(P,!1),Y?(Y.el=q.el,N(P,Y,Q)):Y=q,pe&&Pa(pe),($e=Y.props&&Y.props.onVnodeBeforeUpdate)&&po($e,G,Y,q),Qo(P,!0);const Ge=Hl(P),D=P.subTree;P.subTree=Ge,m(D,Ge,d(D.el),Oe(D),P,Z,J),Y.el=Ge.el,be===null&&uf(P,Ge.el),ie&&It(ie,Z),($e=Y.props&&Y.props.onVnodeUpdated)&&It(()=>po($e,G,Y,q),Z)}else{let Y;const{el:pe,props:ie}=F,{bm:G,m:q,parent:be,root:$e,type:Ge}=P,D=bn(F);Qo(P,!1),G&&Pa(G),!D&&(Y=ie&&ie.onVnodeBeforeMount)&&po(Y,be,F),Qo(P,!0);{$e.ce&&$e.ce._hasShadowRoot()&&$e.ce._injectChildStyle(Ge,P.parent?P.parent.type:void 0);const K=P.subTree=Hl(P);m(null,K,R,V,P,Z,J),F.el=K.el}if(q&&It(q,Z),!D&&(Y=ie&&ie.onVnodeMounted)){const K=F;It(()=>po(Y,be,K),Z)}(F.shapeFlag&256||be&&bn(be.vnode)&&be.vnode.shapeFlag&256)&&P.a&&It(P.a,Z),P.isMounted=!0,F=R=V=null}};P.scope.on();const _=P.effect=new Ji(oe);P.scope.off();const k=P.update=_.run.bind(_),B=P.job=_.runIfDirty.bind(_);B.i=P,B.id=P.uid,_.scheduler=()=>Qr(B),Qo(P,!0),k()},N=(P,F,R)=>{F.component=P;const V=P.vnode.props;P.vnode=F,P.next=null,pf(P,F.props,V,R),mf(P,F.children,R),no(),vl(P),ao()},re=(P,F,R,V,Z,J,Q,oe,_=!1)=>{const k=P&&P.children,B=P?P.shapeFlag:0,Y=F.children,{patchFlag:pe,shapeFlag:ie}=F;if(pe>0){if(pe&128){L(k,Y,R,V,Z,J,Q,oe,_);return}else if(pe&256){_e(k,Y,R,V,Z,J,Q,oe,_);return}}ie&8?(B&16&&Re(k,Z,J),Y!==k&&c(R,Y)):B&16?ie&16?L(k,Y,R,V,Z,J,Q,oe,_):Re(k,Z,J,!0):(B&8&&c(R,""),ie&16&&C(Y,R,V,Z,J,Q,oe,_))},_e=(P,F,R,V,Z,J,Q,oe,_)=>{P=P||cn,F=F||cn;const k=P.length,B=F.length,Y=Math.min(k,B);let pe;for(pe=0;peB?Re(P,Z,J,!0,!1,Y):C(F,R,V,Z,J,Q,oe,_,Y)},L=(P,F,R,V,Z,J,Q,oe,_)=>{let k=0;const B=F.length;let Y=P.length-1,pe=B-1;for(;k<=Y&&k<=pe;){const ie=P[k],G=F[k]=_?$o(F[k]):uo(F[k]);if(ta(ie,G))m(ie,G,R,null,Z,J,Q,oe,_);else break;k++}for(;k<=Y&&k<=pe;){const ie=P[Y],G=F[pe]=_?$o(F[pe]):uo(F[pe]);if(ta(ie,G))m(ie,G,R,null,Z,J,Q,oe,_);else break;Y--,pe--}if(k>Y){if(k<=pe){const ie=pe+1,G=iepe)for(;k<=Y;)se(P[k],Z,J,!0),k++;else{const ie=k,G=k,q=new Map;for(k=G;k<=pe;k++){const ke=F[k]=_?$o(F[k]):uo(F[k]);ke.key!=null&&q.set(ke.key,k)}let be,$e=0;const Ge=pe-G+1;let D=!1,K=0;const fe=new Array(Ge);for(k=0;k=Ge){se(ke,Z,J,!0);continue}let je;if(ke.key!=null)je=q.get(ke.key);else for(be=G;be<=pe;be++)if(fe[be-G]===0&&ta(ke,F[be])){je=be;break}je===void 0?se(ke,Z,J,!0):(fe[je-G]=k+1,je>=K?K=je:D=!0,m(ke,F[je],R,null,Z,J,Q,oe,_),$e++)}const ve=D?vf(fe):cn;for(be=ve.length-1,k=Ge-1;k>=0;k--){const ke=G+k,je=F[ke],Ce=F[ke+1],wt=ke+1{const{el:J,type:Q,transition:oe,children:_,shapeFlag:k}=P;if(k&6){ne(P.component.subTree,F,R,V);return}if(k&128){P.suspense.move(F,R,V);return}if(k&64){Q.move(P,F,R,Je);return}if(Q===Me){n(J,F,R);for(let Y=0;Y<_.length;Y++)ne(_[Y],F,R,V);n(P.anchor,F,R);return}if(Q===Xa){b(P,F,R);return}if(V!==2&&k&1&&oe)if(V===0)oe.persisted&&!J[as]?n(J,F,R):(oe.beforeEnter(J),n(J,F,R),It(()=>oe.enter(J),Z));else{const{leave:Y,delayLeave:pe,afterLeave:ie}=oe,G=()=>{P.ctx.isUnmounted?a(J):n(J,F,R)},q=()=>{const be=J._isLeaving||!!J[as];J._isLeaving&&J[as](!0),oe.persisted&&!be?G():Y(J,()=>{G(),ie&&ie()})};pe?pe(J,G,q):q()}else n(J,F,R)},se=(P,F,R,V=!1,Z=!1)=>{const{type:J,props:Q,ref:oe,children:_,dynamicChildren:k,shapeFlag:B,patchFlag:Y,dirs:pe,cacheIndex:ie,memo:G}=P;if(Y===-2&&(Z=!1),oe!=null&&(no(),qn(oe,null,R,P,!0),ao()),ie!=null&&(F.renderCache[ie]=void 0),B&256){F.ctx.deactivate(P);return}const q=B&1&&pe,be=!bn(P);let $e;if(be&&($e=Q&&Q.onVnodeBeforeUnmount)&&po($e,F,P),B&6)Ne(P.component,R,V);else{if(B&128){P.suspense.unmount(R,V);return}q&&Jo(P,null,F,"beforeUnmount"),B&64?P.type.remove(P,F,R,Je,V):k&&!k.hasOnce&&(J!==Me||Y>0&&Y&64)?Re(k,F,R,!1,!0):(J===Me&&Y&384||!Z&&B&16)&&Re(_,F,R),V&&ue(P)}const Ge=G!=null&&ie==null;(be&&($e=Q&&Q.onVnodeUnmounted)||q||Ge)&&It(()=>{$e&&po($e,F,P),q&&Jo(P,null,F,"unmounted"),Ge&&(P.el=null)},R)},ue=P=>{const{type:F,el:R,anchor:V,transition:Z}=P;if(F===Me){we(R,V);return}if(F===Xa){v(P);return}const J=()=>{a(R),Z&&!Z.persisted&&Z.afterLeave&&Z.afterLeave()};if(P.shapeFlag&1&&Z&&!Z.persisted){const{leave:Q,delayLeave:oe}=Z,_=()=>Q(R,J);oe?oe(P.el,J,_):_()}else J()},we=(P,F)=>{let R;for(;P!==F;)R=f(P),a(P),P=R;a(F)},Ne=(P,F,R)=>{const{bum:V,scope:Z,job:J,subTree:Q,um:oe,m:_,a:k}=P;ac(_),ac(k),V&&Pa(V),Z.stop(),J&&(J.flags|=8,se(Q,P,F,R)),oe&&It(oe,F),It(()=>{P.isUnmounted=!0},F)},Re=(P,F,R,V=!1,Z=!1,J=0)=>{for(let Q=J;Q{if(P.shapeFlag&6)return Oe(P.component.subTree);if(P.shapeFlag&128)return P.suspense.next();const F=f(P.anchor||P.el),R=F&&F[Al];return R?f(R):F};let Ie=!1;const qe=(P,F,R)=>{let V;P==null?F._vnode&&(se(F._vnode,null,null,!0),V=F._vnode.component):m(F._vnode||null,P,F,null,null,null,R),F._vnode=P,Ie||(Ie=!0,vl(V),kl(),Ie=!1)},Je={p:m,um:se,m:ne,r:ue,mt:S,mc:C,pc:re,pbc:H,n:Oe,o:e};return{render:qe,hydrate:void 0,createApp:of(qe)}}function hs({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 Qo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function _f(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ms(e,t,o=!1){const n=e.children,a=t.children;if(xe(n)&&xe(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 nc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:nc(t)}function ac(e){if(e)for(let t=0;te.__isSuspense;function kf(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):Ag(e)}const Me=Symbol.for("v-fgt"),Zn=Symbol.for("v-txt"),co=Symbol.for("v-cmt"),Xa=Symbol.for("v-stc"),xo=[];let zt=null;function z(e=!1){xo.push(zt=e?null:[])}function bs(){xo.pop(),zt=xo[xo.length-1]||null}let Qn=1;function Za(e,t=!1){Qn+=e,e<0&&zt&&t&&(zt.hasOnce=!0)}function ic(e){return e.dynamicChildren=Qn>0?zt||cn:null,bs(),Qn>0&&zt&&zt.push(e),e}function X(e,t,o,n,a,r){return ic(I(e,t,o,n,a,r,!0))}function lt(e,t,o,n,a){return ic(He(e,t,o,n,a,!0))}function ea(e){return e?e.__v_isVNode===!0:!1}function ta(e,t){return e.type===t.type&&e.key===t.key}const lc=({key:e})=>e??null,Qa=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Qe(e)||at(e)||Ee(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,a=null,r=e===Me?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&lc(t),ref:t&&Qa(t),scopeId:xl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:$t};return i?(er(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=Qe(o)?8:16),Qn>0&&!s&&zt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&zt.push(l),l}const He=wf;function wf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Rl)&&(e=co),ea(e)){const i=_n(e,t,!0);return o&&er(i,o),Qn>0&&!r&&zt&&(i.shapeFlag&6?zt[zt.indexOf(e)]=i:zt.push(i)),i.patchFlag=-2,i}if(If(e)&&(e=e.__vccOpts),t){t=xf(t);let{class:i,style:l}=t;i&&!Qe(i)&&(t.class=Te(i)),Ye(l)&&(Fa(l)&&!xe(l)&&(l=ct({},l)),t.style=nt(l))}const s=Qe(e)?1:sc(e)?128:Ua(e)?64:Ye(e)?4:Ee(e)?2:0;return I(e,t,o,n,a,s,r,!0)}function xf(e){return e?Fa(e)||Jl(e)?ct({},e):e:null}function _n(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?Af(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&lc(u),ref:t&&t.ref?o&&r?xe(r)?r.concat(Qa(t)):[r,Qa(t)]:Qa(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!==Me?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&&_n(e.ssContent),ssFallback:e.ssFallback&&_n(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&rs(c,l.clone(c)),c}function St(e=" ",t=0){return He(Zn,null,e,t)}function $f(e,t){const o=He(Xa,null,e);return o.staticCount=t,o}function me(e="",t=!1){return t?(z(),lt(co,null,e)):He(co,null,e)}function uo(e){return e==null||typeof e=="boolean"?He(co):xe(e)?He(Me,null,e.slice()):ea(e)?$o(e):He(Zn,null,String(e))}function $o(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_n(e)}function er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(xe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),er(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Jl(t)?t._ctx=$t:a===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ee(t)){if(n&65){er(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),n&64?(o=16,t=[St(t)]):o=8;e.children=t,e.shapeFlag|=o}function Af(...e){const t={};for(let o=0;oEt||$t;let tr,oa;{const e=Ca(),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)}};tr=t("__VUE_INSTANCE_SETTERS__",o=>Et=o),oa=t("__VUE_SSR_SETTERS__",o=>vn=o)}const na=e=>{const t=Et;return tr(e),e.scope.on(),()=>{e.scope.off(),tr(t)}},cc=()=>{Et&&Et.scope.off(),tr(null)};function uc(e){return e.vnode.shapeFlag&4}let vn=!1;function Lf(e,t=!1,o=!1){t&&oa(t);const{props:n,children:a}=e.vnode,r=uc(e);df(e,n,r,t),hf(e,a,o||t);const s=r?Cf(e,t):void 0;return t&&oa(!1),s}function Cf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,qg);const{setup:n}=o;if(n){no();const a=e.setupContext=n.length>1?Mf(e):null,r=na(e),s=fn(n,e,0,[e.props,a]),i=Bi(s);if(ao(),r(),(i||e.sp)&&!bn(e)&&ss(e),i){if(s.then(cc,cc),t)return s.then(l=>{oa(!0);try{dc(e,l,t)}finally{oa(!1)}}).catch(l=>{Hn(l,e,0)});e.asyncDep=s}else dc(e,s)}else pc(e)}function dc(e,t,o){Ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=hl(t)),pc(e)}function pc(e,t,o){const n=e.type;e.render||(e.render=n.render||to);{const a=na(e);no();try{Jg(e)}finally{ao(),a()}}}const Tf={get(e,t){return Ct(e,"get",""),e[t]}};function Mf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Tf),slots:e.slots,emit:e.emit,expose:t}}function or(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hl(Yo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Jn)return Jn[o](e)},has(t,o){return o in t||o in Jn}})):e.proxy}const Nf=/(?:^|[-_])\w/g,Rf=e=>e.replace(Nf,t=>t.toUpperCase()).replace(/[-_]/g,"");function gc(e,t=!0){return Ee(e)?e.displayName||e.name:e.name||t&&e.__name}function fc(e,t,o=!1){let n=gc(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?Rf(n):o?"App":"Anonymous"}function If(e){return Ee(e)&&"__vccOpts"in e}const ee=(e,t)=>mg(e,t,vn);function hc(e,t,o){try{Za(-1);const n=arguments.length;return n===2?Ye(t)&&!xe(t)?ea(t)?He(e,null,[t]):He(e,t):He(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&ea(o)&&(o=[o]),He(e,t,o))}finally{Za(1)}}const Of="3.5.42";/** +`,...vg(a)),console.warn(...r)}ro(),Qr=!1}function _g(){let e=Vn[Vn.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 vg(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...kg(o))}),t}function kg({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${fc(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...wg(e.props),r]:[a+r]}function wg(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...bl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function bl(e,t,o){return Xe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=bl(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ee(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function hn(e,t,o,n){try{return n?e(...n):e()}catch(a){Wn(a,t,o)}}function Jt(e,t,o,n){if(Ee(e)){const a=hn(e,t,o,n);return a&&Gi(a)&&a.catch(r=>{Wn(r,t,o)}),a}if(xe(e)){const a=[];for(let r=0;r>>1,a=Rt[n],r=Yn(a);r=Yn(o)?Rt.push(e):Rt.splice($g(t),0,e),e.flags|=1,_l()}}function _l(){Ua||(Ua=yl.then(wl))}function Ag(e){if(!xe(e))Io&&e.id===-1?Io.splice(bn+1,0,e):e.flags&1||(mn.push(e),e.flags|=1);else for(let t=0;tYn(o)-Yn(n));if(mn.length=0,Io){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function wl(e){try{for(io=0;io{n._d&&er(-1);const r=za(t),s=$o.length;let i;try{i=e(...a)}finally{for(let l=$o.length;l>s;l--)ys();za(r),n._d&&er(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function ts(e,t){if($t===null)return e;const o=ar($t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Ee(t)?t.call(n&&n.proxy):t}}function Sg(){return!!(So()||Qo)}const Lg=Symbol.for("v-scx"),Eg=()=>Ie(Lg);function Pg(e,t){return os(e,null,t)}function it(e,t,o){return os(e,t,o)}function os(e,t,o=Ze){const{immediate:n,deep:a,flush:r,once:s}=o,i=ct({},o),l=t&&n||!t&&r!=="post";let u;if(kn){if(r==="sync"){const y=Eg();u=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=oo,y.resume=oo,y.pause=oo,y}}const c=Lt;i.call=(y,$,h)=>Jt(y,c,$,h);let d=!1;r==="post"?i.scheduler=y=>{It(y,c&&c.suspense)}:r!=="sync"&&(d=!0,i.scheduler=(y,$)=>{$?y():es(y)}),i.augmentJob=y=>{t&&(y.flags|=4),d&&(y.flags|=2,c&&(y.id=c.uid,y.i=c))};const f=yg(e,t,i);return kn&&(u?u.push(f):l&&f()),f}function Cg(e,t,o){const n=this.proxy,a=Xe(e)?e.includes(".")?$l(n,e):()=>n[e]:e.bind(n,n);let r;Ee(t)?r=t:(r=t.handler,o=t);const s=ra(this),i=os(a,r.bind(n),o);return s(),i}function $l(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Xo=e=>e&&(e.disabled||e.disabled===""),Tg=e=>e&&(e.defer||e.defer===""),Sl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ll=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ns=(e,t)=>{const o=e&&e.to;return Xe(o)?t?t(o):null:o},Mg={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:d,pbc:f,o:{insert:y,querySelector:$,createText:h,createComment:p,parentNode:g}}=u,m=Xo(t.props);let{dynamicChildren:b}=t;const v=(A,S,M)=>{A.shapeFlag&16&&c(A.children,S,M,a,r,s,i,l)},x=(A=t)=>{const S=Xo(A.props),M=A.target=ns(A.props,$),K=as(M,A,h,y);M&&(s!=="svg"&&Sl(M)?s="svg":s!=="mathml"&&Ll(M)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(M),S||(v(A,M,K),qn(A,!1)))},w=A=>{const S=()=>{if(Oo.get(A)===S){if(Oo.delete(A),Xo(A.props)){const M=g(A.el)||o;v(A,M,A.anchor),qn(A,!0)}x(A)}};Oo.set(A,S),It(S,r)};if(e==null){const A=t.el=h(""),S=t.anchor=h("");if(y(A,o,n),y(S,o,n),Tg(t.props)||r&&r.pendingBranch){w(t);return}m&&(v(t,o,S),qn(t,!0)),x()}else{t.el=e.el;const A=t.anchor=e.anchor,S=Oo.get(e);if(S){S.flags|=8,Oo.delete(e),w(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,K=t.targetAnchor=e.targetAnchor,W=Xo(e.props),re=W?o:M,C=W?A:K;if(s==="svg"||Sl(M)?s="svg":(s==="mathml"||Ll(M))&&(s="mathml"),b?(f(e.dynamicChildren,b,re,a,r,s,i),bs(e,t,!0)):l||d(e,t,re,C,a,r,s,i,!1),m)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ha(t,o,A,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const L=ns(t.props,$);L&&(t.target=L,Ha(t,L,null,u,0))}else W&&Ha(t,M,K,u,1);qn(t,m)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:d,props:f}=e,y=Xo(f),$=r||!y,h=Oo.get(e);if(h&&(h.flags|=8,Oo.delete(e)),d&&(a(u),a(c)),r&&a(l),!h&&(y||d)&&s&16)for(let p=0;p1){for(const o of e)if(o.type!==uo){t=o;break}}return t}function El(e){if(!Ya(e))return Ka(e.type)&&e.children?Ig(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ee(o.default))return o.default()}}function ss(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ss(Ka(o.type)&&El(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Jn(e,t){return Ee(e)?ct({name:e.name},t,{setup:e}):e}function is(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Pl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Va=new WeakMap;function Zn(e,t,o,n,a=!1){if(xe(e)){e.forEach((h,p)=>Zn(h,t&&(xe(t)?t[p]:t),o,n,a));return}if(yn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Zn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?ar(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===Ze?i.refs={}:i.refs,d=i.setupState,f=Be(d),y=d===Ze?Fi:h=>Pl(c,h)?!1:He(f,h),$=(h,p)=>!(p&&Pl(c,p));if(u!=null&&u!==l){if(Cl(t),Xe(u))c[u]=null,y(u)&&(d[u]=null);else if(at(u)){const h=t;$(u,h.k)&&(u.value=null),h.k&&(c[h.k]=null)}}if(Ee(l))hn(l,i,12,[s,c]);else{const h=Xe(l),p=at(l);if(h||p){const g=()=>{if(e.f){const m=h?y(l)?d[l]:c[l]:$()||!e.k?l.value:c[e.k];if(a)xe(m)&&Dr(m,r);else if(xe(m))m.includes(r)||m.push(r);else if(h)c[l]=[r],y(l)&&(d[l]=c[l]);else{const b=[r];$(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else h?(c[l]=s,y(l)&&(d[l]=s)):p&&($(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const m=()=>{g(),Va.delete(e)};m.id=-1,Va.set(e,m),It(m,o)}else Cl(e),g()}}}function Cl(e){const t=Va.get(e);t&&(t.flags|=8,Va.delete(e))}const Tl=e=>e.nodeType===8;Ma().requestIdleCallback,Ma().cancelIdleCallback;function Og(e,t){if(Tl(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Tl(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const yn=e=>!!e.type.__asyncLoader;function Fg(e){Ee(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,d=0;const f=()=>(d++,u=null,y()),y=()=>{let $;return u||($=u=t().catch(h=>{if(h=h instanceof Error?h:new Error(String(h)),l)return new Promise((p,g)=>{l(h,()=>p(f()),()=>g(h),d+1)});throw h}).then(h=>$!==u&&u?u:(h&&(h.__esModule||h[Symbol.toStringTag]==="Module")&&(h=h.default),c=h,h)))};return Jn({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate($,h,p){const g=$.isConnected;let m=!1;(h.bu||(h.bu=[])).push(()=>m=!0);const b=()=>{m||!$.parentNode||g&&!$.isConnected||p()},v=r?()=>{const x=r(b,w=>Og($,w));x&&(h.bum||(h.bum=[])).push(x)}:b;c?v():y().then(()=>!h.isUnmounted&&v())},get __asyncResolved(){return c},setup(){const $=Lt;if(is($),c)return()=>Wa(c,$);const h=x=>{u=null,Wn(x,$,13,!n)};if(i&&$.suspense||kn)return y().then(x=>()=>Wa(x,$)).catch(x=>(h(x),()=>n?Ve(n,{error:x}):null));const p=de(!1),g=de(),m=de(!!a);let b,v;return Ja(()=>{b!=null&&clearTimeout(b),v!=null&&clearTimeout(v)}),a&&(v=setTimeout(()=>{$.isUnmounted||(m.value=!1)},a)),s!=null&&(b=setTimeout(()=>{if(!$.isUnmounted&&!p.value&&!g.value){const x=new Error(`Async component timed out after ${s}ms.`);h(x),g.value=x}},s)),y().then(()=>{$.isUnmounted||(p.value=!0,$.parent&&Ya($.parent.vnode)&&$.parent.update())}).catch(x=>{if($.isUnmounted){u=null;return}h(x),g.value=x}),()=>{if(p.value&&c)return Wa(c,$);if(g.value&&n)return Ve(n,{error:g.value});if(o&&!m.value)return Wa(o,$)}}})}function Wa(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ve(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ya=e=>e.type.__isKeepAlive;function Dg(e,t){Ml(e,"a",t)}function Gg(e,t){Ml(e,"da",t)}function Ml(e,t,o=Lt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(qa(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ya(a.parent.vnode)&&Bg(n,t,o,a),a=a.parent}}function Bg(e,t,o,n){const a=qa(t,e,n,!0);Ja(()=>{Dr(n[t],a)},o)}function qa(e,t,o=Lt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{ao();const i=ra(o),l=Jt(t,o,e,s);return i(),ro(),l});return n?a.unshift(r):a.push(r),r}}const xo=e=>(t,o=Lt)=>{(!kn||e==="sp")&&qa(e,(...n)=>t(...n),o)},Rl=xo("bm"),co=xo("m"),jg=xo("bu"),Ug=xo("u"),Zt=xo("bum"),Ja=xo("um"),zg=xo("sp"),Kg=xo("rtg"),Hg=xo("rtc");function Vg(e,t=Lt){qa("ec",e,t)}const Wg="components",Nl=Symbol.for("v-ndc");function ls(e){return Xe(e)?Yg(Wg,e,!1)||e:e||Nl}function Yg(e,t,o=!0,n=!1){const a=$t||Lt;if(a){const r=a.type;{const i=gc(r,!1);if(i&&(i===t||i===_t(t)||i===Pa(_t(t))))return r}const s=Il(a[e]||r[e],t)||Il(a.appContext[e],t);return!s&&n?r:s}}function Il(e,t){return e&&(e[t]||e[_t(t)]||e[Pa(_t(t))])}function At(e,t,o,n){let a;const r=o,s=xe(e);if(s||Xe(e)){const i=s&&vo(e);let l=!1,u=!1;i&&(l=!Ut(e),u=ko(e),e=Na(e)),a=new Array(e.length);for(let c=0,d=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),z(),lt(Re,null,[Ve("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=$o.length;z();let l;try{const u=s&&Ol(s(o)),c=o.key||r||u&&u.key;l=lt(Re,{key:(c&&!Bt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=$o.length;c>i;c--)ys();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ol(e){return e.some(t=>oa(t)?!(t.type===uo||t.type===Re&&!Ol(t.children)):!0)?e:null}const cs=e=>e?uc(e)?ar(e):cs(e.parent):null,Xn=ct(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>cs(e.parent),$root:e=>cs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Bl(e),$forceUpdate:e=>e.f||(e.f=()=>{es(e.update)}),$nextTick:e=>e.n||(e.n=lo.bind(e.proxy)),$watch:e=>Cg.bind(e)}),us=(e,t)=>e!==Ze&&!e.__isScriptSetup&&He(e,t),qg={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 f=s[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(us(n,t))return s[t]=1,n[t];if(a!==Ze&&He(a,t))return s[t]=2,a[t];if(He(r,t))return s[t]=3,r[t];if(o!==Ze&&He(o,t))return s[t]=4,o[t];ds&&(s[t]=0)}}const u=Xn[t];let c,d;if(u)return t==="$attrs"&&Ct(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==Ze&&He(o,t))return s[t]=4,o[t];if(d=l.config.globalProperties,He(d,t))return d[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return us(a,t)?(a[t]=o,!0):n!==Ze&&He(n,t)?(n[t]=o,!0):He(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Ze&&i[0]!=="$"&&He(e,i)||us(t,i)||He(r,i)||He(n,i)||He(Xn,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 Fl(e){return xe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ds=!0;function Jg(e){const t=Bl(e),o=e.proxy,n=e.ctx;ds=!1,t.beforeCreate&&Dl(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:y,updated:$,activated:h,deactivated:p,beforeDestroy:g,beforeUnmount:m,destroyed:b,unmounted:v,render:x,renderTracked:w,renderTriggered:A,errorCaptured:S,serverPrefetch:M,expose:K,inheritAttrs:W,components:re,directives:C,filters:L}=t;if(u&&Zg(u,n,null),s)for(const T in s){const ae=s[T];Ee(ae)&&(n[T]=ae.bind(o))}if(a){const T=a.call(o,o);qe(T)&&(e.data=pn(T))}if(ds=!0,r)for(const T in r){const ae=r[T],ye=Ee(ae)?ae.bind(o,o):Ee(ae.get)?ae.get.bind(o,o):oo,D=!Ee(ae)&&Ee(ae.set)?ae.set.bind(o):oo,q=te({get:ye,set:D});Object.defineProperty(n,T,{enumerable:!0,configurable:!0,get:()=>q.value,set:se=>q.value=se})}if(i)for(const T in i)Gl(i[T],n,o,T);if(l){const T=Ee(l)?l.call(o):l;Reflect.ownKeys(T).forEach(ae=>{Dt(ae,T[ae])})}c&&Dl(c,e,"c");function E(T,ae){xe(ae)?ae.forEach(ye=>T(ye.bind(o))):ae&&T(ae.bind(o))}if(E(Rl,d),E(co,f),E(jg,y),E(Ug,$),E(Dg,h),E(Gg,p),E(Vg,S),E(Hg,w),E(Kg,A),E(Zt,m),E(Ja,v),E(zg,M),xe(K))if(K.length){const T=e.exposed||(e.exposed={});K.forEach(ae=>{Object.defineProperty(T,ae,{get:()=>o[ae],set:ye=>o[ae]=ye,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===oo&&(e.render=x),W!=null&&(e.inheritAttrs=W),re&&(e.components=re),C&&(e.directives=C),M&&is(e)}function Zg(e,t,o=oo){xe(e)&&(e=ps(e));for(const n in e){const a=e[n];let r;qe(a)?"default"in a?r=Ie(a.from||n,a.default,!0):r=Ie(a.from||n):r=Ie(a),at(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Dl(e,t,o){Jt(xe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Gl(e,t,o,n){let a=n.includes(".")?$l(o,n):()=>o[n];if(Xe(e)){const r=t[e];Ee(r)&&it(a,r)}else if(Ee(e))it(a,e.bind(o));else if(qe(e))if(xe(e))e.forEach(r=>Gl(r,t,o,n));else{const r=Ee(e.handler)?e.handler.bind(o):t[e.handler];Ee(r)&&it(a,r,e)}}function Bl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>Za(l,u,s,!0)),Za(l,t,s)),qe(t)&&r.set(t,l),l}function Za(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Za(e,r,o,!0),a&&a.forEach(s=>Za(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Xg[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Xg={data:jl,props:Ul,emits:Ul,methods:Qn,computed:Qn,beforeCreate:Nt,created:Nt,beforeMount:Nt,mounted:Nt,beforeUpdate:Nt,updated:Nt,beforeDestroy:Nt,beforeUnmount:Nt,destroyed:Nt,unmounted:Nt,activated:Nt,deactivated:Nt,errorCaptured:Nt,serverPrefetch:Nt,components:Qn,directives:Qn,watch:ef,provide:jl,inject:Qg};function jl(e,t){return t?e?function(){return ct(Ee(e)?e.call(this,this):e,Ee(t)?t.call(this,this):t)}:t:e}function Qg(e,t){return Qn(ps(e),ps(t))}function ps(e){if(xe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_t(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function af(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ze;let a=o;const r=t.startsWith("update:"),s=r&&nf(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>Xe(c)?c.trim():c)),s.number&&(a=a.map(Ta)));let i,l=n[i=Gr(t)]||n[i=Gr(_t(t))];!l&&r&&(l=n[i=Gr(jt(t))]),l&&Jt(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Jt(u,e,6,a)}}const rf=new WeakMap;function Kl(e,t,o=!1){const n=o?rf:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Ee(e)){const l=u=>{const c=Kl(u,t,!0);c&&(i=!0,ct(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(qe(e)&&n.set(e,null),null):(xe(r)?r.forEach(l=>s[l]=null):ct(s,r),qe(e)&&n.set(e,s),s)}function Xa(e,t){return!e||!$a(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,jt(t))||He(e,t))}function N$(){}function Hl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:d,data:f,setupState:y,ctx:$,inheritAttrs:h}=e,p=za(e);let g,m;try{if(o.shapeFlag&4){const v=a||n,x=v;g=po(u.call(x,v,c,d,y,f,$)),m=i}else{const v=t;g=po(v.length>1?v(d,{attrs:i,slots:s,emit:l}):v(d,null)),m=t.props?i:sf(i)}}catch(v){$o.length=0,Wn(v,e,1),g=Ve(uo)}let b=g;if(m&&h!==!1){const v=Object.keys(m),{shapeFlag:x}=b;v.length&&x&7&&(r&&v.some(Aa)&&(m=lf(m,r)),b=vn(b,m,!1,!0))}if(o.dirs&&(b=vn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(o.dirs):o.dirs),o.transition){const v=Ka(b.type)&&El(b)||b;ss(v,o.transition)}return g=b,za(p),g}const sf=e=>{let t;for(const o in e)(o==="class"||o==="style"||$a(o))&&((t||(t={}))[o]=e[o]);return t},lf=(e,t)=>{const o={};for(const n in e)(!Aa(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function cf(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Vl(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let d=0;dObject.create(Yl),Jl=e=>Object.getPrototypeOf(e)===Yl;function df(e,t,o,n=!1){const a={},r=ql();e.propsDefaults=Object.create(null),Zl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:lg(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function pf(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,y]=Xl(d,t,!0);ct(s,f),y&&i.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return qe(e)&&n.set(e,un),un;if(xe(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",hs=e=>xe(e)?e.map(po):[po(e)],ff=(e,t,o)=>{if(t._n)return t;const n=zt((...a)=>hs(t(...a)),o);return n._c=!1,n},ec=(e,t,o)=>{const n=e._ctx;for(const a in e){if(fs(a))continue;const r=e[a];if(Ee(r))t[a]=ff(a,r,n);else if(r!=null){const s=hs(r);t[a]=()=>s}}},tc=(e,t)=>{const o=hs(t);e.slots.default=()=>o},oc=(e,t,o)=>{for(const n in t)(o||!fs(n))&&(e[n]=t[n])},hf=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const a=t._;a?(oc(n,t,o),o&&ji(n,"_",a,!0)):ec(t,n)}else t&&tc(e,t)},mf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Ze;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:oc(a,t,o):(r=!t.$stable,ec(t,a)),s=t}else t&&(tc(e,t),s={default:1});if(r)for(const i in a)!fs(i)&&s[i]==null&&delete a[i]},It=kf;function bf(e){return yf(e)}function yf(e,t){const o=Ma();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:y=oo,insertStaticContent:$}=e,h=(P,O,R,H=null,X=null,ne=null,J=void 0,Q=null,_=!!O.dynamicChildren)=>{if(P===O)return;P&&!na(P,O)&&(H=je(P),se(P,X,ne,!0),P=null),O.patchFlag===-2&&(_=!1,O.dynamicChildren=null);const{type:k,ref:G,shapeFlag:Y}=O;switch(k){case ea:p(P,O,R,H);break;case uo:g(P,O,R,H);break;case Qa:P==null&&m(O,R,H,J);break;case Re:re(P,O,R,H,X,ne,J,Q,_);break;default:Y&1?x(P,O,R,H,X,ne,J,Q,_):Y&6?C(P,O,R,H,X,ne,J,Q,_):(Y&64||Y&128)&&k.process(P,O,R,H,X,ne,J,Q,_,Ue)}G!=null&&X?Zn(G,P&&P.ref,ne,O||P,!O):G==null&&P&&P.ref!=null&&Zn(P.ref,null,ne,P,!0)},p=(P,O,R,H)=>{if(P==null)n(O.el=i(O.children),R,H);else{const X=O.el=P.el;O.children!==P.children&&u(X,O.children)}},g=(P,O,R,H)=>{P==null?n(O.el=l(O.children||""),R,H):O.el=P.el},m=(P,O,R,H)=>{[P.el,P.anchor]=$(P.children,O,R,H,P.el,P.anchor)},b=({el:P,anchor:O},R,H)=>{let X;for(;P&&P!==O;)X=f(P),n(P,R,H),P=X;n(O,R,H)},v=({el:P,anchor:O})=>{let R;for(;P&&P!==O;)R=f(P),a(P),P=R;a(O)},x=(P,O,R,H,X,ne,J,Q,_)=>{if(O.type==="svg"?J="svg":O.type==="math"&&(J="mathml"),P==null)w(O,R,H,X,ne,J,Q,_);else{const k=P.el&&P.el._isVueCE?P.el:null;try{k&&k._beginPatch(),M(P,O,X,ne,J,Q,_)}finally{k&&k._endPatch()}}},w=(P,O,R,H,X,ne,J,Q)=>{let _,k;const{props:G,shapeFlag:Y,transition:pe,dirs:le}=P;if(_=P.el=s(P.type,ne,G&&G.is,G),Y&8?c(_,P.children):Y&16&&S(P.children,_,null,H,X,ms(P,ne),J,Q),le&&Zo(P,null,H,"created"),A(_,P,P.scopeId,J,H),G){for(const Z in G)Z!=="value"&&!Bn(Z)&&r(_,Z,null,G[Z],ne,H);"value"in G&&r(_,"value",null,G.value,ne),(k=G.onVnodeBeforeMount)&&go(k,H,P)}le&&Zo(P,null,H,"beforeMount");const B=_f(X,pe);B&&pe.beforeEnter(_),n(_,O,R),((k=G&&G.onVnodeMounted)||B||le)&&It(()=>{try{k&&go(k,H,P),B&&pe.enter(_),le&&Zo(P,null,H,"mounted")}finally{}},X)},A=(P,O,R,H,X)=>{if(R&&y(P,R),H)for(let ne=0;ne{for(let k=_;k{const Q=O.el=P.el;let{patchFlag:_,dynamicChildren:k,dirs:G}=O;_|=P.patchFlag&16;const Y=P.props||Ze,pe=O.props||Ze;let le;if(R&&en(R,!1),(le=pe.onVnodeBeforeUpdate)&&go(le,R,O,P),G&&Zo(O,P,R,"beforeUpdate"),R&&en(R,!0),k&&(!P.dynamicChildren||P.dynamicChildren.length!==k.length)&&(_=0,J=!1,k=null),(Y.innerHTML&&pe.innerHTML==null||Y.textContent&&pe.textContent==null)&&c(Q,""),k?K(P.dynamicChildren,k,Q,R,H,ms(O,X),ne):J||ae(P,O,Q,null,R,H,ms(O,X),ne,!1),_>0){if(_&16)W(Q,Y,pe,R,X);else if(_&2&&Y.class!==pe.class&&r(Q,"class",null,pe.class,X),_&4&&r(Q,"style",Y.style,pe.style,X),_&8){const B=O.dynamicProps;for(let Z=0;Z{le&&go(le,R,O,P),G&&Zo(O,P,R,"updated")},H)},K=(P,O,R,H,X,ne,J)=>{for(let Q=0;Q{if(O!==R){if(O!==Ze)for(const ne in O)!Bn(ne)&&!(ne in R)&&r(P,ne,O[ne],null,X,H);for(const ne in R){if(Bn(ne))continue;const J=R[ne],Q=O[ne];J!==Q&&ne!=="value"&&r(P,ne,Q,J,X,H)}"value"in R&&r(P,"value",O.value,R.value,X)}},re=(P,O,R,H,X,ne,J,Q,_)=>{const k=O.el=P?P.el:i(""),G=O.anchor=P?P.anchor:i("");let{patchFlag:Y,dynamicChildren:pe,slotScopeIds:le}=O;le&&(Q=Q?Q.concat(le):le),P==null?(n(k,R,H),n(G,R,H),S(O.children||[],R,G,X,ne,J,Q,_)):Y>0&&Y&64&&pe&&P.dynamicChildren&&P.dynamicChildren.length===pe.length?(K(P.dynamicChildren,pe,R,X,ne,J,Q),(O.key!=null||X&&O===X.subTree)&&bs(P,O,!0)):ae(P,O,R,G,X,ne,J,Q,_)},C=(P,O,R,H,X,ne,J,Q,_)=>{O.slotScopeIds=Q,P==null?O.shapeFlag&512?X.ctx.activate(O,R,H,J,_):L(O,R,H,X,ne,J,_):I(P,O,_)},L=(P,O,R,H,X,ne,J)=>{const Q=P.component=Ef(P,H,X);if(Ya(P)&&(Q.ctx.renderer=Ue),Pf(Q,!1,J),Q.asyncDep){if(X&&X.registerDep(Q,E,J),!P.el){const _=Q.subTree=Ve(uo);g(null,_,O,R),P.placeholder=_.el}}else E(Q,P,O,R,X,ne,J)},I=(P,O,R)=>{const H=O.component=P.component;if(cf(P,O,R))if(H.asyncDep&&!H.asyncResolved){T(H,O,R);return}else H.next=O,H.update();else O.el=P.el,H.vnode=O},E=(P,O,R,H,X,ne,J)=>{const Q=()=>{if(P.isMounted){let{next:Y,bu:pe,u:le,parent:B,vnode:Z}=P;{const F=nc(P);if(F){Y&&(Y.el=Z.el,T(P,Y,J)),F.asyncDep.then(()=>{It(()=>{P.isUnmounted||k()},X)});return}}let me=Y,Ae;en(P,!1),Y?(Y.el=Z.el,T(P,Y,J)):Y=Z,pe&&Ca(pe),(Ae=Y.props&&Y.props.onVnodeBeforeUpdate)&&go(Ae,B,Y,Z),en(P,!0);const Ge=Hl(P),dt=P.subTree;P.subTree=Ge,h(dt,Ge,d(dt.el),je(dt),P,X,ne),Y.el=Ge.el,me===null&&uf(P,Ge.el),le&&It(le,X),(Ae=Y.props&&Y.props.onVnodeUpdated)&&It(()=>go(Ae,B,Y,Z),X)}else{let Y;const{el:pe,props:le}=O,{bm:B,m:Z,parent:me,root:Ae,type:Ge}=P,dt=yn(O);en(P,!1),B&&Ca(B),!dt&&(Y=le&&le.onVnodeBeforeMount)&&go(Y,me,O),en(P,!0);{Ae.ce&&Ae.ce._hasShadowRoot()&&Ae.ce._injectChildStyle(Ge,P.parent?P.parent.type:void 0);const F=P.subTree=Hl(P);h(null,F,R,H,P,X,ne),O.el=F.el}if(Z&&It(Z,X),!dt&&(Y=le&&le.onVnodeMounted)){const F=O;It(()=>go(Y,me,F),X)}(O.shapeFlag&256||me&&yn(me.vnode)&&me.vnode.shapeFlag&256)&&P.a&&It(P.a,X),P.isMounted=!0,O=R=H=null}};P.scope.on();const _=P.effect=new Ji(Q);P.scope.off();const k=P.update=_.run.bind(_),G=P.job=_.runIfDirty.bind(_);G.i=P,G.id=P.uid,_.scheduler=()=>es(G),en(P,!0),k()},T=(P,O,R)=>{O.component=P;const H=P.vnode.props;P.vnode=O,P.next=null,pf(P,O.props,H,R),mf(P,O.children,R),ao(),vl(P),ro()},ae=(P,O,R,H,X,ne,J,Q,_=!1)=>{const k=P&&P.children,G=P?P.shapeFlag:0,Y=O.children,{patchFlag:pe,shapeFlag:le}=O;if(pe>0){if(pe&128){D(k,Y,R,H,X,ne,J,Q,_);return}else if(pe&256){ye(k,Y,R,H,X,ne,J,Q,_);return}}le&8?(G&16&&Fe(k,X,ne),Y!==k&&c(R,Y)):G&16?le&16?D(k,Y,R,H,X,ne,J,Q,_):Fe(k,X,ne,!0):(G&8&&c(R,""),le&16&&S(Y,R,H,X,ne,J,Q,_))},ye=(P,O,R,H,X,ne,J,Q,_)=>{P=P||un,O=O||un;const k=P.length,G=O.length,Y=Math.min(k,G);let pe;for(pe=0;peG?Fe(P,X,ne,!0,!1,Y):S(O,R,H,X,ne,J,Q,_,Y)},D=(P,O,R,H,X,ne,J,Q,_)=>{let k=0;const G=O.length;let Y=P.length-1,pe=G-1;for(;k<=Y&&k<=pe;){const le=P[k],B=O[k]=_?Ao(O[k]):po(O[k]);if(na(le,B))h(le,B,R,null,X,ne,J,Q,_);else break;k++}for(;k<=Y&&k<=pe;){const le=P[Y],B=O[pe]=_?Ao(O[pe]):po(O[pe]);if(na(le,B))h(le,B,R,null,X,ne,J,Q,_);else break;Y--,pe--}if(k>Y){if(k<=pe){const le=pe+1,B=lepe)for(;k<=Y;)se(P[k],X,ne,!0),k++;else{const le=k,B=k,Z=new Map;for(k=B;k<=pe;k++){const _e=O[k]=_?Ao(O[k]):po(O[k]);_e.key!=null&&Z.set(_e.key,k)}let me,Ae=0;const Ge=pe-B+1;let dt=!1,F=0;const V=new Array(Ge);for(k=0;k=Ge){se(_e,X,ne,!0);continue}let we;if(_e.key!=null)we=Z.get(_e.key);else for(me=B;me<=pe;me++)if(V[me-B]===0&&na(_e,O[me])){we=me;break}we===void 0?se(_e,X,ne,!0):(V[we-B]=k+1,we>=F?F=we:dt=!0,h(_e,O[we],R,null,X,ne,J,Q,_),Ae++)}const be=dt?vf(V):un;for(me=be.length-1,k=Ge-1;k>=0;k--){const _e=B+k,we=O[_e],tt=O[_e+1],Me=_e+1{const{el:ne,type:J,transition:Q,children:_,shapeFlag:k}=P;if(k&6){q(P.component.subTree,O,R,H);return}if(k&128){P.suspense.move(O,R,H);return}if(k&64){J.move(P,O,R,Ue);return}if(J===Re){n(ne,O,R);for(let Y=0;Y<_.length;Y++)q(_[Y],O,R,H);n(P.anchor,O,R);return}if(J===Qa){b(P,O,R);return}if(H!==2&&k&1&&Q)if(H===0)Q.persisted&&!ne[rs]?n(ne,O,R):(Q.beforeEnter(ne),n(ne,O,R),It(()=>Q.enter(ne),X));else{const{leave:Y,delayLeave:pe,afterLeave:le}=Q,B=()=>{P.ctx.isUnmounted?a(ne):n(ne,O,R)},Z=()=>{const me=ne._isLeaving||!!ne[rs];ne._isLeaving&&ne[rs](!0),Q.persisted&&!me?B():Y(ne,()=>{B(),le&&le()})};pe?pe(ne,B,Z):Z()}else n(ne,O,R)},se=(P,O,R,H=!1,X=!1)=>{const{type:ne,props:J,ref:Q,children:_,dynamicChildren:k,shapeFlag:G,patchFlag:Y,dirs:pe,cacheIndex:le,memo:B}=P;if(Y===-2&&(X=!1),Q!=null&&(ao(),Zn(Q,null,R,P,!0),ro()),le!=null&&(O.renderCache[le]=void 0),G&256){O.ctx.deactivate(P);return}const Z=G&1&&pe,me=!yn(P);let Ae;if(me&&(Ae=J&&J.onVnodeBeforeUnmount)&&go(Ae,O,P),G&6)ke(P.component,R,H);else{if(G&128){P.suspense.unmount(R,H);return}Z&&Zo(P,null,O,"beforeUnmount"),G&64?P.type.remove(P,O,R,Ue,H):k&&!k.hasOnce&&(ne!==Re||Y>0&&Y&64)?Fe(k,O,R,!1,!0):(ne===Re&&Y&384||!X&&G&16)&&Fe(_,O,R),H&&ie(P)}const Ge=B!=null&&le==null;(me&&(Ae=J&&J.onVnodeUnmounted)||Z||Ge)&&It(()=>{Ae&&go(Ae,O,P),Z&&Zo(P,null,O,"unmounted"),Ge&&(P.el=null)},R)},ie=P=>{const{type:O,el:R,anchor:H,transition:X}=P;if(O===Re){$e(R,H);return}if(O===Qa){v(P);return}const ne=()=>{a(R),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(P.shapeFlag&1&&X&&!X.persisted){const{leave:J,delayLeave:Q}=X,_=()=>J(R,ne);Q?Q(P.el,ne,_):_()}else ne()},$e=(P,O)=>{let R;for(;P!==O;)R=f(P),a(P),P=R;a(O)},ke=(P,O,R)=>{const{bum:H,scope:X,job:ne,subTree:J,um:Q,m:_,a:k}=P;ac(_),ac(k),H&&Ca(H),X.stop(),ne&&(ne.flags|=8,se(J,P,O,R)),Q&&It(Q,O),It(()=>{P.isUnmounted=!0},O)},Fe=(P,O,R,H=!1,X=!1,ne=0)=>{for(let J=ne;J{if(P.shapeFlag&6)return je(P.component.subTree);if(P.shapeFlag&128)return P.suspense.next();const O=f(P.anchor||P.el),R=O&&O[Al];return R?f(R):O};let Ne=!1;const De=(P,O,R)=>{let H;P==null?O._vnode&&(se(O._vnode,null,null,!0),H=O._vnode.component):h(O._vnode||null,P,O,null,null,null,R),O._vnode=P,Ne||(Ne=!0,vl(H),kl(),Ne=!1)},Ue={p:h,um:se,m:q,r:ie,mt:L,mc:S,pc:ae,pbc:K,n:je,o:e};return{render:De,hydrate:void 0,createApp:of(De)}}function ms({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function en({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function _f(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bs(e,t,o=!1){const n=e.children,a=t.children;if(xe(n)&&xe(a))for(let r=0;r>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 nc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:nc(t)}function ac(e){if(e)for(let t=0;te.__isSuspense;function kf(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):Ag(e)}const Re=Symbol.for("v-fgt"),ea=Symbol.for("v-txt"),uo=Symbol.for("v-cmt"),Qa=Symbol.for("v-stc"),$o=[];let Kt=null;function z(e=!1){$o.push(Kt=e?null:[])}function ys(){$o.pop(),Kt=$o[$o.length-1]||null}let ta=1;function er(e,t=!1){ta+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function ic(e){return e.dynamicChildren=ta>0?Kt||un:null,ys(),ta>0&&Kt&&Kt.push(e),e}function ee(e,t,o,n,a,r){return ic(N(e,t,o,n,a,r,!0))}function lt(e,t,o,n,a){return ic(Ve(e,t,o,n,a,!0))}function oa(e){return e?e.__v_isVNode===!0:!1}function na(e,t){return e.type===t.type&&e.key===t.key}const lc=({key:e})=>e??null,tr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Xe(e)||at(e)||Ee(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,a=null,r=e===Re?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&lc(t),ref:t&&tr(t),scopeId:xl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:$t};return i?(or(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=Xe(o)?8:16),ta>0&&!s&&Kt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Kt.push(l),l}const Ve=wf;function wf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Nl)&&(e=uo),oa(e)){const i=vn(e,t,!0);return o&&or(i,o),ta>0&&!r&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(If(e)&&(e=e.__vccOpts),t){t=xf(t);let{class:i,style:l}=t;i&&!Xe(i)&&(t.class=Te(i)),qe(l)&&(Ga(l)&&!xe(l)&&(l=ct({},l)),t.style=nt(l))}const s=Xe(e)?1:sc(e)?128:Ka(e)?64:qe(e)?4:Ee(e)?2:0;return N(e,t,o,n,a,s,r,!0)}function xf(e){return e?Ga(e)||Jl(e)?ct({},e):e:null}function vn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?Af(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&lc(u),ref:t&&t.ref?o&&r?xe(r)?r.concat(tr(t)):[r,tr(t)]:tr(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!==Re?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vn(e.ssContent),ssFallback:e.ssFallback&&vn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ss(c,l.clone(c)),c}function St(e=" ",t=0){return Ve(ea,null,e,t)}function $f(e,t){const o=Ve(Qa,null,e);return o.staticCount=t,o}function he(e="",t=!1){return t?(z(),lt(uo,null,e)):Ve(uo,null,e)}function po(e){return e==null||typeof e=="boolean"?Ve(uo):xe(e)?Ve(Re,null,e.slice()):oa(e)?Ao(e):Ve(ea,null,String(e))}function Ao(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vn(e)}function or(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(xe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),or(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Jl(t)?t._ctx=$t:a===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ee(t)){if(n&65){or(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),n&64?(o=16,t=[St(t)]):o=8;e.children=t,e.shapeFlag|=o}function Af(...e){const t={};for(let o=0;oLt||$t;let nr,aa;{const e=Ma(),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=>Lt=o),aa=t("__VUE_SSR_SETTERS__",o=>kn=o)}const ra=e=>{const t=Lt;return nr(e),e.scope.on(),()=>{e.scope.off(),nr(t)}},cc=()=>{Lt&&Lt.scope.off(),nr(null)};function uc(e){return e.vnode.shapeFlag&4}let kn=!1;function Pf(e,t=!1,o=!1){t&&aa(t);const{props:n,children:a}=e.vnode,r=uc(e);df(e,n,r,t),hf(e,a,o||t);const s=r?Cf(e,t):void 0;return t&&aa(!1),s}function Cf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,qg);const{setup:n}=o;if(n){ao();const a=e.setupContext=n.length>1?Mf(e):null,r=ra(e),s=hn(n,e,0,[e.props,a]),i=Gi(s);if(ro(),r(),(i||e.sp)&&!yn(e)&&is(e),i){if(s.then(cc,cc),t)return s.then(l=>{aa(!0);try{dc(e,l,t)}finally{aa(!1)}}).catch(l=>{Wn(l,e,0)});e.asyncDep=s}else dc(e,s)}else pc(e)}function dc(e,t,o){Ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:qe(t)&&(e.setupState=hl(t)),pc(e)}function pc(e,t,o){const n=e.type;e.render||(e.render=n.render||oo);{const a=ra(e);ao();try{Jg(e)}finally{ro(),a()}}}const Tf={get(e,t){return Ct(e,"get",""),e[t]}};function Mf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Tf),slots:e.slots,emit:e.emit,expose:t}}function ar(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hl(qo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Xn)return Xn[o](e)},has(t,o){return o in t||o in Xn}})):e.proxy}const Rf=/(?:^|[-_])\w/g,Nf=e=>e.replace(Rf,t=>t.toUpperCase()).replace(/[-_]/g,"");function gc(e,t=!0){return Ee(e)?e.displayName||e.name:e.name||t&&e.__name}function fc(e,t,o=!1){let n=gc(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?Nf(n):o?"App":"Anonymous"}function If(e){return Ee(e)&&"__vccOpts"in e}const te=(e,t)=>mg(e,t,kn);function hc(e,t,o){try{er(-1);const n=arguments.length;return n===2?qe(t)&&!xe(t)?oa(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&oa(o)&&(o=[o]),Ve(e,t,o))}finally{er(1)}}const Of="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ys;const mc=typeof window<"u"&&window.trustedTypes;if(mc)try{ys=mc.createPolicy("vue",{createHTML:e=>e})}catch{}const bc=ys?e=>ys.createHTML(e):e=>e,Ff="http://www.w3.org/2000/svg",Df="http://www.w3.org/1998/Math/MathML",So=typeof document<"u"?document:null,yc=So&&So.createElement("template"),Bf={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"?So.createElementNS(Ff,e):t==="mathml"?So.createElementNS(Df,e):o?So.createElement(e,{is:o}):So.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>So.createTextNode(e),createComment:e=>So.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>So.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{yc.innerHTML=bc(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=yc.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]}},Gf=Symbol("_vtc");function jf(e,t,o){const n=e[Gf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const nr=Symbol("_vod"),_c=Symbol("_vsh"),Uf={name:"show",beforeMount(e,{value:t},{transition:o}){e[nr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):aa(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),aa(e,!0),n.enter(e)):n.leave(e,()=>{aa(e,!1)}):aa(e,t))},beforeUnmount(e,{value:t}){aa(e,t)}};function aa(e,t){e.style.display=t?e[nr]:"none",e[_c]=!t}const zf=Symbol(""),Kf=/(?:^|;)\s*display\s*:/;function Hf(e,t,o){const n=e.style,a=Qe(o);let r=!1;if(o&&!a){if(t)if(Qe(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&ra(n,i,"")}else for(const s in t)o[s]==null&&ra(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?Wf(e,s,!Qe(t)&&t?t[s]:void 0,i)||ra(n,s,i):ra(n,s,"")}}else if(a){if(t!==o){const s=n[zf];s&&(o+=";"+s),n.cssText=o,r=Kf.test(o)}}else t&&e.removeAttribute("style");nr in e&&(e[nr]=r?n.display:"",e[_c]&&(n.display="none"))}const ar=/\s*!important$/;function ra(e,t,o){if(xe(o))o.forEach(n=>ra(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))ar.test(o)?e.setProperty(t,o.replace(ar,""),"important"):e.setProperty(t,o);else{const n=Vf(e,t);ar.test(o)?e.setProperty(Gt(n),o.replace(ar,""),"important"):e[n]=o}}const vc=["Webkit","Moz","ms"],_s={};function Vf(e,t){const o=_s[t];if(o)return o;let n=yt(t);if(n!=="filter"&&n in e)return _s[t]=n;n=Ea(n);for(let a=0;avs||(Qf.then(()=>vs=0),vs=Date.now());function th(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(xe(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,oh=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?jf(e,n,s):t==="style"?Hf(e,o,n):wa(t)?xa(t)||qf(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nh(e,t,n,s))?(xc(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&wc(e,t,n,s,r,t!=="value")):e._isVueCE&&(ah(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Qe(n)))?xc(e,yt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),wc(e,t,n,s))};function nh(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ac(t)&&Ee(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Ac(t)&&Qe(o)?!1:t in e}function ah(e,t){const o=e._def.props;if(!o)return!1;const n=yt(t);return Array.isArray(o)?o.some(a=>yt(a)===n):Object.keys(o).some(a=>yt(a)===n)}const Sc={};function rh(e,t,o){let n=Yn(e,t);$a(n)&&(n=ct({},n,t));class a extends ks{constructor(s){super(n,s,o)}}return a.def=n,a}const sh=typeof HTMLElement<"u"?HTMLElement:class{};class ks extends sh{constructor(t,o={},n=Tc){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!==Tc?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ct({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof ks){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,io(()=>{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&&!xe(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Ui(this._props[l])),(i||(i=Object.create(null)))[yt(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)Ke(this,n)||Object.defineProperty(this,n,{get:()=>he(o[n])})}_resolveProps(t){const{props:o}=t,n=xe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(yt))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):Sc;const a=yt(t);o&&this._numberProps&&this._numberProps[a]&&(n=Ui(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===Sc?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(Gt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Gt(t),o+""):o||this.removeAttribute(Gt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),hh(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=He(this._def,ct(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,$a(s[0])?ct({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),Gt(r)!==r&&a(Gt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],r.insertBefore(u,i||s),i=u,l===0&&(n||this._styleAnchors.set(this._def,u),o&&this._styleAnchors.set(o,u))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?o=>Pa(t,o):t};function ih(e){e.target.composing=!0}function Ec(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tn=Symbol("_assign"),sr=Symbol("_initialValue");function ws(e,t,o){return t&&(e=e.trim()),o&&(e=La(e)),e}const lh={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[sr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[sr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[tn]=rr(a);const r=n||a.props&&a.props.type==="number";en(e,t?"change":"input",s=>{s.target.composing||e[tn](ws(e.value,o,r))}),(o||r)&&en(e,"change",()=>{e.value=ws(e.value,o,r)}),t||(en(e,"compositionstart",ih),en(e,"compositionend",Ec),en(e,"change",Ec))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[sr];delete e[sr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[tn](ws(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[tn]=rr(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?La(e.value):e.value,l=t??"";if(i===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},ch={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,en(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?La(ir(l)):ir(l)),r=e.multiple,s=r?Vo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?xe(s)?a.slice():a:s];try{e[tn](s)}finally{io(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[tn]=rr(n)},mounted(e,{value:t}){Pc(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[tn]=rr(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!uh(t,o[1],o[0]))&&Pc(e,t)}};function uh(e,t,o){if(!o||xe(e))return No(e,t);if(Vo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function Pc(e,t){const o=e.multiple,n=xe(t);if(!(o&&!n&&!Vo(t))){for(let a=0,r=e.options.length;aString(u)===String(i)):s.selected=Up(t,i)>-1}else s.selected=t.has(i);else if(No(ir(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ir(e){return"_value"in e?e._value:e.value}const dh=["ctrl","shift","alt","meta"],ph={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)=>dh.some(o=>e[`${o}Key`]&&!t.includes(o))},_t=(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{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const r=Gt(a.key);if(t.some(s=>s===r||gh[s]===r))return e(a)})},fh=ct({patchProp:oh},Bf);let Lc;function Cc(){return Lc||(Lc=bf(fh))}const hh=(...e)=>{Cc().render(...e)},Tc=(...e)=>{const t=Cc().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=bh(n);if(!a)return;const r=t._component;!Ee(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,mh(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function mh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bh(e){return Qe(e)?document.querySelector(e):e}/*! +**/let _s;const mc=typeof window<"u"&&window.trustedTypes;if(mc)try{_s=mc.createPolicy("vue",{createHTML:e=>e})}catch{}const bc=_s?e=>_s.createHTML(e):e=>e,Ff="http://www.w3.org/2000/svg",Df="http://www.w3.org/1998/Math/MathML",Lo=typeof document<"u"?document:null,yc=Lo&&Lo.createElement("template"),Gf={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Lo.createElementNS(Ff,e):t==="mathml"?Lo.createElementNS(Df,e):o?Lo.createElement(e,{is:o}):Lo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Lo.createTextNode(e),createComment:e=>Lo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Lo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{yc.innerHTML=bc(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=yc.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]}},Bf=Symbol("_vtc");function jf(e,t,o){const n=e[Bf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const rr=Symbol("_vod"),_c=Symbol("_vsh"),Uf={name:"show",beforeMount(e,{value:t},{transition:o}){e[rr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):sa(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),sa(e,!0),n.enter(e)):n.leave(e,()=>{sa(e,!1)}):sa(e,t))},beforeUnmount(e,{value:t}){sa(e,t)}};function sa(e,t){e.style.display=t?e[rr]:"none",e[_c]=!t}const zf=Symbol(""),Kf=/(?:^|;)\s*display\s*:/;function Hf(e,t,o){const n=e.style,a=Xe(o);let r=!1;if(o&&!a){if(t)if(Xe(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&ia(n,i,"")}else for(const s in t)o[s]==null&&ia(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?Wf(e,s,!Xe(t)&&t?t[s]:void 0,i)||ia(n,s,i):ia(n,s,"")}}else if(a){if(t!==o){const s=n[zf];s&&(o+=";"+s),n.cssText=o,r=Kf.test(o)}}else t&&e.removeAttribute("style");rr in e&&(e[rr]=r?n.display:"",e[_c]&&(n.display="none"))}const sr=/\s*!important$/;function ia(e,t,o){if(xe(o))o.forEach(n=>ia(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))sr.test(o)?e.setProperty(t,o.replace(sr,""),"important"):e.setProperty(t,o);else{const n=Vf(e,t);sr.test(o)?e.setProperty(jt(n),o.replace(sr,""),"important"):e[n]=o}}const vc=["Webkit","Moz","ms"],vs={};function Vf(e,t){const o=vs[t];if(o)return o;let n=_t(t);if(n!=="filter"&&n in e)return vs[t]=n;n=Pa(n);for(let a=0;aks||(Qf.then(()=>ks=0),ks=Date.now());function th(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(xe(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,oh=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?jf(e,n,s):t==="style"?Hf(e,o,n):$a(t)?Aa(t)||qf(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nh(e,t,n,s))?(xc(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&wc(e,t,n,s,r,t!=="value")):e._isVueCE&&(ah(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Xe(n)))?xc(e,_t(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),wc(e,t,n,s))};function nh(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ac(t)&&Ee(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Ac(t)&&Xe(o)?!1:t in e}function ah(e,t){const o=e._def.props;if(!o)return!1;const n=_t(t);return Array.isArray(o)?o.some(a=>_t(a)===n):Object.keys(o).some(a=>_t(a)===n)}const Sc={};function rh(e,t,o){let n=Jn(e,t);Sa(n)&&(n=ct({},n,t));class a extends ws{constructor(s){super(n,s,o)}}return a.def=n,a}const sh=typeof HTMLElement<"u"?HTMLElement:class{};class ws extends sh{constructor(t,o={},n=Tc){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!==Tc?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ct({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof ws){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,lo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!xe(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Ui(this._props[l])),(i||(i=Object.create(null)))[_t(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)He(this,n)||Object.defineProperty(this,n,{get:()=>ge(o[n])})}_resolveProps(t){const{props:o}=t,n=xe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(_t))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Sc;const a=_t(t);o&&this._numberProps&&this._numberProps[a]&&(n=Ui(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===Sc?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(jt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(jt(t),o+""):o||this.removeAttribute(jt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),hh(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(this._def,ct(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,Sa(s[0])?ct({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),jt(r)!==r&&a(jt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],r.insertBefore(u,i||s),i=u,l===0&&(n||this._styleAnchors.set(this._def,u),o&&this._styleAnchors.set(o,u))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?o=>Ca(t,o):t};function ih(e){e.target.composing=!0}function Lc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const on=Symbol("_assign"),lr=Symbol("_initialValue");function xs(e,t,o){return t&&(e=e.trim()),o&&(e=Ta(e)),e}const lh={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[lr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[lr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[on]=ir(a);const r=n||a.props&&a.props.type==="number";tn(e,t?"change":"input",s=>{s.target.composing||e[on](xs(e.value,o,r))}),(o||r)&&tn(e,"change",()=>{e.value=xs(e.value,o,r)}),t||(tn(e,"compositionstart",ih),tn(e,"compositionend",Lc),tn(e,"change",Lc))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[lr];delete e[lr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[on](xs(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[on]=ir(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ta(e.value):e.value,l=t??"";if(i===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},ch={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,tn(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?Ta(cr(l)):cr(l)),r=e.multiple,s=r?Wo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?xe(s)?a.slice():a:s];try{e[on](s)}finally{lo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[on]=ir(n)},mounted(e,{value:t}){Ec(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[on]=ir(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!uh(t,o[1],o[0]))&&Ec(e,t)}};function uh(e,t,o){if(!o||xe(e))return No(e,t);if(Wo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function Ec(e,t){const o=e.multiple,n=xe(t);if(!(o&&!n&&!Wo(t))){for(let a=0,r=e.options.length;aString(u)===String(i)):s.selected=Up(t,i)>-1}else s.selected=t.has(i);else if(No(cr(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function cr(e){return"_value"in e?e._value:e.value}const dh=["ctrl","shift","alt","meta"],ph={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)=>dh.some(o=>e[`${o}Key`]&&!t.includes(o))},vt=(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{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const r=jt(a.key);if(t.some(s=>s===r||gh[s]===r))return e(a)})},fh=ct({patchProp:oh},Gf);let Pc;function Cc(){return Pc||(Pc=bf(fh))}const hh=(...e)=>{Cc().render(...e)},Tc=(...e)=>{const t=Cc().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=bh(n);if(!a)return;const r=t._component;!Ee(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,mh(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function mh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bh(e){return Xe(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Mc;const lr=e=>Mc=e,Nc=Symbol();function $s(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var sa;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(sa||(sa={}));function yh(){const e=Gr(!0),t=e.run(()=>de({}));let o=[],n=[];const a=Yo({install(r){lr(a),a._a=r,r.provide(Nc,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 Rc=()=>{};function Ic(e,t,o,n=Rc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&qi()&&zp(a),a}function kn(e,...t){e.slice().forEach(o=>{o(...t)})}const _h=e=>e(),Oc=Symbol(),As=Symbol();function Ss(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];$s(a)&&$s(n)&&e.hasOwnProperty(o)&&!at(n)&&!_o(n)?e[o]=Ss(a,n):e[o]=n}return e}const vh=Symbol();function kh(e){return!$s(e)||!e.hasOwnProperty(vh)}const{assign:Oo}=Object;function wh(e){return!!(at(e)&&e.effect)}function xh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=dg(o.state.value[e]);return Oo(c,r,Object.keys(s||{}).reduce((d,f)=>(d[f]=Yo(ee(()=>{lr(o);const y=o._s.get(e);return s[f].call(y,y)})),d),{}))}return l=Fc(e,u,t,o,n,!0),l}function Fc(e,t,o={},n,a,r){let s;const i=Oo({actions:{}},o),l={deep:!0};let u,c,d=[],f=[],y;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let m;function p(C){let M;u=c=!1,typeof C=="function"?(C(n.state.value[e]),M={type:sa.patchFunction,storeId:e,events:y}):(Ss(n.state.value[e],C),M={type:sa.patchObject,payload:C,storeId:e,events:y});const H=m=Symbol();io().then(()=>{m===H&&(u=!0)}),c=!0,kn(d,M,n.state.value[e])}const g=r?function(){const{state:M}=o,H=M?M():{};this.$patch(W=>{Oo(W,H)})}:Rc;function h(){s.stop(),d=[],f=[],n._s.delete(e)}const b=(C,M="")=>{if(Oc in C)return C[As]=M,C;const H=function(){lr(n);const W=Array.from(arguments),ae=[],T=[];function S(N){ae.push(N)}function O(N){T.push(N)}kn(f,{args:W,name:H[As],store:x,after:S,onError:O});let E;try{E=C.apply(this&&this.$id===e?this:x,W)}catch(N){throw kn(T,N),N}return E instanceof Promise?E.then(N=>(kn(ae,N),N)).catch(N=>(kn(T,N),Promise.reject(N))):(kn(ae,E),E)};return H[Oc]=!0,H[As]=M,H},v={_p:n,$id:e,$onAction:Ic.bind(null,f),$patch:p,$reset:g,$subscribe(C,M={}){const H=Ic(d,C,M.detached,()=>W()),W=s.run(()=>it(()=>n.state.value[e],ae=>{(M.flush==="sync"?c:u)&&C({storeId:e,type:sa.direct,events:y},ae)},Oo({},l,M)));return H},$dispose:h},x=dn(v);n._s.set(e,x);const A=(n._a&&n._a.runWithContext||_h)(()=>n._e.run(()=>(s=Gr()).run(()=>t({action:b}))));for(const C in A){const M=A[C];if(at(M)&&!wh(M)||_o(M))r||(w&&kh(M)&&(at(M)?M.value=w[C]:Ss(M,w[C])),n.state.value[e][C]=M);else if(typeof M=="function"){const H=b(M,C);A[C]=H,i.actions[C]=M}}return Oo(x,A),Oo(Be(x),A),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:C=>{p(M=>{Oo(M,C)})}}),n._p.forEach(C=>{Oo(x,s.run(()=>C({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function Es(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=Sg();return i=i||(u?Fe(Nc,null):null),i&&lr(i),i=Mc,i._s.has(n)||(r?Fc(n,t,a,i):xh(n,a,i)),i._s.get(n)}return s.$id=n,s}const Ps="__doxaMapToken",Ls="doxa:map-token",Dc="__doxaMapTokenBridge",wn=()=>{if(typeof window>"u")return"";const e=window[Ps];return typeof e=="string"?e:""};function Bc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===wn())return wn();window[Ps]=t;try{window.dispatchEvent(new CustomEvent(Ls,{detail:t}))}catch{}return t}function $h(){if(typeof window>"u"||window[Dc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!wn()&&(window[Ps]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return wn()},set(t){Bc(t)}}),window[Dc]=!0}catch{}}function Ah(){$h();const e=de(wn());if(typeof window<"u"){const t=()=>{e.value=wn()};window.addEventListener(Ls,t);try{Jt(()=>window.removeEventListener(Ls,t))}catch{}}return e}function Gc(e){return Fg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Sh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Eh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Ph={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Lh={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Ch={menuComingSoon:"القائمة قادمة قريباً"},Th={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Mh={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Nh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Rh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","View country posters":"عرض ملصقات الدولة","Hide country posters":"إخفاء ملصقات الدولة","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد."},Ih={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Oh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Fh={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Dh={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"]},Bh={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Gh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"}},jh={menuComingSoon:"Menü folgt in Kürze"},Uh={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},zh={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Kh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Hh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","View country posters":"Länderposter ansehen","Hide country posters":"Länderposter ausblenden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt."},Vh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},Wh={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"},Yh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},qh={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster"},Jh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Xh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Zh={menuComingSoon:"Menu coming soon"},Qh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},em={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},tm={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},om={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},nm={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"}},am={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},rm={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},sm={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"]},im={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."}},lm={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},cm={menuComingSoon:"Menú próximamente"},um={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},dm={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},pm={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},gm={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","View country posters":"Ver los carteles del país","Hide country posters":"Ocultar los carteles del país","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país."},fm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},hm={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"},mm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},bm={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"]},ym={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},_m={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},vm={menuComingSoon:"Menu bientôt disponible"},km={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},wm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},xm={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},$m={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","View country posters":"Voir les affiches du pays","Hide country posters":"Masquer les affiches du pays","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays."},Am={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Sm={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"},Em={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Pm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Lm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"}},Tm={menuComingSoon:"मेनू शीघ्र आ रहा है"},Mm={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Nm={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Rm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Im={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","View country posters":"देश के पोस्टर देखें","Hide country posters":"देश के पोस्टर छिपाएँ","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"},Om={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Fm={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश"},Dm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Bm={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"]},Gm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},jm={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"}},Um={menuComingSoon:"Menu in arrivo"},zm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Km={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},Hm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Vm={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera",Regions:"Regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","View country posters":"Vedi i poster del paese","Hide country posters":"Nascondi i poster del paese","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster."},Wm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},Ym={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese"},qm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Jm={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"]},Xm={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Zm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Qm={menuComingSoon:"Menu em breve"},eb={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},tb={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},ob={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},nb={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","View country posters":"Ver os cartazes do país","Hide country posters":"Ocultar os cartazes do país","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país."},ab={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},rb={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"},sb={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ib={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"]},lb={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ă."}},cb={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"}},ub={menuComingSoon:"Meniu în curând"},db={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},pb={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},gb={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},fb={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune",Regions:"Regiuni",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","View country posters":"Vezi posterele țării","Hide country posters":"Ascunde posterele țării","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster."},hb={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},mb={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară"},bb={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},yb={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},_b={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vb={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},kb={menuComingSoon:"Меню скоро появится"},wb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},xb={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},$b={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Ab={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","View country posters":"Показать плакаты страны","Hide country posters":"Скрыть плакаты страны","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан."},Sb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Eb={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Pb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Lb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},Cb={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Tb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"}},Mb={menuComingSoon:"菜单即将推出"},Nb={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Rb={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},Ib={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Ob={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度",Regions:"区域",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","View country posters":"查看国家海报","Hide country posters":"隐藏国家海报","No poster has been generated for this country yet.":"尚未为该国家生成海报。"},Fb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Db={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家"};/*! + */let Mc;const ur=e=>Mc=e,Rc=Symbol();function As(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var la;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(la||(la={}));function yh(){const e=jr(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){ur(a),a._a=r,r.provide(Rc,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 Nc=()=>{};function Ic(e,t,o,n=Nc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&qi()&&zp(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const _h=e=>e(),Oc=Symbol(),Ss=Symbol();function Ls(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];As(a)&&As(n)&&e.hasOwnProperty(o)&&!at(n)&&!vo(n)?e[o]=Ls(a,n):e[o]=n}return e}const vh=Symbol();function kh(e){return!As(e)||!e.hasOwnProperty(vh)}const{assign:Fo}=Object;function wh(e){return!!(at(e)&&e.effect)}function xh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=dg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((d,f)=>(d[f]=qo(te(()=>{ur(o);const y=o._s.get(e);return s[f].call(y,y)})),d),{}))}return l=Fc(e,u,t,o,n,!0),l}function Fc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,d=[],f=[],y;const $=n.state.value[e];!r&&!$&&(n.state.value[e]={});let h;function p(S){let M;u=c=!1,typeof S=="function"?(S(n.state.value[e]),M={type:la.patchFunction,storeId:e,events:y}):(Ls(n.state.value[e],S),M={type:la.patchObject,payload:S,storeId:e,events:y});const K=h=Symbol();lo().then(()=>{h===K&&(u=!0)}),c=!0,wn(d,M,n.state.value[e])}const g=r?function(){const{state:M}=o,K=M?M():{};this.$patch(W=>{Fo(W,K)})}:Nc;function m(){s.stop(),d=[],f=[],n._s.delete(e)}const b=(S,M="")=>{if(Oc in S)return S[Ss]=M,S;const K=function(){ur(n);const W=Array.from(arguments),re=[],C=[];function L(T){re.push(T)}function I(T){C.push(T)}wn(f,{args:W,name:K[Ss],store:x,after:L,onError:I});let E;try{E=S.apply(this&&this.$id===e?this:x,W)}catch(T){throw wn(C,T),T}return E instanceof Promise?E.then(T=>(wn(re,T),T)).catch(T=>(wn(C,T),Promise.reject(T))):(wn(re,E),E)};return K[Oc]=!0,K[Ss]=M,K},v={_p:n,$id:e,$onAction:Ic.bind(null,f),$patch:p,$reset:g,$subscribe(S,M={}){const K=Ic(d,S,M.detached,()=>W()),W=s.run(()=>it(()=>n.state.value[e],re=>{(M.flush==="sync"?c:u)&&S({storeId:e,type:la.direct,events:y},re)},Fo({},l,M)));return K},$dispose:m},x=pn(v);n._s.set(e,x);const A=(n._a&&n._a.runWithContext||_h)(()=>n._e.run(()=>(s=jr()).run(()=>t({action:b}))));for(const S in A){const M=A[S];if(at(M)&&!wh(M)||vo(M))r||($&&kh(M)&&(at(M)?M.value=$[S]:Ls(M,$[S])),n.state.value[e][S]=M);else if(typeof M=="function"){const K=b(M,S);A[S]=K,i.actions[S]=M}}return Fo(x,A),Fo(Be(x),A),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:S=>{p(M=>{Fo(M,S)})}}),n._p.forEach(S=>{Fo(x,s.run(()=>S({store:x,app:n._a,pinia:n,options:i})))}),$&&r&&o.hydrate&&o.hydrate(x.$state,$),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function Es(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=Sg();return i=i||(u?Ie(Rc,null):null),i&&ur(i),i=Mc,i._s.has(n)||(r?Fc(n,t,a,i):xh(n,a,i)),i._s.get(n)}return s.$id=n,s}const Ps="__doxaMapToken",Cs="doxa:map-token",Dc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[Ps];return typeof e=="string"?e:""};function Gc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[Ps]=t;try{window.dispatchEvent(new CustomEvent(Cs,{detail:t}))}catch{}return t}function $h(){if(typeof window>"u"||window[Dc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[Ps]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Gc(t)}}),window[Dc]=!0}catch{}}function Ah(){$h();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(Cs,t);try{Zt(()=>window.removeEventListener(Cs,t))}catch{}}return e}function Bc(e){return Fg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Sh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},Lh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"]},Eh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Ph={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."}},Ch={menuComingSoon:"القائمة قادمة قريباً"},Th={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Mh={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Rh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Nh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة","View country posters":"عرض ملصقات الدولة","Hide country posters":"إخفاء ملصقات الدولة","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد."},Ih={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Oh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية"},Fh={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},Dh={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"]},Gh={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Bh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."}},jh={menuComingSoon:"Menü folgt in Kürze"},Uh={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},zh={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},Kh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Hh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","View country posters":"Länderposter ansehen","Hide country posters":"Länderposter ausblenden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt."},Vh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},Wh={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe"},Yh={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},qh={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster"},Jh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Zh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."}},Xh={menuComingSoon:"Menu coming soon"},Qh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},em={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},tm={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},om={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},nm={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"}},am={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group"},rm={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},sm={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"]},im={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."}},lm={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."}},cm={menuComingSoon:"Menú próximamente"},um={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},dm={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},pm={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},gm={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos","View country posters":"Ver los carteles del país","Hide country posters":"Ocultar los carteles del país","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país."},fm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},hm={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},mm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},bm={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"]},ym={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},_m={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."}},vm={menuComingSoon:"Menu bientôt disponible"},km={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},wm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},xm={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},$m={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","View country posters":"Voir les affiches du pays","Hide country posters":"Masquer les affiches du pays","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays."},Am={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},Sm={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples"},Lm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},Em={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"]},Pm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"}},Tm={menuComingSoon:"मेनू शीघ्र आ रहा है"},Mm={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Rm={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Nm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Im={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह","View country posters":"देश के पोस्टर देखें","Hide country posters":"देश के पोस्टर छिपाएँ","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"},Om={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},Fm={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह"},Dm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Gm={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"]},Bm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},jm={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."}},Um={menuComingSoon:"Menu in arrivo"},zm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Km={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},Hm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Vm={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera",Regions:"Regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","View country posters":"Vedi i poster del paese","Hide country posters":"Nascondi i poster del paese","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster."},Wm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},Ym={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico"},qm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},Jm={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"]},Zm={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."}},Xm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."}},Qm={menuComingSoon:"Menu em breve"},eb={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},tb={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},ob={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},nb={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","View country posters":"Ver os cartazes do país","Hide country posters":"Ocultar os cartazes do país","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país."},ab={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},rb={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico"},sb={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},ib={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"]},lb={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ă."}},cb={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."}},ub={menuComingSoon:"Meniu în curând"},db={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},pb={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},gb={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},fb={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune",Regions:"Regiuni",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","View country posters":"Vezi posterele țării","Hide country posters":"Ascunde posterele țării","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster."},hb={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},mb={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic"},bb={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},yb={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"]},_b={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vb={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."}},kb={menuComingSoon:"Меню скоро появится"},wb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},xb={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},$b={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Ab={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей","View country posters":"Показать плакаты страны","Hide country posters":"Скрыть плакаты страны","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан."},Sb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Lb={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ"},Eb={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},Pb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"]},Cb={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Tb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"}},Mb={menuComingSoon:"菜单即将推出"},Rb={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Nb={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},Ib={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Ob={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度",Regions:"区域",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","View country posters":"查看国家海报","Hide country posters":"隐藏国家海报","No poster has been generated for this country yet.":"尚未为该国家生成海报。"},Fb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},Db={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群"};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Bb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const cr=typeof window<"u",Fo=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Gb=(e,t,o)=>jb({l:e,k:t,s:o}),jb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),pt=e=>typeof e=="number"&&isFinite(e),Ub=e=>Hc(e)==="[object Date]",Do=e=>Hc(e)==="[object RegExp]",ur=e=>Le(e)&&Object.keys(e).length===0,Pt=Object.assign,zb=Object.create,Xe=(e=null)=>zb(e);let jc;const Eo=()=>jc||(jc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Xe());function Uc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function zc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Kb(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${zc(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${zc(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 Hb=Object.prototype.hasOwnProperty;function Xt(e,t){return Hb.call(e,t)}const rt=Array.isArray,tt=e=>typeof e=="function",ge=e=>typeof e=="string",De=e=>typeof e=="boolean",ze=e=>e!==null&&typeof e=="object",Vb=e=>ze(e)&&tt(e.then)&&tt(e.catch),Kc=Object.prototype.toString,Hc=e=>Kc.call(e),Le=e=>{if(!ze(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Wb=e=>e==null?"":rt(e)||Le(e)&&e.toString===Kc?JSON.stringify(e,null,2):String(e);function Yb(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function dr(e){let t=e;return()=>++t}const pr=e=>!ze(e)||rt(e);function gr(e,t){if(pr(e)||pr(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__"&&(ze(n[r])&&!ze(a[r])&&(a[r]=Array.isArray(n[r])?[]:Xe()),pr(a[r])||pr(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! + */function Gb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const dr=typeof window<"u",Do=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Bb=(e,t,o)=>jb({l:e,k:t,s:o}),jb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ft=e=>typeof e=="number"&&isFinite(e),Ub=e=>Hc(e)==="[object Date]",Go=e=>Hc(e)==="[object RegExp]",pr=e=>Ce(e)&&Object.keys(e).length===0,Et=Object.assign,zb=Object.create,Je=(e=null)=>zb(e);let jc;const Eo=()=>jc||(jc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Je());function Uc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function zc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Kb(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${zc(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${zc(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 Hb=Object.prototype.hasOwnProperty;function Xt(e,t){return Hb.call(e,t)}const rt=Array.isArray,et=e=>typeof e=="function",fe=e=>typeof e=="string",Oe=e=>typeof e=="boolean",Ke=e=>e!==null&&typeof e=="object",Vb=e=>Ke(e)&&et(e.then)&&et(e.catch),Kc=Object.prototype.toString,Hc=e=>Kc.call(e),Ce=e=>{if(!Ke(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Wb=e=>e==null?"":rt(e)||Ce(e)&&e.toString===Kc?JSON.stringify(e,null,2):String(e);function Yb(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function gr(e){let t=e;return()=>++t}const fr=e=>!Ke(e)||rt(e);function hr(e,t){if(fr(e)||fr(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Ke(n[r])&&!Ke(a[r])&&(a[r]=Array.isArray(n[r])?[]:Je()),fr(a[r])||fr(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 qb(e,t,o){return{line:e,column:t,offset:o}}function fr(e,t,o){return{start:e,end:t}}const Jb=/\{([0-9a-zA-Z]+)\}/g;function Vc(e,...t){return t.length===1&&Xb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Jb,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Wc=Object.assign,Yc=e=>typeof e=="string",Xb=e=>e!==null&&typeof e=="object";function qc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Cs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Zb={[Cs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Qb(e,t,...o){const n=Vc(Zb[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Ae={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},ey={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function xn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Vc((a||ey)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function ty(e){throw e}const Po=" ",oy="\r",Ot=` -`,ny="\u2028",ay="\u2029";function ry(e){const t=e;let o=0,n=1,a=1,r=0;const s=A=>t[A]===oy&&t[A+1]===Ot,i=A=>t[A]===Ot,l=A=>t[A]===ay,u=A=>t[A]===ny,c=A=>s(A)||i(A)||l(A)||u(A),d=()=>o,f=()=>n,y=()=>a,w=()=>r,m=A=>s(A)||l(A)||u(A)?Ot:t[A],p=()=>m(o),g=()=>m(o+r);function h(){return r=0,c(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function b(){return s(o+r)&&r++,r++,t[o+r]}function v(){o=0,n=1,a=1,r=0}function x(A=0){r=A}function $(){const A=o+r;for(;A!==o;)h();r=0}return{index:d,line:f,column:y,peekOffset:w,charAt:m,currentChar:p,currentPeek:g,next:h,peek:b,reset:v,resetPeek:x,skipToPeek:$}}const Bo=void 0,sy=".",Jc="'",iy="tokenizer";function ly(e,t={}){const o=t.location!==!1,n=ry(e),a=()=>n.index(),r=()=>qb(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function d(_,k,B,...Y){const pe=u();if(k.column+=B,k.offset+=B,c){const ie=o?fr(pe.startLoc,k):null,G=xn(_,ie,{domain:iy,args:Y});c(G)}}function f(_,k,B){_.endLoc=r(),_.currentType=k;const Y={type:k};return o&&(Y.loc=fr(_.startLoc,_.endLoc)),B!=null&&(Y.value=B),Y}const y=_=>f(_,14);function w(_,k){return _.currentChar()===k?(_.next(),k):(d(Ae.EXPECTED_TOKEN,r(),0,k),"")}function m(_){let k="";for(;_.currentPeek()===Po||_.currentPeek()===Ot;)k+=_.currentPeek(),_.peek();return k}function p(_){const k=m(_);return _.skipToPeek(),k}function g(_){if(_===Bo)return!1;const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k===95}function h(_){if(_===Bo)return!1;const k=_.charCodeAt(0);return k>=48&&k<=57}function b(_,k){const{currentType:B}=k;if(B!==2)return!1;m(_);const Y=g(_.currentPeek());return _.resetPeek(),Y}function v(_,k){const{currentType:B}=k;if(B!==2)return!1;m(_);const Y=_.currentPeek()==="-"?_.peek():_.currentPeek(),pe=h(Y);return _.resetPeek(),pe}function x(_,k){const{currentType:B}=k;if(B!==2)return!1;m(_);const Y=_.currentPeek()===Jc;return _.resetPeek(),Y}function $(_,k){const{currentType:B}=k;if(B!==8)return!1;m(_);const Y=_.currentPeek()===".";return _.resetPeek(),Y}function A(_,k){const{currentType:B}=k;if(B!==9)return!1;m(_);const Y=g(_.currentPeek());return _.resetPeek(),Y}function C(_,k){const{currentType:B}=k;if(!(B===8||B===12))return!1;m(_);const Y=_.currentPeek()===":";return _.resetPeek(),Y}function M(_,k){const{currentType:B}=k;if(B!==10)return!1;const Y=()=>{const ie=_.currentPeek();return ie==="{"?g(_.peek()):ie==="@"||ie==="%"||ie==="|"||ie===":"||ie==="."||ie===Po||!ie?!1:ie===Ot?(_.peek(),Y()):ae(_,!1)},pe=Y();return _.resetPeek(),pe}function H(_){m(_);const k=_.currentPeek()==="|";return _.resetPeek(),k}function W(_){const k=m(_),B=_.currentPeek()==="%"&&_.peek()==="{";return _.resetPeek(),{isModulo:B,hasSpace:k.length>0}}function ae(_,k=!0){const B=(pe=!1,ie="",G=!1)=>{const q=_.currentPeek();return q==="{"?ie==="%"?!1:pe:q==="@"||!q?ie==="%"?!0:pe:q==="%"?(_.peek(),B(pe,"%",!0)):q==="|"?ie==="%"||G?!0:!(ie===Po||ie===Ot):q===Po?(_.peek(),B(!0,Po,G)):q===Ot?(_.peek(),B(!0,Ot,G)):!0},Y=B();return k&&_.resetPeek(),Y}function T(_,k){const B=_.currentChar();return B===Bo?Bo:k(B)?(_.next(),B):null}function S(_){const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36}function O(_){return T(_,S)}function E(_){const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36||k===45}function N(_){return T(_,E)}function re(_){const k=_.charCodeAt(0);return k>=48&&k<=57}function _e(_){return T(_,re)}function L(_){const k=_.charCodeAt(0);return k>=48&&k<=57||k>=65&&k<=70||k>=97&&k<=102}function ne(_){return T(_,L)}function se(_){let k="",B="";for(;k=_e(_);)B+=k;return B}function ue(_){p(_);const k=_.currentChar();return k!=="%"&&d(Ae.EXPECTED_TOKEN,r(),0,k),_.next(),"%"}function we(_){let k="";for(;;){const B=_.currentChar();if(B==="{"||B==="}"||B==="@"||B==="|"||!B)break;if(B==="%")if(ae(_))k+=B,_.next();else break;else if(B===Po||B===Ot)if(ae(_))k+=B,_.next();else{if(H(_))break;k+=B,_.next()}else k+=B,_.next()}return k}function Ne(_){p(_);let k="",B="";for(;k=N(_);)B+=k;return _.currentChar()===Bo&&d(Ae.UNTERMINATED_CLOSING_BRACE,r(),0),B}function Re(_){p(_);let k="";return _.currentChar()==="-"?(_.next(),k+=`-${se(_)}`):k+=se(_),_.currentChar()===Bo&&d(Ae.UNTERMINATED_CLOSING_BRACE,r(),0),k}function Oe(_){return _!==Jc&&_!==Ot}function Ie(_){p(_),w(_,"'");let k="",B="";for(;k=T(_,Oe);)k==="\\"?B+=qe(_):B+=k;const Y=_.currentChar();return Y===Ot||Y===Bo?(d(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),Y===Ot&&(_.next(),w(_,"'")),B):(w(_,"'"),B)}function qe(_){const k=_.currentChar();switch(k){case"\\":case"'":return _.next(),`\\${k}`;case"u":return Je(_,k,4);case"U":return Je(_,k,6);default:return d(Ae.UNKNOWN_ESCAPE_SEQUENCE,r(),0,k),""}}function Je(_,k,B){w(_,k);let Y="";for(let pe=0;pe{const Y=_.currentChar();return Y==="{"||Y==="%"||Y==="@"||Y==="|"||Y==="("||Y===")"||!Y||Y===Po?B:(B+=Y,_.next(),k(B))};return k("")}function V(_){p(_);const k=w(_,"|");return p(_),k}function Z(_,k){let B=null;switch(_.currentChar()){case"{":return k.braceNest>=1&&d(Ae.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),_.next(),B=f(k,2,"{"),p(_),k.braceNest++,B;case"}":return k.braceNest>0&&k.currentType===2&&d(Ae.EMPTY_PLACEHOLDER,r(),0),_.next(),B=f(k,3,"}"),k.braceNest--,k.braceNest>0&&p(_),k.inLinked&&k.braceNest===0&&(k.inLinked=!1),B;case"@":return k.braceNest>0&&d(Ae.UNTERMINATED_CLOSING_BRACE,r(),0),B=J(_,k)||y(k),k.braceNest=0,B;default:{let pe=!0,ie=!0,G=!0;if(H(_))return k.braceNest>0&&d(Ae.UNTERMINATED_CLOSING_BRACE,r(),0),B=f(k,1,V(_)),k.braceNest=0,k.inLinked=!1,B;if(k.braceNest>0&&(k.currentType===5||k.currentType===6||k.currentType===7))return d(Ae.UNTERMINATED_CLOSING_BRACE,r(),0),k.braceNest=0,Q(_,k);if(pe=b(_,k))return B=f(k,5,Ne(_)),p(_),B;if(ie=v(_,k))return B=f(k,6,Re(_)),p(_),B;if(G=x(_,k))return B=f(k,7,Ie(_)),p(_),B;if(!pe&&!ie&&!G)return B=f(k,13,P(_)),d(Ae.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,B.value),p(_),B;break}}return B}function J(_,k){const{currentType:B}=k;let Y=null;const pe=_.currentChar();switch((B===8||B===9||B===12||B===10)&&(pe===Ot||pe===Po)&&d(Ae.INVALID_LINKED_FORMAT,r(),0),pe){case"@":return _.next(),Y=f(k,8,"@"),k.inLinked=!0,Y;case".":return p(_),_.next(),f(k,9,".");case":":return p(_),_.next(),f(k,10,":");default:return H(_)?(Y=f(k,1,V(_)),k.braceNest=0,k.inLinked=!1,Y):$(_,k)||C(_,k)?(p(_),J(_,k)):A(_,k)?(p(_),f(k,12,F(_))):M(_,k)?(p(_),pe==="{"?Z(_,k)||Y:f(k,11,R(_))):(B===8&&d(Ae.INVALID_LINKED_FORMAT,r(),0),k.braceNest=0,k.inLinked=!1,Q(_,k))}}function Q(_,k){let B={type:14};if(k.braceNest>0)return Z(_,k)||y(k);if(k.inLinked)return J(_,k)||y(k);switch(_.currentChar()){case"{":return Z(_,k)||y(k);case"}":return d(Ae.UNBALANCED_CLOSING_BRACE,r(),0),_.next(),f(k,3,"}");case"@":return J(_,k)||y(k);default:{if(H(_))return B=f(k,1,V(_)),k.braceNest=0,k.inLinked=!1,B;const{isModulo:pe,hasSpace:ie}=W(_);if(pe)return ie?f(k,0,we(_)):f(k,4,ue(_));if(ae(_))return f(k,0,we(_));break}}return B}function oe(){const{currentType:_,offset:k,startLoc:B,endLoc:Y}=l;return l.lastType=_,l.lastOffset=k,l.lastStartLoc=B,l.lastEndLoc=Y,l.offset=a(),l.startLoc=r(),n.currentChar()===Bo?f(l,14):Q(n,l)}return{nextToken:oe,currentOffset:a,currentPosition:r,context:u}}const cy="parser",uy=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function dy(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 py(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(b,v,x,$,...A){const C=b.currentPosition();if(C.offset+=$,C.column+=$,o){const M=t?fr(x,C):null,H=xn(v,M,{domain:cy,args:A});o(H)}}function r(b,v,x,$,...A){const C=b.currentPosition();if(C.offset+=$,C.column+=$,n){const M=t?fr(x,C):null;n(Qb(v,M,A))}}function s(b,v,x){const $={type:b};return t&&($.start=v,$.end=v,$.loc={start:x,end:x}),$}function i(b,v,x,$){t&&(b.end=v,b.loc&&(b.loc.end=x))}function l(b,v){const x=b.context(),$=s(3,x.offset,x.startLoc);return $.value=v,i($,b.currentOffset(),b.currentPosition()),$}function u(b,v){const x=b.context(),{lastOffset:$,lastStartLoc:A}=x,C=s(5,$,A);return C.index=parseInt(v,10),b.nextToken(),i(C,b.currentOffset(),b.currentPosition()),C}function c(b,v,x){const $=b.context(),{lastOffset:A,lastStartLoc:C}=$,M=s(4,A,C);return M.key=v,x===!0&&(M.modulo=!0),b.nextToken(),i(M,b.currentOffset(),b.currentPosition()),M}function d(b,v){const x=b.context(),{lastOffset:$,lastStartLoc:A}=x,C=s(9,$,A);return C.value=v.replace(uy,dy),b.nextToken(),i(C,b.currentOffset(),b.currentPosition()),C}function f(b){const v=b.nextToken(),x=b.context(),{lastOffset:$,lastStartLoc:A}=x,C=s(8,$,A);return v.type!==12?(a(b,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,x.lastStartLoc,0),C.value="",i(C,$,A),{nextConsumeToken:v,node:C}):(v.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,Zt(v)),C.value=v.value||"",i(C,b.currentOffset(),b.currentPosition()),{node:C})}function y(b,v){const x=b.context(),$=s(7,x.offset,x.startLoc);return $.value=v,i($,b.currentOffset(),b.currentPosition()),$}function w(b){const v=b.context(),x=s(6,v.offset,v.startLoc);let $=b.nextToken();if($.type===9){const A=f(b);x.modifier=A.node,$=A.nextConsumeToken||b.nextToken()}switch($.type!==10&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt($)),$=b.nextToken(),$.type===2&&($=b.nextToken()),$.type){case 11:$.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt($)),x.key=y(b,$.value||"");break;case 5:$.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt($)),x.key=c(b,$.value||"");break;case 6:$.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt($)),x.key=u(b,$.value||"");break;case 7:$.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt($)),x.key=d(b,$.value||"");break;default:{a(b,Ae.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const A=b.context(),C=s(7,A.offset,A.startLoc);return C.value="",i(C,A.offset,A.startLoc),x.key=C,i(x,A.offset,A.startLoc),{nextConsumeToken:$,node:x}}}return i(x,b.currentOffset(),b.currentPosition()),{node:x}}function m(b){const v=b.context(),x=v.currentType===1?b.currentOffset():v.offset,$=v.currentType===1?v.endLoc:v.startLoc,A=s(2,x,$);A.items=[];let C=null,M=null;do{const ae=C||b.nextToken();switch(C=null,ae.type){case 0:ae.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(ae)),A.items.push(l(b,ae.value||""));break;case 6:ae.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(ae)),A.items.push(u(b,ae.value||""));break;case 4:M=!0;break;case 5:ae.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(ae)),A.items.push(c(b,ae.value||"",!!M)),M&&(r(b,Cs.USE_MODULO_SYNTAX,v.lastStartLoc,0,Zt(ae)),M=null);break;case 7:ae.value==null&&a(b,Ae.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(ae)),A.items.push(d(b,ae.value||""));break;case 8:{const T=w(b);A.items.push(T.node),C=T.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const H=v.currentType===1?v.lastOffset:b.currentOffset(),W=v.currentType===1?v.lastEndLoc:b.currentPosition();return i(A,H,W),A}function p(b,v,x,$){const A=b.context();let C=$.items.length===0;const M=s(1,v,x);M.cases=[],M.cases.push($);do{const H=m(b);C||(C=H.items.length===0),M.cases.push(H)}while(A.currentType!==14);return C&&a(b,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,x,0),i(M,b.currentOffset(),b.currentPosition()),M}function g(b){const v=b.context(),{offset:x,startLoc:$}=v,A=m(b);return v.currentType===14?A:p(b,x,$,A)}function h(b){const v=ly(b,Wc({},e)),x=v.context(),$=s(0,x.offset,x.startLoc);return t&&$.loc&&($.loc.source=b),$.body=g(v),e.onCacheKey&&($.cacheKey=e.onCacheKey(b)),x.currentType!==14&&a(v,Ae.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,b[x.offset]||""),i($,v.currentOffset(),v.currentPosition()),$}return{parse:h}}function Zt(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 gy(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Xc(e,t){for(let o=0;oZc(o)),e}function Zc(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(m,p){s.code+=m}function u(m,p=!0){const g=p?n:"";l(a?g+" ".repeat(m):g)}function c(m=!0){const p=++s.indentLevel;m&&u(p)}function d(m=!0){const p=--s.indentLevel;m&&u(p)}function f(){u(s.indentLevel)}return{context:i,push:l,indent:c,deindent:d,newline:f,helper:m=>`_${m}`,needIndent:()=>s.needIndent}}function _y(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),An(e,t.key),t.modifier?(e.push(", "),An(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function vy(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=Yc(t.mode)?t.mode:"normal",n=Yc(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=yy(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${qc(s.map(c=>`${c}: _${c}`),", ")} } = ctx`),i.newline()),i.push("return "),An(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:u}=i.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function $y(e,t={}){const o=Wc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=py(o).parse(e);return n?(r&&hy(i),a&&$n(i),{ast:i,code:""}):(fy(i,o),xy(i,o))}/*! + */function qb(e,t,o){return{line:e,column:t,offset:o}}function mr(e,t,o){return{start:e,end:t}}const Jb=/\{([0-9a-zA-Z]+)\}/g;function Vc(e,...t){return t.length===1&&Zb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Jb,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Wc=Object.assign,Yc=e=>typeof e=="string",Zb=e=>e!==null&&typeof e=="object";function qc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Ts={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Xb={[Ts.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Qb(e,t,...o){const n=Vc(Xb[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Se={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},ey={[Se.EXPECTED_TOKEN]:"Expected token: '{0}'",[Se.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Se.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Se.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Se.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Se.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Se.EMPTY_PLACEHOLDER]:"Empty placeholder",[Se.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Se.INVALID_LINKED_FORMAT]:"Invalid linked format",[Se.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Se.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Se.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Se.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Se.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Se.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function $n(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Vc((a||ey)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function ty(e){throw e}const Po=" ",oy="\r",Ot=` +`,ny="\u2028",ay="\u2029";function ry(e){const t=e;let o=0,n=1,a=1,r=0;const s=A=>t[A]===oy&&t[A+1]===Ot,i=A=>t[A]===Ot,l=A=>t[A]===ay,u=A=>t[A]===ny,c=A=>s(A)||i(A)||l(A)||u(A),d=()=>o,f=()=>n,y=()=>a,$=()=>r,h=A=>s(A)||l(A)||u(A)?Ot:t[A],p=()=>h(o),g=()=>h(o+r);function m(){return r=0,c(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function b(){return s(o+r)&&r++,r++,t[o+r]}function v(){o=0,n=1,a=1,r=0}function x(A=0){r=A}function w(){const A=o+r;for(;A!==o;)m();r=0}return{index:d,line:f,column:y,peekOffset:$,charAt:h,currentChar:p,currentPeek:g,next:m,peek:b,reset:v,resetPeek:x,skipToPeek:w}}const Bo=void 0,sy=".",Jc="'",iy="tokenizer";function ly(e,t={}){const o=t.location!==!1,n=ry(e),a=()=>n.index(),r=()=>qb(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function d(_,k,G,...Y){const pe=u();if(k.column+=G,k.offset+=G,c){const le=o?mr(pe.startLoc,k):null,B=$n(_,le,{domain:iy,args:Y});c(B)}}function f(_,k,G){_.endLoc=r(),_.currentType=k;const Y={type:k};return o&&(Y.loc=mr(_.startLoc,_.endLoc)),G!=null&&(Y.value=G),Y}const y=_=>f(_,14);function $(_,k){return _.currentChar()===k?(_.next(),k):(d(Se.EXPECTED_TOKEN,r(),0,k),"")}function h(_){let k="";for(;_.currentPeek()===Po||_.currentPeek()===Ot;)k+=_.currentPeek(),_.peek();return k}function p(_){const k=h(_);return _.skipToPeek(),k}function g(_){if(_===Bo)return!1;const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k===95}function m(_){if(_===Bo)return!1;const k=_.charCodeAt(0);return k>=48&&k<=57}function b(_,k){const{currentType:G}=k;if(G!==2)return!1;h(_);const Y=g(_.currentPeek());return _.resetPeek(),Y}function v(_,k){const{currentType:G}=k;if(G!==2)return!1;h(_);const Y=_.currentPeek()==="-"?_.peek():_.currentPeek(),pe=m(Y);return _.resetPeek(),pe}function x(_,k){const{currentType:G}=k;if(G!==2)return!1;h(_);const Y=_.currentPeek()===Jc;return _.resetPeek(),Y}function w(_,k){const{currentType:G}=k;if(G!==8)return!1;h(_);const Y=_.currentPeek()===".";return _.resetPeek(),Y}function A(_,k){const{currentType:G}=k;if(G!==9)return!1;h(_);const Y=g(_.currentPeek());return _.resetPeek(),Y}function S(_,k){const{currentType:G}=k;if(!(G===8||G===12))return!1;h(_);const Y=_.currentPeek()===":";return _.resetPeek(),Y}function M(_,k){const{currentType:G}=k;if(G!==10)return!1;const Y=()=>{const le=_.currentPeek();return le==="{"?g(_.peek()):le==="@"||le==="%"||le==="|"||le===":"||le==="."||le===Po||!le?!1:le===Ot?(_.peek(),Y()):re(_,!1)},pe=Y();return _.resetPeek(),pe}function K(_){h(_);const k=_.currentPeek()==="|";return _.resetPeek(),k}function W(_){const k=h(_),G=_.currentPeek()==="%"&&_.peek()==="{";return _.resetPeek(),{isModulo:G,hasSpace:k.length>0}}function re(_,k=!0){const G=(pe=!1,le="",B=!1)=>{const Z=_.currentPeek();return Z==="{"?le==="%"?!1:pe:Z==="@"||!Z?le==="%"?!0:pe:Z==="%"?(_.peek(),G(pe,"%",!0)):Z==="|"?le==="%"||B?!0:!(le===Po||le===Ot):Z===Po?(_.peek(),G(!0,Po,B)):Z===Ot?(_.peek(),G(!0,Ot,B)):!0},Y=G();return k&&_.resetPeek(),Y}function C(_,k){const G=_.currentChar();return G===Bo?Bo:k(G)?(_.next(),G):null}function L(_){const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36}function I(_){return C(_,L)}function E(_){const k=_.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36||k===45}function T(_){return C(_,E)}function ae(_){const k=_.charCodeAt(0);return k>=48&&k<=57}function ye(_){return C(_,ae)}function D(_){const k=_.charCodeAt(0);return k>=48&&k<=57||k>=65&&k<=70||k>=97&&k<=102}function q(_){return C(_,D)}function se(_){let k="",G="";for(;k=ye(_);)G+=k;return G}function ie(_){p(_);const k=_.currentChar();return k!=="%"&&d(Se.EXPECTED_TOKEN,r(),0,k),_.next(),"%"}function $e(_){let k="";for(;;){const G=_.currentChar();if(G==="{"||G==="}"||G==="@"||G==="|"||!G)break;if(G==="%")if(re(_))k+=G,_.next();else break;else if(G===Po||G===Ot)if(re(_))k+=G,_.next();else{if(K(_))break;k+=G,_.next()}else k+=G,_.next()}return k}function ke(_){p(_);let k="",G="";for(;k=T(_);)G+=k;return _.currentChar()===Bo&&d(Se.UNTERMINATED_CLOSING_BRACE,r(),0),G}function Fe(_){p(_);let k="";return _.currentChar()==="-"?(_.next(),k+=`-${se(_)}`):k+=se(_),_.currentChar()===Bo&&d(Se.UNTERMINATED_CLOSING_BRACE,r(),0),k}function je(_){return _!==Jc&&_!==Ot}function Ne(_){p(_),$(_,"'");let k="",G="";for(;k=C(_,je);)k==="\\"?G+=De(_):G+=k;const Y=_.currentChar();return Y===Ot||Y===Bo?(d(Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),Y===Ot&&(_.next(),$(_,"'")),G):($(_,"'"),G)}function De(_){const k=_.currentChar();switch(k){case"\\":case"'":return _.next(),`\\${k}`;case"u":return Ue(_,k,4);case"U":return Ue(_,k,6);default:return d(Se.UNKNOWN_ESCAPE_SEQUENCE,r(),0,k),""}}function Ue(_,k,G){$(_,k);let Y="";for(let pe=0;pe{const Y=_.currentChar();return Y==="{"||Y==="%"||Y==="@"||Y==="|"||Y==="("||Y===")"||!Y||Y===Po?G:(G+=Y,_.next(),k(G))};return k("")}function H(_){p(_);const k=$(_,"|");return p(_),k}function X(_,k){let G=null;switch(_.currentChar()){case"{":return k.braceNest>=1&&d(Se.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),_.next(),G=f(k,2,"{"),p(_),k.braceNest++,G;case"}":return k.braceNest>0&&k.currentType===2&&d(Se.EMPTY_PLACEHOLDER,r(),0),_.next(),G=f(k,3,"}"),k.braceNest--,k.braceNest>0&&p(_),k.inLinked&&k.braceNest===0&&(k.inLinked=!1),G;case"@":return k.braceNest>0&&d(Se.UNTERMINATED_CLOSING_BRACE,r(),0),G=ne(_,k)||y(k),k.braceNest=0,G;default:{let pe=!0,le=!0,B=!0;if(K(_))return k.braceNest>0&&d(Se.UNTERMINATED_CLOSING_BRACE,r(),0),G=f(k,1,H(_)),k.braceNest=0,k.inLinked=!1,G;if(k.braceNest>0&&(k.currentType===5||k.currentType===6||k.currentType===7))return d(Se.UNTERMINATED_CLOSING_BRACE,r(),0),k.braceNest=0,J(_,k);if(pe=b(_,k))return G=f(k,5,ke(_)),p(_),G;if(le=v(_,k))return G=f(k,6,Fe(_)),p(_),G;if(B=x(_,k))return G=f(k,7,Ne(_)),p(_),G;if(!pe&&!le&&!B)return G=f(k,13,P(_)),d(Se.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,G.value),p(_),G;break}}return G}function ne(_,k){const{currentType:G}=k;let Y=null;const pe=_.currentChar();switch((G===8||G===9||G===12||G===10)&&(pe===Ot||pe===Po)&&d(Se.INVALID_LINKED_FORMAT,r(),0),pe){case"@":return _.next(),Y=f(k,8,"@"),k.inLinked=!0,Y;case".":return p(_),_.next(),f(k,9,".");case":":return p(_),_.next(),f(k,10,":");default:return K(_)?(Y=f(k,1,H(_)),k.braceNest=0,k.inLinked=!1,Y):w(_,k)||S(_,k)?(p(_),ne(_,k)):A(_,k)?(p(_),f(k,12,O(_))):M(_,k)?(p(_),pe==="{"?X(_,k)||Y:f(k,11,R(_))):(G===8&&d(Se.INVALID_LINKED_FORMAT,r(),0),k.braceNest=0,k.inLinked=!1,J(_,k))}}function J(_,k){let G={type:14};if(k.braceNest>0)return X(_,k)||y(k);if(k.inLinked)return ne(_,k)||y(k);switch(_.currentChar()){case"{":return X(_,k)||y(k);case"}":return d(Se.UNBALANCED_CLOSING_BRACE,r(),0),_.next(),f(k,3,"}");case"@":return ne(_,k)||y(k);default:{if(K(_))return G=f(k,1,H(_)),k.braceNest=0,k.inLinked=!1,G;const{isModulo:pe,hasSpace:le}=W(_);if(pe)return le?f(k,0,$e(_)):f(k,4,ie(_));if(re(_))return f(k,0,$e(_));break}}return G}function Q(){const{currentType:_,offset:k,startLoc:G,endLoc:Y}=l;return l.lastType=_,l.lastOffset=k,l.lastStartLoc=G,l.lastEndLoc=Y,l.offset=a(),l.startLoc=r(),n.currentChar()===Bo?f(l,14):J(n,l)}return{nextToken:Q,currentOffset:a,currentPosition:r,context:u}}const cy="parser",uy=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function dy(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 py(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(b,v,x,w,...A){const S=b.currentPosition();if(S.offset+=w,S.column+=w,o){const M=t?mr(x,S):null,K=$n(v,M,{domain:cy,args:A});o(K)}}function r(b,v,x,w,...A){const S=b.currentPosition();if(S.offset+=w,S.column+=w,n){const M=t?mr(x,S):null;n(Qb(v,M,A))}}function s(b,v,x){const w={type:b};return t&&(w.start=v,w.end=v,w.loc={start:x,end:x}),w}function i(b,v,x,w){t&&(b.end=v,b.loc&&(b.loc.end=x))}function l(b,v){const x=b.context(),w=s(3,x.offset,x.startLoc);return w.value=v,i(w,b.currentOffset(),b.currentPosition()),w}function u(b,v){const x=b.context(),{lastOffset:w,lastStartLoc:A}=x,S=s(5,w,A);return S.index=parseInt(v,10),b.nextToken(),i(S,b.currentOffset(),b.currentPosition()),S}function c(b,v,x){const w=b.context(),{lastOffset:A,lastStartLoc:S}=w,M=s(4,A,S);return M.key=v,x===!0&&(M.modulo=!0),b.nextToken(),i(M,b.currentOffset(),b.currentPosition()),M}function d(b,v){const x=b.context(),{lastOffset:w,lastStartLoc:A}=x,S=s(9,w,A);return S.value=v.replace(uy,dy),b.nextToken(),i(S,b.currentOffset(),b.currentPosition()),S}function f(b){const v=b.nextToken(),x=b.context(),{lastOffset:w,lastStartLoc:A}=x,S=s(8,w,A);return v.type!==12?(a(b,Se.UNEXPECTED_EMPTY_LINKED_MODIFIER,x.lastStartLoc,0),S.value="",i(S,w,A),{nextConsumeToken:v,node:S}):(v.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,Qt(v)),S.value=v.value||"",i(S,b.currentOffset(),b.currentPosition()),{node:S})}function y(b,v){const x=b.context(),w=s(7,x.offset,x.startLoc);return w.value=v,i(w,b.currentOffset(),b.currentPosition()),w}function $(b){const v=b.context(),x=s(6,v.offset,v.startLoc);let w=b.nextToken();if(w.type===9){const A=f(b);x.modifier=A.node,w=A.nextConsumeToken||b.nextToken()}switch(w.type!==10&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(w)),w=b.nextToken(),w.type===2&&(w=b.nextToken()),w.type){case 11:w.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(w)),x.key=y(b,w.value||"");break;case 5:w.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(w)),x.key=c(b,w.value||"");break;case 6:w.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(w)),x.key=u(b,w.value||"");break;case 7:w.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(w)),x.key=d(b,w.value||"");break;default:{a(b,Se.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const A=b.context(),S=s(7,A.offset,A.startLoc);return S.value="",i(S,A.offset,A.startLoc),x.key=S,i(x,A.offset,A.startLoc),{nextConsumeToken:w,node:x}}}return i(x,b.currentOffset(),b.currentPosition()),{node:x}}function h(b){const v=b.context(),x=v.currentType===1?b.currentOffset():v.offset,w=v.currentType===1?v.endLoc:v.startLoc,A=s(2,x,w);A.items=[];let S=null,M=null;do{const re=S||b.nextToken();switch(S=null,re.type){case 0:re.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(re)),A.items.push(l(b,re.value||""));break;case 6:re.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(re)),A.items.push(u(b,re.value||""));break;case 4:M=!0;break;case 5:re.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(re)),A.items.push(c(b,re.value||"",!!M)),M&&(r(b,Ts.USE_MODULO_SYNTAX,v.lastStartLoc,0,Qt(re)),M=null);break;case 7:re.value==null&&a(b,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Qt(re)),A.items.push(d(b,re.value||""));break;case 8:{const C=$(b);A.items.push(C.node),S=C.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const K=v.currentType===1?v.lastOffset:b.currentOffset(),W=v.currentType===1?v.lastEndLoc:b.currentPosition();return i(A,K,W),A}function p(b,v,x,w){const A=b.context();let S=w.items.length===0;const M=s(1,v,x);M.cases=[],M.cases.push(w);do{const K=h(b);S||(S=K.items.length===0),M.cases.push(K)}while(A.currentType!==14);return S&&a(b,Se.MUST_HAVE_MESSAGES_IN_PLURAL,x,0),i(M,b.currentOffset(),b.currentPosition()),M}function g(b){const v=b.context(),{offset:x,startLoc:w}=v,A=h(b);return v.currentType===14?A:p(b,x,w,A)}function m(b){const v=ly(b,Wc({},e)),x=v.context(),w=s(0,x.offset,x.startLoc);return t&&w.loc&&(w.loc.source=b),w.body=g(v),e.onCacheKey&&(w.cacheKey=e.onCacheKey(b)),x.currentType!==14&&a(v,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,b[x.offset]||""),i(w,v.currentOffset(),v.currentPosition()),w}return{parse:m}}function Qt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function gy(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Zc(e,t){for(let o=0;oXc(o)),e}function Xc(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,p){s.code+=h}function u(h,p=!0){const g=p?n:"";l(a?g+" ".repeat(h):g)}function c(h=!0){const p=++s.indentLevel;h&&u(p)}function d(h=!0){const p=--s.indentLevel;h&&u(p)}function f(){u(s.indentLevel)}return{context:i,push:l,indent:c,deindent:d,newline:f,helper:h=>`_${h}`,needIndent:()=>s.needIndent}}function _y(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),Sn(e,t.key),t.modifier?(e.push(", "),Sn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function vy(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=Yc(t.mode)?t.mode:"normal",n=Yc(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=yy(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${qc(s.map(c=>`${c}: _${c}`),", ")} } = ctx`),i.newline()),i.push("return "),Sn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:u}=i.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function $y(e,t={}){const o=Wc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=py(o).parse(e);return n?(r&&hy(i),a&&An(i),{ast:i,code:""}):(fy(i,o),xy(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Ay(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Eo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Eo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Eo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function go(e){return ze(e)&&Ms(e)===0&&(Xt(e,"b")||Xt(e,"body"))}const Qc=["b","body"];function Sy(e){return Go(e,Qc)}const eu=["c","cases"];function Ey(e){return Go(e,eu,[])}const tu=["s","static"];function Py(e){return Go(e,tu)}const ou=["i","items"];function Ly(e){return Go(e,ou,[])}const nu=["t","type"];function Ms(e){return Go(e,nu)}const au=["v","value"];function hr(e,t){const o=Go(e,au);if(o!=null)return o;throw ia(t)}const ru=["m","modifier"];function Cy(e){return Go(e,ru)}const su=["k","key"];function Ty(e){const t=Go(e,su);if(t)return t;throw ia(6)}function Go(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},f[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,s===void 0||(s=Oy(s),s===!1))return!1;f[1]()}};function y(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,f[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&y())){if(l=Iy(r),d=jo[n],u=d[l]||d.l||8,u===8||(n=u[0],u[1]!==void 0&&(c=f[u[1]],c&&(i=r,c()===!1))))return;if(n===7)return t}}const lu=new Map;function Dy(e,t){return ze(e)?e[t]:null}function By(e,t){if(!ze(e))return null;let o=lu.get(t);if(o||(o=Fy(t),o&&lu.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,jy=e=>"",Uy="text",zy=e=>e.length===0?"":Yb(e),Ky=Wb;function cu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Hy(e){const t=pt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(pt(e.named.count)||pt(e.named.n))?pt(e.named.count)?e.named.count:pt(e.named.n)?e.named.n:t:t}function Vy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Wy(e={}){const t=e.locale,o=Hy(e),n=ze(e.pluralRules)&&ge(t)&&tt(e.pluralRules[t])?e.pluralRules[t]:cu,a=ze(e.pluralRules)&&ge(t)&&tt(e.pluralRules[t])?cu:void 0,r=g=>g[n(o,g.length,a)],s=e.list||[],i=g=>s[g],l=e.named||Xe();pt(e.pluralIndex)&&Vy(o,l);const u=g=>l[g];function c(g){const h=tt(e.messages)?e.messages(g):ze(e.messages)?e.messages[g]:!1;return h||(e.parent?e.parent.message(g):jy)}const d=g=>e.modifiers?e.modifiers[g]:Gy,f=Le(e.processor)&&tt(e.processor.normalize)?e.processor.normalize:zy,y=Le(e.processor)&&tt(e.processor.interpolate)?e.processor.interpolate:Ky,w=Le(e.processor)&&ge(e.processor.type)?e.processor.type:Uy,p={list:i,named:u,plural:r,linked:(g,...h)=>{const[b,v]=h;let x="text",$="";h.length===1?ze(b)?($=b.modifier||$,x=b.type||x):ge(b)&&($=b||$):h.length===2&&(ge(b)&&($=b||$),ge(v)&&(x=v||x));const A=c(g)(p),C=x==="vnode"&&rt(A)&&$?A[0]:A;return $?d($)(C,x):C},message:c,type:w,interpolate:y,normalize:f,values:Pt(Xe(),s,l)};return p}let la=null;function Yy(e){la=e}function qy(e,t,o){la&&la.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Jy=Xy("function:translate");function Xy(e){return t=>la&&la.emit(e,t)}const Zy=Cs.__EXTEND_POINT__,on=dr(Zy),Qy={FALLBACK_TO_TRANSLATE:on(),CANNOT_FORMAT_NUMBER:on(),FALLBACK_TO_NUMBER_FORMAT:on(),CANNOT_FORMAT_DATE:on(),FALLBACK_TO_DATE_FORMAT:on(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:on(),__EXTEND_POINT__:on()},uu=Ae.__EXTEND_POINT__,nn=dr(uu),Qt={INVALID_ARGUMENT:uu,INVALID_DATE_ARGUMENT:nn(),INVALID_ISO_DATE_ARGUMENT:nn(),NOT_SUPPORT_NON_STRING_MESSAGE:nn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:nn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:nn(),NOT_SUPPORT_LOCALE_TYPE:nn(),__EXTEND_POINT__:nn()};function fo(e){return xn(e,null,void 0)}function Ns(e,t){return t.locale!=null?du(t.locale):du(e.locale)}let Rs;function du(e){if(ge(e))return e;if(tt(e)){if(e.resolvedOnce&&Rs!=null)return Rs;if(e.constructor.name==="Function"){const t=e();if(Vb(t))throw fo(Qt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Rs=t}else throw fo(Qt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw fo(Qt.NOT_SUPPORT_LOCALE_TYPE)}function e0(e,t,o){return[...new Set([o,...rt(t)?t:ze(t)?Object.keys(t):ge(t)?[t]:[o]])]}function pu(e,t,o){const n=ge(o)?o:Sn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;rt(s);)s=gu(r,s,t);const i=rt(t)||!Le(t)?t:t.default?t.default:null;s=ge(i)?[i]:i,rt(s)&&gu(r,s,!1),a.__localeChainCache.set(n,r)}return r}function gu(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function a0(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?hu(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?hu(e.children):e}}let mu;function bu(e){mu=e}let yu;function r0(e){yu=e}let _u;function s0(e){_u=e}let vu=null;const i0=e=>{vu=e},l0=()=>vu;let ku=null;const wu=e=>{ku=e},c0=()=>ku;let xu=0;function u0(e={}){const t=tt(e.onWarn)?e.onWarn:Bb,o=ge(e.version)?e.version:n0,n=ge(e.locale)||tt(e.locale)?e.locale:Sn,a=tt(n)?Sn:n,r=rt(e.fallbackLocale)||Le(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Le(e.messages)?e.messages:Is(a),i=Le(e.datetimeFormats)?e.datetimeFormats:Is(a),l=Le(e.numberFormats)?e.numberFormats:Is(a),u=Pt(Xe(),e.modifiers,a0()),c=e.pluralRules||Xe(),d=tt(e.missing)?e.missing:null,f=De(e.missingWarn)||Do(e.missingWarn)?e.missingWarn:!0,y=De(e.fallbackWarn)||Do(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,m=!!e.unresolving,p=tt(e.postTranslation)?e.postTranslation:null,g=Le(e.processor)?e.processor:null,h=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,v=tt(e.messageCompiler)?e.messageCompiler:mu,x=tt(e.messageResolver)?e.messageResolver:yu||Dy,$=tt(e.localeFallbacker)?e.localeFallbacker:_u||e0,A=ze(e.fallbackContext)?e.fallbackContext:void 0,C=e,M=ze(C.__datetimeFormatters)?C.__datetimeFormatters:new Map,H=ze(C.__numberFormatters)?C.__numberFormatters:new Map,W=ze(C.__meta)?C.__meta:{};xu++;const ae={version:o,cid:xu,locale:n,fallbackLocale:r,messages:s,modifiers:u,pluralRules:c,missing:d,missingWarn:f,fallbackWarn:y,fallbackFormat:w,unresolving:m,postTranslation:p,processor:g,warnHtmlMessage:h,escapeParameter:b,messageCompiler:v,messageResolver:x,localeFallbacker:$,fallbackContext:A,onWarn:t,__meta:W};return ae.datetimeFormats=i,ae.numberFormats=l,ae.__datetimeFormatters=M,ae.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&qy(ae,o,W),ae}const Is=e=>({[e]:Xe()});function Os(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return ge(i)?i:t}else return t}function ca(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function d0(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function p0(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;ng0(o,e)}function g0(e,t){const o=Sy(t);if(o==null)throw ia(0);if(Ms(o)===1){const r=Ey(o);return e.plural(r.reduce((s,i)=>[...s,$u(e,i)],[]))}else return $u(e,o)}function $u(e,t){const o=Py(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Ly(t).reduce((a,r)=>[...a,Ds(e,r)],[]);return e.normalize(n)}}function Ds(e,t){const o=Ms(t);switch(o){case 3:return hr(t,o);case 9:return hr(t,o);case 4:{const n=t;if(Xt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Xt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw ia(o)}case 5:{const n=t;if(Xt(n,"i")&&pt(n.i))return e.interpolate(e.list(n.i));if(Xt(n,"index")&&pt(n.index))return e.interpolate(e.list(n.index));throw ia(o)}case 6:{const n=t,a=Cy(n),r=Ty(n);return e.linked(Ds(e,r),a?Ds(e,a):void 0,e.type)}case 7:return hr(t,o);case 8:return hr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Au=e=>e;let En=Xe();function Su(e,t={}){let o=!1;const n=t.onError||ty;return t.onError=a=>{o=!0,n(a)},{...$y(e,t),detectError:o}}const f0=(e,t)=>{if(!ge(e))throw fo(Qt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Au)(e),a=En[n];if(a)return a;const{code:r,detectError:s}=Su(e,t),i=new Function(`return ${r}`)();return s?i:En[n]=i}};function h0(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Au)(e),a=En[n];if(a)return a;const{ast:r,detectError:s}=Su(e,{...t,location:!1,jit:!0}),i=Fs(r);return s?i:En[n]=i}else{const o=e.cacheKey;if(o){const n=En[o];return n||(En[o]=Fs(e))}else return Fs(e)}}const Eu=()=>"",Ht=e=>tt(e);function Pu(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,u]=Bs(...t),c=De(u.missingWarn)?u.missingWarn:e.missingWarn,d=De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,f=De(u.escapeParameter)?u.escapeParameter:e.escapeParameter,y=!!u.resolvedMessage,w=ge(u.default)||De(u.default)?De(u.default)?r?l:()=>l:u.default:o?r?l:()=>l:"",m=o||w!=="",p=Ns(e,u);f&&m0(u);let[g,h,b]=y?[l,p,i[p]||Xe()]:Lu(e,l,p,s,d,c),v=g,x=l;if(!y&&!(ge(v)||go(v)||Ht(v))&&m&&(v=w,x=v),!y&&(!(ge(v)||go(v)||Ht(v))||!ge(h)))return a?mr:l;let $=!1;const A=()=>{$=!0},C=Ht(v)?v:Cu(e,l,h,v,x,A);if($)return v;const M=_0(e,h,b,u),H=Wy(M),W=b0(e,C,H);let ae=n?n(W,l):W;if(f&&ge(ae)&&(ae=Kb(ae)),__INTLIFY_PROD_DEVTOOLS__){const T={timestamp:Date.now(),key:ge(l)?l:Ht(v)?v.key:"",locale:h||(Ht(v)?v.locale:""),format:ge(v)?v:Ht(v)?v.source:"",message:ae};T.meta=Pt({},e.__meta,l0()||{}),Jy(T)}return ae}function m0(e){rt(e.list)?e.list=e.list.map(t=>ge(t)?Uc(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Uc(e.named[t]))})}function Lu(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,o);let d=Xe(),f,y=null;const w="translate";for(let m=0;mn;return u.locale=o,u.key=t,u}const l=s(n,y0(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function b0(e,t,o){return t(o)}function Bs(...e){const[t,o,n]=e,a=Xe();if(!ge(t)&&!pt(t)&&!Ht(t)&&!go(t))throw fo(Qt.INVALID_ARGUMENT);const r=pt(t)?String(t):(Ht(t),t);return pt(o)?a.plural=o:ge(o)?a.default=o:Le(o)&&!ur(o)?a.named=o:rt(o)&&(a.list=o),pt(n)?a.plural=n:ge(n)?a.default=n:Le(n)&&Pt(a,n),[r,a]}function y0(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>Gb(t,o,s)}}function _0(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,f={locale:t,modifiers:a,pluralRules:r,messages:y=>{let w=s(o,y);if(w==null&&c){const[,,m]=Lu(c,y,t,i,l,u);w=s(m,y)}if(ge(w)||go(w)){let m=!1;const g=Cu(e,y,t,w,y,()=>{m=!0});return m?Eu:g}else return Ht(w)?w:Eu}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),pt(n.plural)&&(f.pluralIndex=n.plural),f}function Tu(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,u,c,d]=Gs(...t),f=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const y=!!c.part,w=Ns(e,c),m=s(e,a,w);if(!ge(l)||l==="")return new Intl.DateTimeFormat(w,d).format(u);let p={},g,h=null;const b="datetime format";for(let $=0;${Mu.includes(l)?s[l]=o[l]:r[l]=o[l]}),ge(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Nu(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Ru(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,u,c,d]=js(...t),f=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const y=!!c.part,w=Ns(e,c),m=s(e,a,w);if(!ge(l)||l==="")return new Intl.NumberFormat(w,d).format(u);let p={},g,h=null;const b="number format";for(let $=0;${Iu.includes(l)?s[l]=o[l]:r[l]=o[l]}),ge(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Ou(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Ay();/*! + */function Ay(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Eo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Eo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Eo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function fo(e){return Ke(e)&&Rs(e)===0&&(Xt(e,"b")||Xt(e,"body"))}const Qc=["b","body"];function Sy(e){return jo(e,Qc)}const eu=["c","cases"];function Ly(e){return jo(e,eu,[])}const tu=["s","static"];function Ey(e){return jo(e,tu)}const ou=["i","items"];function Py(e){return jo(e,ou,[])}const nu=["t","type"];function Rs(e){return jo(e,nu)}const au=["v","value"];function br(e,t){const o=jo(e,au);if(o!=null)return o;throw ca(t)}const ru=["m","modifier"];function Cy(e){return jo(e,ru)}const su=["k","key"];function Ty(e){const t=jo(e,su);if(t)return t;throw ca(6)}function jo(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},f[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,s===void 0||(s=Oy(s),s===!1))return!1;f[1]()}};function y(){const $=e[o+1];if(n===5&&$==="'"||n===6&&$==='"')return o++,i="\\"+$,f[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&y())){if(l=Iy(r),d=Uo[n],u=d[l]||d.l||8,u===8||(n=u[0],u[1]!==void 0&&(c=f[u[1]],c&&(i=r,c()===!1))))return;if(n===7)return t}}const lu=new Map;function Dy(e,t){return Ke(e)?e[t]:null}function Gy(e,t){if(!Ke(e))return null;let o=lu.get(t);if(o||(o=Fy(t),o&&lu.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,jy=e=>"",Uy="text",zy=e=>e.length===0?"":Yb(e),Ky=Wb;function cu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Hy(e){const t=ft(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ft(e.named.count)||ft(e.named.n))?ft(e.named.count)?e.named.count:ft(e.named.n)?e.named.n:t:t}function Vy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Wy(e={}){const t=e.locale,o=Hy(e),n=Ke(e.pluralRules)&&fe(t)&&et(e.pluralRules[t])?e.pluralRules[t]:cu,a=Ke(e.pluralRules)&&fe(t)&&et(e.pluralRules[t])?cu:void 0,r=g=>g[n(o,g.length,a)],s=e.list||[],i=g=>s[g],l=e.named||Je();ft(e.pluralIndex)&&Vy(o,l);const u=g=>l[g];function c(g){const m=et(e.messages)?e.messages(g):Ke(e.messages)?e.messages[g]:!1;return m||(e.parent?e.parent.message(g):jy)}const d=g=>e.modifiers?e.modifiers[g]:By,f=Ce(e.processor)&&et(e.processor.normalize)?e.processor.normalize:zy,y=Ce(e.processor)&&et(e.processor.interpolate)?e.processor.interpolate:Ky,$=Ce(e.processor)&&fe(e.processor.type)?e.processor.type:Uy,p={list:i,named:u,plural:r,linked:(g,...m)=>{const[b,v]=m;let x="text",w="";m.length===1?Ke(b)?(w=b.modifier||w,x=b.type||x):fe(b)&&(w=b||w):m.length===2&&(fe(b)&&(w=b||w),fe(v)&&(x=v||x));const A=c(g)(p),S=x==="vnode"&&rt(A)&&w?A[0]:A;return w?d(w)(S,x):S},message:c,type:$,interpolate:y,normalize:f,values:Et(Je(),s,l)};return p}let ua=null;function Yy(e){ua=e}function qy(e,t,o){ua&&ua.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Jy=Zy("function:translate");function Zy(e){return t=>ua&&ua.emit(e,t)}const Xy=Ts.__EXTEND_POINT__,nn=gr(Xy),Qy={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()},uu=Se.__EXTEND_POINT__,an=gr(uu),eo={INVALID_ARGUMENT:uu,INVALID_DATE_ARGUMENT:an(),INVALID_ISO_DATE_ARGUMENT:an(),NOT_SUPPORT_NON_STRING_MESSAGE:an(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:an(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:an(),NOT_SUPPORT_LOCALE_TYPE:an(),__EXTEND_POINT__:an()};function ho(e){return $n(e,null,void 0)}function Ns(e,t){return t.locale!=null?du(t.locale):du(e.locale)}let Is;function du(e){if(fe(e))return e;if(et(e)){if(e.resolvedOnce&&Is!=null)return Is;if(e.constructor.name==="Function"){const t=e();if(Vb(t))throw ho(eo.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Is=t}else throw ho(eo.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ho(eo.NOT_SUPPORT_LOCALE_TYPE)}function e0(e,t,o){return[...new Set([o,...rt(t)?t:Ke(t)?Object.keys(t):fe(t)?[t]:[o]])]}function pu(e,t,o){const n=fe(o)?o:Ln,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;rt(s);)s=gu(r,s,t);const i=rt(t)||!Ce(t)?t:t.default?t.default:null;s=fe(i)?[i]:i,rt(s)&&gu(r,s,!1),a.__localeChainCache.set(n,r)}return r}function gu(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function a0(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?hu(e):t==="vnode"&&Ke(e)&&"__v_isVNode"in e?hu(e.children):e}}let mu;function bu(e){mu=e}let yu;function r0(e){yu=e}let _u;function s0(e){_u=e}let vu=null;const i0=e=>{vu=e},l0=()=>vu;let ku=null;const wu=e=>{ku=e},c0=()=>ku;let xu=0;function u0(e={}){const t=et(e.onWarn)?e.onWarn:Gb,o=fe(e.version)?e.version:n0,n=fe(e.locale)||et(e.locale)?e.locale:Ln,a=et(n)?Ln:n,r=rt(e.fallbackLocale)||Ce(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Ce(e.messages)?e.messages:Os(a),i=Ce(e.datetimeFormats)?e.datetimeFormats:Os(a),l=Ce(e.numberFormats)?e.numberFormats:Os(a),u=Et(Je(),e.modifiers,a0()),c=e.pluralRules||Je(),d=et(e.missing)?e.missing:null,f=Oe(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,y=Oe(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,h=!!e.unresolving,p=et(e.postTranslation)?e.postTranslation:null,g=Ce(e.processor)?e.processor:null,m=Oe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter,v=et(e.messageCompiler)?e.messageCompiler:mu,x=et(e.messageResolver)?e.messageResolver:yu||Dy,w=et(e.localeFallbacker)?e.localeFallbacker:_u||e0,A=Ke(e.fallbackContext)?e.fallbackContext:void 0,S=e,M=Ke(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,K=Ke(S.__numberFormatters)?S.__numberFormatters:new Map,W=Ke(S.__meta)?S.__meta:{};xu++;const re={version:o,cid:xu,locale:n,fallbackLocale:r,messages:s,modifiers:u,pluralRules:c,missing:d,missingWarn:f,fallbackWarn:y,fallbackFormat:$,unresolving:h,postTranslation:p,processor:g,warnHtmlMessage:m,escapeParameter:b,messageCompiler:v,messageResolver:x,localeFallbacker:w,fallbackContext:A,onWarn:t,__meta:W};return re.datetimeFormats=i,re.numberFormats=l,re.__datetimeFormatters=M,re.__numberFormatters=K,__INTLIFY_PROD_DEVTOOLS__&&qy(re,o,W),re}const Os=e=>({[e]:Je()});function Fs(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return fe(i)?i:t}else return t}function da(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function d0(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function p0(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;ng0(o,e)}function g0(e,t){const o=Sy(t);if(o==null)throw ca(0);if(Rs(o)===1){const r=Ly(o);return e.plural(r.reduce((s,i)=>[...s,$u(e,i)],[]))}else return $u(e,o)}function $u(e,t){const o=Ey(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Py(t).reduce((a,r)=>[...a,Gs(e,r)],[]);return e.normalize(n)}}function Gs(e,t){const o=Rs(t);switch(o){case 3:return br(t,o);case 9:return br(t,o);case 4:{const n=t;if(Xt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Xt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw ca(o)}case 5:{const n=t;if(Xt(n,"i")&&ft(n.i))return e.interpolate(e.list(n.i));if(Xt(n,"index")&&ft(n.index))return e.interpolate(e.list(n.index));throw ca(o)}case 6:{const n=t,a=Cy(n),r=Ty(n);return e.linked(Gs(e,r),a?Gs(e,a):void 0,e.type)}case 7:return br(t,o);case 8:return br(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Au=e=>e;let En=Je();function Su(e,t={}){let o=!1;const n=t.onError||ty;return t.onError=a=>{o=!0,n(a)},{...$y(e,t),detectError:o}}const f0=(e,t)=>{if(!fe(e))throw ho(eo.NOT_SUPPORT_NON_STRING_MESSAGE);{Oe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Au)(e),a=En[n];if(a)return a;const{code:r,detectError:s}=Su(e,t),i=new Function(`return ${r}`)();return s?i:En[n]=i}};function h0(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Oe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Au)(e),a=En[n];if(a)return a;const{ast:r,detectError:s}=Su(e,{...t,location:!1,jit:!0}),i=Ds(r);return s?i:En[n]=i}else{const o=e.cacheKey;if(o){const n=En[o];return n||(En[o]=Ds(e))}else return Ds(e)}}const Lu=()=>"",Vt=e=>et(e);function Eu(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,u]=Bs(...t),c=Oe(u.missingWarn)?u.missingWarn:e.missingWarn,d=Oe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,f=Oe(u.escapeParameter)?u.escapeParameter:e.escapeParameter,y=!!u.resolvedMessage,$=fe(u.default)||Oe(u.default)?Oe(u.default)?r?l:()=>l:u.default:o?r?l:()=>l:"",h=o||$!=="",p=Ns(e,u);f&&m0(u);let[g,m,b]=y?[l,p,i[p]||Je()]:Pu(e,l,p,s,d,c),v=g,x=l;if(!y&&!(fe(v)||fo(v)||Vt(v))&&h&&(v=$,x=v),!y&&(!(fe(v)||fo(v)||Vt(v))||!fe(m)))return a?yr:l;let w=!1;const A=()=>{w=!0},S=Vt(v)?v:Cu(e,l,m,v,x,A);if(w)return v;const M=_0(e,m,b,u),K=Wy(M),W=b0(e,S,K);let re=n?n(W,l):W;if(f&&fe(re)&&(re=Kb(re)),__INTLIFY_PROD_DEVTOOLS__){const C={timestamp:Date.now(),key:fe(l)?l:Vt(v)?v.key:"",locale:m||(Vt(v)?v.locale:""),format:fe(v)?v:Vt(v)?v.source:"",message:re};C.meta=Et({},e.__meta,l0()||{}),Jy(C)}return re}function m0(e){rt(e.list)?e.list=e.list.map(t=>fe(t)?Uc(t):t):Ke(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=Uc(e.named[t]))})}function Pu(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,o);let d=Je(),f,y=null;const $="translate";for(let h=0;hn;return u.locale=o,u.key=t,u}const l=s(n,y0(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function b0(e,t,o){return t(o)}function Bs(...e){const[t,o,n]=e,a=Je();if(!fe(t)&&!ft(t)&&!Vt(t)&&!fo(t))throw ho(eo.INVALID_ARGUMENT);const r=ft(t)?String(t):(Vt(t),t);return ft(o)?a.plural=o:fe(o)?a.default=o:Ce(o)&&!pr(o)?a.named=o:rt(o)&&(a.list=o),ft(n)?a.plural=n:fe(n)?a.default=n:Ce(n)&&Et(a,n),[r,a]}function y0(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>Bb(t,o,s)}}function _0(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,f={locale:t,modifiers:a,pluralRules:r,messages:y=>{let $=s(o,y);if($==null&&c){const[,,h]=Pu(c,y,t,i,l,u);$=s(h,y)}if(fe($)||fo($)){let h=!1;const g=Cu(e,y,t,$,y,()=>{h=!0});return h?Lu:g}else return Vt($)?$:Lu}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),ft(n.plural)&&(f.pluralIndex=n.plural),f}function Tu(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,u,c,d]=js(...t),f=Oe(c.missingWarn)?c.missingWarn:e.missingWarn;Oe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const y=!!c.part,$=Ns(e,c),h=s(e,a,$);if(!fe(l)||l==="")return new Intl.DateTimeFormat($,d).format(u);let p={},g,m=null;const b="datetime format";for(let w=0;w{Mu.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Ce(n)&&(s=n),Ce(a)&&(s=a),[r.key||"",i,r,s]}function Ru(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Nu(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,u,c,d]=Us(...t),f=Oe(c.missingWarn)?c.missingWarn:e.missingWarn;Oe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const y=!!c.part,$=Ns(e,c),h=s(e,a,$);if(!fe(l)||l==="")return new Intl.NumberFormat($,d).format(u);let p={},g,m=null;const b="number format";for(let w=0;w{Iu.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Ce(n)&&(s=n),Ce(a)&&(s=a),[r.key||"",i,r,s]}function Ou(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Ay();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const v0="9.14.5";function k0(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Eo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Eo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Eo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Eo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Eo().__INTLIFY_PROD_DEVTOOLS__=!1)}const w0=Qy.__EXTEND_POINT__,Lo=dr(w0);Lo(),Lo(),Lo(),Lo(),Lo(),Lo(),Lo(),Lo(),Lo();const Fu=Qt.__EXTEND_POINT__,Dt=dr(Fu),mt={UNEXPECTED_RETURN_TYPE:Fu,INVALID_ARGUMENT:Dt(),MUST_BE_CALL_SETUP_TOP:Dt(),NOT_INSTALLED:Dt(),NOT_AVAILABLE_IN_LEGACY_MODE:Dt(),REQUIRED_VALUE:Dt(),INVALID_VALUE:Dt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Dt(),NOT_INSTALLED_WITH_PROVIDE:Dt(),UNEXPECTED_ERROR:Dt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Dt(),BRIDGE_SUPPORT_VUE_2_ONLY:Dt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Dt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Dt(),__EXTEND_POINT__:Dt()};function vt(e,...t){return xn(e,null,void 0)}const Us=Fo("__translateVNode"),zs=Fo("__datetimeParts"),Ks=Fo("__numberParts"),Du=Fo("__setPluralRules"),Bu=Fo("__injectWithOption"),Hs=Fo("__dispose");function ua(e){if(!ze(e)||go(e))return e;for(const t in e)if(Xt(e,t))if(!t.includes("."))ze(e[t])&&ua(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:u}=i;l?(s[l]=s[l]||Xe(),gr(u,s[l])):gr(u,s)}else ge(i)&&gr(JSON.parse(i),s)}),a==null&&r)for(const i in s)Xt(s,i)&&ua(s[i]);return s}function Gu(e){return e.type}function ju(e,t,o){let n=ze(t.messages)?t.messages:Xe();"__i18nGlobal"in o&&(n=br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(ze(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(ze(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Uu(e){return He(Zn,null,e,0)}const zu="__INTLIFY_META__",Ku=()=>[],x0=()=>!1;let Hu=0;function Vu(e){return(t,o,n,a)=>e(o,n,Ao()||void 0,a)}const $0=()=>{const e=Ao();let t=null;return e&&(t=Gu(e)[zu])?{[zu]:t}:null};function Vs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=cr?de:gn,i=!!e.translateExistCompatible;let l=De(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:ge(e.locale)?e.locale:Sn),c=s(o&&l?o.fallbackLocale.value:ge(e.fallbackLocale)||rt(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),d=s(br(u.value,e)),f=s(Le(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),y=s(Le(e.numberFormats)?e.numberFormats:{[u.value]:{}});let w=o?o.missingWarn:De(e.missingWarn)||Do(e.missingWarn)?e.missingWarn:!0,m=o?o.fallbackWarn:De(e.fallbackWarn)||Do(e.fallbackWarn)?e.fallbackWarn:!0,p=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,g=!!e.fallbackFormat,h=tt(e.missing)?e.missing:null,b=tt(e.missing)?Vu(e.missing):null,v=tt(e.postTranslation)?e.postTranslation:null,x=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const A=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let C=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&wu(null);const G={version:v0,locale:u.value,fallbackLocale:c.value,messages:d.value,modifiers:A,pluralRules:C,missing:b===null?void 0:b,missingWarn:w,fallbackWarn:m,fallbackFormat:g,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:x,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};G.datetimeFormats=f.value,G.numberFormats=y.value,G.__datetimeFormatters=Le(M)?M.__datetimeFormatters:void 0,G.__numberFormatters=Le(M)?M.__numberFormatters:void 0;const q=u0(G);return a&&wu(q),q})(),ca(M,u.value,c.value);function W(){return[u.value,c.value,d.value,f.value,y.value]}const ae=ee({get:()=>u.value,set:G=>{u.value=G,M.locale=u.value}}),T=ee({get:()=>c.value,set:G=>{c.value=G,M.fallbackLocale=c.value,ca(M,u.value,G)}}),S=ee(()=>d.value),O=ee(()=>f.value),E=ee(()=>y.value);function N(){return tt(v)?v:null}function re(G){v=G,M.postTranslation=G}function _e(){return h}function L(G){G!==null&&(b=Vu(G)),h=G,M.missing=b}const ne=(G,q,be,$e,Ge,D)=>{W();let K;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?c0():void 0),K=G(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(be!=="translate exists"&&pt(K)&&K===mr||be==="translate exists"&&!K){const[fe,ve]=q();return o&&p?$e(o):Ge(fe)}else{if(D(K))return K;throw vt(mt.UNEXPECTED_RETURN_TYPE)}};function se(...G){return ne(q=>Reflect.apply(Pu,null,[q,...G]),()=>Bs(...G),"translate",q=>Reflect.apply(q.t,q,[...G]),q=>q,q=>ge(q))}function ue(...G){const[q,be,$e]=G;if($e&&!ze($e))throw vt(mt.INVALID_ARGUMENT);return se(q,be,Pt({resolvedMessage:!0},$e||{}))}function we(...G){return ne(q=>Reflect.apply(Tu,null,[q,...G]),()=>Gs(...G),"datetime format",q=>Reflect.apply(q.d,q,[...G]),()=>fu,q=>ge(q))}function Ne(...G){return ne(q=>Reflect.apply(Ru,null,[q,...G]),()=>js(...G),"number format",q=>Reflect.apply(q.n,q,[...G]),()=>fu,q=>ge(q))}function Re(G){return G.map(q=>ge(q)||pt(q)||De(q)?Uu(String(q)):q)}const Ie={normalize:Re,interpolate:G=>G,type:"vnode"};function qe(...G){return ne(q=>{let be;const $e=q;try{$e.processor=Ie,be=Reflect.apply(Pu,null,[$e,...G])}finally{$e.processor=null}return be},()=>Bs(...G),"translate",q=>q[Us](...G),q=>[Uu(q)],q=>rt(q))}function Je(...G){return ne(q=>Reflect.apply(Ru,null,[q,...G]),()=>js(...G),"number format",q=>q[Ks](...G),Ku,q=>ge(q)||rt(q))}function ft(...G){return ne(q=>Reflect.apply(Tu,null,[q,...G]),()=>Gs(...G),"datetime format",q=>q[zs](...G),Ku,q=>ge(q)||rt(q))}function P(G){C=G,M.pluralRules=C}function F(G,q){return ne(()=>{if(!G)return!1;const be=ge(q)?q:u.value,$e=Z(be),Ge=M.messageResolver($e,G);return i?Ge!=null:go(Ge)||Ht(Ge)||ge(Ge)},()=>[G],"translate exists",be=>Reflect.apply(be.te,be,[G,q]),x0,be=>De(be))}function R(G){let q=null;const be=pu(M,c.value,u.value);for(let $e=0;$e{l&&(u.value=G,M.locale=G,ca(M,u.value,c.value))}),it(o.fallbackLocale,G=>{l&&(c.value=G,M.fallbackLocale=G,ca(M,u.value,c.value))}));const ie={id:Hu,locale:ae,fallbackLocale:T,get inheritLocale(){return l},set inheritLocale(G){l=G,G&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,ca(M,u.value,c.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:S,get modifiers(){return A},get pluralRules(){return C||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(G){w=G,M.missingWarn=w},get fallbackWarn(){return m},set fallbackWarn(G){m=G,M.fallbackWarn=m},get fallbackRoot(){return p},set fallbackRoot(G){p=G},get fallbackFormat(){return g},set fallbackFormat(G){g=G,M.fallbackFormat=g},get warnHtmlMessage(){return x},set warnHtmlMessage(G){x=G,M.warnHtmlMessage=G},get escapeParameter(){return $},set escapeParameter(G){$=G,M.escapeParameter=G},t:se,getLocaleMessage:Z,setLocaleMessage:J,mergeLocaleMessage:Q,getPostTranslationHandler:N,setPostTranslationHandler:re,getMissingHandler:_e,setMissingHandler:L,[Du]:P};return ie.datetimeFormats=O,ie.numberFormats=E,ie.rt=ue,ie.te=F,ie.tm=V,ie.d=we,ie.n=Ne,ie.getDateTimeFormat=oe,ie.setDateTimeFormat=_,ie.mergeDateTimeFormat=k,ie.getNumberFormat=B,ie.setNumberFormat=Y,ie.mergeNumberFormat=pe,ie[Bu]=n,ie[Us]=qe,ie[zs]=ft,ie[Ks]=Je,ie}function A0(e){const t=ge(e.locale)?e.locale:Sn,o=ge(e.fallbackLocale)||rt(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=tt(e.missing)?e.missing:void 0,a=De(e.silentTranslationWarn)||Do(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=De(e.silentFallbackWarn)||Do(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=De(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=tt(e.postTranslation)?e.postTranslation:void 0,d=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,y=De(e.sync)?e.sync:!0;let w=e.messages;if(Le(e.sharedMessages)){const $=e.sharedMessages;w=Object.keys($).reduce((C,M)=>{const H=C[M]||(C[M]={});return Pt(H,$[M]),C},w||{})}const{__i18n:m,__root:p,__injectWithOption:g}=e,h=e.datetimeFormats,b=e.numberFormats,v=e.flatJson,x=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:v,datetimeFormats:h,numberFormats:b,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:x,__i18n:m,__root:p,__injectWithOption:g}}function Ws(e={},t){{const o=Vs(A0(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=De(r)?!r:r},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=De(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,d=null;if(!ge(s))throw vt(mt.INVALID_ARGUMENT);const f=s;return ge(i)?u.locale=i:rt(i)?c=i:Le(i)&&(d=i),rt(l)?c=l:Le(l)&&(d=l),Reflect.apply(o.t,o,[f,c||d||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,d=null;if(!ge(s))throw vt(mt.INVALID_ARGUMENT);const f=s;return ge(i)?u.locale=i:pt(i)?u.plural=i:rt(i)?c=i:Le(i)&&(d=i),ge(l)?u.locale=l:rt(l)?c=l:Le(l)&&(d=l),Reflect.apply(o.t,o,[f,c||d||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const Ys={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function S0({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Me?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Xe())}function Wu(e){return Me}const Yu=Yn({name:"i18n-t",props:Pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>pt(e)||!isNaN(e)}},Ys),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(d=>d!=="_"),s=Xe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=ge(e.plural)?+e.plural:e.plural);const i=S0(t,r),l=a[Us](e.keypath,i,s),u=Pt(Xe(),n),c=ge(e.tag)||ze(e.tag)?e.tag:Wu();return hc(c,u,l)}}});function E0(e){return rt(e)&&!ge(e[0])}function qu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Xe();e.locale&&(s.locale=e.locale),ge(e.format)?s.key=e.format:ze(e.format)&&(ge(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((f,y)=>o.includes(y)?Pt(Xe(),f,{[y]:e.format[y]}):f,Xe()));const l=n(e.value,s,i);let u=[s.key];rt(l)?u=l.map((f,y)=>{const w=a[f.type],m=w?w({[f.type]:f.value,index:y,parts:l}):[f.value];return E0(m)&&(m[0].key=`${f.type}-${y}`),m}):ge(l)&&(u=[l]);const c=Pt(Xe(),r),d=ge(e.tag)||ze(e.tag)?e.tag:Wu();return hc(d,c,u)}}const Ju=Yn({name:"i18n-n",props:Pt({value:{type:Number,required:!0},format:{type:[String,Object]}},Ys),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return qu(e,t,Iu,(...n)=>o[Ks](...n))}}),Xu=Yn({name:"i18n-d",props:Pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ys),setup(e,t){const o=e.i18n||bt({useScope:e.scope,__useComponent:!0});return qu(e,t,Mu,(...n)=>o[zs](...n))}});function P0(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 L0(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw vt(mt.UNEXPECTED_ERROR);const c=P0(e,i.$),d=Zu(u);return[Reflect.apply(c.t,c,[...Qu(d)]),c]};return{created:(s,i)=>{const[l,u]=t(i);cr&&e.global===u&&(s.__i18nWatcher=it(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{cr&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=Zu(i);s.textContent=Reflect.apply(l.t,l,[...Qu(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function Zu(e){if(ge(e))return{path:e};if(Le(e)){if(!("path"in e))throw vt(mt.REQUIRED_VALUE,"path");return e}else throw vt(mt.INVALID_VALUE)}function Qu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return ge(o)&&(s.locale=o),pt(a)&&(s.plural=a),pt(r)&&(s.plural=r),[t,i,s]}function C0(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Yu.name,"I18nT"].forEach(s=>e.component(s,Yu)),[Ju.name,"I18nN"].forEach(s=>e.component(s,Ju)),[Xu.name,"I18nD"].forEach(s=>e.component(s,Xu))),e.directive("t",L0(t))}function T0(e,t,o){return{beforeCreate(){const n=Ao();if(!n)throw vt(mt.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=ed(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ws(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=ed(e,a);else{this.$i18n=Ws({__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&&ju(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=Ao();if(!n)throw vt(mt.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 ed(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[Du](t.pluralizationRules||e.pluralizationRules);const o=br(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 M0=Fo("global-vue-i18n");function N0(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=R0(e,o),l=Fo("");function u(f){return r.get(f)||null}function c(f,y){r.set(f,y)}function d(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(y,...w){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,f),Le(w[0])){const g=w[0];f.__composerExtend=g.__composerExtend,f.__vueI18nExtend=g.__vueI18nExtend}let m=null;!o&&n&&(m=z0(y,f.global)),__VUE_I18N_FULL_INSTALL__&&C0(y,f,...w),__VUE_I18N_LEGACY_API__&&o&&y.mixin(T0(i,i.__composer,f));const p=y.unmount;y.unmount=()=>{m&&m(),f.dispose(),p()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:d};return f}}function bt(e={}){const t=Ao();if(t==null)throw vt(mt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw vt(mt.NOT_INSTALLED);const o=I0(t),n=F0(o),a=Gu(t),r=O0(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw vt(mt.NOT_AVAILABLE_IN_LEGACY_MODE);return j0(t,r,n,e)}if(r==="global")return ju(n,e,a),n;if(r==="parent"){let l=D0(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Pt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Vs(l),s.__composerExtend&&(i[Hs]=s.__composerExtend(i)),G0(s,t,i),s.__setInstance(t,i)}return i}function R0(e,t,o){const n=Gr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ws(e)):n.run(()=>Vs(e));if(a==null)throw vt(mt.UNEXPECTED_ERROR);return[n,a]}}function I0(e){{const t=Fe(e.isCE?M0:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw vt(e.isCE?mt.NOT_INSTALLED_WITH_PROVIDE:mt.UNEXPECTED_ERROR);return t}}function O0(e,t){return ur(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function F0(e){return e.mode==="composition"?e.global:e.global.__composer}function D0(e,t,o=!1){let n=null;const a=t.root;let r=B0(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Bu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function B0(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function G0(e,t,o){lo(()=>{},t),Ya(()=>{const n=o;e.__deleteInstance(t);const a=n[Hs];a&&(a(),delete n[Hs])},t)}function j0(e,t,o,n={}){const a=t==="local",r=gn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw vt(mt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=De(n.inheritLocale)?n.inheritLocale:!ge(n.locale),i=de(!a||s?o.locale.value:ge(n.locale)?n.locale:Sn),l=de(!a||s?o.fallbackLocale.value:ge(n.fallbackLocale)||rt(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=de(br(i.value,n)),c=de(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=de(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:De(n.missingWarn)||Do(n.missingWarn)?n.missingWarn:!0,y=a?o.fallbackWarn:De(n.fallbackWarn)||Do(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,m=!!n.fallbackFormat,p=tt(n.missing)?n.missing:null,g=tt(n.postTranslation)?n.postTranslation:null,h=a?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,b=!!n.escapeParameter,v=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},x=n.pluralRules||a&&o.pluralRules;function $(){return[i.value,l.value,u.value,c.value,d.value]}const A=ee({get:()=>r.value?r.value.locale.value:i.value,set:R=>{r.value&&(r.value.locale.value=R),i.value=R}}),C=ee({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:R=>{r.value&&(r.value.fallbackLocale.value=R),l.value=R}}),M=ee(()=>r.value?r.value.messages.value:u.value),H=ee(()=>c.value),W=ee(()=>d.value);function ae(){return r.value?r.value.getPostTranslationHandler():g}function T(R){r.value&&r.value.setPostTranslationHandler(R)}function S(){return r.value?r.value.getMissingHandler():p}function O(R){r.value&&r.value.setMissingHandler(R)}function E(R){return $(),R()}function N(...R){return r.value?E(()=>Reflect.apply(r.value.t,null,[...R])):E(()=>"")}function re(...R){return r.value?Reflect.apply(r.value.rt,null,[...R]):""}function _e(...R){return r.value?E(()=>Reflect.apply(r.value.d,null,[...R])):E(()=>"")}function L(...R){return r.value?E(()=>Reflect.apply(r.value.n,null,[...R])):E(()=>"")}function ne(R){return r.value?r.value.tm(R):{}}function se(R,V){return r.value?r.value.te(R,V):!1}function ue(R){return r.value?r.value.getLocaleMessage(R):{}}function we(R,V){r.value&&(r.value.setLocaleMessage(R,V),u.value[R]=V)}function Ne(R,V){r.value&&r.value.mergeLocaleMessage(R,V)}function Re(R){return r.value?r.value.getDateTimeFormat(R):{}}function Oe(R,V){r.value&&(r.value.setDateTimeFormat(R,V),c.value[R]=V)}function Ie(R,V){r.value&&r.value.mergeDateTimeFormat(R,V)}function qe(R){return r.value?r.value.getNumberFormat(R):{}}function Je(R,V){r.value&&(r.value.setNumberFormat(R,V),d.value[R]=V)}function ft(R,V){r.value&&r.value.mergeNumberFormat(R,V)}const P={get id(){return r.value?r.value.id:-1},locale:A,fallbackLocale:C,messages:M,datetimeFormats:H,numberFormats:W,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(R){r.value&&(r.value.inheritLocale=R)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:v},get pluralRules(){return r.value?r.value.pluralRules:x},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackWarn(){return r.value?r.value.fallbackWarn:y},set fallbackWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(R){r.value&&(r.value.fallbackRoot=R)},get fallbackFormat(){return r.value?r.value.fallbackFormat:m},set fallbackFormat(R){r.value&&(r.value.fallbackFormat=R)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:h},set warnHtmlMessage(R){r.value&&(r.value.warnHtmlMessage=R)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(R){r.value&&(r.value.escapeParameter=R)},t:N,getPostTranslationHandler:ae,setPostTranslationHandler:T,getMissingHandler:S,setMissingHandler:O,rt:re,d:_e,n:L,tm:ne,te:se,getLocaleMessage:ue,setLocaleMessage:we,mergeLocaleMessage:Ne,getDateTimeFormat:Re,setDateTimeFormat:Oe,mergeDateTimeFormat:Ie,getNumberFormat:qe,setNumberFormat:Je,mergeNumberFormat:ft};function F(R){R.locale.value=i.value,R.fallbackLocale.value=l.value,Object.keys(u.value).forEach(V=>{R.mergeLocaleMessage(V,u.value[V])}),Object.keys(c.value).forEach(V=>{R.mergeDateTimeFormat(V,c.value[V])}),Object.keys(d.value).forEach(V=>{R.mergeNumberFormat(V,d.value[V])}),R.escapeParameter=b,R.fallbackFormat=m,R.fallbackRoot=w,R.fallbackWarn=y,R.missingWarn=f,R.warnHtmlMessage=h}return Nl(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw vt(mt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const R=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=R.locale.value,l.value=R.fallbackLocale.value,u.value=R.messages.value,c.value=R.datetimeFormats.value,d.value=R.numberFormats.value):a&&F(R)}),P}const U0=["locale","fallbackLocale","availableLocales"],td=["t","rt","d","n","tm","te"];function z0(e,t){const o=Object.create(null);return U0.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw vt(mt.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,td.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw vt(mt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,td.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(k0(),__INTLIFY_JIT_COMPILATION__?bu(h0):bu(f0),r0(By),s0(pu),__INTLIFY_PROD_DEVTOOLS__){const e=Eo();e.__INTLIFY__=!0,Yy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const K0=Object.assign({"./locales/ar/aria.json":Sh,"./locales/ar/buttons.json":Eh,"./locales/ar/detail.json":Ph,"./locales/ar/legend.json":Lh,"./locales/ar/messages.json":Ch,"./locales/ar/options.json":Th,"./locales/ar/popup.json":Mh,"./locales/ar/prayerLaps.json":Nh,"./locales/ar/regions.json":Rh,"./locales/ar/search.json":Ih,"./locales/ar/tabs.json":Oh,"./locales/de/aria.json":Fh,"./locales/de/buttons.json":Dh,"./locales/de/detail.json":Bh,"./locales/de/legend.json":Gh,"./locales/de/messages.json":jh,"./locales/de/options.json":Uh,"./locales/de/popup.json":zh,"./locales/de/prayerLaps.json":Kh,"./locales/de/regions.json":Hh,"./locales/de/search.json":Vh,"./locales/de/tabs.json":Wh,"./locales/en/aria.json":Yh,"./locales/en/buttons.json":qh,"./locales/en/detail.json":Jh,"./locales/en/legend.json":Xh,"./locales/en/messages.json":Zh,"./locales/en/options.json":Qh,"./locales/en/popup.json":em,"./locales/en/prayerLaps.json":tm,"./locales/en/regions.json":om,"./locales/en/search.json":nm,"./locales/en/tabs.json":am,"./locales/es/aria.json":rm,"./locales/es/buttons.json":sm,"./locales/es/detail.json":im,"./locales/es/legend.json":lm,"./locales/es/messages.json":cm,"./locales/es/options.json":um,"./locales/es/popup.json":dm,"./locales/es/prayerLaps.json":pm,"./locales/es/regions.json":gm,"./locales/es/search.json":fm,"./locales/es/tabs.json":hm,"./locales/fr/aria.json":mm,"./locales/fr/buttons.json":bm,"./locales/fr/detail.json":ym,"./locales/fr/legend.json":_m,"./locales/fr/messages.json":vm,"./locales/fr/options.json":km,"./locales/fr/popup.json":wm,"./locales/fr/prayerLaps.json":xm,"./locales/fr/regions.json":$m,"./locales/fr/search.json":Am,"./locales/fr/tabs.json":Sm,"./locales/hi/aria.json":Em,"./locales/hi/buttons.json":Pm,"./locales/hi/detail.json":Lm,"./locales/hi/legend.json":Cm,"./locales/hi/messages.json":Tm,"./locales/hi/options.json":Mm,"./locales/hi/popup.json":Nm,"./locales/hi/prayerLaps.json":Rm,"./locales/hi/regions.json":Im,"./locales/hi/search.json":Om,"./locales/hi/tabs.json":Fm,"./locales/it/aria.json":Dm,"./locales/it/buttons.json":Bm,"./locales/it/detail.json":Gm,"./locales/it/legend.json":jm,"./locales/it/messages.json":Um,"./locales/it/options.json":zm,"./locales/it/popup.json":Km,"./locales/it/prayerLaps.json":Hm,"./locales/it/regions.json":Vm,"./locales/it/search.json":Wm,"./locales/it/tabs.json":Ym,"./locales/pt/aria.json":qm,"./locales/pt/buttons.json":Jm,"./locales/pt/detail.json":Xm,"./locales/pt/legend.json":Zm,"./locales/pt/messages.json":Qm,"./locales/pt/options.json":eb,"./locales/pt/popup.json":tb,"./locales/pt/prayerLaps.json":ob,"./locales/pt/regions.json":nb,"./locales/pt/search.json":ab,"./locales/pt/tabs.json":rb,"./locales/ro/aria.json":sb,"./locales/ro/buttons.json":ib,"./locales/ro/detail.json":lb,"./locales/ro/legend.json":cb,"./locales/ro/messages.json":ub,"./locales/ro/options.json":db,"./locales/ro/popup.json":pb,"./locales/ro/prayerLaps.json":gb,"./locales/ro/regions.json":fb,"./locales/ro/search.json":hb,"./locales/ro/tabs.json":mb,"./locales/ru/aria.json":bb,"./locales/ru/buttons.json":yb,"./locales/ru/detail.json":_b,"./locales/ru/legend.json":vb,"./locales/ru/messages.json":kb,"./locales/ru/options.json":wb,"./locales/ru/popup.json":xb,"./locales/ru/prayerLaps.json":$b,"./locales/ru/regions.json":Ab,"./locales/ru/search.json":Sb,"./locales/ru/tabs.json":Eb,"./locales/zh/aria.json":Pb,"./locales/zh/buttons.json":Lb,"./locales/zh/detail.json":Cb,"./locales/zh/legend.json":Tb,"./locales/zh/messages.json":Mb,"./locales/zh/options.json":Nb,"./locales/zh/popup.json":Rb,"./locales/zh/prayerLaps.json":Ib,"./locales/zh/regions.json":Ob,"./locales/zh/search.json":Fb,"./locales/zh/tabs.json":Db}),da={};for(const[e,t]of Object.entries(K0)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;da[n]??(da[n]={}),da[n][a]=t}const qs=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],H0=new Set(["ar"]);function V0(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(qs.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return qs.includes(o)?o:"en"}function W0(){const e=V0();try{H0.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return N0({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:da,missingWarn:!1,fallbackWarn:!1})}function kt(e,t){const o=t||Y0(e);lo(()=>{var i;const n=Ao();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 Y0(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=ee(()=>{var p;return((p=o==null?void 0:o.value)==null?void 0:p.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=de(!1),s=de(null);let i=null,l=null,u=null,c=null,d=null;function f(){r.value=!1}function y(p,g){var b;let h=p==null?void 0:p.parentElement;for(let v=0;h&&v<12;v++,h=h.parentElement){if(h===g||(b=h.classList)!=null&&b.contains("profile-loader"))return null;let x="";try{x=getComputedStyle(h).position}catch{}if(x&&x!=="static"){const $=h.getBoundingClientRect();if($.height>=120&&$.width>=160)return h}}return null}function w(){const p=s.value;if(p)try{p.style.removeProperty("--pin-hint-lift");const g=p.getBoundingClientRect();if(!g.height)return;const h=Math.round(g.bottom-window.innerHeight);h>0&&p.style.setProperty("--pin-hint-lift",h+8+"px")}catch{}}function m(p){const g=s.value;if(!g||!(p!=null&&p.querySelector))return;let h=0;try{const v=p.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(v){const x=v.getBoundingClientRect(),$=g.parentElement,A=$?$.getBoundingClientRect():null;if(h=A?Math.max(x.height||0,A.bottom-x.top):x.height||0,d!==v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}d=v,u=new ResizeObserver(()=>m(p)),u.observe(v)}}}catch{}const b=Math.min(Math.max(Math.ceil(h)||20,20),72);g.style.setProperty("--pin-hint-attrib-clear",b+"px"),w()}return lo(()=>{var b,v,x;const p=Ao(),g=(x=(v=(b=p==null?void 0:p.proxy)==null?void 0:b.$el)==null?void 0:v.getRootNode)==null?void 0:x.call(v);if(!g||typeof g.querySelector!="function")return;let h=0;i=setInterval(()=>{h++;const $=g.querySelector("canvas");$?(clearInterval(i),i=null,r.value=!0,io(()=>{const A=y($,g),C=s.value;if(A&&C&&C.parentElement!==A)try{A.appendChild(C),l=A}catch{}m(g),w();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}c=new ResizeObserver(()=>w()),c.observe(M)}}catch{}})):h>40&&(clearInterval(i),i=null)},300)}),Jt(()=>{var p;if(i&&clearInterval(i),u){try{u.disconnect()}catch{}u=null}if(d=null,c){try{c.disconnect()}catch{}c=null}if(l&&((p=s.value)==null?void 0:p.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),kt(` + */const v0="9.14.5";function k0(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Eo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Eo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Eo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Eo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Eo().__INTLIFY_PROD_DEVTOOLS__=!1)}const w0=Qy.__EXTEND_POINT__,Co=gr(w0);Co(),Co(),Co(),Co(),Co(),Co(),Co(),Co(),Co();const Fu=eo.__EXTEND_POINT__,Gt=gr(Fu),bt={UNEXPECTED_RETURN_TYPE:Fu,INVALID_ARGUMENT:Gt(),MUST_BE_CALL_SETUP_TOP:Gt(),NOT_INSTALLED:Gt(),NOT_AVAILABLE_IN_LEGACY_MODE:Gt(),REQUIRED_VALUE:Gt(),INVALID_VALUE:Gt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Gt(),NOT_INSTALLED_WITH_PROVIDE:Gt(),UNEXPECTED_ERROR:Gt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Gt(),BRIDGE_SUPPORT_VUE_2_ONLY:Gt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Gt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Gt(),__EXTEND_POINT__:Gt()};function kt(e,...t){return $n(e,null,void 0)}const zs=Do("__translateVNode"),Ks=Do("__datetimeParts"),Hs=Do("__numberParts"),Du=Do("__setPluralRules"),Gu=Do("__injectWithOption"),Vs=Do("__dispose");function pa(e){if(!Ke(e)||fo(e))return e;for(const t in e)if(Xt(e,t))if(!t.includes("."))Ke(e[t])&&pa(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:u}=i;l?(s[l]=s[l]||Je(),hr(u,s[l])):hr(u,s)}else fe(i)&&hr(JSON.parse(i),s)}),a==null&&r)for(const i in s)Xt(s,i)&&pa(s[i]);return s}function Bu(e){return e.type}function ju(e,t,o){let n=Ke(t.messages)?t.messages:Je();"__i18nGlobal"in o&&(n=_r(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ke(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ke(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Uu(e){return Ve(ea,null,e,0)}const zu="__INTLIFY_META__",Ku=()=>[],x0=()=>!1;let Hu=0;function Vu(e){return(t,o,n,a)=>e(o,n,So()||void 0,a)}const $0=()=>{const e=So();let t=null;return e&&(t=Bu(e)[zu])?{[zu]:t}:null};function Ws(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=dr?de:fn,i=!!e.translateExistCompatible;let l=Oe(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:fe(e.locale)?e.locale:Ln),c=s(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||rt(e.fallbackLocale)||Ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),d=s(_r(u.value,e)),f=s(Ce(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),y=s(Ce(e.numberFormats)?e.numberFormats:{[u.value]:{}});let $=o?o.missingWarn:Oe(e.missingWarn)||Go(e.missingWarn)?e.missingWarn:!0,h=o?o.fallbackWarn:Oe(e.fallbackWarn)||Go(e.fallbackWarn)?e.fallbackWarn:!0,p=o?o.fallbackRoot:Oe(e.fallbackRoot)?e.fallbackRoot:!0,g=!!e.fallbackFormat,m=et(e.missing)?e.missing:null,b=et(e.missing)?Vu(e.missing):null,v=et(e.postTranslation)?e.postTranslation:null,x=o?o.warnHtmlMessage:Oe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,w=!!e.escapeParameter;const A=o?o.modifiers:Ce(e.modifiers)?e.modifiers:{};let S=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&wu(null);const B={version:v0,locale:u.value,fallbackLocale:c.value,messages:d.value,modifiers:A,pluralRules:S,missing:b===null?void 0:b,missingWarn:$,fallbackWarn:h,fallbackFormat:g,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:x,escapeParameter:w,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};B.datetimeFormats=f.value,B.numberFormats=y.value,B.__datetimeFormatters=Ce(M)?M.__datetimeFormatters:void 0,B.__numberFormatters=Ce(M)?M.__numberFormatters:void 0;const Z=u0(B);return a&&wu(Z),Z})(),da(M,u.value,c.value);function W(){return[u.value,c.value,d.value,f.value,y.value]}const re=te({get:()=>u.value,set:B=>{u.value=B,M.locale=u.value}}),C=te({get:()=>c.value,set:B=>{c.value=B,M.fallbackLocale=c.value,da(M,u.value,B)}}),L=te(()=>d.value),I=te(()=>f.value),E=te(()=>y.value);function T(){return et(v)?v:null}function ae(B){v=B,M.postTranslation=B}function ye(){return m}function D(B){B!==null&&(b=Vu(B)),m=B,M.missing=b}const q=(B,Z,me,Ae,Ge,dt)=>{W();let F;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?c0():void 0),F=B(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(me!=="translate exists"&&ft(F)&&F===yr||me==="translate exists"&&!F){const[V,be]=Z();return o&&p?Ae(o):Ge(V)}else{if(dt(F))return F;throw kt(bt.UNEXPECTED_RETURN_TYPE)}};function se(...B){return q(Z=>Reflect.apply(Eu,null,[Z,...B]),()=>Bs(...B),"translate",Z=>Reflect.apply(Z.t,Z,[...B]),Z=>Z,Z=>fe(Z))}function ie(...B){const[Z,me,Ae]=B;if(Ae&&!Ke(Ae))throw kt(bt.INVALID_ARGUMENT);return se(Z,me,Et({resolvedMessage:!0},Ae||{}))}function $e(...B){return q(Z=>Reflect.apply(Tu,null,[Z,...B]),()=>js(...B),"datetime format",Z=>Reflect.apply(Z.d,Z,[...B]),()=>fu,Z=>fe(Z))}function ke(...B){return q(Z=>Reflect.apply(Nu,null,[Z,...B]),()=>Us(...B),"number format",Z=>Reflect.apply(Z.n,Z,[...B]),()=>fu,Z=>fe(Z))}function Fe(B){return B.map(Z=>fe(Z)||ft(Z)||Oe(Z)?Uu(String(Z)):Z)}const Ne={normalize:Fe,interpolate:B=>B,type:"vnode"};function De(...B){return q(Z=>{let me;const Ae=Z;try{Ae.processor=Ne,me=Reflect.apply(Eu,null,[Ae,...B])}finally{Ae.processor=null}return me},()=>Bs(...B),"translate",Z=>Z[zs](...B),Z=>[Uu(Z)],Z=>rt(Z))}function Ue(...B){return q(Z=>Reflect.apply(Nu,null,[Z,...B]),()=>Us(...B),"number format",Z=>Z[Hs](...B),Ku,Z=>fe(Z)||rt(Z))}function ut(...B){return q(Z=>Reflect.apply(Tu,null,[Z,...B]),()=>js(...B),"datetime format",Z=>Z[Ks](...B),Ku,Z=>fe(Z)||rt(Z))}function P(B){S=B,M.pluralRules=S}function O(B,Z){return q(()=>{if(!B)return!1;const me=fe(Z)?Z:u.value,Ae=X(me),Ge=M.messageResolver(Ae,B);return i?Ge!=null:fo(Ge)||Vt(Ge)||fe(Ge)},()=>[B],"translate exists",me=>Reflect.apply(me.te,me,[B,Z]),x0,me=>Oe(me))}function R(B){let Z=null;const me=pu(M,c.value,u.value);for(let Ae=0;Ae{l&&(u.value=B,M.locale=B,da(M,u.value,c.value))}),it(o.fallbackLocale,B=>{l&&(c.value=B,M.fallbackLocale=B,da(M,u.value,c.value))}));const le={id:Hu,locale:re,fallbackLocale:C,get inheritLocale(){return l},set inheritLocale(B){l=B,B&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,da(M,u.value,c.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:L,get modifiers(){return A},get pluralRules(){return S||{}},get isGlobal(){return a},get missingWarn(){return $},set missingWarn(B){$=B,M.missingWarn=$},get fallbackWarn(){return h},set fallbackWarn(B){h=B,M.fallbackWarn=h},get fallbackRoot(){return p},set fallbackRoot(B){p=B},get fallbackFormat(){return g},set fallbackFormat(B){g=B,M.fallbackFormat=g},get warnHtmlMessage(){return x},set warnHtmlMessage(B){x=B,M.warnHtmlMessage=B},get escapeParameter(){return w},set escapeParameter(B){w=B,M.escapeParameter=B},t:se,getLocaleMessage:X,setLocaleMessage:ne,mergeLocaleMessage:J,getPostTranslationHandler:T,setPostTranslationHandler:ae,getMissingHandler:ye,setMissingHandler:D,[Du]:P};return le.datetimeFormats=I,le.numberFormats=E,le.rt=ie,le.te=O,le.tm=H,le.d=$e,le.n=ke,le.getDateTimeFormat=Q,le.setDateTimeFormat=_,le.mergeDateTimeFormat=k,le.getNumberFormat=G,le.setNumberFormat=Y,le.mergeNumberFormat=pe,le[Gu]=n,le[zs]=De,le[Ks]=ut,le[Hs]=Ue,le}function A0(e){const t=fe(e.locale)?e.locale:Ln,o=fe(e.fallbackLocale)||rt(e.fallbackLocale)||Ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=et(e.missing)?e.missing:void 0,a=Oe(e.silentTranslationWarn)||Go(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Oe(e.silentFallbackWarn)||Go(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Oe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ce(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=et(e.postTranslation)?e.postTranslation:void 0,d=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,y=Oe(e.sync)?e.sync:!0;let $=e.messages;if(Ce(e.sharedMessages)){const w=e.sharedMessages;$=Object.keys(w).reduce((S,M)=>{const K=S[M]||(S[M]={});return Et(K,w[M]),S},$||{})}const{__i18n:h,__root:p,__injectWithOption:g}=e,m=e.datetimeFormats,b=e.numberFormats,v=e.flatJson,x=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:$,flatJson:v,datetimeFormats:m,numberFormats:b,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:x,__i18n:h,__root:p,__injectWithOption:g}}function Ys(e={},t){{const o=Ws(A0(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 Oe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Oe(r)?!r:r},get silentFallbackWarn(){return Oe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Oe(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,d=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const f=s;return fe(i)?u.locale=i:rt(i)?c=i:Ce(i)&&(d=i),rt(l)?c=l:Ce(l)&&(d=l),Reflect.apply(o.t,o,[f,c||d||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,d=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const f=s;return fe(i)?u.locale=i:ft(i)?u.plural=i:rt(i)?c=i:Ce(i)&&(d=i),fe(l)?u.locale=l:rt(l)?c=l:Ce(l)&&(d=l),Reflect.apply(o.t,o,[f,c||d||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const qs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function S0({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Re?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Je())}function Wu(e){return Re}const Yu=Jn({name:"i18n-t",props:Et({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ft(e)||!isNaN(e)}},qs),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||yt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(d=>d!=="_"),s=Je();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=fe(e.plural)?+e.plural:e.plural);const i=S0(t,r),l=a[zs](e.keypath,i,s),u=Et(Je(),n),c=fe(e.tag)||Ke(e.tag)?e.tag:Wu();return hc(c,u,l)}}});function L0(e){return rt(e)&&!fe(e[0])}function qu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Je();e.locale&&(s.locale=e.locale),fe(e.format)?s.key=e.format:Ke(e.format)&&(fe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((f,y)=>o.includes(y)?Et(Je(),f,{[y]:e.format[y]}):f,Je()));const l=n(e.value,s,i);let u=[s.key];rt(l)?u=l.map((f,y)=>{const $=a[f.type],h=$?$({[f.type]:f.value,index:y,parts:l}):[f.value];return L0(h)&&(h[0].key=`${f.type}-${y}`),h}):fe(l)&&(u=[l]);const c=Et(Je(),r),d=fe(e.tag)||Ke(e.tag)?e.tag:Wu();return hc(d,c,u)}}const Ju=Jn({name:"i18n-n",props:Et({value:{type:Number,required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return qu(e,t,Iu,(...n)=>o[Hs](...n))}}),Zu=Jn({name:"i18n-d",props:Et({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},qs),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return qu(e,t,Mu,(...n)=>o[Ks](...n))}});function E0(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function P0(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw kt(bt.UNEXPECTED_ERROR);const c=E0(e,i.$),d=Xu(u);return[Reflect.apply(c.t,c,[...Qu(d)]),c]};return{created:(s,i)=>{const[l,u]=t(i);dr&&e.global===u&&(s.__i18nWatcher=it(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{dr&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=Xu(i);s.textContent=Reflect.apply(l.t,l,[...Qu(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function Xu(e){if(fe(e))return{path:e};if(Ce(e)){if(!("path"in e))throw kt(bt.REQUIRED_VALUE,"path");return e}else throw kt(bt.INVALID_VALUE)}function Qu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return fe(o)&&(s.locale=o),ft(a)&&(s.plural=a),ft(r)&&(s.plural=r),[t,i,s]}function C0(e,t,...o){const n=Ce(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Oe(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Yu.name,"I18nT"].forEach(s=>e.component(s,Yu)),[Ju.name,"I18nN"].forEach(s=>e.component(s,Ju)),[Zu.name,"I18nD"].forEach(s=>e.component(s,Zu))),e.directive("t",P0(t))}function T0(e,t,o){return{beforeCreate(){const n=So();if(!n)throw kt(bt.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=ed(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ys(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=ed(e,a);else{this.$i18n=Ys({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&ju(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=So();if(!n)throw kt(bt.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 ed(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[Du](t.pluralizationRules||e.pluralizationRules);const o=_r(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 M0=Do("global-vue-i18n");function R0(e={},t){const o=__VUE_I18N_LEGACY_API__&&Oe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Oe(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=N0(e,o),l=Do("");function u(f){return r.get(f)||null}function c(f,y){r.set(f,y)}function d(f){r.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(y,...$){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,f),Ce($[0])){const g=$[0];f.__composerExtend=g.__composerExtend,f.__vueI18nExtend=g.__vueI18nExtend}let h=null;!o&&n&&(h=z0(y,f.global)),__VUE_I18N_FULL_INSTALL__&&C0(y,f,...$),__VUE_I18N_LEGACY_API__&&o&&y.mixin(T0(i,i.__composer,f));const p=y.unmount;y.unmount=()=>{h&&h(),f.dispose(),p()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:d};return f}}function yt(e={}){const t=So();if(t==null)throw kt(bt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw kt(bt.NOT_INSTALLED);const o=I0(t),n=F0(o),a=Bu(t),r=O0(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw kt(bt.NOT_AVAILABLE_IN_LEGACY_MODE);return j0(t,r,n,e)}if(r==="global")return ju(n,e,a),n;if(r==="parent"){let l=D0(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Et({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Ws(l),s.__composerExtend&&(i[Vs]=s.__composerExtend(i)),B0(s,t,i),s.__setInstance(t,i)}return i}function N0(e,t,o){const n=jr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ys(e)):n.run(()=>Ws(e));if(a==null)throw kt(bt.UNEXPECTED_ERROR);return[n,a]}}function I0(e){{const t=Ie(e.isCE?M0:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw kt(e.isCE?bt.NOT_INSTALLED_WITH_PROVIDE:bt.UNEXPECTED_ERROR);return t}}function O0(e,t){return pr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function F0(e){return e.mode==="composition"?e.global:e.global.__composer}function D0(e,t,o=!1){let n=null;const a=t.root;let r=G0(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[Gu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function G0(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function B0(e,t,o){co(()=>{},t),Ja(()=>{const n=o;e.__deleteInstance(t);const a=n[Vs];a&&(a(),delete n[Vs])},t)}function j0(e,t,o,n={}){const a=t==="local",r=fn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw kt(bt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Oe(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!a||s?o.locale.value:fe(n.locale)?n.locale:Ln),l=de(!a||s?o.fallbackLocale.value:fe(n.fallbackLocale)||rt(n.fallbackLocale)||Ce(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=de(_r(i.value,n)),c=de(Ce(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),d=de(Ce(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:Oe(n.missingWarn)||Go(n.missingWarn)?n.missingWarn:!0,y=a?o.fallbackWarn:Oe(n.fallbackWarn)||Go(n.fallbackWarn)?n.fallbackWarn:!0,$=a?o.fallbackRoot:Oe(n.fallbackRoot)?n.fallbackRoot:!0,h=!!n.fallbackFormat,p=et(n.missing)?n.missing:null,g=et(n.postTranslation)?n.postTranslation:null,m=a?o.warnHtmlMessage:Oe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,b=!!n.escapeParameter,v=a?o.modifiers:Ce(n.modifiers)?n.modifiers:{},x=n.pluralRules||a&&o.pluralRules;function w(){return[i.value,l.value,u.value,c.value,d.value]}const A=te({get:()=>r.value?r.value.locale.value:i.value,set:R=>{r.value&&(r.value.locale.value=R),i.value=R}}),S=te({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:R=>{r.value&&(r.value.fallbackLocale.value=R),l.value=R}}),M=te(()=>r.value?r.value.messages.value:u.value),K=te(()=>c.value),W=te(()=>d.value);function re(){return r.value?r.value.getPostTranslationHandler():g}function C(R){r.value&&r.value.setPostTranslationHandler(R)}function L(){return r.value?r.value.getMissingHandler():p}function I(R){r.value&&r.value.setMissingHandler(R)}function E(R){return w(),R()}function T(...R){return r.value?E(()=>Reflect.apply(r.value.t,null,[...R])):E(()=>"")}function ae(...R){return r.value?Reflect.apply(r.value.rt,null,[...R]):""}function ye(...R){return r.value?E(()=>Reflect.apply(r.value.d,null,[...R])):E(()=>"")}function D(...R){return r.value?E(()=>Reflect.apply(r.value.n,null,[...R])):E(()=>"")}function q(R){return r.value?r.value.tm(R):{}}function se(R,H){return r.value?r.value.te(R,H):!1}function ie(R){return r.value?r.value.getLocaleMessage(R):{}}function $e(R,H){r.value&&(r.value.setLocaleMessage(R,H),u.value[R]=H)}function ke(R,H){r.value&&r.value.mergeLocaleMessage(R,H)}function Fe(R){return r.value?r.value.getDateTimeFormat(R):{}}function je(R,H){r.value&&(r.value.setDateTimeFormat(R,H),c.value[R]=H)}function Ne(R,H){r.value&&r.value.mergeDateTimeFormat(R,H)}function De(R){return r.value?r.value.getNumberFormat(R):{}}function Ue(R,H){r.value&&(r.value.setNumberFormat(R,H),d.value[R]=H)}function ut(R,H){r.value&&r.value.mergeNumberFormat(R,H)}const P={get id(){return r.value?r.value.id:-1},locale:A,fallbackLocale:S,messages:M,datetimeFormats:K,numberFormats:W,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(R){r.value&&(r.value.inheritLocale=R)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:v},get pluralRules(){return r.value?r.value.pluralRules:x},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:f},set missingWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackWarn(){return r.value?r.value.fallbackWarn:y},set fallbackWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackRoot(){return r.value?r.value.fallbackRoot:$},set fallbackRoot(R){r.value&&(r.value.fallbackRoot=R)},get fallbackFormat(){return r.value?r.value.fallbackFormat:h},set fallbackFormat(R){r.value&&(r.value.fallbackFormat=R)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:m},set warnHtmlMessage(R){r.value&&(r.value.warnHtmlMessage=R)},get escapeParameter(){return r.value?r.value.escapeParameter:b},set escapeParameter(R){r.value&&(r.value.escapeParameter=R)},t:T,getPostTranslationHandler:re,setPostTranslationHandler:C,getMissingHandler:L,setMissingHandler:I,rt:ae,d:ye,n:D,tm:q,te:se,getLocaleMessage:ie,setLocaleMessage:$e,mergeLocaleMessage:ke,getDateTimeFormat:Fe,setDateTimeFormat:je,mergeDateTimeFormat:Ne,getNumberFormat:De,setNumberFormat:Ue,mergeNumberFormat:ut};function O(R){R.locale.value=i.value,R.fallbackLocale.value=l.value,Object.keys(u.value).forEach(H=>{R.mergeLocaleMessage(H,u.value[H])}),Object.keys(c.value).forEach(H=>{R.mergeDateTimeFormat(H,c.value[H])}),Object.keys(d.value).forEach(H=>{R.mergeNumberFormat(H,d.value[H])}),R.escapeParameter=b,R.fallbackFormat=h,R.fallbackRoot=$,R.fallbackWarn=y,R.missingWarn=f,R.warnHtmlMessage=m}return Rl(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw kt(bt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const R=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=R.locale.value,l.value=R.fallbackLocale.value,u.value=R.messages.value,c.value=R.datetimeFormats.value,d.value=R.numberFormats.value):a&&O(R)}),P}const U0=["locale","fallbackLocale","availableLocales"],td=["t","rt","d","n","tm","te"];function z0(e,t){const o=Object.create(null);return U0.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw kt(bt.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,td.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw kt(bt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,td.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(k0(),__INTLIFY_JIT_COMPILATION__?bu(h0):bu(f0),r0(Gy),s0(pu),__INTLIFY_PROD_DEVTOOLS__){const e=Eo();e.__INTLIFY__=!0,Yy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const K0=Object.assign({"./locales/ar/aria.json":Sh,"./locales/ar/buttons.json":Lh,"./locales/ar/detail.json":Eh,"./locales/ar/legend.json":Ph,"./locales/ar/messages.json":Ch,"./locales/ar/options.json":Th,"./locales/ar/popup.json":Mh,"./locales/ar/prayerLaps.json":Rh,"./locales/ar/regions.json":Nh,"./locales/ar/search.json":Ih,"./locales/ar/tabs.json":Oh,"./locales/de/aria.json":Fh,"./locales/de/buttons.json":Dh,"./locales/de/detail.json":Gh,"./locales/de/legend.json":Bh,"./locales/de/messages.json":jh,"./locales/de/options.json":Uh,"./locales/de/popup.json":zh,"./locales/de/prayerLaps.json":Kh,"./locales/de/regions.json":Hh,"./locales/de/search.json":Vh,"./locales/de/tabs.json":Wh,"./locales/en/aria.json":Yh,"./locales/en/buttons.json":qh,"./locales/en/detail.json":Jh,"./locales/en/legend.json":Zh,"./locales/en/messages.json":Xh,"./locales/en/options.json":Qh,"./locales/en/popup.json":em,"./locales/en/prayerLaps.json":tm,"./locales/en/regions.json":om,"./locales/en/search.json":nm,"./locales/en/tabs.json":am,"./locales/es/aria.json":rm,"./locales/es/buttons.json":sm,"./locales/es/detail.json":im,"./locales/es/legend.json":lm,"./locales/es/messages.json":cm,"./locales/es/options.json":um,"./locales/es/popup.json":dm,"./locales/es/prayerLaps.json":pm,"./locales/es/regions.json":gm,"./locales/es/search.json":fm,"./locales/es/tabs.json":hm,"./locales/fr/aria.json":mm,"./locales/fr/buttons.json":bm,"./locales/fr/detail.json":ym,"./locales/fr/legend.json":_m,"./locales/fr/messages.json":vm,"./locales/fr/options.json":km,"./locales/fr/popup.json":wm,"./locales/fr/prayerLaps.json":xm,"./locales/fr/regions.json":$m,"./locales/fr/search.json":Am,"./locales/fr/tabs.json":Sm,"./locales/hi/aria.json":Lm,"./locales/hi/buttons.json":Em,"./locales/hi/detail.json":Pm,"./locales/hi/legend.json":Cm,"./locales/hi/messages.json":Tm,"./locales/hi/options.json":Mm,"./locales/hi/popup.json":Rm,"./locales/hi/prayerLaps.json":Nm,"./locales/hi/regions.json":Im,"./locales/hi/search.json":Om,"./locales/hi/tabs.json":Fm,"./locales/it/aria.json":Dm,"./locales/it/buttons.json":Gm,"./locales/it/detail.json":Bm,"./locales/it/legend.json":jm,"./locales/it/messages.json":Um,"./locales/it/options.json":zm,"./locales/it/popup.json":Km,"./locales/it/prayerLaps.json":Hm,"./locales/it/regions.json":Vm,"./locales/it/search.json":Wm,"./locales/it/tabs.json":Ym,"./locales/pt/aria.json":qm,"./locales/pt/buttons.json":Jm,"./locales/pt/detail.json":Zm,"./locales/pt/legend.json":Xm,"./locales/pt/messages.json":Qm,"./locales/pt/options.json":eb,"./locales/pt/popup.json":tb,"./locales/pt/prayerLaps.json":ob,"./locales/pt/regions.json":nb,"./locales/pt/search.json":ab,"./locales/pt/tabs.json":rb,"./locales/ro/aria.json":sb,"./locales/ro/buttons.json":ib,"./locales/ro/detail.json":lb,"./locales/ro/legend.json":cb,"./locales/ro/messages.json":ub,"./locales/ro/options.json":db,"./locales/ro/popup.json":pb,"./locales/ro/prayerLaps.json":gb,"./locales/ro/regions.json":fb,"./locales/ro/search.json":hb,"./locales/ro/tabs.json":mb,"./locales/ru/aria.json":bb,"./locales/ru/buttons.json":yb,"./locales/ru/detail.json":_b,"./locales/ru/legend.json":vb,"./locales/ru/messages.json":kb,"./locales/ru/options.json":wb,"./locales/ru/popup.json":xb,"./locales/ru/prayerLaps.json":$b,"./locales/ru/regions.json":Ab,"./locales/ru/search.json":Sb,"./locales/ru/tabs.json":Lb,"./locales/zh/aria.json":Eb,"./locales/zh/buttons.json":Pb,"./locales/zh/detail.json":Cb,"./locales/zh/legend.json":Tb,"./locales/zh/messages.json":Mb,"./locales/zh/options.json":Rb,"./locales/zh/popup.json":Nb,"./locales/zh/prayerLaps.json":Ib,"./locales/zh/regions.json":Ob,"./locales/zh/search.json":Fb,"./locales/zh/tabs.json":Db}),ga={};for(const[e,t]of Object.entries(K0)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;ga[n]??(ga[n]={}),ga[n][a]=t}const Js=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],H0=new Set(["ar"]);function V0(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(Js.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Js.includes(o)?o:"en"}function W0(){const e=V0();try{H0.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return R0({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:ga,missingWarn:!1,fallbackWarn:!1})}function wt(e,t){const o=t||Y0(e);co(()=>{var i;const n=So();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function Y0(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=te(()=>{var p;return((p=o==null?void 0:o.value)==null?void 0:p.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=de(!1),s=de(null);let i=null,l=null,u=null,c=null,d=null;function f(){r.value=!1}function y(p,g){var b;let m=p==null?void 0:p.parentElement;for(let v=0;m&&v<12;v++,m=m.parentElement){if(m===g||(b=m.classList)!=null&&b.contains("profile-loader"))return null;let x="";try{x=getComputedStyle(m).position}catch{}if(x&&x!=="static"){const w=m.getBoundingClientRect();if(w.height>=120&&w.width>=160)return m}}return null}function $(){const p=s.value;if(p)try{p.style.removeProperty("--pin-hint-lift");const g=p.getBoundingClientRect();if(!g.height)return;const m=Math.round(g.bottom-window.innerHeight);m>0&&p.style.setProperty("--pin-hint-lift",m+8+"px")}catch{}}function h(p){const g=s.value;if(!g||!(p!=null&&p.querySelector))return;let m=0;try{const v=p.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(v){const x=v.getBoundingClientRect(),w=g.parentElement,A=w?w.getBoundingClientRect():null;if(m=A?Math.max(x.height||0,A.bottom-x.top):x.height||0,d!==v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}d=v,u=new ResizeObserver(()=>h(p)),u.observe(v)}}}catch{}const b=Math.min(Math.max(Math.ceil(m)||20,20),72);g.style.setProperty("--pin-hint-attrib-clear",b+"px"),$()}return co(()=>{var b,v,x;const p=So(),g=(x=(v=(b=p==null?void 0:p.proxy)==null?void 0:b.$el)==null?void 0:v.getRootNode)==null?void 0:x.call(v);if(!g||typeof g.querySelector!="function")return;let m=0;i=setInterval(()=>{m++;const w=g.querySelector("canvas");w?(clearInterval(i),i=null,r.value=!0,lo(()=>{const A=y(w,g),S=s.value;if(A&&S&&S.parentElement!==A)try{A.appendChild(S),l=A}catch{}h(g),$();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}c=new ResizeObserver(()=>$()),c.observe(M)}}catch{}})):m>40&&(clearInterval(i),i=null)},300)}),Zt(()=>{var p;if(i&&clearInterval(i),u){try{u.disconnect()}catch{}u=null}if(d=null,c){try{c.disconnect()}catch{}c=null}if(l&&((p=s.value)==null?void 0:p.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),wt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,7 +69,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(p,g)=>r.value?(z(),X("div",{key:0,ref_key:"hintEl",ref:s,class:Te(["pin-hint",{dark:n.value}]),role:"status"},[I("span",q0,[g[0]||(g[0]=I("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),St(" "+le(a.value)+" ",1),I("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:f},"×")])],2)):me("",!0)}},X0=!1;let Z0=0;const Q0=Es("ui",{state:()=>({_storeInstanceId:++Z0,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)}))}}}),e_=Es("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()}}}),t_=Es("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]=Yo({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]=Yo({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}}}),pa={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},o_=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Pn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},n_={class:"profile-loader"},a_={key:0,class:"profile-error"},r_={key:1,class:"profile-error"},s_=Pn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var x;const o=e,n=Fe("profileConfig",null),a=ee(()=>{var A;if(!o.profileConfig)return null;let $;try{$=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if($&&$.assetsBase===void 0){const C=(A=n==null?void 0:n.value)==null?void 0:A.assetsBase;typeof C=="string"&&C&&($.assetsBase=C)}return $}),r=ee(()=>{var $;return(($=a.value)==null?void 0:$.profile)||null}),s=Ah(),i=ee(()=>{var A;const $=(A=a.value)==null?void 0:A.tk;return typeof $=="string"&&$?$:s.value||""});it(()=>{var $;return($=a.value)==null?void 0:$.tk},$=>{typeof $=="string"&&$&&Bc($)},{immediate:!0});const l=ee(()=>{var $;return(($=a.value)==null?void 0:$.dataSource)||pa.activeSource}),u=ee(()=>{var $;return(($=a.value)==null?void 0:$.colorSet)||"default"}),c=ee(()=>!1),d=ee(()=>{var $;return(($=a.value)==null?void 0:$.pinHint)!==!1}),f=ee(()=>{var A,C;const $=(((A=a.value)==null?void 0:A.locale)||((C=a.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return qs.includes($)?$:""}),y=Fe("appI18n",null);Lg(()=>{f.value&&y&&(y.global.locale.value=f.value)});const w=ee(()=>{var $,A;return f.value||((A=($=y==null?void 0:y.global)==null?void 0:$.locale)==null?void 0:A.value)||"en"}),m=ee(()=>{var $;return(($=a.value)==null?void 0:$.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),p=Fe("profileModules",null);if(!p)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const g=ee(()=>{if(!r.value)return null;const $=`./${r.value}.vue`;return p[$]?Gc(p[$]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(p)),null)});Ft("mapboxToken",i),Ft("dataSource",l),Ft("colorSet",u),Ft("profileConfig",a),Ft("instanceId",m),Ft("lang",w);const h=Q0(),b=e_(),v=t_();try{const $=typeof localStorage<"u"?localStorage.getItem("theme"):null;$&&((x=h.setTheme)==null||x.call(h,$))}catch{}return Ft("uiStore",h),Ft("mapStore",b),Ft("dataStore",v),($,A)=>(z(),X("div",n_,[a.value?g.value?(z(),lt(is(g.value),{key:2})):(z(),X("div",r_,[I("p",null,[A[1]||(A[1]=St("⚠️ Profile ",-1)),I("strong",null,'"'+le(r.value)+'"',1),A[2]||(A[2]=St(" not found.",-1))])])):(z(),X("div",a_,[...A[0]||(A[0]=[I("p",null,[St("⚠️ "),I("strong",null,"doxa-map"),St(": missing or invalid "),I("code",null,"profile-config"),St(" prop.")],-1),I("p",null,[St("Example: "),I("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),g.value&&c.value?(z(),lt(is(he(null)),{key:3})):me("",!0),g.value&&d.value?(z(),lt(J0,{key:4})):me("",!0)]))}},[["styles",[o_]],["__scopeId","data-v-ba19fc13"]]),i_=Object.assign({"./poster-wall.vue":()=>Mt(()=>Promise.resolve().then(()=>Q_),void 0),"./upg-100-list.vue":()=>Mt(()=>Promise.resolve().then(()=>Mx),void 0),"./upg-100-mfe.vue":()=>Mt(()=>Promise.resolve().then(()=>l$),void 0)});if(typeof window<"u"&&((Ep=window.mapboxgl)!=null&&Ep.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function l_(){return rh(s_,{configureApp(e){e.use(yh()),e.use(W0()),e.provide("profileModules",i_)}})}const c_=l_();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",c_));function ga(e,{autoprint:t=!1}={}){const o=document.createElement("iframe");o.setAttribute("aria-hidden","true"),o.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(o);const n=o.contentDocument;if(!n)return o.remove(),null;n.open(),n.write(e),t&&n.write(' - + - + - + - + - + - +